Разрешения ServiceController в Windows 7

У меня есть приложение, состоящее из службы и исполняемого файла. По сути, это приложение форм, которое отвечает за запуск и остановку службы при определенных обстоятельствах.

В 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()

Могу ли я что-нибудь сделать программно, чтобы решить эту проблему?

12
задан Kasaku 23 September 2011 в 15:48
поделиться