次の方法で共有


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 フォーム コントロールを開発する

概念

COM アクセスに対するアプリケーションの配置

.NET Framework アプリケーションの配置シナリオ

その他の技術情報

.NET Framework アプリケーションの配置