我正在将旧的Visual Studio安装项目安装程序升级到WiX安装程序。
我对新安装程序有问题-它会不断删除与旧安装程序一起安装的配置文件。
.wxs文件中的组件如下所示:
<Component Id="MyConfig" NeverOverwrite="yes" Permanent="yes">
<File Id="MyApp.exe.config" Name="MyApp.exe.config" />
</Component>
Run Code Online (Sandbox Code Playgroud)
我尝试将组件设置为Id与Guid旧安装程序中的组件相同,但随后将其替换为新的组件-我不希望这样做,因为自初始安装以来该配置文件可能已被修改。
我想要的是,如果已经安装MyApp.exe.config,则不应删除或替换它。
确保您的RemoveExistingProducts是在InstallExecute之后安排的,例如:afterInstallExecute。组件的GUID和Keypath必须与以前的安装程序中的相同。如果MSI的修改日期等于其创建日期,MSI只会覆盖旧的配置文件。如果修改日期在创建日期之后,则配置文件已被修改,MSI不会覆盖。您不需要Permanent属性,这会使该文件在卸载时泄漏。也不要使用NeverOverwrite:根据文档,这仅用于注册表。
| 归档时间: |
|
| 查看次数: |
4505 次 |
| 最近记录: |