We author a multi-language .msi using Advanced Installer, although the question is more specifically about Windows Installer.
As covered in this question, deploying a multi-language .msi via GPO will fail if one of the advertised LCIDs is lower than the English LCID (1033). In our case, we have a German localization which causes this problem (1031).
From the linked question and other sources, I see two potential solutions to this issue:
- Use the same product code for the main .msi and all language
transforms - Advertise the neutral language code (0) in addition to the other LCIDs
For (1), I’m unsure about any negative impact here. By default, Advanced Installer assigns a distinct product code to each but there is a button in the GUI editor “Set Same Value” which will assign the same product code to the .msi and all transforms. Why would this not be the default behaviour? What are the pros and cons of doing this?
For (2), the linked question suggests that advertising a neutral language code will prevent the installer from automatically following the user’s language when run interactively. Can anyone confirm that this is the case?
A third option could be to simply offer language specific MSIs, each advertising only a single LCID; but this adds significant overhead in the build and release process. So I’m eager to avoid this approach.
Can anyone cite documentation for Windows Installer that covers the above issue(s)? I’m looking for an authoritative answer on the best way to proceed.