Unattended XPCD
   


Localization: MUI and Regional Options
Submitted by Unknown

In this article I would like to cover the questions related to the OS localization: the language interface, Regional and Language options and the keyborad layout. Needless to say, we can do all of the above unattended.

» Multilanguage User Interface (MUI)

You may skip this section, if you work with a localized version of Windows XP

The Multilanguage User Interface (MUI) is used for localizing the OS interface elements (menus, dialogs windows, etc). MUI is not available for retail, and distributed among the volume license customers only. Home users cannot download MUI from the Microsoft web site. The only MUI available on the Microsoft web site is MUI for Windows Embedded. It cannot be used with Windows XP. MUI can be installed on the English Windows XP only.

In this section the Russian MUI is discussed, but the procedures can be applied to any other language version of MUI. There is a total of five CDs with several MUI languages per CD. For example, I'm interested in installing Russian language interface only. First of all, I would like to extract Russian MUI from the CD. This task can be accomplished by creating the Administrative Installation Point. All you need to do is to run setup.exe with the /a switch.
X:\muisetup.exe /a

Where X is the CD-ROM letter. Then follow the wizard and "install" (extract to the specified location) the language you need. This is your MUI installation source that can be used for the installation. There's only one modification left. You need the updated muisetup.exe. If you have SP2 installed, navigate to your %SystemRoot%\mui folder and copy the muisetup.exe file from there to the MUI installation source (confirm overwrite prompt). If you don't have SP2 installed, you can extract muisetup.exe from the SP2 source (I hope you'll figure out how to do it). Once the updated muisetup.exe is placed in the MUI source, you can prepare for the installation. Below is an example of silent Russian MUI installation:

muisetup.exe /i 0419 /d 0419 /l /f /r /s


0419 is the Russian language code. You can look up other codes in the list of Locale IDs. The /i switch instructs the setup to install the specified language, while the /d switch makes the specified language default. If you don't specify the default language, then the OS language (EN) will be used as default. You can find the meaning of other switches in the muisetup.hlp file.

Be advised, that there is a number of MUI updates available: for Help and Support, Windows Media Player (WMP) and Windows Movie Maker (WMM). Please, refer to KB841625 for their descriptions and download links. The updates can be installed silently too, and below I'll provide more details.

The MUI and updates can be installed from either cmdlines.txt at T-12 or at the first logon via batch files launched from [GuiRunOnce] or RunOnceEx. If you install MUI from cmdlines.txt, you'll have the specified language interface at the first logon. If you install MUI at the first logon, the changes will take effect after reboot. Below is an example of installing Russian MUI and its updates from cmdlines.txt. Note: if you choose to install WMP 10 MUI update from cmdlines.txt, make sure you install WMP 10 prior to installing the update.

[COMMANDS]
".\WinMUI\muisetup.exe /i 0419 /d 0419 /l /f /r /s"
".\WinMUI\WindowsXP-KB841625-x86MUI-RUS.exe /quiet /norestart"
".\Software\MP10Setup.exe /q:A /c:\"setup_wm.exe /Q /R:N /DisallowSystemRestore\""
".\WinMUI\MP10Setup_muiRUS.exe /Q"
".\WinMUI\mm21_muirus.exe /Q"


The code above sequentially installs Russian MUI and makes Russian the default language, MUI Help and Support Update, WMP 10, WMP 10 MUI update, and finally WMM MUI update. Evidently, the MUI installation source and the updates are placed in $OEM$\WinMui while the WMP 10 setup file is in $OEM$\Software. Please, refer to the $OEM$ distribution folders article, if you're not familiar with this concept.

» Regional and Language Options


Most of the Regional and Language options can be configured via the [RegionalSettings] section of the answer file. However, in some cases this section may not work correctly. I'll go over the section parameters and explain how to ensure the correct import of the settings at the first logon. Below is an example of a typical section:

[RegionalSettings]
LanguageGroup=1,2,3,4,5
SystemLocale=00000419
UserLocale=00000419
InputLocale=0409:00000409,0419:00000419


You can configure the section via the Setup Manager, but let's take a look at the section parameters. I'll provide the descriptions listed in KB289125 along with my comments.
  • LanguageGroup - This setting specifies the language support that is installed on the computer. If this setting is specified, it provides the default settings for the InputLocale, SystemLocale, and UserLocale settings. The first five groups from the list of Locale IDs are installed by default. You don't really have to specify them.

  • SystemLocale

    Unattended XPCD

    This setting enables programs that do not use Unicode to run and display menus and dialog boxes in the localized language. If a localized program does not display correctly on the computer, setting the system locale to match the language of the localized program may resolve the problem. However, this setting is network-wide, so it is not possible to support simultaneously the localized programs that do not use Unicode for multiple languages.

  • UserLocale

    Unattended XPCD

    This setting controls the settings for sorting numbers, time, currency, and dates.

  • InputLocale

    Unattended XPCD

    This setting specifies the input locale and keyboard layout combinations. If multiple locales are specified, the first keyboard layout that is specified becomes the computer default (both at the logon stage and in the GUI). The specified combinations must be supported by one of the languages that is defined by using either the LanguageGroup setting or the default language for the language version of Windows XP that is being installed. If an available language does not support the specified combination, the default combination is used. This setting is ignored if the Language setting is specified.

There are some other parameters you can specify in the [RegionalSettings] section. You can find their descriptions in KB289125.

Let's summarize. The [RegionalSettings] section above will install the following:
  • LanguageGroup=1,2,3,4,5
    Five language groups (Western Europe and United States, Central Europe, Baltic, Greek e Cyrillic), although these five groups are installed by default anyway.
  • SystemLocale=00000419
    Russian language for the non-Unicode programs.
  • UserLocale=00000419
    Russian standards and formats
  • InputLocale=0409:00000409,0419:00000419
    Two keyboard layouts: English and Russian. The English layout will be default one at the logon screen and in the GUI.
You can include a similarly configured section in your answer file. However, in some cases the settings specified in the [RegionalSettings] section do not "stick". If you would like to ensure the correct settings, you may want to consider the regopts.txt method described below.

» regopts.txt

regopts.txt is a simple text file containing the entire [RegionalSettings] section including its title. The method is described in KB289125. The idea behind the method is to apply the settings when a user is logged on and the shell is loaded. If you save the file in $OEM$\install\, all you need to do is to add the following command to a batch file that you can execute from [GuiRunOnce] or RunOnceEx:

rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"%systemdrive%\install\regopts.txt"



» Keyboard Layouts

The keyboard layouts and their order of preference can be configured via the [RegionalSettings] section of the answer file. However, the key sequence

Unattended XPCD

cannot be configured via the anwer file. You can do this with a registry tweak. Configure the desired settings via GUI in your current OS, and then simply export the following registry key

HKEY_CURRENT_USER\Keyboard Layout\Toggle


Below is an example of switching the layouts with the left ALT+SHIFT

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Hotkey"="1"


The order of keybord layouts at the logon stage (Classic logon or Welcome screen) can be set as follows:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000409"
"2"="00000419"


In this example the English layout is set as default, the other one is Russian. This tweak is equivalent to InputLocale=0409:00000409,0419:00000419 in the [RegionalSettings] section.

As you can see, the keyboard layout is a user setting. Therefore, if you would like all users to have the same settings, you need to import the registry tweak from cmdlines.txt (read more in the Registry Tweaks article).


» Location

Location is another element of Regional and Language Options that cannot be configured via the answer file.

Unattended XPCD

We'll use the registry again. You can export the Nation parameter from the following registry key

HKEY_CURRENT_USER\Control Panel\International\Geo


and import it during setup. For example:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\International\Geo]
"Nation"="203"


