AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Service-Installation fehlgeschlagen. Woher soll ich das wissen?

Service-Installation fehlgeschlagen. Woher soll ich das wissen?

Ein Thema von Der schöne Günther · begonnen am 6. Jun 2017 · letzter Beitrag vom 6. Jun 2017
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 10:34
Delphi-Version: 10 Seattle
Ich habe mit Delphi einen kleinen Windows-Dienst geschrieben. Der ist Teil einer Installations-Routine. Um den Dienst zu installieren rufe ich ihn mit den Argumenten /Install /Silent auf.

Kommt es hierbei zu irgendeinem Problem, wirft das Ding (trotz /Silent) eine Messagebox auf den Bildschirm. Der Exitcode des Prozesses ist trotzdem Null- Das übergeordnete Setup kann überhaupt nicht wissen dass das Setup fehlschlug. Wie komme ich hier raus?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.107 Beiträge
 
Delphi 12 Athens
 
#2

AW: Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 11:06
Was für eine MessageBox, bzw. welche Fehlermeldung?
Strg+C funktioniert in Dialogen und dann hier Strg+V als Text rein.

Und ja, Delphis TService setzt den ExitCode nicht ... das muß du leider selber machen, wenn er nötig ist.
System.ExitCode:=X; bzw Halt(X);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 11:35
Es ist die Messagebox aus Vcl.SvcMgr.pas -> TServiceApplication.RegisterServices(Bool, Bool)
Zitat:
[Window Title]
Error

[Content]
Service "Günther-Service" failed to install with error: "System Error. Code: 1073.
Der angegebene Dienst ist bereits vorhanden"

[OK]
Das ist ein Beispiel. Fehlschlagen kann die Installation ja aus vielerlei Gründen.

Ich kann keinen Exitcode setzen denn mein "User Code" wird ja noch nicht einmal ausgeführt. Es ist der Automatismus den die Delphi-RTL fest einkodiert zum Installieren des Dienstes anbietet, ich sehe keinen Weg wie ich mich da irgendwo dazwischen hängen kann. Der Prozess wirft eine Messagebox auf den Bildschirm und wartet bis ich die weg klicke. ExitCode ist null.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 11:37
Wenn Du die volle Kontrolle haben möchtest, wirst Du den Service selbst installieren müssen. Die entsprechenden APIs sind recht einfach und mit Google sind aktuelle Delphi-Units, die die Aufrufe kapseln, leicht zu finden.
Ich hatte das seinerzeit in ein Inno-Setup integriert, natürlich lässt sich das auch auf jeden anderen Installer anpassen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.107 Beiträge
 
Delphi 12 Athens
 
#5

AW: Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 12:30
Bei unserem Service setze ich in den Fehler-Events der TService/TApplication den ExitCode.
Und das Registrieren mußte ich leider auch etwas überschreiben, da man in Delphis TService keinen Startparameter für seinen Service mitgeben kann. (unser Service wird bei einigen Kunden mehrmals installiert ... früher mußte er dafür in getrennten Verteichnissen liegen und jetzt bekommt das EINE Installationsverzeichnis per Parameter mit welcher Service grade gestartet wurde)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.021 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Service-Installation fehlgeschlagen. Woher soll ich das wissen?

  Alt 6. Jun 2017, 12:45
Das ist ein Beispiel. Fehlschlagen kann die Installation ja aus vielerlei Gründen.
Ich würd ja mal alle möglichen Gründe zusammentragen und dann einfach vorher überprüfen, dass diese nicht vorhanden sind.
Zum Beispiel kannst du dann das Setup verweigern wenn der Dienst schon vorhandem ist oder anbieten, ihn vorher zu entfernen.
Wird bei den anderen Gründen ähnlich sein.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz