LoginSignup
4
4

More than 3 years have passed since last update.

C#でWindows Serviceを作る(2)

Posted at

概要

前回の記事C#でWindows Serviceを作る(1)の続き。

環境

Windows 10
Visual Studio 2017 Community

手順

ここからは、インストーラーコンポーネントを追加します。
ServiceTest.csをデザイナーで開いていない状態の場合は、
ソリューションエクスプローラでServiceTest.csをダブルクリックしてください。
デザイナー上で、右クリックメニューを表示し、「インストーラーの追加」を選択します。
image.png

そうするとプロジェクトにProjectInstaller.csが追加されます。
コンポーネントとして、ServiceProcessInstallerとServiceInstallerが追加されています。
image.png

続いて、コンポーネントのプロパティを編集していきます。
これらは、どのようなサービスとしてインストールするかを設定するものです。

まずはServiceProcessInstallerから。
デザイナー上で「serviceProcessInstaller1」を選択して、右側のプロパティタブをクリックします。
image.png

ここでは、Accountを設定します。
プロパティタブ内のAccountの右側をクリックし、
サービスをどのアカウントで実行するかを選びます。
image.png

(こちらも必須ではないですが)名前を変えます。
プロパティタブ内の(Name)の右側を適宜変更します。
ここでは、serviceProcessInstaller1をserviceProcessInstallerにします(1を削除)。

次にServiceInstallerのプロパティを変更します。
デザイナー上で「serviceInstaller1」を選択して、右側のプロパティタブをクリックします

image.png

主に変更するのは以下のプロパティ
・DelayedAutoStart:他の自動的に開始されるサービスが実行されるまで、サービスの開始を遅延するかどうか
・Description:サービスの説明
・DisplayName:サービス管理ツール等での表示用の名前
・ServiceName:サービス識別名
・StartType:サービスの開始タイミングを指定
image.png

StartTypeのプルダウンについては、詳細は以下のページを参照してください。
https://docs.microsoft.com/ja-jp/dotnet/api/system.serviceprocess.servicestartmode?view=netframework-4.8
AutomaticかManualを選択することになると思います(BootとSystemはドライバ用)。

(そしてこちらも必須ではないですがw)名前を変えます。
プロパティタブ内の(Name)の右側を適宜変更します。
ここでは、serviceInstaller1をserviceInstallerにします(1を削除)。

今回はここまで。
次回は開発したサービスを実際にWindows 10にインストールして、
サービス管理画面で確認してみます。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4