我使用Wix3.6来制作一个内部使用的简单MSI。我想知道是否有一个简单的方式删除许可协议对话框。
谢谢你的建议
发布于 2015-08-25 23:31:54
我跳过它是用:
<UI>
<UIRef Id="WixUI_InstallDir" />
<Publish Dialog="WelcomeDlg"
Control="Next"
Event="NewDialog"
Value="InstallDirDlg"
Order="2">1</Publish>
<Publish Dialog="InstallDirDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg"
Order="2">1</Publish>
</UI>发布于 2014-12-12 11:55:03
上述XML的简化(http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html)对我有效;这实际上跳过了许可证,而不是挂在自定义页面中。
<UI Id='Mondo'>
<UIRef Id="WixUI_Mondo" />
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg" Order="3">1</Publish>
<!-- skip the page on the way back too -->
<Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">1</Publish>
</UI>我不得不说,复制wix代码并对其进行黑客攻击的一般方法(“更改内置对话框集的UI序列”(customizations.html))确实注定要失败.但是嘿
发布于 2016-04-12 01:40:56
我最近遇到了一个项目Wix#,它模仿Wix文件,但允许您在C#中编写设置代码。您可以在https://wixsharp.codeplex.com上找到这个项目。我最初遇到了同样的问题,一个许可证文件的“条款和条件”,需要接受,然后用户才能安装软件。由于解决方案的性质不足以要求接受“条款和条件”,我不得不找到一种方法来删除这个对话框。
在进行了一些搜索(在Wix#中)之后,我得到了以下内容:
WixSharp.CommonTasks.Tasks.RemoveDialogsBetween(project,
WixSharp.Controls.NativeDialogs.WelcomeDlg,
NativeDialogs.InstallDirDlg);好的,我明白这并不能完全解决问题,因为这意味着您必须重新编码您的解决方案,所以下一个调用端口是查看在此过程中发出的WiX源文件。
因此,我看到有一个具有以下内容的<UI>元素:
<UI>
<Publish Dialog="WelcomeDlg"
Control="Next"
Event="NewDialog"
Value="InstallDirDlg"
Order="5">1</Publish>
<Publish Dialog="InstallDirDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg"
Order="5">1</Publish>
</UI>它将欢迎对话框上的Next按钮绑定到安装目录对话框(或许可对话框之后的对话框),并将安装对话框E 213的Back按钮绑定到E 114欢迎对话框<>E 215--有效地删除许可证对话框。
https://stackoverflow.com/questions/13045658
复制相似问题