如何在Windows Installer主要升级期间保留用户自定义文件

时间:2015-07-23 12:43:24

标签: wix windows-installer

根据this,要在Windows Installer主要升级期间保留用户自定义文件,我需要:
1.将每个.config文件放在其自己的组件中,并将.config文件标记为组件的关键路径 2.在InstallFiles操作后,在新版本的MSI中安排RemoveExistingProducts操作。

<Component Id='config.json' Guid='GUID'>
   <File Id='config.json' Name='config.json' DiskId='1' Source='config.json' KeyPath='yes' />
</Component>
...
<InstallExecuteSequence>
   <RemoveExistingProducts Before="InstallFiles"/>
</InstallExecuteSequence>

构建期间出现以下警告:

  

警告LGHT1076:ICE63:某些操作属于InstallInitialize   和RemoveExistingProducts。

安装期间出现以下错误:

  

安装程序在安装此安装程序时遇到意外错误   包。这可能表明此包装存在问题。错误代码   是2613。

有什么问题?

1 个答案:

答案 0 :(得分:1)

处理此问题的最简单方法是设计应用程序,以便用户修改的数据位于其自己的文件中。这样安装程序就可以拥有它放下的文件,应用程序可以在运行时合并这两组数据。 MSI不会删除或覆盖它不知道的内容。

否则,您将在升级期间进行有关如何合并xml / json和其他文件类型的复杂讨论。