我正在使用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会留在注册表中。只有当我使用自定义属性时才会发生这种情况。我做错了什么?
根据文档,您可以将值为yes的ForceDelteUninstall属性添加到RegistryKey元素中。
将此属性设置为"yes"可删除该键及其所有值,并且子密钥。请注意,此值仅当程序创建附加值或子键时才有用在此密钥下,并且您希望卸载以删除它们。MSI已经删除它创建的所有值和子键,因此此选项增加了卸载的额外开销。默认值为"否"。