方法 : サービス アプリケーションにインストーラーを追加するHow to: Add Installers to Your Service Application

Visual Studio には、サービス アプリケーションに関連付けられているリソースをインストールできるインストール コンポーネントが付属しています。Visual Studio ships installation components that can install resources associated with your service applications. インストール コンポーネントは、個々のサービスをインストール先のシステムに登録し、サービス コントロール マネージャーにサービスが存在することを認識させます。Installation components register an individual service on the system to which it is being installed and let the Services Control Manager know that the service exists. サービス アプリケーションを操作するときは、[プロパティ] ウィンドウでリンクを選択して、適切なインストーラーをプロジェクトに自動的に追加することができます。When you work with a service application, you can select a link in the Properties window to automatically add the appropriate installers to your project.

注意

サービスに対するプロパティの値は、サービス クラスからインストーラー クラスにコピーされます。Property values for your service are copied from the service class to the installer class. サービス クラスでプロパティの値を更新した場合、インストーラーでは自動的には更新されません。If you update the property values on the service class, they are not automatically updated in the installer.

インストーラーをプロジェクトに追加すると、新しいクラス (既定の名前は ProjectInstaller) がプロジェクトに作成され、その中に適切なインストール コンポーネントのインスタンスが作成されます。When you add an installer to your project, a new class (which, by default, is named ProjectInstaller) is created in the project, and instances of the appropriate installation components are created within it. このクラスは、プロジェクトで必要なすべてのインストール コンポーネントの中心的な場所として機能します。This class acts as a central point for all of the installation components your project needs. たとえば、2 番目のサービスをアプリケーションに追加し、[インストーラーの追加] リンクをクリックしても、2 番目のインストーラー クラスは作成されません。代わりに、2 番目のサービスに必要な追加のインストール コンポーネントは、既存のクラスに追加されます。For example, if you add a second service to your application and click the Add Installer link, a second installer class is not created; instead, the necessary additional installation component for the second service is added to the existing class.

サービスが正しくインストールされるようにするために、インストーラー内で特殊なコーディングを行う必要はありません。You do not need to do any special coding within the installers to make your services install correctly. ただし、インストール プロセスに特別な機能を追加する必要がある場合は、インストーラーの内容の変更が必要になることがあります。However, you may occasionally need to modify the contents of the installers if you need to add special functionality to the installation process.

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. 設定を変更するには、 [ツール] メニューの [設定のインポートとエクスポート] をクリックします。To change your settings, choose Import and Export Settings on the Tools menu. 詳細については、「Visual Studio での開発設定のカスタマイズ」を参照してください。For more information, see Customizing Development Settings in Visual Studio.

サービス アプリケーションにインストーラーを追加するにはTo add installers to your service application

  1. ソリューション エクスプローラーで、インストール コンポーネントを追加するサービスの [デザイン] ビューにアクセスします。In Solution Explorer, access Design view for the service for which you want to add an installation component.

  2. デザイナーの背景をクリックして、サービスの内容ではなくサービス自体を選択します。Click the background of the designer to select the service itself, rather than any of its contents.

  3. デザイナーにフォーカスを置いた状態で右クリックし、[インストーラーの追加] をクリックします。With the designer in focus, right-click, and then click Add Installer.

    新しいクラス ProjectInstaller、および 2 つのインストール コンポーネント ServiceProcessInstallerServiceInstaller がプロジェクトに追加され、サービスのプロパティ値がコンポーネントにコピーされます。A new class, ProjectInstaller, and two installation components, ServiceProcessInstaller and ServiceInstaller, are added to your project, and property values for the service are copied to the components.

  4. ServiceInstaller コンポーネントをクリックし、ServiceName プロパティが、サービス自体の ServiceName プロパティと同じ値に設定されていることを確認します。Click the ServiceInstaller component and verify that the value of the ServiceName property is set to the same value as the ServiceName property on the service itself.

  5. サービスの開始方法を決定するには、ServiceInstaller コンポーネントをクリックし、StartType プロパティを適切な値に設定します。To determine how your service will be started, click the ServiceInstaller component and set the StartType property to the appropriate value.

    [値]Value 結果Result
    Manual インストールの後、サービスを手動で開始する必要があります。The service must be manually started after installation. 詳しくは、「方法: サービスを開始する」をご覧ください。For more information, see How to: Start Services.
    Automatic サービスは、コンピューターが再起動されるたびに、自動的に開始します。The service will start by itself whenever the computer reboots.
    Disabled サービスは開始できません。The service cannot be started.
  6. サービスが実行するセキュリティ コンテキストを決定するには、ServiceProcessInstaller コンポーネントをクリックし、適切なプロパティ値を設定します。To determine the security context in which your service will run, click the ServiceProcessInstaller component and set the appropriate property values. 詳しくは、「方法: サービスのセキュリティ コンテキストを指定する」をご覧ください。For more information, see How to: Specify the Security Context for Services.

  7. カスタム処理を実行する必要があるメソッドをオーバーライドします。Override any methods for which you need to perform custom processing.

  8. プロジェクトの追加サービスごとに、手順 1 から 7 を実行します。Perform steps 1 through 7 for each additional service in your project.

    注意

    プロジェクトの追加サービスごとに、新しい ServiceInstaller コンポーネントをプロジェクトの ProjectInstaller クラスに追加する必要があります。For each additional service in your project, you must add an additional ServiceInstaller component to the project's ProjectInstaller class. 手順 3 で追加した ServiceProcessInstaller コンポーネントは、プロジェクト内のすべての個別サービス インストーラーで動作します。The ServiceProcessInstaller component added in step three works with all of the individual service installers in the project.

参照See Also

Windows サービス アプリケーションの概要Introduction to Windows Service Applications
方法 : サービスをインストールおよびアンインストールするHow to: Install and Uninstall Services
方法 : サービスを開始するHow to: Start Services
方法 : サービスのセキュリティ コンテキストを指定するHow to: Specify the Security Context for Services