未删除WIX/MSI值



我正在使用wix 3.8构建一个安装程序。我有一个像这样的自定义属性:

<Property Id="FOO" Value="1234" />

我用它来设置一个自定义注册表值:

<RegistryKey Id='ID1' Root='HKLM' Key='SoftwareACMEBar' Action='create'>
...
  <RegistryValue Type='binary' Name='FooBinary' Value='[FOO]'/>
...

这一切都很好,但当我卸载包时,FooBinary会留在注册表中。只有当我使用自定义属性时才会发生这种情况。我做错了什么?

根据文档,您可以将值为yesForceDelteUninstall属性添加到RegistryKey元素中。

将此属性设置为"yes"可删除该键及其所有值,并且子密钥。请注意,此值仅当程序创建附加值或子键时才有用在此密钥下,并且您希望卸载以删除它们。MSI已经删除它创建的所有值和子键,因此此选项增加了卸载的额外开销。默认值为"否"。

最新更新