Share via


方法 : Windows サービスを作成する

サービスを作成するときには、Windows サービスと呼ばれる、Visual Studio プロジェクトのテンプレートを使用できます。 このテンプレートを使用すると、作業の多くを自動化できます。この自動化は、適切なクラスと名前空間を参照し、サービスの基本クラスからの継承を設定し、メソッドのいくつかをオーバーライドすることで実現されます。

注意

Windows サービスのテンプレートおよび関連する機能は、Visual Studio の Standard Edition では使用できません。

実用的なサービスを作成するには、少なくとも以下の作業を行う必要があります。

  • ServiceName プロパティを設定します。

  • サービス アプリケーションに必要なインストーラーを作成します。

  • OnStart メソッドと OnStop メソッドのオーバーライドとコーディングを行い、サービスの動作をカスタマイズします。

アプリケーションにインストーラーを追加した後、次の手順として、コンパイルされたプロジェクト ファイルをインストールし、サービスのインストールに必要なインストーラーを実行するセットアップ プログラムを作成します。 完全なセットアップ プロジェクトを作成するには、サービス プロジェクトの出力をセットアップ プロジェクトに追加し、サービスをインストールするカスタム処理を追加する必要があります。 セットアップ プロジェクトの詳細については、「セットアップ/配置プロジェクト」を参照してください。 カスタム動作の詳細については、「チュートリアル : カスタム動作の作成」を参照してください。

Windows サービス アプリケーションを作成するには

  1. Windows サービス プロジェクトを作成します。

    注意

    テンプレートを使用せずにサービスを記述する方法については、「方法 : プログラムでサービスを作成する」を参照してください。

  2. [プロパティ] ウィンドウで、サービスの ServiceName プロパティを設定します。

    注意

    ServiceName プロパティの値は、各インストーラー クラスに記録されている名前と一致する必要があります。 このプロパティを変更した場合は、インストーラー クラスの ServiceName プロパティも変更する必要があります。

  3. 次のいずれかのプロパティを設定して、サービスの動作を決定します。

    プロパティ

    設定値

    CanStop

    サービスが実行停止要求を受け付ける場合は True を設定します。サービスの実行を停止しない場合は false を設定します。

    CanShutdown

    サービスがコンピューターのシャットダウン時に通知を受けて OnShutdown プロシージャを呼び出す場合は、True を設定します。

    CanPauseAndContinue

    サービスが一時停止要求または再開要求を受け付ける場合は True を設定します。サービスを一時停止または再開しない場合は false を設定します。

    CanHandlePowerEvent

    コンピューターの電源状態の変化をサービスに通知する場合は True を設定します。サービスに電源状態の変化を通知しない場合は、false を設定します。

    AutoLog

    サービスがアクションを実行したときにアプリケーション イベント ログに情報を入力する場合は True を設定します。この機能を無効にする場合は false を設定します。 詳細については、「方法 : サービスに関する情報のログを記録する」を参照してください。

    メモメモ
    既定では、AutoLog は true に設定されています。

    注意

    CanStop または CanPauseAndContinue を false に設定すると、サービス コントロール マネージャーは、対応するメニュー オプション (サービスの停止、一時停止、または継続) を無効にします。

  4. コード エディターを起動し、OnStart プロシージャと OnStop プロシージャの処理を記述します。

  5. ほかに動作を定義するメソッドがある場合は、それをオーバーライドします。

  6. サービス アプリケーションの必要なインストーラーを追加します。 詳細については、「方法 : サービス アプリケーションにインストーラーを追加する」を参照してください。

  7. [ビルド] メニューの [ソリューションのビルド] をクリックして、プロジェクトを作成します。

    注意

    F5 キーを押してプロジェクトを実行しないでください。この方法ではサービス プロジェクトを実行できません。

  8. サービスをインストールします。 詳細については、「方法: サービスをインストールおよびアンインストールする」を参照してください。

参照

処理手順

方法 : プログラムでサービスを作成する

方法 : サービス アプリケーションにインストーラーを追加する

方法 : サービスに関する情報のログを記録する

方法 : サービスを開始する

方法 : サービスのセキュリティ コンテキストを指定する

方法: サービスをインストールおよびアンインストールする

チュートリアル: コンポーネント デザイナーによる Windows サービス アプリケーションの作成

概念

Windows サービス アプリケーションの概要