我用它来隐藏许可对话
<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" />
答案 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设置为空字符串可能是一个错误。
希望我得到自己的奖励积分!