Wix WixStdbaLicenseUrl не скрывает лицензию при использовании пользовательской темы

Я использую это, чтобы скрыть диалог лицензии

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

person Elroy Flynn    schedule 15.03.2013    source источник


Ответы (2)


Тема темы лицензии на основе RTF по умолчанию не позволяет скрыть диалоговое окно RTF. Вы можете отредактировать тему, чтобы удалить лицензию RTF и принять флажок самостоятельно.

Тема лицензии на основе гиперссылки действительно позволяет скрыть гиперссылку лицензии и флажок "Принять", установив для атрибута LicenseUrl элемента bal:WixStandardBootstrapperApplication значение "".

Итак, чтобы ответить на ваш вопрос, я бы рекомендовал сделать что-то вроде:

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

Важная часть заключается в том, чтобы основать вашу пользовательскую тему на опции гиперссылки... или просто настроить тему так, чтобы в ней не было того, что вам не нужно. :)

person Rob Mensching    schedule 25.03.2013

Думаю, я должен был знать... Поскольку я использую пользовательскую тему, я могу решить проблему, отредактировав RthTheme.xml, удалив элементы управления для текста лицензии rtf и кнопки принятия.

Тем не менее, это может быть ошибка, из-за которой установка WixStdbaLicenseUrl на пустую строку не работает при использовании пользовательской темы.

Надеюсь, я получу свои собственные бонусные баллы!

person Elroy Flynn    schedule 18.03.2013