Customizing text in the standard Wix dialogs

Samuel Jack picture Samuel Jack · Nov 12, 2009 · Viewed 8.8k times · Source

I'm making use of the Wix standard dialogs. How do I customise the text of the messages displayed?

For example, in the License Agreement page, I want to change the text "I accept the terms in the License Agreement" to "I acknowledge and accept the terms of the above agreement."


Related:
How can I set at runtime the text to be displayed in VerifyReadyDlg ?

Answer

Samuel Jack picture Samuel Jack · Nov 12, 2009

Here's how I did it:

  1. Add a new Localisation file to my Votive project (ie my Visual Studio Wix project) - right-click, Add -> New Item... -> Wix Localisation file
  2. Since I was customising the english text, I made sure the Culture attribute in the file said en-US
  3. Added String elements for each element that I wanted to customise. E.g.

    <WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
        <String Id="WelcomeEulaDlgLicenseAcceptedCheckBox">I accept the terms of the above Agreement</String>
    </WixLocalization>

  4. To determine the Ids of the strings I needed to override, I looked in the WixUI_en-us.wxl file from the Wix source code. In some cases it was helpful to refer to the source code of the individual dialogs to find which strings were used where.

  5. Last point to note is that when you add a localisation file to your project, Wix starts outputing the msi files in subfolders named for the culture in the localisation file. E.g. mine were written to \bin\Debug\en-us rather than \bin\Debug\