wix WixStdbaLicenseUrl在使用自定义主题时不隐藏许可证

时间:2013-03-15 20:27:43

标签: wix burn

我用它来隐藏许可对话

<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" />

2 个答案:

答案 0 :(得分: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" />

重要的一部分是将自定义主题基于超链接选项......或者只是自定义主题,使其不具备您不想要的内容。 :)

答案 1 :(得分:2)

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

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

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