Can we localize WIX msi and bundle using language

2019-04-11 16:39发布

问题:

We have an MSI and Bundle created in Wix. I need to localize both of these in such a way that language selection GUI will be popped-up and language can be selected by the user at run time. Would be really appreciated if anybody can help me on this.

For MSI, i am working on creating another bootstapper for bringing-up with language selection combobox and invoke the tranfomed MSI with the required transform(using command shell). I am still not sure about the feasibilty of this approach. I am facing issue in creating combo box in customized UI of bootstapper and invoking batch command to run this msi in the required language.

For Bundle - I am still working on finding a method. if anybody has any idea/samples for this.

It will be helpful if anybody can help me with this issue or provide me with an another alternative method to meet above requirement.

Thanks,

回答1:

The recommended method (and for that matter, the method used by most MS products), is as you describe.

  1. Create an MSI localized for each language
  2. pick a base and generate MST's
  3. Package the MSTs, the MSI and the bootstrapper, which will
  4. present the language selection dialog and call MSIEXEC, passing TRANSFORM=language.mst as an argument

After the MSIEXEC process has started, all localization is finalized, so to speak. Any selection must go on outside the MSI system.

See this codeproject article for an example.



回答2:

I guess this may help you: creating language selection dialog using WiX.

there is a limitation that custom UI for language selection is created using C# based custom bootstrapper. This may lead to the requirement of .Net framework on host machine.



回答3:

UI selection for MSI

  1. Create an MSI localized for each language
  2. Pick a base and generate MST's
  3. Package the MSTs, the MSI into a bootstrapper.
  4. Customize the HyperlinkTheme.xml to include radio button for selecting each language.
  5. Use the Variable tag to link radio button from UI to .wxs file
  6. Include the msi property in the msi tag and hard code the path to MST's and InstallCondition attribute to differentiate each selection
  7. Use the latest version of wix for this feature support.

Bundle support only automatic base detection there is no support for UI selection