Can we localize WIX msi and bundle using language

2019-04-11 16:41发布

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,

3条回答
做个烂人
2楼-- · 2019-04-11 16:47

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.

查看更多
一纸荒年 Trace。
3楼-- · 2019-04-11 16:56

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.

查看更多
▲ chillily
4楼-- · 2019-04-11 17:02

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

查看更多
登录 后发表回答