Windows-Dienst Taskplaner - Dienst nicht gestartet werden kann. Der service Prozess konnte keine Verbindung zum Dienst-controller
Habe ich ein einfaches Windows-Dienst-Projekt. Ich folgte den Anweisungen befindet sich an http://msdn.microsoft.com/en-us/library/zt39148a.aspx einschließlich das hinzufügen von benutzerdefinierten Aktionen.
Wenn mein build im Release-Modus für das setup-Projekt. Ich laufen der .msi auf den server möchte ich für auf dem der Dienst ausgeführt. Wenn ich öffnen Sie den Dienste-Manager den Dienst angezeigt wird. Ich kann sogar manuell den Dienst starten und es läuft genau so, wie ich es brauche.
Allerdings möchte ich für diesen Dienst zu laufen, alle 5 Minuten, also habe ich eine Aufgabe in der Aufgabenplanung und Punkt der .exe-Datei von meiner windows-Dienst, um die Aufgabe. Allerdings, wenn der task Planer läuft mein windows-Dienst, bekomme ich die folgende Fehlermeldung:
Dienst kann nicht gestartet werden. Der service Prozess konnte keine Verbindung zum Dienst-controller
Ich habe eine Menge Forschung auf dieses aber noch nicht kommen mit nichts. Hat jemand irgendwelche Ideen auf, was könnte die Ursache sein?
- Was genau steckst du in den Task-Planer starten Sie den Dienst?
- In der Registerkarte "allgemein", klicke ich auf "Ausführen, ob der Benutzer angemeldet ist oder nicht" und dann das Kontrollkästchen, das sagt "speichern nicht vergessen". In der Registerkarte Trigger ich es zu laufen, alle 5 Minuten In die Registerkarte "Aktionen", ich habe Ein Programm Starten ausgewählt und haben es direkt in meine .exe-Datei
- Da Sie bereits fertig und begann Ihren Dienst, wäre es nicht besser, dass ein Zeitgeber innerhalb Ihres Dienstes als einen Aufgabenplaner? Sie können auch einen registry-Wert, den Sie Lesen und nutzen kann, als einem Intervall, kann dynamisch geändert werden. Wenn es ein Protokoll, das Sie möchten, können Sie Sie in der Ereignisanzeige.
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, das wird nicht funktionieren. Sie können nicht führen Sie Ihre service-exe direkt von der Task-Scheduler. Sollten Sie verwenden Sie die "Net start" Befehl um den Dienst zu starten.
Werden Sie sicher, dass das Kontrollkästchen "mit höchsten Privilegien Ausführen-box" in Ihrer geplanten Aufgabe zu vermeiden, UAC, wenn Sie Windows Vista oder höher.
Meine Antwort nicht ordnungsgemäß formatiert, Sie in den Kommentaren, so wollte ich jeden wissen zu lassen, im Falle, dass Sie kam über diese. Im Grunde habe ich soeben eine .bat-Datei und dann in dieser .bat-Datei, ich habe die folgenden zwei Zeilen:
NET START MyServiceName
NET STOP MyServiceName
Den Befehl NET STOP synchron und wartet, bis der service abgeschlossen ist, bevor Sie es beendet den Dienst.
Danke für die Hilfe!