'Wix multi language MSI with properties

there are concepts seen in the past for WIX multi language MSI.

All are based on compiling the MSI multiple (takes very long for us, more than 1 hour per MSI) times and merge the results again to one MSI. I play around and come up with this idea. Basically, define properties as translation targets and use them later in the dialogs.

Define in product two custom actions to set the properties, one for german and one for english:

<CustomAction Id="ZTR_NEXT1" Property="ZTR_NEXT" Value="Weiter"/>
<CustomAction Id="ZTR_NEXT2" Property="ZTR_NEXT" Value="Next"/>

<InstallUISequence>
    <Custom Action="ZTR_NEXT1" After='LaunchConditions' >UserLanguageID=1033</Custom>
    <Custom Action="ZTR_NEXT2" After='LaunchConditions' >UserLanguageID=1031</Custom>
</InstallUISequence>

usage in the dialog:

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ZTR_NEXT]">

Of course, i have to to this for every text and so the custom action table will grow a bit.

Anyway the benefits are:

  • one time MSI compile/link
  • change language also with a language select dialog at startup

Please give me some feedback about this approach, maybe why we should not do this



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source