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,
The recommended method (and for that matter, the method used by most MS products), is as you describe.
- Create an MSI localized for each language
- pick a base and generate MST's
- Package the MSTs, the MSI and the bootstrapper, which will
- 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.
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.
UI selection for MSI
- Create an MSI localized for each language
- Pick a base and generate MST's
- Package the MSTs, the MSI into a bootstrapper.
- Customize the HyperlinkTheme.xml to include radio button for selecting each language.
- Use the Variable tag to link radio button from UI to .wxs file
- Include the msi property in the msi tag and hard code the path to MST's and InstallCondition attribute to differentiate each selection
- Use the latest version of wix for this feature support.
Bundle support only automatic base detection there is no support for UI selection