インストール コンポーネントの概要
更新 : 2007 年 11 月
Microsoft Visual Studio 6.0 では、アプリケーションのセットアップ時に、アプリケーションに関連付けられているすべてのランタイム ファイルとサポート ファイルを開発用コンピュータから配置先のコンピュータにコピーするのが一般的でした。Visual Studio 2005 では、アプリケーションは従来のプログラム ファイルだけでなく、関連するリソース (メッセージ キュー、イベント ログ、パフォーマンス カウンタ、データベース、構成ファイルなど) も含んでいるため、配置先のコンピュータでもそのようなリソースを作成する必要があります。インストール コンポーネントと呼ばれるコンポーネントを使用してアプリケーションを設定することにより、アプリケーションのインストール時にリソースを作成し、アンインストール時に削除するようにできます。
たとえば、カスタム パフォーマンス カウンタに書き込みを行うアプリケーションを配置するとします。このカウンタは、アプリケーションを配置するときにインストールされている必要があります。インストール コンポーネントを使用すると、アプリケーションのインストール時にリモート コンピュータ上で必要なパフォーマンス カウンタを自動的に作成して設定するように、アプリケーションを設定できます。
インストーラ クラスと定義済みインストール コンポーネント
インストール コンポーネントには 2 つの種類があります。プロジェクトに追加できるインストーラ クラスと、コンポーネントに関連付けられる定義済みインストール コンポーネントです。
インストーラ クラスは、配置先のコンピュータ上にデータベースを作成するなどのアクションをインストール時に実行するために、任意のアプリケーションに追加できます。配置プロジェクトでは、インストールの最後に実行するカスタム動作として、コンパイル済みのインストーラ クラスがプロジェクトから追加されます。また、配置プロジェクトでは、インストール時にユーザーからの入力を取り込み、CustomActionData プロパティを使用してインストーラ クラスに渡すこともできます。この機能により、ユーザーがデータベースの場所を選択できるようになります。配置プロジェクトでインストール コンポーネントを使用する方法の詳細については、「チュートリアル : カスタム動作を使用して、インストール時にデータベースを作成する」を参照してください。
定義済みインストール コンポーネントは、それを必要とするコンポーネントと一対一で関連付けられます。たとえば、プロジェクトに MessageQueue コンポーネントのインスタンスがあり、配置されたアプリケーションに対してキューをインストールして設定する必要がある場合は、そのタスクを処理するインストール コンポーネントを作成する必要があります。その後で、プロジェクトに EventLog コンポーネントのインスタンスを追加し、使用するイベント ログを設定する場合は、その処理を実行するもう 1 つのインストール コンポーネントを追加する必要があります。
プロジェクトで使用できる定義済みインストール コンポーネントとして、次の 5 種類のインストーラが用意されています。
EventLog インストーラは、EventLogInstaller クラスに基づいており、アプリケーションの実行に必要なカスタム イベント ログをインストールして設定するために使用できます。詳細については、「EventLog コンポーネントの概要」を参照してください。
MessageQueue インストーラは、MessageQueueInstaller クラスに基づいており、アプリケーションの実行に必要なキューをインストールして設定するために使用できます。詳細については、「メッセージング コンポーネントの使用」を参照してください。
PerformanceCounter インストーラは、PerformanceCounterInstaller クラスに基づいており、アプリケーションの実行に必要なカスタム パフォーマンス カウンタをインストールして設定するために使用できます。詳細については、「パフォーマンスしきい値の監視」を参照してください。
ServiceInstaller クラスと ServiceProcessInstaller クラスを組み合わせて使用すると、サービス アプリケーションをインストールできます。詳細については、「Windows サービスの監視」を参照してください。
プロジェクト内のすべてのインストール コンポーネントは、RunInstallerAttribute が設定されているクラスに格納されます。既定では、定義済みインストール コンポーネントを追加すると、この属性を含む Installer1 という名前のクラスがプロジェクトに追加されます。[新しい項目の追加] ダイアログ ボックスで追加したインストーラ クラスも、この属性を含んでおり、既定で Installer1 という名前になります。インストール プロセス中の処理の詳細については、「インストール プロセス」を参照してください。
参照
処理手順
チュートリアル : イベント ログ コンポーネントのインストール
概念
フレームワーク コンポーネントの配置およびデザイン プロセス