Windows Service
0) В проекте службы необходимо реализовать класс установщик
1) Управление установкой/удалением
1.1) installutil
C:\Windows\Microsoft.NET\Framework\<version>
installutil <ServiceFile>
installutil /u <ServiceFile>
1.2) sc
sc create "<YOUR SERVICE NAME>" binpath= "[PATH_TO_YOUR_SERVICE_EXE]" start= auto
sc delete "<YOUR SERVICE NAME>"
2) Запуск остановка
net stop <servicename>
net start <servicename>
Когда рабочая служба дойдет до данной строки:
System.Diagnostics.Debugger.Launch();
то она выкинет специальный exception, который позволит подключить отладку VisualStudio к службе и ослеживать работу службы, события, возникающие в ее жизненном цикле.
Описание и установка:
https://metanit.com/sharp/tutorial/21.1.php
Clean stop of Windows Service in .NET
https://dejanstojanovic.net/aspnet/2017/september/clean-stop-of-windows-service-in-net/