Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dienstinstallation abbrechen (https://www.delphipraxis.net/77805-dienstinstallation-abbrechen.html)

freak4fun 25. Sep 2006 09:18


Dienstinstallation abbrechen
 
Moin,
ich bin dabei einen Dienst zu schreiben. Im BeforeInstall-Event wird das setzen eines Passwortes verlangt. Wenn das Passwort nach 3 maliger Aufforderung nicht gesetzt wurde, soll der Dienst nicht installiert werden. Ist das machbar? Wenn ja wie?

MfG
freak

Go2EITS 25. Sep 2006 11:23

Re: Dienstinstallation abbrechen
 
Links in der DP gefunden:
Schau mal hier:
Dienst stoppen
und hier:
Dienst deinstallieren
Die Suche in der DP hilft doch weiter... :hi:

freak4fun 25. Sep 2006 12:09

Re: Dienstinstallation abbrechen
 
Daraus schließe ich, dass ich keine Möglichkeit hab, auf das Setzen des Passworts zu reagieren und mir nichts anderes übrigbleibt, als den Dienst zu installieren und dann wieder zu deinstallieren? :(

MfG
freak

Go2EITS 25. Sep 2006 13:41

Re: Dienstinstallation abbrechen
 
Sieht fast so aus.
Aber installieren, sofort stoppen und deinstallieren in einen Abwasch ist nicht schön, aber es erfüllt seinen Zweck. Mit einem Übergabeparameter (falls dies überhaupt beim einem Dienst geht) kannst du ja "STOPP" übergeben. Dann wird der Dienst zwar installiert, führt aber seien eigentlichen Zweck nicht aus, weil Du dann in die Abbruchroutine im Programm verzweigst. Möglicherweise kannst Du ja über die Eigenschaften/Methoden etwas ausführen/unterbinden...
CU!
Go2EITS

Olli 7. Okt 2006 19:15

Re: Dienstinstallation abbrechen
 
Ist es ein Zwitter also Dienst und Programm in einer EXE? Wenn nicht, warum kannst du nicht die Paßwortabfrage auslagern? Dienste sollten sowieso niemals interaktiv sein.

SirThornberry 7. Okt 2006 20:57

Re: Dienstinstallation abbrechen
 
ich würde empfehlen gar nicht das onBeforeinstall für sowas zu nutzen. Ob der Dienst installiert wird hängt vom Parameter ab mit dem das Programm gestartet wird. Diesen kannst du auch schon in der Projektdatei auswerten und wenn dann das Passwort nicht stimmt brauchst du das Dienstobject gar nicht erst erstellen.

Olli 7. Okt 2006 23:15

Re: Dienstinstallation abbrechen
 
Zitat:

Zitat von SirThornberry
ich würde empfehlen gar nicht das onBeforeinstall für sowas zu nutzen. Ob der Dienst installiert wird hängt vom Parameter ab mit dem das Programm gestartet wird. Diesen kannst du auch schon in der Projektdatei auswerten und wenn dann das Passwort nicht stimmt brauchst du das Dienstobject gar nicht erst erstellen.

Oh, es geht also nicht um die Credentials für den Dienst gegenüber dem SCM?

SirThornberry 8. Okt 2006 00:03

Re: Dienstinstallation abbrechen
 
Zitat:

Zitat von Olli
Zitat:

Zitat von SirThornberry
ich würde empfehlen gar nicht das onBeforeinstall für sowas zu nutzen. Ob der Dienst installiert wird hängt vom Parameter ab mit dem das Programm gestartet wird. Diesen kannst du auch schon in der Projektdatei auswerten und wenn dann das Passwort nicht stimmt brauchst du das Dienstobject gar nicht erst erstellen.

Oh, es geht also nicht um die Credentials für den Dienst gegenüber dem SCM?

Wenn ich wüsste was Credentials und SCM ist könnte ich das vielleicht beantworten :? Da vom OnBeforeInstall die Rede war bin ich einfach mal davon ausgegangen das es sich um das Service-Object handelt wenn man mit Hilfe der VCL einen Service erstellt.

freak4fun 9. Okt 2006 23:15

Re: Dienstinstallation abbrechen
 
Zu dem Dienst hab ich kein Programm. Der Dienst wird über die Konsole installiert.

MfG
freak

SirThornberry 13. Okt 2006 21:25

Re: Dienstinstallation abbrechen
 
das ist klar, aber dein Dient verwendet doch TService?! Und TService wertet einfach nur die Parameter aus. Wenn au also vor dem creieren des TService-Objectes die Parameter selbst prüfst (ob /INSTALL gesetzt ist) kannst du, für den Fall das die Bedingungen zutreffen, einfach das Programm beenden ohne TService zu erzeugen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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