Wix:在同一个msi中覆盖由合并模块安装的文件?

时间:2012-07-04 11:05:05

标签: module merge windows-installer overwrite

我遇到的情况是文件需要覆盖,由合并模块安装,用相同的msi打包,即这个覆盖的进程应该在相同的msi安装中发生。

我实际上尝试使用元素,但它没有用。

我考虑过添加自定义操作,但有两个混淆: 何时启动此自定义操作? 如果删除了随附的合并模块,安装程序可能会尝试在之后恢复它。

有任何建议/解决方案吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

合并模块在合并过程中成为MSI的一部分。因此,在MSI中,MSI文件和MSM文件之间没有区别。

包中的文件是根据File table中的顺序安装的。因此,使文件覆盖同一个包中的不同文件的唯一方法是确保它的序列更高。

答案 1 :(得分:0)

我遇到了同样的问题,我通过使用Orca从合并模块中删除文件(和组件)来解决它。然后我以与所有其他文件相同的方式将新版本的文件添加到我的WiX项目中。