WIX Bootstrapper - Add combo box

2019-08-09 10:01发布

问题:

How do I add a combo box to a WiX Bootstrapper?

I use HyperlinkLargeTheme.xml and have tried to add a combo box to the install page. It appears on the dialog, but I don't know how to add values to it.

<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 is not supported. You need a custom BootstrapperApplication to do that. Some how you can add them to the dialog but you wont able to populate em.



回答2:

Yes, there is some code for combo-boxes in WiX 3.11, but it's incomplete, and is not usable in standard bootstrapper application. However it works actually, so I've implemented the missing part for myself, almost exactly as described in your post. See corresponding ticket and fork. There is no official build yet, and probably won't be, but I can share my own build here. It didn't compile clean (CHM docs compiled with warnings), it's unsigned, and didn't pass most of the tests (since test suite appears to be broken and not maintained for a while). However it does work for me, and is used in a real project. It has some additional fixes as well.