2016-11-07 6 views
0

プロジェクトC#のWiXセットアップのカスタムアクションでサービスを開始しようとしています。まずWiXカスタムアクションでサービスを開始できません

サービスが開始された場合、私は確認してください。

​​

をしかし、私は、ステータス(MyService.Status)を取得しようとすると、例外がある:

のSystem.InvalidOperationException:インポッシブルD'のouvrirルサービス MyService sur l'ordinateur '。' ---> System.ComponentModel.Win32Exception:特定のサービスがありません。 のエンティティサービスがインストールされています---ファイルのトレースが終了しました。 d'exception interne --- System.ServiceProcess.ServiceController。 「できません: CustomAction.CustomActions.StopService(セッションsession)

翻訳à System.ServiceProcess.ServiceController.get_Status(àGetServiceHandle System.ServiceProcess.ServiceController.GenerateStatus(à(のInt32 desiredAccess)))このコンピュータのMyServiceを開いてください - >指定したサービスがインストール済みのサービスとして存在しません。

サービスがインストールされているかどうかを確認するにはどうすればよいですか? (MyServiceがnullでないことを確認しました)

答えて

0

指定したサービス "MyService"がコンピュータにインストールされていません。あなたはStart > Run > services.mscに行くことによって再確認できます。また

代わりServiceControllerのから直接オブジェクトを作成するのではなく、あなたが代わりにインストールされているサービスの一覧を取得し、そのリストからサービスを検索することができます。

bool DoesServiceExist(string serviceName) 
    { 
     return ServiceController.GetServices().Any(serviceController => serviceController.ServiceName.Equals(serviceName)); 
    } 

参考文献:https://stackoverflow.com/a/23800234

関連する問題