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 TService - Abhängigkeiten gehen nicht? (https://www.delphipraxis.net/71392-tservice-abhaengigkeiten-gehen-nicht.html)

Phoenix 14. Jun 2006 13:48


TService - Abhängigkeiten gehen nicht?
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hi,

folgendes Problem (für dieses Problem aktuell Delphi 7 Prof. und nicht mein D2006):

Ich habe einen TService, in dem ich in der Eigenschaft Dependencies ein (TDependencies) - Objekt habe in dem ich einen Eintrag habe. Ich habe mal Testweise einen Dienst machen wollen, der von WMI abhängig ist.

So, nun habe ich den Eintrag gemacht, den Service compiliert und installiert.. und es wird keine Abhängigkeit angezeigt :-(

Was mache ich falsch bzw. was muss ich noch beachten? Das wundert mich nämlich dann doch etwas....

Olli 15. Jun 2006 09:12

Re: TService - Abhängigkeiten gehen nicht?
 
Wie hast du denn die Abhängigkeit eingetragen? Mit der entsprechenden API oder in der Registry? Hast du deinem Service einen Tag zugewiesen innerhalb der Gruppe, wo er geladen werden soll?!

Phoenix 15. Jun 2006 13:02

Re: TService - Abhängigkeiten gehen nicht?
 
Also Dienstegruppen gibts ned, weil es nur einen Master-Service und n davon abhängige Services geben soll.

Und ich dachte, wenn ich dem abhängigen Dienst in den TService.Dependencies den Eintrag gebe, dann müssten die Abhängigkeiten (imho korrekterweise von TService via entsprechender API) beim Installieren des Service automatisch gesetzt werden?

Ich meine, wieso soll ich die sonst in TService eintragen, wenn der damit dann nichts macht?

Und im MSDN hab ich jetzt mit der Suche nach Service Dependency auch nix gefunden, hast Du mir da spontan nen passenden Link zu den API Calls? Weil wenn ich das von Hand machen muss, dann würde ich das im Install-Event noch selber machen wenn das not tut...

Phoenix 16. Jun 2006 12:06

Re: TService - Abhängigkeiten gehen nicht?
 
*nochmalpush*

Union 16. Jun 2006 13:12

Re: TService - Abhängigkeiten gehen nicht?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Sebastian,

ich habe damit keine Probleme, s. Dateianhang oder sc-Ausgabe. Du hast doch aber wohl nach der Änderung den Service gestoppt, deinstalliert und nach dem Kompilieren neu installiert ;) oder ?

Zitat:

Zitat von sc enumdepend wmi
Enum: entriesRead = 1

SERVICE_NAME: Service1
DISPLAY_NAME: FlexiCom
TYPE : 110 WIN32_OWN_PROCESS (interactive)
STATE : 4 RUNNING
(STOPPABLE,PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0


Olli 16. Jun 2006 15:31

Re: TService - Abhängigkeiten gehen nicht?
 
Zitat:

Zitat von Phoenix
*nochmalpush*

Oops, sorry. Also Dependencies werden mit MSDN-Library durchsuchenChangeServiceConfig oder direct bei MSDN-Library durchsuchenCreateService angegeben. Erstere kann auch zur Modifikation eines existierenden Services benutzt werden, letztere - wie man schon anhand des Namens vermuten kann - um einen Service zu erstellen/installieren.

Union 16. Jun 2006 15:54

Re: TService - Abhängigkeiten gehen nicht?
 
Er hat das ja wohl mit dem standardmäßigen Delphi TService gemacht. Und der ruft beim Installieren CreateService auf. Das ist auch alles normalerweise völlig ok, ich habe damit schon des öfteren Services erstellt, auch mit Dependencies.

Jetz hab ich mir mal die Bilder nochmal angeschaut. Der Service, den Du programmert hast heißt TestService1. Was Du im Services.msc anzeigst, heißt Test1. Hast Du vielleicht den Namen der Komponente geändert und immer wieder beim alten Namen geschaut? Und war vielleicht Test1 noch ohne Dependencies?

Phoenix 17. Jun 2006 11:03

Re: TService - Abhängigkeiten gehen nicht?
 
Die executable heisst Test1.exe - weil eine .exe ja auch mehrere Services enthalten kann (und in dem Projekt später ggf. sogar wird) habe ich den Service explizit nicht so benannt wie die exe.

Und ja, freilich deinstalliert, neu kompiliert, neu installiert.

@Union: Kannst Du mir mal zwei 'Ich mache nix ausser leer loopen' Services geben bei denen einer vom anderen Abhängig ist? Da muss es irgend einen Unterschied geben, weil bei mir will das ned tun.

Da das ja ein TService ist kann ich im CreateService schlecht was machen, und ich will im AfterInstall nicht zwingend noch nen ChangeServiceConfig absetzen. Sieht für mich irgendwie unsauber aus.

Union 17. Jun 2006 11:28

Re: TService - Abhängigkeiten gehen nicht?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Phoenix,

als Beispiel hänge ich Dir mal eine bpg mit einem Server und einem Client rein, wobei die Kommunikation über Shared Memory erfolgt. Im Service habe ich Wmi als Dependencie eingegeben. Kompilieren und dann:

FlexicomServer /install
sc enumdepend wmi -> SERVICE_NAME: ServiceFlexicom

Vielleicht entdeckst Du ja irgendwelche Unterschiede.

Phoenix 19. Jun 2006 07:53

Re: TService - Abhängigkeiten gehen nicht?
 
Seltsam...

auf einmal gehts, und ich habe Nachweislich gegenüber dem vorher nicht funktionierendem Stand in der Versionsverwaltung keine einzige Zeile oder Datei verändert.

Und das, obwohl ich die VM in der ich das Teste auch nur suspended hab und nicht neu gebootet habe.

Naja, egal. Trotzdem vielen Dank, hat mir irgendwie ja doch weitergeholfen ;-)


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