C# コードからリモート マシンにサービスをインストール/アンインストールする必要があります。
ファイアウォールの問題により、WMI を使用できません。私は PsExec を使用して SC.exe をリモートで呼び出したり、SC.exe \\server create
ローカルで使用したりすることを好みません。これらのオプションでは、出力のテキスト解析が必要になるためです。
TopShelf もオプションではありません。
開始/停止には、偽装でServiceControllerクラスを使用しました。