Einzelnen Beitrag anzeigen

hurzli

Registriert seit: 29. Okt 2004
6 Beiträge
 
Delphi 2007 Professional
 
#1

Dienst lässt sich nicht unter anderem Namen registrieren

  Alt 29. Okt 2004, 09:13
Hallo zusammen !

Ich brauche dringend einen Rat warum das was ich mir ausgedacht habe nicht funktioniert.
Ich habe mich zwar schon ziemlich weit durchgebissen, die letzte Erkenntnis ist aber leider (noch) ausgeblieben.

Kurze Beschreibung meines Vorhabens :
1) Ein Dienst, der ein bestimmtes "Gerät" (genauer wäre zu langwierig) bedient.
Es kann an einem Computer mehrere angeschlossene Geräte geben.
Für jedes Gerät soll der Dienst mit unterschiedlichen Übergabeparametern erneut gestartet werden können. Der Dienst ist fertig, startet, stoppt binnen Sekunden und tut genau das, was ich erwarte.

2) Ein Konfigurationsprogramm, mit dem für jedes Gerät dynamisch eine Konfiguration erzeugt wird und ein neuer Dienstname dafür vergeben wird. Dieser Name wird verwendet um über CreateService() einen neuen Eintrag für den Dienst in der Registry mit unterschiedlichen Parametern anzugelegen.

Jetzt kommt das Problem :
Wenn ich aus dem Konfigurationsprogramm heraus der CreateService()-Funktion als lpServiceName den Namen übergebe, der im Dienst unter TService.Name steht, funktioniert alles bestens. Um den Dienst mehrfach mit unterschiedlichen Parametern starten zu können, braucht jede Instanz einen eigenen "Block" in der Registry unter einem neuen Namen.
Und daran scheitert es !!!!
Der gesamte Registryblock wird mit allen Schlüsseln und Werten unter diesem Namen zwar angelegt, der Dienst lässt sich aber nicht starten. In der Dienste-Verwaltung steht als Status "wird gestartet", aber es passiert nichts weiter.

Ich habe auch schon versucht den Dienst unter dem neuen Namen über die Kommandozeilentools instserv.exe, scmgr.exe und sc.exe zu registrieren, aber das Verhalten ist das selbe! Der Dienst startet unter dem neuen Namen einfach nicht richtig ! Es liegt also nicht am Aufruf aus meinem Konfigurationsprogramm. Keine Fehlermeldung, kein Eintrag im Ereignisprotokoll ! Echt frustrierend !


Was passt hier nicht ?? Es kann nur eine Kleinigkeit sein und ich komme einfach nicht drauf !

Ein hilfesuchender Gruß
Stefan
  Mit Zitat antworten Zitat