Windows konnte nicht gestartet werden service auf Win Server 2008 R2 SP1 (Fehler 1053)
Dieses Problem scheint allgemein diskutiert, aber ich habe Probleme mit der Suche nach der Lösung in meinem speziellen Fall.
Mein service ist unter Local System
Konto. Auf meine erste Maschine mit Windows 7 SP1 (64-bit) installiert, funktioniert alles wie erwartet. Aber nur nachdem ich versuche den Dienst zu starten, auf meinem zweiten Rechner mit Windows Server 2008 R2 SP1 (64-bit), nicht einmal eine Sekunde vergeht, und ich bin vor diesen lästigen Fehler:
Windows could not start the ProService service on Local Computer
Error 1053: The service did not respond to the start or control request in a timely fashion
Den System Log
zeigt 2 Einträge:
The ProService service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
und:
A timeout was reached (30000 milliseconds) while waiting for the ProService service to connect.
Die Umsetzung sieht folgt aus:
Programm.cs:
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomainUnhandledException;
ServiceBase.Run(new ServiceBase[] { new ProService() });
}
static void CurrentDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e != null && e.ExceptionObject != null)
{
Logger.Record(e.ExceptionObject);
}
}
ProService.cs:
public ProService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
RequestAdditionalTime(10000);
FireStarter.Instance.Execute();
}
catch (Exception e)
{
Logger.Record(e);
throw;
}
}
Den OnStart
Methode gerade einen neuen thread, so dauert es fast KEINE Zeit, laden zu führen. Ich verwendet RequestAdditionalTime
- Anweisung nur für den Fall - zur Ablehnung dieser Angelegenheit als eine Quelle für mein problem. Darüber hinaus, wie Sie sehen, bin ich den Umgang mit allen Ausnahmen, aber keine Ausnahme ist geschrieben, um meine custom-Dienst Ereignis-log während des Starts (btw: die Protokollierung läuft auf der ersten win7 Rechner). Wie zu untersuchen, was Los ist???
FireStarter.Instance.Execute()
? Können Sie schreiben einige code für die Methode?Dann wieder, wenn es dauert weniger als eine Sekunde für die Fehler passieren, dann wahrscheinlich ein assembly binding Ausnahme Auftritt. Verfolgen Sie diese durch die Aktivierung FusionLog und mit der FusionLog Viewer: msdn.microsoft.com/en-us/library/e74a18c4(v=vs. 100).aspx. Auch, stellen Sie sicher, dass der entsprechende .NET framework ist installiert, auf der zweiten Maschine.
Die
FireStarter.Instance.Execute()
enthält var thread = new Thread(x => WatchThread(new ThreadStart(ExecuteInternal))); thread.Start();
Framework ist installiert, auf beiden Rechnern identisch. Leider habe ich leere Ausgabe in fuslogsw
Fenster (ich vollbracht alle Schritte aus dieser Quelle: neovolve.com/post/2010/05/28/... und dann den Versuch zu starten meine service).Dann ist die einzige nützliche Sache, die ich denken kann (und das habe ich mich eingesetzt), ist die Verwendung der Intellitrace-standalone-Kollektor, der auf der Maschine und sammeln Sie Einzelheiten über die Ausführung Weg. Sehen Sie hier mehr über das setup, die Sie benötigen: msdn.microsoft.com/en-us/library/vstudio/hh398365.aspx. Einmal gestartet, werden Sie in der Lage, um zu sehen, was genau ausgeführt wird und hoffentlich beim lokalisieren des Problems.
InformationsquelleAutor jwaliszko | 2013-01-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich herausgefunden, was Los war in ein paar Schritten:
OnStart
Methode von service.Habe ich im Vergleich 2 configs von service-und original von der console-Anwendung. Als Ergebnis habe ich festgestellt, dass einige Unterschiede. Unter anderem gab es solch einen Eintrag - die Quelle des Problems (nach entfernen, alles funktioniert):
Also im Grunde hatte ich die out-of-date Konfigurationsdatei. Zuvor service wurde zusammengestellt unter .NET 4.5, dann hab ich geändert, das framework 4.0 und die bereitgestellten Dateien auf den server, aber die Links die bisherige Konfigurationsdatei (ich habe mich verändert die Ziel-framework, da mein Entwicklungsrechner hat .NET 4.5 beim server nicht). Ich hätte nicht gedacht, dass die gezeigten Linien verbergen würde alle Probleme ohne vernünftige Informationen, die dabei helfen könnten, zu verfolgen, das Chaos.
+1 meinen Tag Gerettet! Vielen Dank.
InformationsquelleAutor jwaliszko
Überprüfen auf fehlende Abhängigkeiten/DLLs.
Wenn Sie dies nicht bereits getan haben, erlauben Sie Ihren Dienst aufgerufen wird wie eine normale Anwendung (eine großartige Technik für die langfristige debugging) und sehen, ob es richtig startet auf Ihrem Windows 2008-Maschine.
Wenn auf diese Weise funktioniert, dann kann es ein Problem mit dem in das Konto "LocalSystem". Bewegen Sie auf, um Ihre Anwendung von einer Eingabeaufforderung aus ausführen, in das Konto "LocalSystem" ( Beispiel-setup, das hier ).
InformationsquelleAutor CoreTech
Habe ich versucht, das folgende Update wurde zur Verfügung gestellt an dieser link
Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie regedit ein, und klicken Sie dann auf OK.
Suchen Sie, und klicken Sie dann auf den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Hinweis: Wenn der ServicesPipeTimeout-Eintrag nicht vorhanden ist, müssen Sie ihn erstellen. Um dies zu tun, gehen Sie folgendermaßen vor:
ein. Auf der Bearbeiten Menü, zeigen Sie auf Neu, und klicken Sie dann auf DWORD-Wert.
b. Geben Sie ServicesPipeTimeout, und drücken Sie dann die EINGABETASTE.
Dieser Wert stellt die Zeit in Millisekunden, bevor ein service-Zeiten.
Aber immer noch hatte ich das problem den Dienst zu starten.
Dem Update, die für mich gearbeitet wurde,
InformationsquelleAutor Ramachandran Gokulachandran
Ich habe versucht die unten aufgeführten Schritte. Es funktionierte wie ein Charme.
1.Gehen die Dienstleistungen.msc
2.Doppelklicken Sie auf den Dienst, den Sie starten möchten.
3.Nehmen Sie die Registerkarte Anmeldung
4.Geändert Anmelden als: auf Lokales Systemkonto.
5.Habe versucht, starten Sie den Dienst nach dieser änderung.(Noch gab die Fehler 1053)
6.Nahm Sie auf die Registerkarte Anmelden wieder geändert, um Netzwerk-Service (gab ein zufälliges neues Passwort)
7.Habe versucht, starten Sie den Dienst erneut.(Der Dienst gestartet wurde perfekt)
Aber ich möchte nur wissen, was wird das Problem sein.
InformationsquelleAutor Srinivasan
Nach der Installation von service, ich gab die Berechtigung Vollzugriff(Jeder) für Installations-Ordner. Dann, mein service wird gestartet perfectaly.
InformationsquelleAutor user5185809