Adding Multiple Language Support in a Windows XP Embedded Image

 

Daniel Simpson
Microsoft Corporation

July 2003

    Applies to: Microsoft® Windows® XP Embedded with Service Pack 1

Summary

This technical article provides step-by-step instructions on how to use Multilingual User Interface (MUI) packs with Windows XP Embedded. With MUI packs, you can add support for multiple languages within Windows XP Embedded. This article describes the components to add, the settings to adjust, and how to switch languages from within the Windows XP Embedded user interface.

This article assumes that the Windows XP Embedded with SP1 tools and component database are installed and functional, and that you have administrative rights on the development system.

Contents

Introduction
1. Install the MUI packs and QFEs
2. Add the MUI Packs to the Component Database
3. Create the English MUI Registry Update Component
4. Add Language Support Components to Your Run-Time Image
5. Deploy Your Image and Switch Languages
For More Information

Introduction

Windows XP Embedded includes support for multiple languages through the use of Multilingual User Interface (MUI) packs. You can easily localize your device for multiple locales simply by adding MUI support to your run-time image.

1. Install the MUI packs and QFEs

MUI language packs are not included in the default Windows XP Embedded installation. To add language support for multiple languages, each language must be installed on the system. Additionally, several Quick Fix Engineering (QFE) updates are required for systems using MUI language packs.

Use the following procedure to install the required MUI language packs and QFEs onto your system:

  1. Locate the appropriate MUI packs required for your run-time image.

    MUI packs are available from the Windows XPE installation media or from this Microsoft Web site.

  2. Decompress or install the MUI packs to an available directory. MUI packs include a \LANG*<language>* directory, as well as an .sld file, which is used to install the MUI pack to the database.

  3. After you have downloaded or unzipped the MUI packs, download the following QFEs for Windows XP Embedded from this Microsoft Web site:

    • Q811279

      Repository look-up may cause incorrect files to be copied, February 25, 2003

      This QFE addresses a problem on systems with a large number of repositories that take advantage of the fallback repository mechanism. This QFE also contains an updated installer mechanism that is required for future QFE updates.

    • Q815363

      Additional files copied into image when using Service Pack 1 MUI packs, March 4, 2003

      This QFE addresses a potential problem when using MUI packs on Windows XP Embedded, where extra files are copied as part of the build process. These extra files contribute to larger footprints and, in rare cases, can cause functional problems.

    **Note   **Install Q811279 first, as it contains an update to the installer mechanism that is required by Q815363.

    After the MUI packs are added to the system and the appropriate QFEs are installed, you are ready to add the MUI packs to the component database.

    If you are upgrading your Windows XP Embedded system to SP1 and plan on using multiple MUIs, review this Microsoft Knowledge Base article.

2. Add the MUI Packs to the Component Database

MUI packs must be installed to the component database before they can be added to a run-time image. Use the following instructions to add the MUI packs to the database:

  1. In Component Database Manager, on the Database tab, choose Import.
  2. Browse to the .sld file you want to import. For example, for the Russian MUI pack, select LANGRU.SLD.
  3. Check the Copy repository files to repositoryroot box. Choose Import.
  4. Continue importing .sld files until all of your required language MUI packs are added to the database.

If you install more than one MUI pack on your system, you may run into the following write access permission error during the import process:

Error: Cannot delete repository files in the target folder. Please make sure you have write access to the files.

The .sld file contains a common repository object, called Console Repository. If this object had already been imported, the import may fail because you do not have permission to perform actions, such as deleting or re-importing, with this repository object in the repository share.

If you are unable to import the MUI pack, try the following:

  1. Identify the repository directories that you are unable to write to. The repository directories are noted in the error log that appears on the screen (\\SYSTEM NAME\Repository\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
  2. Do one of the following tasks:
    • Set the repository directories permissions to read/write. By default, permissions are set to read-only.

      - or -

    • Rename the repository directories you are unable to copy to. When you reimport the SLD file, the repository directories are recreated.

After successfully importing the MUI packs into the component database, you are ready to create a new component that enables switching to the English language. If you do not require English language support, go to "4. Add Language Support Components to your Run-Time Image".

3. Create the English MUI Registry Update Component

If you require English language support, you must create and add a registry key that allows you to switch to the English language UI from the Regional Settings application in the Windows XP Embedded Control Panel.

Use the following instructions to create this English MUI registry component:

  1. In Component Designer, select File, and then New.

    A new component definition (.sld) file appears.

  2. Add a new component by right-clicking Component and choosing Add Component.

  3. Enter a name for the component in the Name field, for example, English MUI registry update.

  4. Right-click Registry Data and choose Add, then Registry Data.

    The Add Component Registry Resources window opens.

  5. Enter the following information:

    • Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\MUILanguages
    • Value Name: 0409
    • Type: (REG_SZ)
    • Value: 1
  6. Choose OK.

  7. Save the component.

  8. From the Tools menu, choose Component Database Manager.

    The Component Database Manager window opens.

  9. On the Database tab, choose Import.

    The Import SLD dialog box appears.

  10. Browse to the English MUI registry update .sld file, and then choose Open.

  11. In the Import SLD dialog box, choose Import.

You are now ready to create your run-time image.

4. Add Language Support Components to Your Run-Time Image

Create a new run-time image in Target Designer, adding the components required to run your target device.

  1. Add the following components:

    • <language> Language Support

      Add the Language Support component for each language you want to support.

    • English MUI registry update (if you are using English)

    • Explorer Shell

    • International Control Panel

    • Regional and Language Options

    Note   Simply adding the language support components to your configuration does not automatically install that language's MUI pack. Each MUI pack must be separately installed to the component database. Only the English language is included in the component database by default. For information about installing additional MUI language packs to your run-time image, see "1. Install the MUI packs and QFEs".

  2. Expand the Regional and Language Options component node, and then choose Settings.

    The Regional and Language Options settings appear in the details pane.

  3. In the details pane, select the default language to be used in the run-time image. These settings can be changed during run-time in Control Panel.

    • User interface language
    • Standards and formats
    • Default input language
    • Default language for non-Unicode programs
    • Geographic location
  4. Expand the <language> Language Support component, and then choose Settings.

    The Language Support component settings appear in the details pane.

  5. In the details pane, select the default fonts, code page conversion tables, and default keyboard layouts to use with the language. Also, check the Support all system locales for*<language>* and the Include multilanguage user interface resources boxes.

  6. Check dependencies and build the image by choosing Build Target Image from the Configuration menu.

5. Deploy Your Image and Switch Languages

Deploy your image to your target device, allowing First Boot Agent (FBA) to run. FBA runs in English only.

After FBA completes, the system starts in the default language selected in the Regional and Language Options component.

To change the default language of the UI, use the following procedure:

  1. In Control Panel, choose Regional and Language Options.

  2. On the Regional Options tab, select the language to use for standards and formats, as well as the default geographic location.

  3. On the Languages tab, choose the language to use in menus and dialog boxes.

  4. You can change the default keyboard type by choosing Details in the Text Services and Input Languages section.

    The Text Services and Input Languages dialog box appears, where you can select the default input language, as well as the default keyboard.

  5. On the Advanced tab, select the default language to use for non-Unicode applications.

  6. After configuring the language options for your run-time image, log off the system. When you log back in, the user interface language has changed.

For More Information

For additional information on MUI languages, see this Microsoft Web site:

Multilingual User Interface (MUI) and Windows XP Embedded

For more information about Windows XP Embedded, see these Microsoft Web sites:

Windows XP Embedded Home Page

Embedded Operating System Development

© Microsoft Corporation. All rights reserved.