I have created a python application and created a .msi installer for it to work and get installed on other machines. I would like to know how can the user change the language during the installation. ie the localization of msi.
2 Answers
You don't mention what tool you plan on using to create your .MSI. Here's a couple options:

- 1
- 1

- 54,556
- 6
- 63
- 100
-
Hi, I am using bdist_msi python module create the msi file for my source code. similar to what we do while creating MSI with cx_freeze and bdist_msi for PySide app – TougherApollo1 May 06 '15 at 10:01
-
I have no idea what bdist_msi is or isn't capable of authoring. – Christopher Painter May 06 '15 at 11:39
A lot of this seems to be a question about how bdist_msi works, and it seems to be a tool that nobody here knows anything about. I would get some clarification from that tool somehow. The docs seem non-existent to me.
It might generate only one MSI in English. If so then you need to use a tool like Orca to translate the MSI text into each language and save each difference as a transform, an .mst file. Then you'd write a program that gets the language from the user and installs the MSI with a TRANSFORMS= command line that refers to the .mst file for the language.
It might work like Visual Studio, where each language has its own separate MSI file. Again, you'd need a setup program asks the user what language and you fire off the appropriate MSI.
In general, there's no need to ask the user what language to use. I have seen those dialogs but I don't know why they bother. I think it's better to assume the current user language rather than show a dialog that says "Choose a language". You'd need to localise that "Choose a language" text to the user's language anyway unless you assume that everyone already understands English.
You might be able to use something like WiX Burn to package your MSI and provide localisation, not sure.

- 20,260
- 1
- 18
- 28