WiX安装程序在修复时删除配置文件值
我创建了一个安装程序,它复制一个config.ini,并向用户请求值,然后将这些值插入到ini文件中。在新安装和主要/次要升级过程中,此功能工作正常WiX安装程序在修复时删除配置文件值,wix,windows-installer,wix3,repair,Wix,Windows Installer,Wix3,Repair,我创建了一个安装程序,它复制一个config.ini,并向用户请求值,然后将这些值插入到ini文件中。在新安装和主要/次要升级过程中,此功能工作正常 <Component Id="ConfigIni" Guid="GUID-GOES-HERE" DiskId="1"> <File Id="ConfigIniFile" Name="config.ini" Source="../../artefacts/etc/templ
<Component Id="ConfigIni" Guid="GUID-GOES-HERE" DiskId="1">
<File Id="ConfigIniFile"
Name="config.ini"
Source="../../artefacts/etc/template-config.ini"
KeyPath="yes"/>
<IniFile Id="ValueOne"
Action="addLine"
Directory="ETC"
Section="sectionone"
Name="config.ini"
Key="valueone"
Value="[VALUEONEPROPERTY]" />
<IniFile Id="ValueTwo"
Action="addLine"
Directory="ETC"
Section="sectiontwo"
Name="config.ini"
Key="valuetwo"
Value="[VALUETWOPROPERTY]" />
</Component>
但是,如果用户尝试安装与已安装产品相同的版本,安装程序将进入修复模式。我不确定修复模式是如何工作的,但在config.ini文件的情况下,它似乎删除了一个填充了值的文件,再次复制它,因为它是修复,所以没有任何用户值填充config.ini文件,因此该文件为空
有没有办法让安装程序在修复时忽略此文件,或者获取原始用户值?基本问题是没有保留属性值。在安装和修复(或添加新功能等)之间,没有自动保存属性值的魔法。问题不在于文件被替换,因为Windows不会替换已使用用户数据修改的文件
在WiX中,使用保存属性值,以便在这些维护情况下恢复属性值 可能重复的,可能不是重复的。与此相比,您链接到的问题似乎相当混乱。