203 corresponds to Russia.

As you can see, the keyboard layout is a user setting. Therefore, if you would like all users to have the same settings, you need to import the registry tweak from cmdlines.txt (read more in the Registry Tweaks article).

» Summary

Let's put together what has been covered in this article. Let's pretend we would like to intall MUI with the latest updates including the one for WMP 10, set the desired Regional and Language Options, and configure the keyboard key sequence. We have to have cmdlines.txt:

[COMMANDS]
".\WinMUI\muisetup.exe /i 0419 /d 0419 /l /f /r /s"
".\WinMUI\WindowsXP-KB841625-x86MUI-RUS.exe /quiet /norestart"
".\Software\MP10Setup.exe /q:A /c:\"setup_wm.exe /Q /R:N /DisallowSystemRestore\""
".\WinMUI\MP10Setup_muiRUS.exe /Q"
".\WinMUI\mm21_muirus.exe /Q"
regedit /s regional.reg


The regional.reg file in $OEM$\. The file contains the keyboard toggle switch and the Location info:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Hotkey"="1"

[HKEY_CURRENT_USER\Control Panel\International\Geo]
"Nation"="203"


You can merge the registry settings from regional.reg with any other registry tweak file you already have and plan to import at T-12.

Certainly, you need to have the completed [RegionalSettings] section in the answer file. If you are having problems with setting the [RegionalSettings] via the answer file, you will need the regopts.txt file in $OEM$\$1:

[RegionalSettings]
LanguageGroup=1,2,3,4,5
SystemLocale=00000419
UserLocale=00000419
InputLocale=0409:00000409,0419:00000419


and the install.cmd file in $OEM$\$1:

@echo off
rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"%systemdrive%\install\regopts.txt"
exit


If you go with the [GuiRunOnce] method to launch install.cmd, make sure you have the following section in the answer file:

[GuiRunOnce]
  "%systemdrive%\install\install.cmd"


That's it! I hope this article will help to successfully localize your system.
--

MSFN Discussion Thread
Last updated 2006-03-19 02:55:29 by Unknown  [Edit]
All trademarks mentioned on this page are the property of their respective owners
MSFN is not affiliated with Microsoft
Copyright © 2001 - 2013 msfn.org
Privacy Policy