WIX Bootstrapper - Добавить поле со списком

Как добавить поле со списком в загрузчик WiX?

я использую HyperlinkLargeTheme.xml и попытался добавить поле со списком на страницу установки. Он появляется в диалоговом окне, но я не знаю, как добавить к нему значения.

<Page Name="Install">        
      <Text Name="InstallLanguge" X="20" Y="200" Width="100" Height="17" FontId="3" DisablePrefix="yes" HideWhenDisabled="yes">Select Language</Text>

      <Combobox X="130" Y="200" Width="150" Height="17" FontId="3" Name="Language">
        <ListItem Text="English" Value="eng" />
        <ListItem Text="Japanese" Value="jp" />
        <ListItem Text="Chinese" Value="cn" />
      </Combobox>

      <Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
</Page>

1 ответ

Решение

ComboBox не поддерживается. Для этого вам нужно специальное приложение BootstrapperApplication. Некоторые, как вы можете добавить их в диалог, но вы не сможете заполнить их.

Да, в WiX 3.11 есть код для комбо-боксов, но он неполный, и его нельзя использовать в стандартном приложении начальной загрузки. Однако на самом деле это работает, поэтому я реализовал недостающую часть для себя, почти так же, как описано в вашем посте. Смотрите соответствующий билет и форк. Официальной сборки пока нет, и, вероятно, не будет, но я могу поделиться здесь своей собственной сборкой. Он не скомпилировался без ошибок (документы CHM скомпилированы с предупреждениями), он не подписан и не прошел большинство тестов (поскольку набор тестов, похоже, не работает и некоторое время не поддерживается). Однако это работает для меня, и используется в реальном проекте. Также есть некоторые дополнительные исправления.

Другие вопросы по тегам