如何将“更改”按钮添加到 WiX 工具集(刻录)引导程序?
I need to add the Change button to my WiX (burn) Bootstrapper, so that it invoked the change action from the MSI that it's wrapping:
What markup do I need for that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 WiX v3.x 中,您必须将
DisplayInternalUI
属性设置为yes
才能显示 MSI UI。但捆绑包只能在安装期间显示 MSI 的内部 UI。该引擎经过硬编码,强制任何其他操作(修改、修复、卸载等)静默运行。如果您希望捆绑包能够修改 MSI,则必须在 v3.x 中编写自己的自定义 BootstrapperApplication,并且 BA 必须拥有自己的 UI 才能执行此操作。在 v4(尚未发布)中,您可以使用 wixstdba 来显示所有操作的 MSI 内部 UI,但目前不支持您所要求的“更改”按钮。它仅支持像 v3.x 中那样的修复和卸载。目前还没有人提出这样的要求,因此您可能需要在 https://github 上创建功能请求。 com/wixtoolset/issues/issues。否则,您必须创建 BAFunctions.dll 来自定义 wixstdba。
对于捆绑包的一般建议是对不同功能使用单独的 MSI,而不是使用具有所有功能的一个 MSI。
In WiX v3.x, you have to set the
DisplayInternalUI
attribute toyes
to show the MSI UI. But the only time that the bundle can show the MSI's internal UI is during Install. The engine is hardcoded to force any other operation (modify, repair, uninstall, etc) to run silently. You'll have to write your own custom BootstrapperApplication in v3.x if you want the bundle to be able to modify an MSI, and the BA will have to have its own UI to do so.In v4 (which isn't released yet), you can use wixstdba to show the MSI's internal UI for all operations but there isn't currently support for a Change button like you're asking for. It only supports Repair and Uninstall like in v3.x. No one has asked for that yet, so you might want to create a feature request at https://github.com/wixtoolset/issues/issues. Otherwise, you'd have to create a BAFunctions.dll to customize wixstdba.
The general recommendation for bundles is to use separate MSI's for different features instead of one MSI with all of the features.