Windows Installer を使用したランタイム アプリケーションの配置
更新 : 2007 年 11 月
Microsoft Windows Installer 2.0 を使用して、共通言語ランタイム アセンブリをインストールし、管理できます。Windows Installer パッケージの開発者は、アセンブリをグローバル アセンブリ キャッシュまたは特定のアプリケーション用に分離された場所にインストールできます。このアプリケーションを分離する拡張機能は、.NET Framework の重要な部分です。Windows Installer 2.0 を使用したパッケージの開発の詳細については、Windows Installer のドキュメントを参照してください。
Windows Installer は、共通言語ランタイム アセンブリをサポートする次の機能を備えています。
グローバル アセンブリ キャッシュへのアセンブリのインストール、修復、または削除。
特定のアプリケーション用に指定されたプライベートな場所へのアセンブリのインストール、修復、または削除。
失敗したアセンブリ インストールのロールバック、アセンブリの修復または削除。
グローバル アセンブリ キャッシュへの厳密な名前付きアセンブリのオンデマンド インストール。
特定のアプリケーション用に指定されたプライベートな場所へのアセンブリのオンデマンド インストール。
アセンブリのパッチ。
アセンブリをポイントするショートカットの通知。
Windows Installer パッケージの作成者は、MsiAssembly テーブルおよび MsiAssemblyName テーブルに値を設定することにより、これらの機能を使用できます。
Windows Installer 2.0 によるアセンブリの使用
Windows Installer は、Microsoft .NET Framework で作成されたアセンブリを 1 つの Windows Installer コンポーネントとして扱います。1 つのアセンブリを構成するすべてのファイルを 1 つの Windows Installer コンポーネントに含め、そのコンポーネントをインストーラのコンポーネント テーブルに指定する必要があります。
Windows Installer は、.NET Framework を使用してアセンブリをグローバル アセンブリ キャッシュにインストールします。アセンブリをグローバル アセンブリ キャッシュにインストールするとき、インストーラは、通常の Windows Installer コンポーネントをインストールするときに使用するディレクトリ構造やファイル バージョン管理規則は使用しません。アセンブリは、1 つの単位として、グローバル アセンブリ キャッシュに追加および削除されます。つまり、1 つのアセンブリを構成するファイルは、常に同時にインストールまたは削除されます。
Windows Installer は、2 段階のトランザクション プロセスを使用して、アセンブリを含む製品をインストールします。これにより、失敗したインストールのロールバックができます。
グローバル アセンブリ キャッシュからのアセンブリの削除
Windows Installer は、アセンブリとは別に管理しているクライアント リストに基づいて、アセンブリを削除するかどうかを判断します。Windows Installer は、アセンブリのすべての Windows Installer クライアントを代表する 1 つのピン ビットを管理しています。アセンブリは、クライアントごとに 1 つのピン ビットを維持しています。インストーラは、最初の Windows Installer クライアントでアセンブリのピン ビットをオンに設定し、最後の Windows Installer クライアントを削除したときにそのアセンブリのピン ビットをオフにします。その結果、そのファイルがグローバル アセンブリ キャッシュから削除されます。
参照
処理手順
方法 : シンプルな Windows フォーム コントロールを開発する
概念
.NET Framework アプリケーションの配置シナリオ