我使用的是wix3.8,在我的安装微星,我需要InstallScopeDlg,这是只能使用WixUI_Advanced,但我没有第一个对话,这是许可协议。
我看过很多关于如何跳过(或不显示)该对话框的帖子,但它们都使用了不支持InstallScopeDlg的WixUI_InstallDir。
这就是我所拥有的:
<Property Id="ApplicationFolderName" Value="Outlook Add In" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
<UI Id="UiSequence">
<UIRef Id="WixUI_Advanced" />
</UI>请告诉我如何在仍在使用WixUI_Advanced的同时隐藏或跳过许可协议。
发布于 2014-03-24 21:17:21
您需要了解Windows Installer在对话框之间流动的方式是通过使用NewDialog ControlEvents实现的。基本上,对话框1将有一个带有NewDialog控件事件的Next PushButton Control,该事件表示转到对话框2。然后,对话框2将有一个返回按钮,表示转到对话框1。WiX UI扩展对您隐藏了所有这一切,以使创建基本UI变得容易。但是,如果您使用ORCA编辑构建的MSI并查看ControlEvent table,则可以看到它。
ControlEvent表有一个排序列。MSDN文档并没有真正正确地解释这一点,但与其说它是一个命令,不如说它是一个优先级。求值为true的最高者获胜。
在WiX中,Publish element对应于ControlEvent条目。诀窍是在正确的控件上创作NewDialog控件事件,以排出现有条目的排名,并绕过不需要的对话框或插入新对话框。
如何做到这一点的示例可以在我的开放源码项目ISWIX的代码中找到here。
https://stackoverflow.com/questions/22607896
复制相似问题