【问题标题】:Install more than one MSI files based on user selection in WiX根据用户在 WiX 中的选择安装多个 MSI 文件
【发布时间】:2012-03-12 12:28:25
【问题描述】:

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

  • 会有一个 setup.exe 文件。

  • 在运行此文件时,它必须打开 UI 并显示可供安装的软件 (MSI) 列表。

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

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

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

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

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

如何创作我的 WiX 项目以选择组,然后选择功能?

任何帮助将不胜感激。

【问题讨论】:

    标签: wix windows-installer wix3.5


    【解决方案1】:

    升级到 WiX 3.6(测试版)并查看新的“刻录”功能。

    您不能使用延迟的自定义操作来安装另一个 MSI,因为有一个互斥锁会强制每台机器运行一个执行序列。

    MSI 4.5 中有一个称为多包事务的功能,但是 MSI 4.5 可能尚未安装在 2003/XP/Vista 机器上,因此无论如何您都需要 setup.exe 来启动它。

    “并发”安装也已被弃用,不应用于解决服务问题。

    【讨论】:

    • 感谢画家的投入。
    • WiX 3.6 刻录功能看起来很棒。现在多做实验。 ***** 接受的答案
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢,让我试试 dotNetInstaller。
    • FWIW,我只使用 InstallShield,因为它的设置先决条件非常成熟且易于使用。套件项目(相当于 Burn)是 v1 质量,应该在 v2 中更好。
    • @ChristopherPainter 是的。如果您有许可证,Installshield 很棒。我自己使用 MSI Factory,引导程序非常成熟(不如 Installshield,但价格的 1/10 我不抱怨)
    • FWIW,InstallShield 限量版(对 VS 用户免费)也支持设置先决条件。不过,它缺少 prereq 编辑器 (XML/XSD)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多