Archive: Language selection dialog box issue on Vista


Language selection dialog box issue on Vista
In the language selection dialog, I want to display user's OS language as a selected language by default. My installer includes 10 languages, so if you launch installation on French system, then 'French' would be selected in the language box when the installer is invoked. Same for English, Spanish and so on.

I used the following code inside .oninit:

System::Call kernel32::GetSystemDefaultLangID()i.a

Which would write the value of the OS's lang to $LANGUAGE var. This works fine on XP, but on Vista the lang selection dialog always defaults to 'German'. On XP, on French, German, and Chinese systems, I see the default language correctly but on Vista, it’s always German, even on French/Chinese/English systems. The issue is reproducible on several vista machines. I do write the language value to registry, but before testing, I make sure to clean the registry.

Any hints, ideas, or workarounds will be really appreciated. Thanks!


Is it because GetSystemDefaultLangID returns German or due to some other issue?