gpt4 book ai didi

wix - wix v3.8重大升级时如何保留配置文件?

转载 作者:行者123 更新时间:2023-12-02 02:54:53 25 4
gpt4 key购买 nike

我想在 msi 安装程序进行重大升级时保留配置文件。对于配置文件,我在安装时进行了更改。代码如下:

<Component Id="MODIFYCONFIG" Guid="6A1D7762-B707-4084-A01F-6F936CC159CE" Win64="yes">
<File Id="Application.config" Name="Application.config" Vital="yes" KeyPath="yes" Source="Resource\Application.config"></File>
<util:XmlFile Id="SetValueIP" Action="setValue" Permanent="yes" File="[#Application.config]"
ElementPath="/configuration/applicationSettings/Application.Properties.Settings/setting[\[]@name='IpAddress'[\]]/value" Value="[IPADDRESS]" Sequence="1"/>
<util:XmlFile Id="SetValuePort" Action="setValue" Permanent="yes" File="[#Application.config]"
ElementPath="/configuration/applicationSettings/Application.Properties.Settings/setting[\[]@name='IpPort'[\]]/value" Value="[PORT]" Sequence="2"/>
<Condition>Not Installed</Condition>
</Component>
<Component Id="KEEPCONFIG" Guid="F7F173AA-C2FD-4017-BFBC-B81852A671E7" Win64="yes">
<RemoveFile Id="ApplicationConfig" Name="Application.config" On="uninstall"/>
<Condition>(REMOVE=ALL) AND (NOT UPGRADINGPRODUCTCODE)</Condition>
</Component>

但是当发生重大升级时,该文件不会保留。如何保留修改后的文件?

最佳答案

这为我解决了这个问题...配置文件通过次要/主要升级保留,并在卸载时完全删除。

引用号:Aaron Stebner: How to retain user-customized files during a Windows Installer major upgrade

编辑:链接页面的摘要信息...

  1. 每个配置文件应有其自己的组件,其中配置文件被标记为组件的 key 路径。Windows Installer 将使用未版本化的文件替换逻辑。
  2. 在“InstallFiles”操作之后添加“RemoveExistingProducts”操作。在删除旧 MSI 之前安装所有组件的新版本。当按此顺序完成时,组件的引用计数将增加到 2,但配置文件不会被替换,除非它们未经修改(因为未版本化的文件替换逻辑)。当旧的 MSI 被删除时,引用计数将减回 1,但文件不会被删除,因为引用计数不为 0。

关于wix - wix v3.8重大升级时如何保留配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16186187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com