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
成功すると以下のように正常終了のメッセージが表示されます。

関連の記事
