You can create a localized setup experience during any phase of an installation.

In This Topic

Localizing the Boot Menu

Microsoft has completely reengineered the boot environment for Windows Vista to address the increasing complexity and diversity of modern hardware and firmware. One aspect of this reengineering is a new firmware-independent data store that contains boot configuration data (BCD), which influences the boot process. For more information about BCD, see

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 the correct 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.

Localizing Setup

You can configure Windows Deployment Services to support a localized installation experience to the same extent that you can configure Windows Vista Setup. 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 of the Windows Deployment Services client is controlled by the language settings that are specified on 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 in 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. 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 enable the language-neutral page and language selection
  1. In the Windows Deployment Services MMC snap-in, right-click the desired boot image and then click Disable.

  2. Export the image.

  3. Using ImageX, mount (read/write) the image marked as RAMDISK bootable (usually the second image in the Boot.wim file).

  4. Copy the setup MUI resource files and their associated folder 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 your mounted boot image at C:\Mount\Sources. At the end of this process, you should have two sets of setup resource files: English at \Sources\en-us, and German at \Sources\de-de.

  5. If you are enabling a language that requires Asian fonts, perform the following additional steps. In all other scenarios, go to Step 6:

    1. Install the Windows Automated Installation Kit (AIK) on either a reference computer or the Windows Deployment Services server.

    2. Use the Copype.cmd script to create a Windows PE distribution share.

    3. At the root of the C:\ drive, create a folder named Temp.

    4. In C:\Temp, create two subfolders: WindowsPE1 and WindowsPE2.

    5. Mount (read/write) the boot image to C:\Temp\WindowsPE1.

    6. Copy the Boot.wim image from the Windows Vista DVD to C:\Temp.

    7. Mount (read only) the second image in Boot.wim into C:\Temp\WindowsPE2.

    8. Copy the entire \Sources folder from the mounted image at C:\Temp\WindowsPE2 into C:\Temp\WindowsPE1.

    9. Unmount the image mounted to C:\Temp\WindowsPE1, and then commit the changes.

    10. Add the modified image to your Windows Deployment Services server.

  6. 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
  7. Using ImageX, unmount the image and then commit the changes.

  8. Import the image. To do this, right-click the disabled boot image by using the MMC snap-in, and then click Replace Image.

Installing Language Packs

In contrast to Windows Vista Setup, Windows Deployment Services has independent localization controls for the client installation experience and the install image. This functionality allows you to view the client installation screens in one language and keyboard combination. It also allows you to install an image that will have a completely different language and keyboard combination.

Windows Vista is language neutral, meaning that core system binaries and UI elements that contain strings (content that would need to be localized) are stored separately. The localized elements are known as multilingual user interface (MUI) files. All of the language-specific binaries for a given language are bundled together in a single package known as a language pack. For more information, see Installing Language Interface Packs (

Note also that Windows Vista enables you to add or remove language packs to change languages in a current 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 Package Manager to inject language packs into your base image. For more information, see Install a Language Pack to an Offline Image at

  • 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 during installation, have Setup 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 earlier version of Windows, 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 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 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 Systems Management Server (SMS).

  • Pros: This method does not require a change to the setup method that you are currently using.

  • Cons: The user’s first experience with Windows Vista is not necessarily 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, 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 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, the German language pack would be stored at C:\RemoteInstall\Images\Image1\Langpacks\de-DE. Also note that you cannot remove language packs during the installation by using Windows Deployment Services.

A language pack is applicable to all versions of Windows Vista (except for Windows PE 2.0, which has its own language packs separate from Windows Vista). However, 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 applicability rule is enforced at install time by Component-Based Servicing (CBS). Thus, 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.