【发布时间】:2009-09-16 10:52:52
【问题描述】:
我正在为我的基于 WiX 的安装程序开发升级功能。
作为安装的一部分,我们正在安装一个 web.config 文件,然后使用自定义操作来更新文件内的连接字符串。
但这会在我们运行升级时引起问题。我们希望在 InstallFinalize 之后安排 RemoveExistingProducts,因为这在不删除和重新安装未更改的文件方面最有效。但这会在 Windows Installer 尝试确定是否应该更新它时保留原始 web.config 文件。由于它的最后修改日期比它的创建日期新,Windows Installer 决定不更新它(请参阅 Windows Installer 使用的versioning rules)。但我们需要更新它。
一个明显的解决方案是将 RemoveExistingProducts 的调度更改为在 InstallValidate 之后进行 - 但这是低效的,而且,如果我们需要这样做,我认为它不会让我们有机会从现有文件迁移设置。
还有其他想法吗?
【问题讨论】:
标签: wix windows-installer installation upgrade