根据WiX中的用户选择安装多个MSI文件

根据WiX中的用户选择安装多个MSI文件,wix,windows-installer,wix3.5,Wix,Windows Installer,Wix3.5,我想创建一个安装程序(比如BootStarper)来使用WiX实现以下步骤 将有一个setup.exe文件 运行此文件时,它必须打开一个UI,并显示可用于安装的软件(MSI)列表 软件产品分为两组A或B 每个组可能包含两个或多个MSI文件(内部和第三方文件) 允许用户选择要安装的组和一个或多个产品 根据选择,产品应以静默方式安装在本地系统上 我是否应该创建一个WiX项目,将给定的产品(MSI)显示为其功能,并可以启动一个不同的自定义操作来安装所选的产品 如何编写我的WiX项目来选择组,然后选

我想创建一个安装程序(比如BootStarper)来使用WiX实现以下步骤

  • 将有一个setup.exe文件

  • 运行此文件时,它必须打开一个UI,并显示可用于安装的软件(MSI)列表

  • 软件产品分为两组A或B

  • 每个组可能包含两个或多个MSI文件(内部和第三方文件)

  • 允许用户选择要安装的组和一个或多个产品

  • 根据选择,产品应以静默方式安装在本地系统上

我是否应该创建一个WiX项目,将给定的产品(MSI)显示为其功能,并可以启动一个不同的自定义操作来安装所选的产品

如何编写我的WiX项目来选择组,然后选择功能

任何帮助都将不胜感激。

升级到WiX 3.6(Beta版),并查看新的“刻录”功能

您不能使用延迟的自定义操作来安装另一个MSI,因为存在一个互斥锁,该互斥锁对每台计算机强制执行一个正在运行的执行序列

MSI 4.5中有称为多包事务的功能,但是MSI 4.5可能尚未安装在2003/XP/Vista计算机上,因此您需要setup.exe来提升它


此外,“并发”安装也不推荐使用,不应用于解决服务问题。

这不是稳定的WiX版本或Windows Installer可以解决的问题


您需要一个单独的引导程序来启动MSI文件。作为WiX引导程序,它仅在WiX 3.6测试版中发布,尚未正确记录。我建议尝试类似的方法。

感谢Painter提供的输入。WiX 3.6 Burn功能看起来棒极了。现在进行更多的实验。接受答案******谢谢,让我试试dotNetInstaller.FWIW,我只使用InstallShield,因为它的设置要求非常成熟且易于使用。套件项目(相当于Burn)是v1质量的,在v2中应该更好。@ChristopherPaint是的。如果你有许可证,Installshield非常棒。我自己使用MSI工厂,引导程序非常成熟(没有Installshield那么好,但价格是我不抱怨的十分之一)FWIW,Installshield限量版(对VS用户免费)也支持安装预需求。但是它缺少一个prereq编辑器(XML/XSD)。