C# Windowsサービスを作成しhello worldを表示

C#でWindowsサービスを作りhello worldを表示するサンプルです。
(確認環境:Microsoft Visual Studio Community 2019、.NET Framework 4.7.2)

目次

手順 プロジェクトとインストーラの追加
プロパティの設定
イベントログを追加
ビルドの実行とサービスへの登録
サービスの実行と確認
サービスをアンインストールする

プロジェクトとインストーラの追加

1.ファイル>新規作成>プロジェクトをクリックしC#の「Windowsサービス(.NET Framewor)」を選択します。

プロジェクト名は、任意の値を指定します。(WindowsService1としました)

 

2.プロジェクト作成後に表示されているService1.cs上で右クリックし、「インストーラーの追加」をクリックします。

 

3.ProjectInstaller.csが新規作成されます。

 

プロパティの設定

1.ProjectInstaller.csを開き、serviceProcessInstaller1をクリックします。

※注 確認した環境では最初上記の文字が表示されていませんでしたが、場所をクリックすると以下のように選択範囲は表示されました。操作を進めていると上記のように文字が表示されました。

 

6.Accountを「LocalSystem」にします。

 

7.ProjectInstaller.csのserviceInstaller1をクリックしプロパティを設定します。

Description,DisplayName,ServiceNameを設定しました。

 

イベントログを追加

1.「表示」>「ツールボックス」をクリックし、ツールボックスから「EventLog」をService1.csにドラッグアンドドロップします。

 

2.eventlog1をクリックし、プロパティを設定します。SourceをService1としました。

 

3.eventlog1をダブルクリックしコードを修正します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace WindowsService1
{
	public partial class Service1 : ServiceBase
	{
		public Service1()
		{
			InitializeComponent();
		}

		protected override void OnStart(string[] args)
		{
			EventLog.WriteEntry("Hello World ---START");
		}

		protected override void OnStop()
		{
			EventLog.WriteEntry("Hello World ---END");
		}

		private void EventLog1_EntryWritten(object sender, EntryWrittenEventArgs e)
		{

		}
	}
}

22行目と27行目を追加しました。

ビルドの実行とサービスへの登録

1.「ビルド」>「ソリューションのビルド」をクリックします。
処理結果にexeの出力パスが表示されます。

exeファイルは任意の位置に移動できます。D:\test\WindowsService1.exeとしました。

 

2.スタートボタン(画面左下にあるWindowsアイコン)>Visual Studio 2019配下の開発者用のコマンドプロンプト>その他>管理者として実行をクリックします。

 

3.コマンドプロンプト上で以下のコマンドを実行します。

installutil サービスに登録するファイル名

installutil D:\test\WindowsService1.exe

成功すると以下のように正常終了のメッセージが表示されます。

 

サービスの実行と確認

1.Windowsキー+Sで検索窓を開きサービスと入力しサービスの画面を開きます。
作成したサービスが登録されています。

 

2.サービスを右クリックして「開始」をクリックするとサービスが起動します。

 

3.スタートボタン(画面左下にあるWindowsアイコン)を右クリックし、「イベントビューア」をクリックします。サービスを実行した結果が表示されています。

 

4.上記表の対象の1行をクリックするとコードで設定したHello Worldが表示されます。

 

サービスをアンインストールする

コマンドプロンプト上で以下のコマンドを実行します。

installutil サービスから削除するファイル名

installutil -u D:\test\WindowsService1.exe

成功すると以下のように正常終了のメッセージが表示されます。

関連の記事

Visual Studio exeファイルを作成する方法

△上に戻る