1. ホーム
  2. c#

[解決済み] C# で Windows サービスがインストールされているかどうかを確認する方法

2023-06-22 02:12:41

質問

同じマシンにインストールされた GUI に WCF サービスを公開する Windows サービスを書きました。 GUI を実行するとき、サービスに接続できない場合、それがサービス アプリがまだインストールされていないためか、またはサービスが実行されていないためかを知る必要があります。 前者の場合、私はそれをインストールしたいと思います (説明されているように ここで を参照してください)、後者であれば、それを起動します。

質問:サービスがインストールされているかどうかをどのように検出し、インストールされていることを検出した後、どのようにそれを起動するのでしょうか?

どのように解決するのですか。

使用します。

// add a reference to System.ServiceProcess.dll
using System.ServiceProcess;

// ...
ServiceController ctl = ServiceController.GetServices()
    .FirstOrDefault(s => s.ServiceName == "myservice");
if(ctl==null)
    Console.WriteLine("Not installed");
else    
    Console.WriteLine(ctl.Status);