Windows-Dienst wirft “ - System.ComponentModel.Win32Exception: Zugriff verweigert" beim Start von
Einem Kunden berichtet ein Problem, wo Sie sind nicht in der Lage zu starten unser service. Beim durchsehen der logs kann ich sehen, viele System.ComponentModel.Win32Exception: Access is denied
Ausnahmen:
System.InvalidOperationException: Cannot open *ServiceName* service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Start(String[] args)
at BackupStack.InterApp.ServiceStarter.startService(Boolean useShellExec)
Cannot open BackupStack service on computer '.'.
at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Start(String[] args)
at BackupStack.InterApp.ServiceStarter.startService(Boolean useShellExec)
System.ComponentModel.Win32Exception: Access is denied
Access is denied
Die offensichtliche Sache zu prüfen, war, dass der Benutzer die Berechtigung hat den Dienst zu starten. Sie sind in der administrativen Gruppe. Wenn Sie versuchen, starten Sie den service aus unserer Anwendung werden Sie aufgefordert, die von der UAC, aber es passiert nichts. Es lässt sich nicht starten.
Seite Hinweis: Unsere Anwendung bietet eine Möglichkeit, neu zu starten /installieren Sie den Dienst, wenn es nicht läuft. Wir nutzen ProcessStartInfo.Verb = "runas"
zu erheben, den Prozess, der den Dienst gestartet.
Sind Sie nicht in der Lage, den Dienst zu starten aus services.msc
sowie aus unserer Anwendung.
Nur andere Hinweise, die ich habe, Sie haben diesen Fehler gemeldet, die in einer Dialog-box:
Fehler 1053: Der Dienst antwortete nicht rechtzeitig auf die start-oder Steuerungsanforderung rechtzeitig.
Unser service ist unter der Local System Account
und Ziele .NET 2.0
.
Hat jemand irgendwelche Ideen was ich überprüfen kann um zu verstehen, wo könnte es scheitern? Ich glaube, dass Sie die richtigen Berechtigungen haben, aber ich kann mich auch irren. Wenn jemand weiß, all die Orte, um dies zu überprüfen, das würde auch geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "Dienst antwortete nicht rechtzeitig auf die start-oder Steuerungsanforderung rechtzeitig" Fehlermeldung in der Regel wird verursacht durch die "OnStart" - Methode der service dauert viel zu lange dauert (in der Regel 20 oder 30 Sekunden). Wenn Sie zu viel startup-code in die Methode - also network access code, Datenbank access-code - das ist eine ganz normale Reaktion. Es geschieht normalerweise, wenn Sie versuchen zu initialisieren etwas aus einer Datenbank, und die Datenbank ist nicht bereit oder zu langsam zu reagieren. Ich würde überprüfen Sie, dass alle abhängigen Dienste laufen.
Mit Administrtive Rechte und erhöhten Prozess-Rechte, die Sie sollten in der Lage sein zu starten/stoppen die einfach zu jedem service. Aber je nachdem, was andernfalls im inneren der service, das immer noch eine "sekundäre" Fehler code...