如何在WiX烧录引导程序中允许选择MSI功能?

16

我刚开始尝试使用Burn来链接多个MSI文件。我正在使用WiX v3.6.2705.0。

链接已经可以使用,但现在我想让可选功能起作用。我本以为只需在我的MsiPackage标签中将EnableFeatureSelection设置为"yes"即可,但是无论它是否开启都没有任何区别。

除了打开此选项之外,是否还需要其他操作才能使可选功能正常工作,或者这是一个已知的问题?

谢谢, Alan

2个回答

10

如果您想要在 UI 中显示功能以供用户选择,则有两种选项:

  1. 使用 Burn 创建自定义引导程序应用程序,从用户那里收集信息,然后在启动 msi 时将该信息传递给它。 自定义 WiX Burn 引导程序用户界面? wix-burn-3-6-beta-custom-ui-examples

  2. 如果您已经在 MSI 中编写了 UI 并希望 Burn 在 Burn UI 之外显示该 UI,则在 MsiPackage 中将 DisplayInternalUI="yes"。


谢谢你的建议,Bryan。我需要像你建议的那样研究WiX安装程序本身的源代码。DisplayInternalUI标志看起来很有趣。 - Alan Spark
如果MSI Y的安装取决于在通过DisplayInternalUI="yes"显示的MSI X UI中选择一个功能,那该怎么办?如何从MSI X中获取该信息以有条件地安装MSI Y? - Kevin Wong
我认为你做不到,@KevinWong。我认为你无法在安装过程中将信息从安装程序传递回引导程序。我更喜欢在安装之前从用户那里收集所有所需的信息,并拥有单个引导程序UI的做法。 - BryanJ
顺便说一下,似乎你不能简单地将MSI UI代码移植到Burn引导程序,因为它使用了不同的UI堆栈(http://stackoverflow.com/questions/12482395/migrate-wix-ui-to-burn/12485717?iemail=1#12485717)。 - Kevin Wong

2
您可以使用MsiProperty元素来填充ADDLOCAL属性,以默认安装您想要的功能。 注意:MsiProperty ADDLOCAL - 在Wix 4中已删除,在Wix 3.11中会发出警告并被忽略。

谢谢。 实际上我想让用户选择使用哪些功能,而不是默认的。你知道这是否可能吗? - Alan Spark
Alan 是正确的,但由于我实际上正在寻找正好这个方面,所以我想感谢 @ciprian 的回答! :-) - CodeFox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接