Permisos de ServiceController en Windows 7

Tengo una aplicación que consta de un servicio y un ejecutable. Esencialmente, es una aplicación de formularios que se encarga de iniciar y detener un servicio en circunstancias específicas.

En Windows XP, la aplicación administra esta multa utilizando el siguiente código:

ServiceController controller = new ServiceController();
controller.MachineName = ".";
controller.ServiceName = "XXXXXXXXXX";
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
controller.Start();

Pero en Windows 7, aunque inicié la aplicación como administrador, obtengo la siguiente excepción:

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

¿Hay algo que pueda hacer programáticamente para resolver esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta