Wix工具集:卸载后未删除注册表项



我正在使用wix为我的x64应用程序编写安装程序。所以wxs看起来像这样:

<Package Id="*" Platform="x64" ...

我用-arch x64运行candle。然而,我需要写一个注册表项与SoftwareWOW6432NodeMyCompanyMyKey下的32位应用程序通信,所以我有一个这样的组件:

<Component Id="SomeId" Guid="SomeGUID">
<RegistryKey Root="HKLM" Key="SoftwareWOW6432NodeMyCompanyMyKey">
...

事情似乎工作良好的安装。但是,当我卸载时,注册表项未被删除。我怀疑这不是在SoftwareWOW6432Node下添加注册表项的正确方法。我搜索SO和谷歌没有产生任何结果。有什么建议吗?谢谢。

WiX RegistryKey元素文档:

https://wixtoolset.org/documentation/manual/v3/xsd/wix/registrykey.html

描述用于组织子RegistryValue元素或创建注册表项(并可在卸载期间删除它)。

ForceDeleteOnUninstall YesNoType设置此属性为"yes",以便在卸载父组件时删除键及其所有值和子键。请注意,只有当您的程序在此键下创建附加值或子键,并且您希望卸载以删除它们时,此值才有用。MSI已经删除了它创建的所有值和子键,所以这个选项只会增加卸载的额外开销。默认为"no"

另一件要考虑的事情是,只有当组件被删除时才会发生这种情况。记录卸载过程将为您提供更多有关正在发生的事情的信息。

相关内容

  • 没有找到相关文章

最新更新