![]() |
Mysteriöses Verhalten bei den Windows-Services
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe ein höchst seltsames Verhalten bei den Windows-Services
Ich habe ein Service-Programm aus den Vorlagen erstellt und eigentlich nur im ServiceStart ein Logging eingebaut.
Delphi-Quellcode:
procedure TTestService.ServiceStart(Sender: TService; var Started: Boolean);
begin TRY [B]LogMessage('Testservice gestartet', EVENTLOG_INFORMATION_TYPE, 0, 0);[/B] EXCEPT on e: exception do begin LogMessage('EXCEPTION in Testservice ServiceStart. Error:' + e.Message, EVENTLOG_ERROR_TYPE, 0, 0); end; END; end; Das Service wurde in einen CMD als Admin mit /install installiert und gestartet. Soweit so gut. Im Windows-Protokoll bei den Anwendungen wird auch das auch nach den Start wie erwartet protokoliert. ABER wenn der Rechner jetzt neu gestartet wird, protokoliert das Service beim Start dieses Event NICHT!!! Bei den Diensten wird das Service allerdings als gestartet ausgegeben und das Service läuft auch! Hat jemand eine Idee was das Verhalten auslöst? |
AW: Mysteriöses Verhalten bei den Windows-Services
Wird das System wirklich neu gestartet oder ist hiermit nur ein Herunterfahren und Hochfahren gemeint? Das macht ab Win8 einen Unterschied, sofern der Schnellstart aktiv ist. Siehe auch
![]() ![]() Falls der Rechner wirklich neu gestartet wird: Ändert sich etwas, wenn der Starttyp des Dienstes auf "Automatisch (Verzögert)" gestellt wird? Grüße Dalai |
AW: Mysteriöses Verhalten bei den Windows-Services
Ich hab nie rausbekommen warum, aber ich hatte mit LogMessage auch schon Probleme.
Aus irgendeinem Grund bleibt es in dieser Funktion manchmal einfach hängen und geht nicht weiter. Auch landen nicht immer diese Nachrichten im WindowsLog. Drum lässt sich bei uns nun diese Logausgabe deaktivieren, falls wir mal wieder auf einen Rechner treffen, wo das einfach nicht gehn will. Wir haben unser eigenes Log, aber für den Admin der Firmen, wo unser Programm läuft, wollte ich dennoch zusätzlich nochmal die wichtigstens Ereignisse im SystemLog drin haben. |
AW: Mysteriöses Verhalten bei den Windows-Services
Das Ereignisprotokoll wird doch auch von 'nem Dienst erstellt (EventLog).
Was ist, wenn Dein Dienst vor diesem Dienst gestartet wird? Genau: Es wird nix geloggt, weil der zum Loggen zuständige Dienst noch garnicht läuft. Eventuell mal hier schauen: ![]() oder hier: ![]() Oder ganz banal: Kommandozeile aufmachen:
Code:
Damit sagsts Du Windows, dass der Service EventLog "vor" Deinem Service gestartet sein muss, da Dein Dienst von ihm abhängig ist.
sc config NameDeinesService depend=eventlog
Wäre mal 'nen Versuch wert, ob das aber tatsächlich die Ursache ist, keine Ahnung. |
AW: Mysteriöses Verhalten bei den Windows-Services
Besten dank für die Antworten.
Das Problem ist als gelöst zu betrachten. Wer lesen kann ist klar im Vorteil. In Ereignisprotokoll steht doch tatsächlich "Das System wurde aus dem Energiesparmodus reaktiviert." :oops: Lösung: Da dies ein nagelneuer Rechner ist, war bei den Energieoptionen der Menüpunkt "Schnellstart aktivieren" aktiv. Haken raus -> Problem gelöst! Besten dank nochmals und danke für die Anregung mit den Dependencies, habe den Eventlog aus Sicherheitsgründen gleich mit reingepackt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz