【问题标题】:WIX Bundle Installer, choose packages to installWIX Bundle Installer,选择要安装的包
【发布时间】:2013-12-17 15:03:43
【问题描述】:

我有 5 个安装程序,其中一些可能需要安装在同一台机器上,而另一些可能需要安装在其他地方。每个都有自己的一组自定义 UI 用于用户输入,为已安装的应用程序设置配置选项。

我需要用户能够从完整安装程序中选择他们想要运行的安装程序。类似于您在标准安装程序中选择功能的方式。但是,如果用户更喜欢只获取所需的 msi,我仍然需要这些作为单独的安装程序。

有没有办法像其他 wix 项目类型一样向引导安装程序添加自定义 ui 步骤?

【问题讨论】:

  • 那么问题到底是什么?到目前为止,您尝试过什么?
  • 更新了一个更具体的问题。我一直在寻找wix捆绑安装程序中“功能”树的最佳方法,但没有任何运气。否则我还没有尝试过任何事情,因为我正在寻找正确的方法来做到这一点。

标签: wix burn


【解决方案1】:

标准的 WIX 引导程序应用程序 (WixStdBA) 不支持此功能,您必须自定义标准应用程序代码以实现您要查找的内容。

您可以查看 codeplex 中的 WIXEXTBA 项目,而不是编辑 stdba:WIXEXTBA。此项目已包含您正在寻找的一些功能。

要在较高级别编辑标准 BA,您必须执行以下步骤:

InstallCondition 属性可用于控制是否应安装包:

<MsiPackage Id='MsiName' InstallCondition='RadioButton' SourceFile='\msiname.msi' />

定义你的“RadioButton”变量:

<Variable Name='RadioButton` Value='1' Persisted='yes' />

现在在 wixstdba 中定义 RadioButton 与 UI 的关系。您可以通过覆盖主题文件并将单选按钮添加到使用 RadioButton 作为控件的@Id 的选项页面来实现此目的。

【讨论】:

  • 这方面有什么新的吗?我面临着一个类似的用例,只有当用户不打算使用现有的 SQL Server 时,我才需要安装 SQL Express。
  • 这行得通,但如果我手动安装 msiname.msi ,则在使用 InstallCondition 设置为 false 跳过 msiname.msi 之后更进一步。我无法卸载父 Bootstrapper 应用程序。它给出了包缓存错误。有什么解决办法吗?
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2013-12-17
  • 2018-01-23
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
相关资源
最近更新 更多