【问题标题】:MSI merge module from a full MSI package来自完整 MSI 包的 MSI 合并模块
【发布时间】:2011-11-08 09:12:56
【问题描述】:

我能否可靠地从 MySQL 等常规 MSI 包创建合并模块,以将其与我自己的安装合并? WiX 有相应的工具,但我应该从这种翻译中期待什么陷阱? 从我自己的包中安装其他 MSI 包的替代方法是什么?

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    您可以创建一个引导程序应用程序。该应用程序将安装您的安装包,然后是第 3 方应用程序。

    如果您有 InstallShield,一种流行的方法是创建一个基于 InstallScript 的引导程序,该引导程序调用 MSI 文件。

    【讨论】:

    • 我尽量让我的包链接更简单。我通常会将 MySQL 之类的东西包装起来作为设置先决条件。
    【解决方案2】:

    答案是“不”。合并模块不支持 MSI 文件中的所有表。从 Merge Module 到 MSI 的完美转换是不可能的(除非在精心设计的情况下:)。

    William 给出的关于使用引导程序/链接器的答案是处理这种情况的正确方法。

    【讨论】:

    • 我希望 WiX 有一个引导程序。 InstallShield Setup Prereqs、Feature Prereqs 和内置 MSI 链接,因为 InstallShield X 是阻止我迁移到纯 WiX 环境的少数功能之一。
    • WiX v3.6 将有一个引导程序。它被称为 Burn (robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn),它会摇摆不定(当我们最终让它工作时)! :)
    【解决方案3】:

    尝试获取 MSI 并从中创建 MSM 的缺陷之一是 MSM 没有错误表,因此您希望从 MSI 自定义操作中引用的任何错误字符串都不存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 2022-01-20
      • 2011-05-11
      相关资源
      最近更新 更多