2

我用它来隐藏许可证对话框

<WixVariable Id="WixStdbaLicenseUrl" Value=""/

哪个有效,直到我使用

<WixVariable Id="WixStdbaThemeXml" Value="Resource\RtfTheme.xml" />
<WixVariable Id="WixStdbaThemeWxl" Value="Resource\RtfTheme.wxl" />

我的主题只是内置 RtfTheme 的副本,经过微调。我更改了窗口大小,并删除了修复按钮。

当我这样做时,将显示许可证对话框(尽管文本为空)。我希望对话保持隐藏。

为什么?怎么修?

这是我尝试过的几种变体之一:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" >
    <bal:WixStandardBootstrapperApplication
            LicenseFile="..\..\Tools\Building\buildIncludes\LicenseAgreement-Memo.rtf"
      LogoFile="..\..\Tools\Building\buildIncludes\my.logo.png"
            SuppressOptionsUI="yes"
   />

</BootstrapperApplicationRef>
<!-- supress license display in boot strapper -->
<WixVariable Id="WixStdbaLicenseUrl" Value=""/>
<WixVariable Id="WixStdbaLicenseFile" Value=""/>
<!-- we are using a customized theme -->
<WixVariable Id="WixStdbaThemeXml" Value="Resource\RtfTheme.xml" />
<WixVariable Id="WixStdbaThemeWxl" Value="Resource\RtfTheme.wxl" />
4

2 回答 2

6

默认情况下,基于 RTF 的许可证主题主题不提供隐藏 RTF 对话框的方法。您可以编辑主题以删除 RTF 许可证并自己接受复选框。

基于超链接的许可证主题确实提供了一种隐藏许可证超链接和接受复选框的方法,方法是将bal:WixStandardBootstrapperApplication元素的LicenseUrl属性设置为"".

因此,要回答您的问题,我建议您执行以下操作:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
  <bal:WixStandardBootstrapperApplication LicenseUrl=""
       LogoFile="="..\..\Tools\Building\buildIncludes\"
       ThemeFile="Resources\CustomHyperlinkBasedTheme.xml" />

  <Payload SourceFile="Resources\OtherStuffIfYouNeed.It" />
</BootstrapperApplicationRef>
<WixVariable Id="WixStdbaThemeWxl" Value="Resources\CustomHyperlinkBasedTheme.wxl" />

重要的部分是将您的自定义主题基于超链接选项......或者只是自定义主题,这样它就没有您不想要的东西。:)

于 2013-03-25T15:26:07.313 回答
2

猜猜我应该知道...由于我使用的是自定义主题,因此我可以通过编辑 RthTheme.xml 来删除 rtf 许可证文本和接受按钮的控件来解决该问题。

不过,在使用自定义主题时,将 WixStdbaLicenseUrl 设置为空字符串可能是一个错误。

希望我能得到自己的奖励积分!

于 2013-03-18T01:17:06.270 回答