我们的产品有三个部分:
所有这三件事都与使用WIX构建的相同安装程序一起安装。在我们公司,每个组件都由不同的团队和不同的截止日期开发。我们想将MSI分成三个部分,这样当一个部件变得稳定时,它的安装部件也是稳定的,并且在更新其他部件时不会从头开始重建。
我看过合并模块和CAB文件,但我认为这是错误的方向。 WIX工具集中有什么可以帮助我实现目标吗?
(我已阅读问题Building MSI Installer and Separaete Installation Files,但相信这个问题有点不同。)
感谢您的帮助。
答案 0 :(得分:3)
WiX库(*.wixlib
)似乎是在您的案例中分发组件的最佳方法。
我会像这样组织这个过程:
*.wixlib
文件而不是MSI(或MSM)包wixlib
库和链接(light.exe)一起收集到一个MSI包中因此,您将始终拥有包含最新组件构建的最终安装包,这就是持续集成的全部内容。
据我了解,您不会单独分发组件,对于最终用户,它仍然是一个可靠的安装包。因此,合并模块可能是一个开销。我怀疑(但不确定)light.exe在链接库时执行一些额外的验证,与合并工具相比。
答案 1 :(得分:2)
好吧,合并模块是一个解决方案。您可以有两个包含帮助文件和SSRS报告的合并模块,并将它们添加到仅包含应用程序文件的主包中。如果两个合并模块中没有任何变化,这可能会增加构建时间,但是对于主程序包更改,您仍然需要很长的构建时间。
另一种选择是为每个组件创建单独的包,并使用Burn将它们捆绑到一个组件中。我建议使用合并模块,它更清洁,更易于管理。