如何在没有许可证协议步骤的情况下创build引导程序应用程序
我创build了一个WiX Bootstrapper项目。 安装程序运行时,会显示许可协议。
我想创build一个引导程序没有这一步,因为我不希望它显示任何许可协议。 可以做到吗? 如果是的话,怎么样?
假设您正在使用WiX标准引导程序应用程序,则您当前的BootstrapperApplicationRef可能如下所示:
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
WixStandardBootstrapperApplication有三个变种,如文档中所述。 HyperlinkLicense是最简单的。 它在欢迎页面上有一个许可证链接,而不是一个许可证页面。 它允许您为许可证指定一个空的URL,在这种情况下,它不会显示链接。 例如,
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> <bal:WixStandardBootstrapperApplication LicenseUrl="" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" /> </BootstrapperApplicationRef>
我使用自定义主题来摆脱许可协议步骤。 你可以在这里看到一个简单的概述。
采取的步骤:
-
下载WiX 3.11源代码,你可以在这里下载页面的底部。
-
将其解压缩到一个文件夹,并将
HyperlinkTheme.xml
和HyperlinkTheme.wxl
添加到您的引导程序项目中。 这些文件可以在\src\ext\BalExtension\wixstdba\Resources
相对位置find。 -
修改你的引导程序定义,如下所示:
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> <bal:WixStandardBootstrapperApplication LicenseUrl="" ThemeFile="HyperlinkTheme.xml" LocalizationFile="HyperlinkTheme.wxl" SupressOptionsUI="yes" /> </BootstrapperApplicationRef>
-
现在打开主题文件,并更改名称属性设置为
Install
并注释掉或删除checkbox和超链接的页面:<Page Name="Install"> <!--<Hypertext Name="EulaHyperlink" X="11" Y="121" Width="-11" Height="51" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext> <Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>--> <Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button> <Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button> <Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button> </Page>
做完这些之后,你的引导程序应该如下所示:
我个人会更改这个主题,所以看起来不像那些空白那么尴尬。