Fehler bei der Installation der Windows-Dienst — Der Dienst antwortete nicht rechtzeitig auf die start-oder Steuerungsanforderung rechtzeitig
Ich habe einen Windows-Dienst-Anwendung, die ich installiert habe auf meinem Rechner ohne Problem. Ich ging, um es zu installieren auf einem anderen Rechner, und ich erhalte die Fehlermeldung
Fehler 1001. Eine Ausnahme ist aufgetreten während der Commit-phase der installation. Diese Ausnahme wird ignoriert und die installation fortgesetzt werden. Jedoch, die Anwendung möglicherweise nicht ordnungsgemäß, nachdem die installation abgeschlossen ist. Nicht start service MyService auf computer '.'. Der Dienst antwortete nicht rechtzeitig auf die start-oder Steuerungsanforderung rechtzeitig.
Dieser Fehler auftauchen wird sofort und ohne hängen. Normalerweise würde ich nur erwarten, um zu sehen, dieser Fehler nach einem hängen.
Ich bin mit dem .NET 4 framework, das installiert ist auf beiden Maschinen. Ich habe versucht, das deaktivieren der antivirus-Programm zu denken, dass möglicherweise stören den Dienst starten, aber das ergab den gleichen Fehler. Die firewall war auch deaktiviert.
Gibt es sonst noch etwas, die dieses Problem verursachen könnten?
- Fast sicher eine Ausnahme passiert, wahrscheinlich auf Start. Melden Sie sich Ausnahmen, sonst Flucht Ihr service-Implementierung?
- Ja, in der OnStart-Betrieb, ich bin abfangen einer Ausnahme mit den folgenden Angaben: Exception Message: Cannot start service CHD auf computer '.' Stack Trace: am System.ServiceProcess.ServiceController.Start(String[] args) bei System.ServiceProcess.ServiceController.Start() bei KHK.ProjectInstaller.OnCommitted(IDictionary savedState) Quelle: System.ServiceProcess Innere Ausnahme: System.ComponentModel.Win32Exception (0x80004005): Der Dienst antwortete nicht rechtzeitig auf die start-oder Steuerungsanforderung rechtzeitig
- Wenn Sie uns sagen können, welche arbeiten durchgeführt wurden, durch Ihre service zu starten, das würde uns helfen deine Frage zu beantworten.
- Als ein beiseite, OnStart muss auch wieder innerhalb von 30 Sekunden; in der Regel kick-off-Ihren Dienst in einem thread und dann zurückkehren. Siehe stackoverflow.com/questions/216401/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieses Verhalten tritt normalerweise auf, wenn eine Ausnahme geworfen wird, in der WinService ist OnStart-Methode und ist nicht gefangen in einem try-catch block. Ich glaube, Sie können überprüfen Sie heraus die exception und stack-trace, mit dem EventViewer, wenn nicht, können Sie leicht implementieren Sie eine einfache logging-Funktionalität mit der EventLog-Klasse.
Manchmal wird die Ausnahme ausgelöst, weil der Dienst nicht ausgeführt wird unter einem privilegierten Konto. Um dies zu beheben, müssen Sie konfigurieren Sie Ihren Installateur ist ServiceProcessInstaller-Objekt wie folgt:
Vielen Dank für Ihre Hilfe jeder. Ich merkte, die Frage war wegen der .NET Framework installiert, auf zwei verschiedenen Maschinen. Meine Maschine hatte .NET Framework 4 Client Profile und .NET Framework 4 Extended, und die andere Maschine hatte nur .NET Framework 4 Client Profile. Offenbar für einige Komponenten in der service-Bibliotheken, die nicht vorhanden in den .NET Framework 4 Client Profile.
Seit Sie Ihren Dienst auf einem anderen computer, und vorausgesetzt, der code ist für beide identisch, kann das Problem etwas zu tun haben mit den Berechtigungen. Sicherzustellen das Konto, das Ihre Dienst ausgeführt wird, über ausreichend Berechtigungen für alle Ordner, wo es Dateien schreibt. Wenn Sie schreiben in das Ereignisprotokoll, sicherzustellen, dass der service " - Konto die erforderlichen Berechtigungen für diese.