InstallShield in the wrong language

(An off-topic post)

I've been putting up with various programs installing themselves in Japanese, Korean, etc when I really just want English for a few years now. In fact it really seems like it happens every time I install a program which has an InstallShield installer.

I like to imagine the world ten or fifteen years ago in some early version of InstallShield was something like this.

[Jim, the manager] Hey Dave (the Dev), I keep getting these hard to read emails from foreign addresses complaining about setup installing in English. Even on their foreign oprating system installs. Why do you think this could be happening?

[Dave] Jim, I think I know exactly what is happening. The problem is probably that many of our customers do not understand how their language and region settings work. They may have installed Chinese Windows. And all their files in Chinese localized encoding load just fine. But for some reason they may have left their system's preferred language for English, or said that they live in America.

[Jim] What if we make it so that we detect that they installed Chinese windows, and install the Chinese version automatically?

[Dave] Hm, that's a good idea - I think maybe we can do that. They have this thing called a system code page. We can just use that to detect the CJK language operating systems.

Then again the real reason could be something else, maybe it involved an important customer that they just couldn't lose... really, who knows?

Anyway, why then is my LAN network driver (for the new motherboard) installer running in Japanese on my machine, exactly? Well, clearly it is because my system code page is Japanese. I installed US English Windows, but I configured the system code page to be Japanese because sometimes I do actually want to be able to read things in Japanese. Note that no matter how much I want to be able to read Japanese websites, email, etc. I really don't feel like reading installation dialogs in Japanese. What's even worse? It's not just the installation dialogs. Once the program or driver has been installed, the driver's control applets are all in Japanese too.

At this point even I have to wonder "How did I ever put up with this?" (It helps that not every product installer is created using InstallShield.)

The big news is that today I stopped putting up with it! So how? One really bad workaround you may see people suggest for the this InstallShield issue is to change your system locale (NO! Don't follow that link or change your system code page!) .

This requires a reboot. And then another reboot so that you can change it back again afterwards, because your system locale was that way for a good reason. See, this way is not a lot of fun.

Yes, today, I found out there is a different workaround. Sometimes you can actually select the installation language, without changing the system locale. All it takes is passing an additional parameter to the installshield setup program: /L<locale ID>

For example, I really wanted it to install in US English so I used 'setup.exe /L1033'  (if you're reading this blog in English but you want to install in another language, look up your own locale ID here)

You can pass the parameter by either creating a shortcut to the setup.exe, and modifying the shortcut's command line, or running setup.exe from a command prompt.

[INSERT DISCLAIMER: this workaround is merely being noted as having a possibility of doing what you want. You would be extremely foolish to apply it without understanding what it is doing even better than I have explained it, or without the blessing of technical support for the product you wish to install. Please also note that I am in no way affiliated with InstallShield. I offer no guarantees or warrantees for this workaround. Remember: it is possible in both theory and practice for the behavior of the setup program you want to use to be completely different or even disasterously different, to the one I am using, or even (for all I know) for it not to be a real setup program at all. You apply this workaround at your own risk.]

 

[Appendix: The System Code Page.

The system code page is that setting hidden away in the advanced or administrative section of your regional and language settings, in Windows 7 known as 'Language for non-Unicode programs'. It affects how strings encoded as 8-bit characters are displayed on your machine. For most of the characters you use every day - A to Z, 1,2,3, and even most punctuation, they are interpreted exactly the same across most encoding settings. If you have a friend from Japan or Korea, you may have seen one of many interesting side-effects of this encoding system, which I found very weird the first time I saw it: in the Windows command prompt backslash '\' displays as the character for Korean Won - or Japanese Yen (screenshot).

Another place you might see strange side-effects of the system code page is in your favorite media player. For example, you have downloaded a free song from a Korean singer, and yet the song title shows up as strange, readable but incongruent Chinese characters. Clearly the song title was saved on a system with a different system locale to your own. In an 8-bit character set.]

Corrections of any kind welcome, of course.