如何在没有许可协议步骤的情况下创建引导程序应用程序

Mon*_*ika 53 wix wix3.7

我创建了一个WiX Bootstrapper项目.安装运行时,它会提供许可协议.

我想创建一个没有这一步的bootstrapper,因为我不希望它显示任何许可协议.有可能吗?如果有,怎么样?

Tom*_*get 57

假设您使用的是WiX标准引导程序应用程序,您当前的BootstrapperApplicationRef可能如下所示:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
Run Code Online (Sandbox Code Playgroud)

WixStandardBootstrapperApplication有三个变体,如文档中所述.HyperlinkLicense是最简单的.它在欢迎页面上有许可证链接,而不是许可证页面.它允许您为许可证指定一个空URL,在这种情况下,它不会显示该链接.例如,

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
  <bal:WixStandardBootstrapperApplication 
    LicenseUrl=""
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
Run Code Online (Sandbox Code Playgroud)

  • 对于可能出现的其他人来说,一个小小的注释,HyperLinkLicense中的徽标分辨率需要大约为64x64.比这更大,它只会显示图像的左上角. (6认同)

Joe*_*eth 30

我使用自定义主题来摆脱许可协议步骤.您可以在此处查看如何执行操作的简要概述.

采取的步骤:

  1. 下载维克斯3.11源代码,也可以下载页面的底部.

  2. 它解压到一个文件夹并添加HyperlinkTheme.xmlHyperlinkTheme.wxl你的引导程序的项目.可以在\src\ext\BalExtension\wixstdba\Resources相对于它们被提取的位置找到这些文件.

  3. 将BalExtension命名空间定义添加到捆绑文件中的Wix元素:

    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
         xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将您的引导程序定义修改为以下内容:

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
        <bal:WixStandardBootstrapperApplication
            LicenseUrl=""
            ThemeFile="HyperlinkTheme.xml"
            LocalizationFile="HyperlinkTheme.wxl"
            SuppressOptionsUI="yes" />
    </BootstrapperApplicationRef>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 现在打开主题文件并更改设置为Name属性的页面Install并注释掉或删除复选框和超链接:

    <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>
    
    Run Code Online (Sandbox Code Playgroud)

完成后,您的引导程序现在应该如下所示: 没有许可协议的Bootstrapper.

我个人会更改主题,因此所有空白空间看起来都不那么尴尬.

  • “要查看主题文件而无需构建捆绑包,您可以使用位于 %WIX%\bin\ 中的 ThmViewer.exe。” 我发现这对于在不重新构建包的情况下查看 UI 更改非常有用。来自答案中的 [文档链接](https://wixtoolset.org/documentation/manual/v3/bundle/wixstdba/wixstdba_customize.html)。 (4认同)
  • 这真是太棒了..但是主题也可以在这里找到,C:\ Program Files(x86)\ WiX Toolset v3.10\SDK\themes (3认同)