MUI 快捷方式示例

本部分介绍如何将资源字符串添加到 Windows Installer 快捷方式表,以便与多语言用户界面 (MUI) 配合使用。

Windows Installer 2.0 和 Windows Installer 3.0:不支持。 此示例需要使用 Windows Installer 4.0。

有关如何开发已启用 MUI 的应用程序的信息,请参阅多语言用户界面 (MUI) 文档。

若要将 Windows Vista 多语言用户界面使用的资源字符串添加到 Windows Installer 包,请执行以下操作:

  1. 将所有非特定语言文件和语言文件的信息添加到 File 表。 例如,文件可能包含非特定语言文件 (msimsg.dll) 以及英语 (msimsgen.dll.mui)、日语 (msimsgja.dll.mui) 和中文 (msimsgcs.dll.mui) 的语言文件。 每个文件可以属于不同的组件。 每个文件都可以具有长文件名和短文件名。 在本示例中,可以将以下信息添加到 File 表中。

    File 表(部分)

    文件 Component_ 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. 将信息添加到这些组件的 Component 表中。 每个组件都有一个唯一的 GUID 标识符,该标识符应输入到 Component 表的 ComponentId 字段中。 属于该组件的文件可用作该组件的 KeyPath。 可以在 Directory_ 字段中指定包含每个组件的目录。 可以将以下信息添加到 Component 表中。

    Component 表(部分)

    组件 Directory_ KeyPath
    MSIMSG_MUI_JA MUIFolder_JA msimsgmuija
    MSIMSG_MUI_CS MUIFolder_CS msimsgmuics
    MSIMSG_MUI_EN MUIFolder_EN msimsgmuien
    MSIMSG MUIFolder msimsgdll

     

  3. 编辑 Directory 表,以便将组件安装到正确的目录中。 请务必包含有关将安装快捷方式的目录的信息。 例如,可以将以下信息添加到安装组件的包的 Directory 表,以及位于 DesktopFolder 目录中的快捷方式。

    Directory 表(部分)

    Directory Directory_Parent DefaultDir
    TARGETDIR SourceDir
    MsiTest TARGETDIR MsiTest:.
    MUIFolder MsiTest MUI
    MUIFolder_CS MUIFolder cs-CZ
    MUIFolder_EN MUIFolder zh-CN
    MUIFolder_JA MUIFolder ja-JP
    DesktopFolder TARGETDIR .

     

  4. Shortcut 表中为每个快捷方式添加一行。 例如,Shortcut 表可能包含安装到 DirectoryFolder 目录中的两个快捷方式 Quick1 和 Quick2 的以下信息。 每个快捷方式都属于 Target 字段中指定的功能。 可以在 Icon_ 字段和 Icon 表中指定与快捷方式关联的图标。

    Shortcut 表(部分)

    快捷键 Directory_ Component_ 目标 图标
    Quick1 DesktopFolder MSIMSG FeatureChild1_Local HelpFileIcon.exe
    Quick2 DesktopFolder MSIMSG FeatureChild1_Local HelpFileIcon.exe

     

  5. 将信息添加到快捷方式所属的功能的 Feature Table 表中。 激活快捷方式后,安装程序会在启动 Shortcut 表的 Component_ 列中指定的组件的密钥文件之前验证是否已安装属于该功能的所有组件。 在本示例中,可以将以下信息添加到 FeatureParent1_Local 功能的 Feature Table 表中。

    Feature 表(部分)

    功能 Feature_Parent 标题 特性
    FeatureParent1_Local FeatureParent1_Local 16
    FeatureChild1_Local FeatureParent1_Local FeatureParent1_Local 0

     

  6. 对于每个新快捷方式,请将资源字符串信息添加到 Shortcut 表的 DisplayResourceDLL、DisplayResourceId、DescriptionResourceDLL 和 DescriptionResourceId 字段。 DisplayResourceDLL 和 DescriptionResourceDLL 字段包含格式化字符串格式的资源字符串。 格式化字符串可以使用格式化格式的 [#filekey] 约定。 在 DisplayResourceId 和 DescriptionResourceId 字段中添加资源字符串的显示和说明索引。

    Shortcut 表(部分)

    快捷键 DisplayResourceDLL DisplayResourceId DescriptionResourceDLL DescriptionResourceId
    Quick1 [#msimsgdll] 36 [#msimsgdll] 37
    Quick2 [#msimsgdll] 38 [#msimsgdll] 39

     

  7. 安装包后,测试以确保多语言用户界面按预期工作。