【发布时间】:2018-02-03 22:29:42
【问题描述】:
我的应用程序有一个版本化文件和许多未版本化文件。我希望行为描述 here,我希望这是默认行为,但我没有看到这种行为。
基本上,如果未修改,则应替换未版本控制的文件,如果已修改,则应保留。
从日志看来,安装阶段完全符合我的预期。我的未版本控制文件都没有被修改。对于每个文件,我都会收到一条消息,说明 Overwrite; Won't patch(如果散列不同)或 Won't overwrite; won't patch(如果散列相同)。
但是,当删除阶段运行时(在默认位置运行,安装完成后),它会删除我所有的未版本控制文件。
我唯一的猜测是因为文件在每个包中都有不同的 GUID,但我认为每次创建安装程序时都可以重新生成文件 GUID。
我意识到我可以将删除阶段更改为在安装发生之前发生,但如果升级失败,我希望应用程序保持原位,因此我希望避免这种行为。
我可以做些什么来防止卸载阶段删除我的文件?
【问题讨论】:
-
虽然还没完,我还是想总结一下开发者在使用 MSI 文件时的一些常见误区:How do I avoid common design flaws in my WiX / MSI deployment solution?。
标签: wix windows-installer