cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

Install Localization Question(s)...

Hi all,

I was wondering how the runtime language is determined when running and .msi, NOT a Setup.exe with the language selection dialog.

For example, my default language is set as English. However, when launching the .msi on a German OS, the internal dialogs (not Windows Installer processing messages) display in German. I thought, since there is no language selection the default language would display, English. I am just executing the .msi by double clicking and NOT firing via command line with the passage of a language transform parameter.

My language transforms are embedded and not external .mst files if that makes a difference.

I'm trying to figure out how the displayed language is chosen as I'm trying to troubleshoot an issue on a German OS and, well, without knowing the language, its kind of tough. I guess I could pass English as the language, but that might produce different results seen in the field (executing from command line with no transform argurment (language) specified.
Labels (1)
0 Kudos
(6) Replies
Superfreak3
Level 11

Here's what appears to be happening...

We have an .msi that I fire off and the dialogs are displayed in German on that OS language without passing a TRANSFORMS parameter to it. We then install another .msi and attempt to launch that via a custom action .exe. There, we pass the language from the calling .msi. When the secondary .msi runs I get the following in German...

Error in the application of transforms. Make sure that the specificed transformation paths are valid.

I can take the same secondary .msi and use the calling command line to display the different supported languages on an English OS.

msiexec /i "c:\My\Path\To\Test.msi" TRANSFORMS=:1031

On an English OS I can display German dialog verbiage using the above command line, but the same does not work on a German OS.

Are the command lines different for passing Transforms on different language OSs?
0 Kudos
Superfreak3
Level 11

Why or how does Windows Installer recognize and apply the embedded transform if the .msi is launched directly, but errors when calling the embedded transform via the command line.

I could call the secondary .msi directly from my custom action without passing the language transform parameter and I believe that would work. However, there may be instances where the user would like to launch these installers in a language foreign to the operating system. Why can this not be done via the command line as can be done on my English OS? I don't have any issue calling all the languages from the command line on that OS.
0 Kudos
Superfreak3
Level 11

Here's the from command line attempt to apply the German transform. Again, this works on an English OS, but not on German and Italian (maybe all non-English OSs). I wonder if this is a bug or by design. ??
0 Kudos
Superfreak3
Level 11

I think I may have found the answer...

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/single-msi-file-seems-to-need-1033-mst-transform-file-td3261535.html

The only problem is that in the Template Summary property, setting the Language to 0 (language neutral), I thought I ran into problems of some sort having 0 in there.
0 Kudos
Superfreak3
Level 11

So I dug around and found my issues with having 0 mentioned as part of the Template summary property...

http://forum.installsite.net/index.php?showtopic=20984

https://community.flexerasoftware.com/showthread.php?201377-Major-Upgrade-Not-Working

I think what I have to try is my current blank upgrade table setting with 0 in the template summary property. Hopefully major upgrades will work and I will be able to call specific foreign language transforms.
0 Kudos
nanikk
Level 2

I do not know about this
0 Kudos