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


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

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

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

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

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

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

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

    Файл Компонент_ Имя файла
    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 таблицы компонентов. Файл, принадлежащий компоненту, может служить ключом 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_Parent DefaultDir
    TARGETDIR SourceDir
    MsiTest TARGETDIR MsiTest:.
    MUIFolder MsiTest MUI
    MUIFolder_CS MUIFolder cs-CZ
    MUIFolder_EN MUIFolder en-US
    MUIFolder_JA MUIFolder ja-JP
    DesktopFolder TARGETDIR .

     

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

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

    Ярлык Каталог_ Компонент_ Цель Икона
    Быстрая1 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
    Быстрая1 [#msimsgdll] 36 [#msimsgdll] 37
    Quick2 [#msimsgdll] 38 [#msimsgdll] 39

     

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