サービスと実行可能ファイルで構成されるアプリケーションがあります。基本的には、特定の状況下でサービスを開始および停止する役割を担うフォーム アプリケーションです。
Windows XP では、アプリケーションは次のコードを使用してこの問題を管理します。
ServiceController controller = new ServiceController();
controller.MachineName = ".";
controller.ServiceName = "XXXXXXXXXX";
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
controller.Start();
しかし、Windows 7 では、アプリケーションを管理者として起動したにもかかわらず、次の例外が発生します。
System.InvalidOperationException: Cannot open XXXXXXXXXXXXX service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
--- End of inner exception stack trace ---
at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Start(String[] args)
at System.ServiceProcess.ServiceController.Start()
これを解決するためにプログラムでできることはありますか?