Windows-Dienst nicht gestartet wird, wird mit allgemeiner Fehler
Schrieb ich eine triviale NT-Dienst mit VS2010 und es nicht installieren auf meinem XPSP3 dev-box einfach gut, mit InstallUtil. Aber wenn ich net start TestService
bekomme ich eine Allgemeine Fehlermeldung:The TestService service failed to start due to the following error:
The system cannot find the path specified.
Dieser gleiche Fehler ist auch geschrieben, um das Event-System Anmelden, leider ohne mehr details zu dem angegebenen Pfad net start
wusste nicht, wie. Also lief ich Filemon, aber kein Glück es ist, keines der Ausgabe könnte alle vergossen Licht auf meinem fehlerhaften service.
Der Dienst läuft unter dem Konto "Lokaler Dienst".
Irgendwelche Tipps für das Debuggen dieses problem?
EDIT: Dank an alle für die Tipps. DLLs waren in Ordnung, catch-Blöcke nicht treten, dann hätte ich den try/catch-Blöcke um InitializeComponent
, und OnStart
Methoden. Die unten genannten Aussagen zu überprüfen, der Pfad war der tip-off. Ich habe einen offensichtlichen Fehler, ich hatte InstallUtil
auf meinem binary aus einem SUBST ' ed Laufwerk, das berichtet Erfolg aus irgendeinem Grund. Läuft InstallUtil
von einem lokalen Pfad behoben, mein problem, der Dienst startet jetzt richtig.
- Versuchen Sie
catch
Blöcke mit logging-code. Auch, stellen Sie sicher, Sie sind nicht fehlende DLLs.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie zuerst, dass der Dienst ordnungsgemäß installiert ist mit
sc qc TestService
Stellen Sie sicher, dass dies einen vollständigen Pfadnamen (beginnend mit dem Laufwerksbuchstaben) und führen Sie die ausführbare Datei von der Befehlszeile aus.
Wenn das oben funktioniert, würde ich versuchen, überprüfen Sie die Zugriffsrechte auf die ausführbare Datei.
Wenn Ihr ...bin\Release\xxxmyprojxxx.exe passiert auf einem Netzwerk-Laufwerk (auch wenn die einem Laufwerkbuchstaben zugeordnet), es wird NICHT starten, wenn die "System error 2 ... system die angegebene Datei nicht gefunden"
So kopieren Sie das Verzeichnis, der mit der exe-Datei (die hoffentlich beinhaltet alle Abhängigkeiten) zu einem lokalen Laufwerk auf der Maschine (san oder interne Festplatte), NICHT einer zugeordneten Netzwerkfreigabe/Laufwerk.