WiX捆绑UI - 可选择的产品树

时间:2011-09-20 13:46:14

标签: user-interface wix windows-installer bundle burn

我最近将7个应用程序安装程序迁移到了WiX。旧的安装程序(10年以上的技术,UI看起来像Windows 3.1设置)已经在其捆绑安装程序中有一个产品树,我可以在其中选择要安装的产品。

我已经到了这样的地步,我有一个工作的捆绑安装程序,所有7个产品安装正常。但我需要能够从整个捆绑中选择要安装的产品。

我知道这是一个引导程序UI问题。如果我想拥有这棵树,我需要在C#中编写自己的引导程序。不幸的是,这似乎是一个比整个事物更值得的项目。所以我的问题是:

  • 是否有一种简单的方法可以将多个MSI安装程序捆绑在一个引导程序中,一个接一个地安装它们,并且有一个可选择的产品树? (我需要免费的产品。)
  • 是否有人为WiX的此类引导程序提供了有效的示例代码?

提前致谢!

2 个答案:

答案 0 :(得分:2)

  

是否有一种简单的方法可以将多个MSI安装程序捆绑在一起   bootstrapper,一个接一个地安装它们,并且有一个   可选择的产品树?

是的,一些商业设置创作工具为此提供了支持。

  

我需要免费产品。

我认为没有免费产品支持这一点。您可以尝试使用WiX bootstrapper添加软件包作为先决条件,但我不确定这是否符合您的要求。

  

是否有人为此类引导程序提供了可用的示例代码   维克斯?

Bootstrappers通常是专门的。要么它是处理某些先决条件的通用引导程序,要么是处理特定任务的自定义引导程序。

你有一个非常具体的任务,所以你不太可能找到一个已经创建的bootstrapper。

要么编写自己的引导程序,显示所需的UI并安装所需的程序包,要么使用支持此功能的其他工具。

答案 1 :(得分:0)

我正在研究这个问题。我的解决方案是在xml文件中描述我的特征树,并在启动时使用自定义ba解析xml。然后,您可以使用适当的控件构建树,以选择/取消选择要素并相应地设置刻录变量。到目前为止我遇到的一个障碍是Burn变量似乎没有在包的InstallCondtion属性中进行评估,但我考虑了几个解决方法 - 认为它是一个烧录错误,因为Wix 3.6仍处于测试阶段。