Creating a Localized Setup Experience
Updated: May 8, 2008
Applies To: Windows Server 2008, Windows Server 2008 R2
This topic contains information about how to configure a localized setup experience with Windows Deployment Services.
In This Topic
Localizing the Boot Menu
Installing Language Packs
Localizing the Boot Menu
The Boot Configuration Data (BCD) store contains boot configuration parameters and controls how the operating system is started in Microsoft® Windows Vista®, Windows Server® 2008, Windows 7, and Windows Server 2008 R2 operating systems. These parameters were previously in the Boot.ini file (in BIOS-based operating systems) or in the nonvolatile RAM (NVRAM) entries (in Extensible Firmware Interface–based operating systems). You can configure the BCD store to display localized text in the boot menu by using a combination of BCD store settings and true-type fonts. However, note the following two limitations:
The language that is configured in the BCD store will apply to all clients of a particular architectural type. There is no way to configure language settings at a more detailed level or to enable users to select a language.
Image names are displayed exactly as they appear in the metadata of the Windows image (.wim) file. Therefore, if you want the image names to be localized, you must change the names manually.
To customize the BCD store, see How to Modify the BCD Store Using Bcdedit.
You can configure Windows Deployment Services to support a localized installation experience. For example, you can change the display language, the input settings, and the keyboard layout. To enable this functionality, you must edit the boot image to include the necessary localized setup files. The keyboard layouts and input device drivers are included in Microsoft Windows Preinstallation Environment (Windows PE) by default (with the exception of Input Method Editor devices).
The language of the user interface during a deployment using Windows Deployment Services is controlled by the language-neutral page of Setup (an optional page that is not shown by default). The data that is displayed on this page is provided by the multilingual user interface (MUI) application programming interface (API). The data is populated based on the UI languages section of the Lang.ini file (in the boot image's \Sources folder). Selecting a language on this page loads the proper resources so that all text will be displayed in the selected language.
The keyboard layout selection menu is also derived from the chosen language. You can configure both the language and keyboard layout options in the Windows Deployment Services client unattend file. For more information, see Automating Setup and Performing an Unattended Installation. Some information shown on the image selection page, such as image name and description, will not be shown in localized strings. This is because the data displayed on this page is taken directly from the .wim metadata, which can hold only a single string in a single language.
To modify a boot image to enable the language-neutral page for Windows 7 and Windows Server 2008 R2, see Walkthrough: Add Multilingual Support to Windows Setup (http://go.microsoft.com/fwlink/?LinkId=157379). For Windows Vista or Windows Server 2008, use the following procedure: .
To modify a boot image to enable the language-neutral page for Windows Vista and Windows Server 2008
In the Windows Deployment Services MMC snap-in, right-click the desired boot image and then click Disable.
Export the image (right-click the image and click Export).
Using ImageX, mount (read/write) the image marked as bootable within the boot image (Boot.wim from the product DVD contains two Windows PE images, and the bootable image is the second image).
Copy the setup MUI resource files and associated folders to the \Sources directory of the mounted boot image. For example, to add the German setup resource files to your English boot image, copy the \Sources\de-de directory and all of its contents to the mounted boot image at C:\Mount\Sources. You should then have two sets of setup resource files: English at \Sources\en-us, and German at \Sources\de-de.
If you are enabling a language that requires Asian fonts, perform the following additional steps. In all other scenarios, go to Step 6:
Install the Windows Automated Installation Kit (AIK) on either a reference computer or the Windows Deployment Services server.
Use the Copype.cmd script to create a Windows PE distribution share.
At the root of the C:\ drive, create a folder named Temp.
In C:\Temp, create two subfolders: WindowsPE1 and WindowsPE2.
Mount (read/write) the boot image to C:\Temp\WindowsPE1.
Copy the Boot.wim image from the product DVD to C:\Temp.
Mount (read only) the second image in Boot.wim into C:\Temp\WindowsPE2.
Copy the entire \Sources folder from the mounted image at C:\Temp\WindowsPE2 into C:\Temp\WindowsPE1.
Unmount the image mounted to C:\Temp\WindowsPE1, and commit the changes.
Add the modified image to your Windows Deployment Services server.
To enable the language-neutral page, adjust the Lang.ini file in the mounted boot image to specify that additional setup resource files are available. The following is a sample Lang.ini file after editing:
Contents of C:\mount\Sources\lang.ini [Available UI Languages] en-US = 3 de-DE = 3 [Fallback Languages] en-US = en-us
Using ImageX, unmount the image and commit the changes.
Import the image. To do this, right-click the disabled boot image in the MMC snap-in, and click Replace Image.
Installing Language Packs
Windows Deployment Services has independent localization controls for the client installation experience (the screens for as entering credentials, choosing an install image, and configuring the disk) and the install image (the remaining phases of setup—for example, offline servicing and Sysprep specialize). This functionality allows you to configure the client installation screens in one language and keyboard combination and the remaining phases of setup in another.
Note also that you can add or remove language packs to change languages in an image (although licensing restrictions may apply, depending on the version of the operating system that you are using). You can do this either online or offline. With this functionality, you can maintain a single image with associated language packs — something that was not possible with previous Windows operating systems, in which you needed to maintain a separate image for each language.
There are three language pack deployment models that work well in enterprise environments.
Method 1: Install the necessary language packs into the offline image.
In this method, you use tools in the Windows AIK to inject language packs into your base image.
Pros: Install times are faster than with the other two methods because the language pack is already in the image.
Cons: The image size increases. Also, many applications are locked into a single language. Therefore, you may not be able to take full advantage of this scenario, because even though you could change the underlying operating system language, the languages in the applications would not change to match the operating system language.
Method 2: Store language packs outside the image and configure Setup to install both the image and the language pack.
You can implement this method by using Windows Deployment Services. A control on the image selection page enables you to select the language packs that are installed in the image and those that reside outside the image (but are still associated with the image). Expect the following behaviors:
If the selected image is from an operating system released prior to Windows XP, the language selection control on the image selection page will be disabled. This is because these images do not support installing language packs.
If the selected image is Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2 but there are no language packs available on the server, the drop-down list will display those languages that are currently installed in the image as defined in the image’s metadata. The selection will default to the default language that is defined in the image’s metadata.
If the selected image is Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2 and there are language packs available on the server, the drop-down list will display all externally available language packs as well as those that are already installed in the image. The selection will default to the default language that is defined in the image’s metadata.
The language pack that is selected will be the default language for the first boot of the install image, and it controls the boot environment language, UI language, and default settings for system locale and keyboard layout (if these are not defined in the unattend settings).
Pros: There are fewer images to maintain.
Cons: Install times are longer because external language packs must be copied and installed.
Method 3: Deploy language packs online (to a running operating system) after the installation.
Though this method of deployment falls out of the scope of the Windows Deployment Services solution, it is included here to cover all scenarios. To use this method, you could run scripts at first logon or deploy the language packs to the client by using management software such as Group Policy or System Center Configuration Manager 2007.
Pros: This method does not require you to change the setup method that you are currently using.
Cons: The user’s first experience will not necessarily be in the expected language. For example, the boot and the initial logon might be shown in the language of the operating system because the language pack has not been applied yet. Also, only certain versions of Windows support language pack installation and removal.
Storing Language Packs in the Image Store
Each language pack is a .cab file called Lp.cab, and each file is differentiated by the folder in which it resides (for example, \en-US for U.S. English and \de-DE for German). You cannot distinguish one language pack from another just by examining the metadata of the Lp.cab file. Within Windows Deployment Services, you store language packs on a per-image basis within the RemoteInstall directory. You must manually create the folder hierarchy for the language packs as follows: C:\RemoteInstall\Images\<image file name>\Langpacks and then copy the language folder and language pack to this location. For example, you would store the German language pack at C:\RemoteInstall\Images\Image1\Langpacks\de-DE. Also note that you cannot remove language packs during the installation by using Windows Deployment Services.
Note that a language pack is applicable only to a specific version of the operating system — that is, language packs are not backward-compatible. If a language pack was created for Windows Vista, you can apply it only to Windows Vista. If you install a service pack on Windows Vista, you cannot apply the Windows Vista language pack. The rule is enforced when the language pack is installed. Therefore, although it is possible to associate an incorrect language pack with a particular version of an image, the installation of the language pack will fail when the installation starts.