我有以下问题:尽管我将NeverOverwrite ='yes'设置为新版本,但升级后消失了。有人可以帮我解决这个问题吗?
<Feature Id="CompRef03" Title="CompRef" Level="1">
<Component Id="INIWindowsFolder" Directory="WindowsFolder" Guid="d09921c0-1192-458f-8a3e-88889f56a013" KeyPath="yes" NeverOverwrite="yes" Permanent="yes">
<File Id="test.INI" Source="test\intest.INI"/>
</Component>
</Feature>
答案 0 :(得分:1)
问题 :不确定到底发生了什么。您没有设置 REINSTALLMODE=amus
,对吗?也许您已经从软件包的版本1中更改了组件GUID? (component GUIDs must remain stable between versions for reference counting to work correctly)。否则,该文件可能会被卸载并重新安装(将文件设置为永久文件时不会发生,但是也许您在第一个软件包中忘记了该文件)。
IniFile元素 :实际上,Ini文件不应作为文件安装,而应作为INI值对的“更改项”安装。换句话说,您定义应在文件中添加,更改,删除等等的条目。在Wix中,您使用IniFile Element来实现此目的。所有合并功能,回滚支持和高级ini文件处理都是免费提供的。您需要做的就是定义在安装过程中ini文件中需要添加或修改的内容。如果它不在第一位,它也会被创建。 Please find more details in this answer。还有here is one more link to IniFile Element usage。