Windows 未删除WIX/MSI值
我正在使用WIX3.8构建一个安装程序。我有这样一个自定义属性:Windows 未删除WIX/MSI值,windows,wix,installation,windows-installer,Windows,Wix,Installation,Windows Installer,我正在使用WIX3.8构建一个安装程序。我有这样一个自定义属性: <Property Id="FOO" Value="1234" /> 我正在使用它设置自定义注册表值: <RegistryKey Id='ID1' Root='HKLM' Key='Software\ACME\Bar' Action='create'> ... <RegistryValue Type='binary' Name='FooBinary' Value='[FOO]'/> .
<Property Id="FOO" Value="1234" />
我正在使用它设置自定义注册表值:
<RegistryKey Id='ID1' Root='HKLM' Key='Software\ACME\Bar' Action='create'>
...
<RegistryValue Type='binary' Name='FooBinary' Value='[FOO]'/>
...
...
...
这一切都很好,但当我卸载包时,FooBinary会留在注册表中。只有在使用自定义属性时才会发生这种情况。我做错了什么?您可以向RegistryKey元素添加值为yes的ForceDeleteOnInstall属性
将此属性设置为“是”,以删除键及其所有值和
卸载父组件时的子键。请注意,此值
仅当程序创建附加值或子键时才有用
在该键下,您需要卸载以删除它们。MSI已经
删除它创建的所有值和子键,因此此选项
增加卸载的额外开销。默认值为“否”
只有那个来源,很难说。组件guid可能曾经(或现在)被永久化;可能guid不是唯一的,而是与其他东西共享的。@PhilDW:它是唯一的。我没有时间把问题归结到最小的错误+Buzka91的答案为我做的可能不是一个理想的解决方案,但符合我的需要。谢谢