【问题标题】:Packaging multiple MSi files into a single msi将多个 MSi 文件打包成一个 msi
【发布时间】:2014-10-15 12:26:23
【问题描述】:

我是 Wix 的新手,我有一种情况,我有 2 个使用 adx com 插件开发的不同插件,现在需要在单个 msi 文件中安装这 2 个插件(我已创建 2 个不同的插件)。

  1. 能否请您建议我是否可以在单个 wix 安装程序中安装这 2 个插件。请记住,这 2 个插件将在注册表中具有单独的注册表项。
  2. 或者,我可以使用引导程序将这些绑定到单个 msi 文件中的 msi。 2.1。我使用 MSIPackage 元素的链接功能,项目构建成功,但是在安装这个 msi 时,出现错误“无法打开此安装包。联系应用程序供应商.......”,进一步分析问题,我理解它是因为没有为 msi 文件定义入口点。我能够以 exe 的形式实现这一点,但客户更喜欢 msi。

任何帮助表示赞赏。 提前致谢。

【问题讨论】:

  • WIX Bootstrapper (BURN) 生成一个 exe,它将您的 MSI 包装成一个可执行文件。为了创建跨多个安装包的无缝设置体验,WiX 工具集提供了一个名为 Burn 的引擎(通常称为引导程序或链接程序)。
  • Burn 引擎是一个可执行文件,它承载一个名为“引导程序应用程序”的 DLL。引导程序应用程序 DLL 负责向最终用户显示 UI,并指导 Burn 引擎何时执行下载、安装、修复和卸载操作。您无法从 BURN 生成 MSI,请确保您可以将可执行文件重命名为 .MSI,但它们不会具有相似的特征 :)
  • 我能够从 Burn 中获得一个 exe,只是想确保没有选项可以将链式包输出为 .msi。
  • 我们可以在一个 wix 安装程序中添加 2 个插件吗?
  • 是的,你为什么认为你做不到?

标签: wix windows-installer


【解决方案1】:

您可以将您的adx com addins 作为两个独立的功能添加到一个 wix 项目中,然后一个 msi 可以为您安装这两个功能,不管有单独的文件或注册表项。

为什么您的客户想要一个 msi?如果您确实使用了 burn,可执行文件仍会执行单独的 msi,因此即使包含文件是 exe 引导程序,您仍然可以享受使用 Windows 安装程序的好处。

【讨论】:

  • 谢谢您,但是,我该怎么做,请您对此提出建议。客户需要这样做,因为他们可以使用 instEd 编辑 msi 以添加一些命令行并更改一些内容。
  • 我们可以在一个 wix 安装程序中添加 2 个插件吗?
  • 您的插件交付物是什么样的?文件和注册表项?许多文件和注册表项?我不明白为什么你不能按照我的建议将每个插件放在它自己的功能中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
相关资源
最近更新 更多