120 votes

Erreur 5 : Accès refusé lors du démarrage d'un service Windows

J'obtiens cette erreur lorsque j'essaie de démarrer un service Windows que j'ai créé en C# :

alt text

Mon code jusqu'à présent :

private ServiceHost host = null;

public RightAccessHost()
{
    InitializeComponent();
}

protected override void OnStart(string[] args)
{
    host = new ServiceHost(typeof(RightAccessWcf));
    host.Open();
}

protected override void OnStop()
{
    if (host != null)
        host.Close();
    host = null;
}

Mise à jour n° 1

J'ai résolu le problème ci-dessus en accordant des autorisations au compte SERVICE DE RÉSEAU mais j'ai maintenant un autre problème :

alt text

Mise à jour n°2

Le service ne peut pas être démarré. System.InvalidOperationException : Le service 'RightAccessManagementWcf.RightAccessWcf' n'a aucun point de terminaison d'application (non-infrastructure). Cela peut être dû au fait qu'aucun fichier de configuration n'a été trouvé pour votre application, qu'aucun élément de service correspondant au nom du service n'a pu être trouvé dans le fichier de configuration, ou qu'aucun point d'extrémité n'a été défini dans l'élément de service. at System.ServiceModel.Description.DispatcherBuilder.EnsureThereAreNonMexEndpoints(ServiceDescription description) at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) at System.ServiceModel.ServiceHostBase.InitializeRuntime() at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at RightAccessHosting.RightAccessHost.OnStart(String[] args) in C:\Users....

0voto

Ali786 Points 2472

Dans mon cas, j'ai gardé le projet sur le bureau et pour accéder au bureau, nous devons ajouter une permission au dossier. J'ai donc simplement déplacé le dossier de mon projet dans le répertoire C:\Net cela fonctionne maintenant comme un charme.

0voto

Harshith Rai Points 2441

Je ne sais pas si ma réponse aura du sens pour beaucoup, mais j'ai moi aussi été confronté au même problème et la solution a été d'une simplicité déconcertante. Tout ce que j'ai eu à faire, c'est d'ouvrir le programme que j'ai utilisé pour exécuter le code en tant qu'administrateur. (clic droit --> Exécuter en tant qu'administrateur).

C'est tout.

0voto

Amrik Singh Points 55

Consulter le journal des événements de Windows pour obtenir un message d'erreur détaillé. J'ai résolu le problème après avoir vérifié le journal des événements.

0voto

HeyJude Points 980

Toutes les autres réponses parlent de problèmes de permissions - ce qui est logique, puisque c'est ce à quoi le message d'erreur fait référence.

Cependant, dans mon cas, cela a été causé par une simple exception dans mon code de service ( System.IndexOutOfRangeException mais il peut s'agir de n'importe quoi).

Par conséquent, lorsque cette erreur se produit, il convient de consulter le journal et de rechercher les exceptions.

-1voto

SabineA Points 43

J'ai rencontré ce problème sur un service que j'étais en train de déployer, et aucune des autres suggestions de cette question n'a fonctionné. Dans mon cas, c'était parce que mon fichier .config (xml) n'était pas valide. J'ai fait une erreur de copier-coller en copiant de qualif à prod.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X