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???

Was passiert in 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

Schreibe einen Kommentar