Mam aplikację, która składa się z usługi i pliku wykonywalnego. Zasadniczo jest to aplikacja formularzy odpowiedzialna za uruchamianie i zatrzymywanie usługi w określonych okolicznościach.Uprawnienia ServiceController w systemie Windows 7
W systemie Windows XP aplikacja zarządza tym grzywny za pomocą następującego kodu:
ServiceController controller = new ServiceController();
controller.MachineName = ".";
controller.ServiceName = "XXXXXXXXXX";
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
controller.Start();
Ale w systemie Windows 7, choć zacząłem aplikację jako administrator, pojawia się następujący wyjątek:
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()
Czy jest coś, co mogę zrobić programowo, aby rozwiązać ten problem?
Przepraszam, że byłem głupcem - używam skrótu do uruchomienia i ustawiłem na jednej z moich maszyn testowych, aby ten skrót działał jako administrator (i otrzymałem monit o UAC), ale na maszynie otrzymywałem ten wyjątek. t odpowiednio zmodyfikował skrót. –