MUI ショートカットの例

このセクションでは、多言語ユーザー インターフェイス (MUI) で使うために、Windows インストーラー ショートカット テーブルにリソース文字列を追加する方法について説明します。

Windows インストーラー 2.0 と Windows インストーラー 3.0: サポートされていません。 この例では、Windows インストーラー 4.0 が必要です。

MUI 対応アプリケーションの開発方法については、多言語ユーザー インターフェイス (MUI) のドキュメントを参照してください。

Windows Vista 多言語ユーザー インターフェイスで使われるリソース文字列を Windows インストーラー パッケージに追加するには:

  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 テーブルを編集します。 ショートカットがインストールされるディレクトリに関する情報を必ず含めてください。 たとえば、DesktopFolder ディレクトリにあるコンポーネントとショートカットをインストールするパッケージの Directory テーブルには、次の情報を追加できます。

    Directory テーブル (部分)

    ディレクトリ Directory_Parent DefaultDir
    TARGETDIR SourceDir
    MsiTest TARGETDIR MsiTest:.
    MUIFolder MsiTest MUI
    MUIFolder_CS MUIFolder cs-CZ
    MUIFolder_EN MUIFolder ja-JP
    MUIFolder_JA MUIFolder ja-JP
    DesktopFolder TARGETDIR .

     

  4. 各ショートカットの Shortcut テーブルに行を追加します。 たとえば、Shortcut テーブルには、DirectoryFolder ディレクトリにインストールされた Quick1 と Quick2 という 2 つのショートカットに関する次の情報を含めることができます。 各ショートカットは、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 Title 属性
    FeatureParent1_Local FeatureParent1_Local 16
    FeatureChild1_Local FeatureParent1_Local FeatureParent1_Local 0

     

  6. 新しいショートカットごとに、Shortcut テーブルの DisplayResourceDLL、DisplayResourceId、DescriptionResourceDLL、DescriptionResourceId フィールドにリソース文字列情報を追加します。 DisplayResourceDLL フィールドと DescriptionResourceDLL フィールドには、Formatted 文字列形式のリソース文字列が含まれます。 書式設定された文字列は、Formatted 形式の [#filekey] 規約を使用できます。 DisplayResourceId フィールドと DescriptionResourceId フィールドに、リソース文字列の表示と説明のインデックスを追加します。

    Shortcut テーブル (部分)

    ショートカット DisplayResourceDLL DisplayResourceId DescriptionResourceDLL DescriptionResourceId
    Quick1 [#msimsgdll] 36 [#msimsgdll] 37
    Quick2 [#msimsgdll] 38 [#msimsgdll] 39

     

  7. パッケージをインストールしたら、テストして多言語ユーザー インターフェイスが想定どおりに機能することを確認します。