Permissões do ServiceController no Windows 7

Eu tenho um aplicativo que consiste em um serviço e um executável. Essencialmente, é um aplicativo de formulários responsável por iniciar e interromper um serviço em circunstâncias específicas.

No Windows XP, o aplicativo gerencia essa multa usando o seguinte código:

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

Mas no Windows 7, mesmo tendo iniciado o aplicativo como administrador, recebo a seguinte exceção:

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

Existe algo que eu possa fazer programaticamente para resolver isso?

questionAnswers(3)

yourAnswerToTheQuestion