我使用WixUI_FeatureTree作为安装程序,在这里我试图删除EULA屏幕。
为此,我使用了以下方法:
<UI>
<UIRef Id="WixUI_FeatureTree" />
<Publish Dialog="WelcomeDlg"
Control="Next"
Event="NewDialog"
Value="CustomizeDlg">1</Publish>
<Publish Dialog="CustomizeDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg">1</Publish>
</UI>这在单击WelcomeDlg上的next时成功地删除了EULA,但单击CustomizeDlg显示了EULA。
当我查看Orca时,我会在ControlEvent表中看到以下几行:

如果删除突出显示的行,安装程序将按预期工作。
如何使用Wix来防止这种情况发生?
发布于 2016-07-04 15:13:49
你可以相对容易地做到这一点。
只需将"WixUI_FeatureTree“用户界面的定义从这里 ( GitHub for wix)中复制,并将其添加到您的项目中作为MyFeatureTreeUI.wxs或其他东西,只需将<UI Id="WixUI_FeatureTree">重命名为新的唯一名称,删除行
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2">NOT Installed</Publish>然后更新产品中的<UIRef>,以引用您创建的新wxs文件中新修改的FeatureTree UI。
现在,当您编译安装程序时,它应该在功能上与您正在创建的安装程序相同,除非您手动删除的行在默认情况下不存在。
您还可以删除UI中提到的所有LicenseAgreementDlg,只需确保所有对话框按钮都是一致的。
发布于 2020-09-11 19:20:20
我知道这一点在不久前得到了回答,but...after未能相对容易地实现上述解决方案,我找到了“最简单”的解决方案。
将WixBalExtension.dll添加到引导程序中,并在Bundle.wxs文件中使用以下代码。Wix工具集将省略内置的EULA!
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl="" />
</BootstrapperApplicationRef>https://stackoverflow.com/questions/38145181
复制相似问题