首页 文章

如何让Wix只安装修改过的文件

提问于
浏览
1

我有一个安装程序,安装一个最终被资源管理器使用的DLL . 修改或覆盖该DLL需要重新启动丑陋的资源管理器 .

如果我增加我的Wix ProductVersion(比如从4.0到4.1)但不更改任何与该dll相关的文件(dll的版本未更改)我宁愿不让MSI / Wix尝试修改该dll . 有没有办法告诉MSI / Wix只安装那些已经改变了最后一个MSI和当前正在运行的MSI的文件?

目前我的msi将通过Restart Manager重新启动资源管理器,因为资源管理器正在使用Wix想要更改的文件(dll),即使该文件没有真正有任何有意义的更改 .

谢谢

2 回答

  • 1

    Brian Gillespie在How to implement WiX installer upgrade?的回答(关于 InstallFinalize 之后的 RemoveExistingProducts 安排)是否能解决这个问题?

  • 0

    你使用升级吗?尝试在 InstallFinalize 之后安排 RemoveExistingProducts 作为suggested by MikeBaz . 在这种情况下,安装新版本,然后卸载旧版本,因此如果版本没有更改,DLL应保持不变 .

    如果在 InstallInitialize 之前安排了 RemoveExistingProducts ,则会完全卸载旧版本,然后安装新版本 . 在这种情况下,必须在卸载旧版本时删除DLL,并使用新版本重新安装(重新) .

相关问题