修飾されたコンポーネント
修飾されたコンポーネントは、ポインターと同様に、単一レベルの間接参照のメソッドです。 修飾されたコンポーネントは、主に並列機能を持つコンポーネントをカテゴリにグループ化するために使用されます。 たとえば、30 の言語にローカライズされた同じ Microsoft Word FAX テンプレートである コンポーネント テーブル に 30 個のコンポーネントが表示されている場合は、PublishComponent テーブルを使用して、これらのコンポーネントを修飾コンポーネントのカテゴリにグループ化できます。
修飾されたコンポーネントは、通常のコンポーネントと同じ方法で Component テーブルに入力されます。 すべてのコンポーネントには、コンポーネント テーブルで指定された一意のコンポーネント ID GUID とコンポーネント識別子が必要です。 さらに、修飾されたコンポーネントは、PublishComponent テーブルのカテゴリ GUID とテキスト文字列修飾子に関連付けられます。 修飾されたコンポーネントは、カテゴリ GUID と修飾子によって参照されます。これはコンポーネント テーブル内の通常のコンポーネントを指すだけです。
たとえば、修飾されたコンポーネント ID GUID は、リソース DLL のさまざまな言語バージョンを指すことができます。 この場合、ローカライズされたリソース DLL のグループはカテゴリで構成され、数値ロケール識別子 (LCID) 文字列は修飾子として一般的に使用されます。 開発者は、これらの修飾コンポーネントを使用して次の操作を行うインストール パッケージを作成できます。
- MsiProvideQualifiedComponentを使用するか、MsiProvideQualifiedComponentEx使用して、リソース DLL の特定の言語バージョンへのパスを見つけて、リソースをインストールします。
- msiEnumComponentQualifiersを呼び出して、存在するすべての言語バージョンのリソース DLL決定します。
- 追加の言語をサポートするようにアプリケーションを準備します。 アプリケーションの将来の言語パックでは、修飾されたコンポーネントを使用して、リソース DLL の言語バージョンを追加できます。
詳細については、「修飾コンポーネント の使用」を参照してください。