グローバル アセンブリ キャッシュへのアセンブリのインストール
Windows インストーラーは、Microsoft .NET Framework を使用して共通言語ランタイム アセンブリをグローバル アセンブリ キャッシュにインストールします。 アセンブリをグローバル アセンブリ キャッシュにインストールする場合、インストーラーは、通常の Windows インストーラー コンポーネントをインストールするときに使用するのと同じディレクトリ構造とファイル バージョン規則を使用できません。 通常の Windows インストーラー コンポーネントは、異なる製品によって複数のディレクトリの場所にインストールされる場合があります。 アセンブリは、アセンブリ キャッシュ内に 1 回だけ存在できます。 各アセンブリは、読み取り不可の全体としてアセンブリ キャッシュに追加および削除されます。したがって、アセンブリを構成するすべてのファイルは、常に一緒にインストールまたは削除されます。
通常の Windows インストーラー コンポーネントと共通言語ランタイム アセンブリのディスク コストの計算方法は異なります。 通常の Windows インストーラー コンポーネントの合計ディスク コストには、ローカル コスト、ソース コスト、および削除コストが含まれます。 詳細については、「ファイルコスト をする」を参照してください。 共通言語ランタイム アセンブリには Windows インストーラー以外のクライアントが存在する可能性があるため、このメソッドを使用して共通言語ランタイム アセンブリのコストを削減することはできません。 共通言語ランタイム アセンブリのコストは、Microsoft .NET Framework 共通言語ランタイムに対してクエリを実行することによって決定する必要があります。
Windows インストーラーは、2 段階のトランザクション プロセスを使用して、共通言語ランタイム アセンブリを含む製品をインストールします。 これにより、アセンブリのインストールと削除のロールバックが可能になります。 詳細については、「グローバル アセンブリ キャッシュ でのアセンブリのロールバックの」を参照してください。
ユーザーごとの インストール コンテキストでのインストールによってグローバル アセンブリ キャッシュにインストールされたアセンブリ、Windows ファイル保護によって保護されないことに注意してください。 コンピューターごとのインストール コンテキストでのインストールによってグローバル アセンブリ キャッシュにインストールされるアセンブリは、Windows Resource Protection によって保護されます。