gpt4 book ai didi

Wix3.8 WixUI_Advanced对话框如何跳过许可协议(protocol)

转载 作者:行者123 更新时间:2023-12-05 05:27:00 25 4
gpt4 key购买 nike

我使用的是 wix3.8,在安装 MSI 时,我需要 InstallScopeDlg,它只能使用 WixUI_Advanced,但我没有第一个对话框,即许可协议(protocol)。

我看过很多关于如何跳过(或不显示)该对话框的帖子,但他们都使用不支持 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 的同时隐藏或跳过许可协议(protocol)。

最佳答案

您需要了解 Windows Installer 从一个对话框流向另一个对话框的方式是通过使用 NewDialog ControlEvents .基本上 Dialog 1 将有一个 Next PushButton Control带有一个 NewDialog 控件事件,表示转到对话框 2。然后,对话框 2 将有一个返回按钮,表示转到对话框 1。WiX UI 扩展对您隐藏了所有这些,以便轻松创建基本 UI。但是,如果您使用 ORCA 编辑构建的 MSI 并查看 ControlEvent table,则可以看到它。 .

ControlEvent 表有一个 Ordering 列。 MSDN doco 并没有真正正确地解释这一点,但它并不是一个真正的命令,而是一个优先事项。评估为真正获胜的最高者。

在 WiX 中,Publish element对应于 ControlEvent 条目。诀窍是在正确的控件上编写 NewDialog 控件事件,以超越现有条目的排名并绕过不需要的对话框或插入新对话框。

可以找到如何执行此操作的示例 here在我的开源项目 ISWIX 的代码中。

关于Wix3.8 WixUI_Advanced对话框如何跳过许可协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22607896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com