Because it was not obvious to me and because I didn't find a solution using
Google, I'll post my findings here.
If you want to localize your UI with WiX version 3 and need more than
US-English, German, Spanish or Dutch you're stuck. 

Strangely the localizations files from the version 2 are not mirrored into
the 3.x releases. Maybe someone at the project could offer a reason for
My solution may be completely wrong in terms of Wix philosophy (I'm a
newbie) so be free to correct me. However it seems to work for me (so far). 

You need to take the localization file(s) from the the WiX version 2 (not 3)
sources here:
Choose the latest 2.x release and download the wix2-sources.zip
Unzip and got to wix2-sources\src\ui\wixui 
Take the WixUI_??-??.wxl file(s) of your choice and copy them to your
Because WiX version 3 adds some new localization variables, you need to add
yet another .wxl (or append to the above) with the following content (German
example; Thanks to MustrumRidcully):
<?xml version="1.0" encoding="utf-8"?> 
<WixLocalization Culture="de-de"
xmlns="http://schemas.microsoft.com/wix/2006/localization"; > 
  <!-- These standard GUI strings have been missing in the 3.0 version of
Wix so far.--> 
  <String Id="MaintenanceTypeDlgRepairDisabledText">[ProductName] kann nicht
repariert werden.</String> 
  <String Id="MaintenanceTypeDlgRemoveDisabledText">[ProductName] kann nicht
entfernt werden.</String> 
  <String Id="UITextNewFolder" Overridable="yes">Ordner|Neuer

Let's assume we save this into ??-??.wxl

Add the following options to your light.exe command-line:
   -loc WixUI_??-??.wxl -loc ??-??.wxl

Note: if you've got a language that is already included in version 3 (like
German) you might want to ommit the first part to get the translations from
the installed localization. 

Note2: all this will at some time (soon, hopefully) be obsolete and wrong,
so be prepared to remove it after installing a future release of WiX3.

Hope that helps (it would have saved half a day for me).

WiX3 WixLocalization Culture -loc -cultures
WixUI_ar-ar.wxl   wixui_cs-cz.wxl   WixUI_da-dk.wxl   WixUI_de-de.wxl
wixui_el-gr.wxl   WixUI_en-us.wxl   WixUI_es-es.wxl   wixui_fi-fi.wxl
wixui_fr-fr.wxl   WixUI_hu-hu.wxl   wixui_it-it.wxl   wixui_iw-il.wxl
wixui_ja-jp.wxl   wixui_ko-kr.wxl   WixUI_nl-nl.wxl   wixui_no-no.wxl
wixui_pl-pl.wxl   wixui_pt-br.wxl   wixui_pt-pt.wxl   wixui_ru-ru.wxl
wixui_sv-se.wxl   wixui_tr-tr.wxl   WixUI_uk-ua.wxl   wixui_zh-cn.wxl
error LGHT0102 : The localization variable
!(loc.MaintenanceTypeDlgRemoveDisabledText) is unknown.  Please ensure the
variable is defined.

This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
WiX-users mailing list

Reply via email to