J'ai écrit un programme d'installation qui installe un service Windows (A) qui doit démarrer/arrêter un autre service (B). Toutefois, lorsque A tente de démarrer/arrêter B, j'obtiens cette exception:Comment installer un service Windows qui s'exécute en tant qu'administrateur?
System.InvalidOperationException: Impossible d'ouvrir le service MyService sur l'ordinateur '.'. ---> System.ComponentModel.Win32Exception: Accès refusé
Le programme d'installation installe le service en tant que service local et demande des droits d'administrateur via la fenêtre contextuelle UAC, que j'accorde. J'ai aussi ajouté un fichier app.manifest au service qui est configuré pour demander des droits d'admin:
Pourtant, je suis toujours obtenir cette erreur.
Voilà comment je commence le service (arrêt est le même, sauf qu'il appelle Stop, bien sûr):
using (Mutex mutex = new Mutex(false, "MyServiceLock"))
{
mutex.WaitOne();
if (ServiceExists(serviceName) == true)
{
using (ServiceController serviceController = new ServiceController(serviceName, "."))
{
serviceController.Start(); // this line throws the exception
}
}
mutex.ReleaseMutex();
}
Pourquoi pourrait accéder à ce service se voir refuser?
Pourriez-vous, s'il-vous-plaît, la mise à jour de la question pour trouver les réponses acceptées? Personnellement, j'aimerais voir comment je peux installer un service pour fonctionner en tant qu'administrateur. – tishma