![]() |
Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Hallo!
Habe folgendes Problem: Ein, vor einigen Jahren entwickeltes - in Delphi 7 - Service startet seit ungefähr März, April 2015 nicht mehr. Installiert ist das Service auf einem Server 2003, auf welchem es auch jahrelang problemlos lief. Scheinbar nach einem Windowsupdates scheint das Service zwar noch als "gestartet" auf, läuft aber nicht mehr. Nun habe ich versucht in Delphi 7 eine neue Service-Apllication zu erstellen ohne weiteren Code: selbes Ergebnis > sofort nach dem Starten (aus Delphi heraus) wird wieder beendet (in Wondows 7). Weiss jemand von euch, woran das wirklich liegt (das mit den Updates ist leider nur eine Vermutung von mir) und wie ich das Problem in den Griff bekomme? Liebe Grüße! |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Sind Leerstellen im Pfad der Service-Anwendung?
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
nein - keine Leerzeichen im Pfad!
Beispiel: D:\Daten\Service.exe |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Zitat:
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Das weiss ich nicht - aber der Pfad hat sich nie geändert. Und funktioniert hat es jahrelang.
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Schreib an wichtigen Stellen deines Dienstes in eine Logdatei, dann kannst du das Problem schnell besser eingrenzen.
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Gibt es irgendwelche Informationen im Ereignisprotokoll?
Wenn ja, welche? |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Ja - im Ereignisprotokoll folgende Meldung:
"Die folgenden Informationen wurden mit dem Ereignis gespeichert: Der Dienstprozess konnte keine Verbindung mit dem Dienstcontroller herstellen" Mitschreiben ist eingebaut - aber keine Meldungen, da das Beenden sofort nach Start erfolgt. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Zitat:
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Hauptsächlich von einem Dienst mit Systemkonto - allerdings mit sichtbare Forms.
Vom Code her: Neue "Service-Application" erstellt und kein weiteren Code eingegeben. Sollte sich theoretisch schon als Dienst installieren lassen (bzw. auch aus Delphi heraus starten lassen, ohne dass es sich sofort beendet). Ich kanns als Dienst installieren/desinstallieren - läuft aber nicht (unter Prozesse solle der Dienst dann eigentlich aufscheinen, nehm ich an? Jedenfalls war es bisher so.) Der Code (bzw. der nicht vorhandene Code):
Delphi-Quellcode:
---------------------------------------------------------------------------------- program Project1; uses SvcMgr, Unit1 in 'Unit1.pas' {Service1: TService}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TService1, Service1); Application.Run; end. ---------------------------------------------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs; type TService1 = class(TService) procedure ServiceExecute(Sender: TService); private { Private-Deklarationen } public function GetServiceController: TServiceController; override; { Public-Deklarationen } end; var Service1: TService1; implementation {$R *.DFM} procedure ServiceController(CtrlCode: DWord); stdcall; begin Service1.Controller(CtrlCode); end; function TService1.GetServiceController: TServiceController; begin Result := ServiceController; end; procedure TService1.ServiceExecute(Sender: TService); begin showmessage('test'); end; end. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Zitat:
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
In der Systemsteuerung unter Dienste mal die Eigenschaften des Dienstes anschauen.
Gibt es unter Anmelden die Option "Datenaustausch zwischen Dienst und Desktop zulassen"? Ist diese aktiviert? Wenn nein, mal ausprobieren. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Ohne Messagebox dasselbe: Start -> sofort wieder beendet.
Ja - Datenaustausch ist aktiviert! |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Start in der IDE oder Start des installierten Services?
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Wenn ich Unter Delphi XE eine Service-Application beginne, kommt bei mir folgender Hinweis in der Program-Datei, keine Ahnung ob dich das weiter bringt, hab mich nicht näher damit befasst.
Delphi-Quellcode:
program Project20;
uses SvcMgr, Unit28 in 'Unit28.pas' {Service28: TService}; {$R *.RES} begin // Windows 2003 Server requires StartServiceCtrlDispatcher to be // called before CoRegisterClassObject, which can be called indirectly // by Application.Initialize. TServiceApplication.DelayInitialize allows // Application.Initialize to be called from TService.Main (after // StartServiceCtrlDispatcher has been called). // // Delayed initialization of the Application object may affect // events which then occur prior to initialization, such as // TService.OnCreate. It is only recommended if the ServiceApplication // registers a class object with OLE and is intended for use with // Windows 2003 Server. // // Application.DelayInitialize := True; // if not Application.DelayInitialize or Application.Installing then Application.Initialize; Application.CreateForm(TService28, Service28); Application.Run; end. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Beim Starten aus der IDE stoppt sofort - als Dienst installieren, deinstallieren funktioniert - aber startet auch nicht!
Schwer zu sagen wie das gemeint ist - vorallem der Dienst ist auf einem Server 2003 jahrelang gelaufen - eben bis März/April heurigen Jahres. Selbe Auffälligkeite auch auf meinem Entwicklungsrechner und weiteren Testrechnern. Deshalb war mein erster Gedanke, dass ein Update etwas umgestellt hat, was mit Services zu tun hat. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwie habe ich das Gefühl Du hängst noch bei der Applikation. Ich habe mal ein Demoprojekt angehängt. Compiliert mit XE2. Aber das sollte auch mit Delphi 7 gehen. Logischerweise sollte Dein Code dann nicht direkt im Execute ausgeführt werden. Dieser einfache Dienst kann nicht in der IDE ausgeführt werden. Wenn Du ihn aber (als Administrator) installierst, startest, stoppst usw. sollten die Ereignisse im Arbeitsverzeichnis geloggt werden.
Gruss Werner |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Hallo!
Danke für die Mühe! Musste die Zeile "if not Application.DelayInitialize or Application.Installing then" auskommentieren - diese funktioneirt in Delphi 7 scheinbar noch nicht. LogFile: --- install 03.09.2015 10:53:16: ServiceCreate 03.09.2015 10:53:16: ServiceBeforeInstall 03.09.2015 10:53:17: ServiceAfterInstall 03.09.2015 10:53:18: ServiceDestroy -- Dienst starten 03.09.2015 10:59:36: ServiceCreate 03.09.2015 10:59:36: ServiceStart 03.09.2015 10:59:36: ServiceExecute start 03.09.2015 10:59:38: ServiceExecute - counter:0 -- Dienst stoppen 03.09.2015 10:59:52: ServiceExecute - counter:7 03.09.2015 10:59:54: ServiceExecute - counter:8 03.09.2015 10:59:54: ServiceStop 03.09.2015 10:59:56: ServiceExecute - counter:9 03.09.2015 10:59:56: ServiceExecute end 03.09.2015 10:59:56: ServiceDestroy --- uninstall 03.09.2015 10:54:17: ServiceCreate 03.09.2015 10:54:17: ServiceBeforeUninstall 03.09.2015 10:54:17: ServiceAfterUninstall 03.09.2015 10:54:18: ServiceDestroy Ich versuch mal das Logging in meiner Anwendung... Vieleicht habe ich zuwenig Information gegeben: Ich habe zusätzlich nach dem Installieren/Starten des Dienstes ein Trayicon zum Öffnen einer Form mit diversen Labels zur Kontrolle. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Zitat:
|
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
So: sehr interessant!
Wenn ma einen Dienst installiert erhält man die Meldung "Dienst installiert". Solange ich diese Meldung NICHT mit OK schliesse, läuft das Service einwandfrei (inkl. der Benutzer-Oberfläche). Schliesse ich die Meldung, funktioniert der Dienst nicht mehr. Unter Umständen ein Berechtigungsproblem möglich? |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Ok - dh. alle Forms entfernen.
Was mich trotzdem wundert, dass es bis heuer ohne Probleme funktioniert hat. |
AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
Du betreibst das doch weiterhin mit Windows Server 2003, oder? Dann sollte das mit den Forms ja egal sein. Allerdings meine ich das der Support dafür ausgelaufen ist, also müsstest du über kurz oder lang zu einem neueren Windows Server wechseln und dann trifft das zu.
Kannst du den Dienst nicht mal komplett deinstallieren/deregistrieren und dann neu installieren/registrieren? Oder baumina's Hinweis nachgehen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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