使用WiX,在静默模式下调用另一个MSI安装程序的MSI安装程序

11

我正在使用WiX创建一个MSI安装程序,用于调用另一个MSI安装程序。

  • 在UILevel=5(完整UI)模式下,我可以解决这个问题。我的解决方案是向UISequence表添加一个CustomAction来调用另一个MSI。这样就不会出现错误代码1500:"已经有另一个安装正在进行中..."
  • 但在静默模式下,UILevel = 2,我无法这样做,因为它仅在ExecuteSequence中运行CustomAction。如何在静默模式下运行我的MSI并调用另一个MSI安装程序?
2个回答

6

1
我了解到“Burn bootstrapper”可以解决先决条件(.NET 35、Java等)的问题。它是否适用于“Msi call another msi by custom action”问题?无论如何,这是现在对我来说唯一的方法。希望能够完成!谢谢! - Klaus
@klaus:从我在上面回答中提供的链接中可以看到:“Bundle 还允许将非常大的应用程序或应用程序套件拆分为较小的逻辑安装包,同时仍向最终用户呈现单个产品。” - Wim Coenen

1

严格来说,MSI文件是事务性安装程序,因此一次只能发生一个。

微软通过合并模块来解决这个问题,它们类似于MSI,但用于嵌入MSI文件中。

有没有可能将要嵌入的MSI更改为MSM文件?


我曾考虑过这个解决方案。它意味着将子MSI嵌入到父MSI的数据库中。但是我无法使用此解决方案,因为我的子MSI可以在编译后更改,父MSI只能通过CustomAction调用它。 - Klaus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接