Поделиться через


Пример сочетания клавиш MUI

В этом разделе описывается добавление строк ресурсов в таблицу ярлыков установщика Windows для использования с многоязыковыми пользовательскими интерфейсами (MUI).

Установщик Windows 2.0 и Установщик Windows 3.0: Не поддерживается. Для этого примера требуется установщик Windows 4.0.

Сведения о разработке приложений с поддержкой MUI см. в документации по многоязыкового пользовательского интерфейса .

Чтобы добавить строки ресурсов, используемые многоязычными пользовательскими интерфейсами Windows Vista, в пакет установщика Windows:

  1. Добавьте сведения для всех языковых файлов и файлов языка в таблицу файлов. Например, файлы могут состоять из файлов, не зависящих от языка (msimsg.dll) и файлов для английского (msimsgen.dll.mui), японского (msimsgja.dll.mui) и китайского (msimsgcs.dll.mui). Каждый файл может принадлежать другому компоненту. Каждый файл может иметь как длинное, так и короткое имя файла. В этом примере в таблицу файлов можно добавить следующие сведения.

    Таблица файлов (частичная)

    File Компонент_ FileName
    msimsgmuija MSIMSG_MUI_JA msimsgja.dll|msimsg.dll.mui
    msimsgmuics MSIMSG_MUI_CS msimsgcs.dll|msimsg.dll.mui
    msimsgmuien MSIMSG_MUI_EN msimsgen.dll|msimsg.dll.mui
    msimsgdll MSIMSG msimsg.dll

     

  2. Добавьте сведения в таблицу Компонент для этих компонентов. Каждый компонент имеет уникальный идентификатор GUID, который необходимо ввести в поле ComponentId таблицы Component. Файл, принадлежащий компоненту, может служить keyPath для этого компонента. Каталог, содержащий каждый компонент, можно указать в поле Directory_. В таблицу Компонент можно добавить следующие сведения.

    Таблица компонентов (частичная)

    Компонент Каталог_ KeyPath
    MSIMSG_MUI_JA MUIFolder_JA msimsgmuija
    MSIMSG_MUI_CS MUIFolder_CS msimsgmuics
    MSIMSG_MUI_EN MUIFolder_EN msimsgmuien
    MSIMSG MUIFolder msimsgdll

     

  3. Измените таблицу Каталог , чтобы компоненты устанавливались в правильные каталоги. Обязательно включите сведения о каталоге, в котором будет установлен ярлык. Например, следующие сведения можно добавить в таблицу Каталог пакета, который устанавливает компоненты, и ярлык, расположенный в каталоге DesktopFolder.

    Таблица каталогов (частичная)

    Directory Directory_Parent DefaultDir
    TARGETDIR SourceDir
    Msitest TARGETDIR Msitest:.
    MUIFolder Msitest MUI
    MUIFolder_CS MUIFolder cs-CZ
    MUIFolder_EN MUIFolder ru-RU
    MUIFolder_JA MUIFolder ja-JP
    DesktopFolder TARGETDIR .

     

  4. Добавьте строку в таблицу Сочетания клавиш для каждого ярлыка. Например, таблица ярлыков может содержать следующие сведения для двух ярлыков, Quick1 и Quick2, установленных в каталоге DirectoryFolder. Каждый ярлык принадлежит функции, указанной в поле Целевой объект. Значок, связанный с ярлыком, можно указать в поле Icon_ и в таблице Значок .

    Сочетание клавиш (частичная)

    Клавиша Каталог_ Компонент_ Назначение Значок
    Quick1 DesktopFolder MSIMSG FeatureChild1_Local HelpFileIcon.exe
    Quick2 DesktopFolder MSIMSG FeatureChild1_Local HelpFileIcon.exe

     

  5. Добавьте сведения в таблицу Таблица признаков для принадлежности ярлыка, которому принадлежит компонент. При активации ярлыка установщик проверяет, установлены ли все компоненты, принадлежащие этому компоненту, перед запуском файла ключа компонента, указанного в столбце Component_ таблицы ярлыков . В этом примере в таблицу "Таблица признаков" для функции FeatureParent1_Local можно добавить следующие сведения.

    Таблица признаков (частичная)

    Компонент Feature_Parent Заголовок Атрибуты
    FeatureParent1_Local FeatureParent1_Local 16
    FeatureChild1_Local FeatureParent1_Local FeatureParent1_Local 0

     

  6. Для каждого нового ярлыка добавьте сведения о строке ресурса в поля DisplayResourceDLL, DisplayResourceId, DescriptionResourceDLL и DescriptionResourceId таблицы Ярлык. Поля DisplayResourceDLL и DescriptionResourceDLL содержат строку ресурса в формате форматированных строк. Форматированная строка может использовать соглашение [#filekey] форматированного формата. Добавьте индексы отображения и описания для строк ресурсов в полях DisplayResourceId и DescriptionResourceId.

    Сочетание клавиш (частичная)

    Клавиша DisplayResourceDLL DisplayResourceId DescriptionResourceDLL DescriptionResourceId
    Quick1 [#msimsgdll] 36 [#msimsgdll] 37
    Quick2 [#msimsgdll] 38 [#msimsgdll] 39

     

  7. После установки пакета проверьте, работает ли многоязычный пользовательский интерфейс должным образом.