Way to change Regional and Language Options from cmd line

So currently I have a eggplant script that I use to change the location, standards and formats and Language for non-unicode programs in the control panel on the SUTs so that translation checks can be done and then it restarts the system and reconnects the SUT. Does anyone know if there is a way to do this from the command line to save time or maybe a program that will allow me to do this. The only cmd I can find is to launch the specific control panel. Other then that I was thinking of messing around with the registries but I am worried about doing this and tracking down the proper values for all languages for the registry values seems to be difficult.

Any ideas would be appreciated.

Just to clarify, are you testing mostly Windows-based systems?

There are Windows-based scripts that can trigger the SUT to switch the internationalization settings during the boot process. Your local library probably uses some during the login procedure for their multi-lingual clientele, although knowing that probably doesn’t help much :? . Perhaps you can share what you find out.

A more useful answer might be to configure one user account to have pre-selected localization settings ready to be used, and just switch them on the fly. See this link for an explanation: http://www.microsoft.com/windowsxp/using/setup/winxp/yourlanguage.mspx (the last graphic at the end of the article show the result we want).

Another option is to set up more accounts, and each account gets its own localization settings. Then, just log out and log in as a different user.

If you need a deeper level of localization on the SUT you may want to have eggPlant automatically re-image the boot drive with a localized version of Windows, or use multiple partitions for this purpose. This takes much longer, of course.

I am only testing Windows XP. Unfortunately reimaging or creating that many accounts won’t work because I have about 40 languages to test. I will definitely look into the Windows based scripts and report back.

Have you looked into virtualizing the environments you are testing?
[list]If it’s not materially important to start with a fresh hardware reboot each time, this could be an option. It would allow you to create several instances of Windows XP running on a single machine, each with different locale settings.

You would then load a few instances at a time, test and close each instance in succession (depending mostly on RAM capacity) until you’ve done all 40.

This would also take extra hard disk space. See this article for a basic description: http://www.technibble.com/how-to-create-a-windows-xp-virtual-machine/[/list:u]
Otherwise, if I understand your needs correctly, you want to complete a test using one locale and then quickly boot into a different locale to run the test again. A script (the kind that you are investigating) would probably be easier to maintain in the long run. I’m looking forward to hearing about your solution!

Unfortunately the ram isn’t that great in the XP’s I am using and another issue is that the HD isn’t that big since we have various images stored on it. Also my experience with VMs is limited and I am not sure if it will cause issues that you normally would not see on a dedicated machine. Any ideas on this jruuska?

From looking around I think I am going to try and use kixtart to script this but not sure how easy it will be until I dive into it.

Virtual Machines can introduce anomalies, but my most recent localization efforts involved a bank of SUTs that were re-imaged on the fly so we did not use VMs. There are other advantages to using them, however, such as snap-shotting the system when an error is detected, which can reduce investigation time. Anecdotally, it seems that others are using VMs more frequently.

After looking into this issue more I think I am just going to stay with the current Eggplant Script that changes the OS language. Making a script to change the language via registry seems to risky and complicated. Having a hard time determining all the exact registry values to change and I believe there is quite a few that would need to be changed and then I need the appropriate codes which would be more work. Also testing the accuracy of this would be difficult. Maybe in the future importing a registry would work but worried about that causing problems between different computers as well.