Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

ServiceAddService - Keine Auswirkung


2 replies to this topic

GerritEdzards

GerritEdzards
  • Members
  • 3 posts

Posted 22 June 2006 - 12:00

Hallo zusammen,

meine Installationsroutine soll mein Programm als Dienst anlegen. Der Dienst soll mit dem Desktop Daten austauschen können (SERVICE_INTERACTIVE_PROCESS) und erstmal nur manuell startbar sein. (SERVICE_DEMAND_START).

Allerdings wird der Dienst mit den folgenden Script nicht einmal angelegt! Wenn die beiden Zeilen, die die Variablen innerhalb der Struktur ändern, auskommentiert werden, dann wird der Dienst anlegt, aber eben mit den Standardeinstellungen.

CODE
ServiceInitParams ();
SERVICE_IS_PARAMS.dwServiceType = SERVICE_INTERACTIVE_PROCESS;
SERVICE_IS_PARAMS.dwStartType = SERVICE_DEMAND_START;

ServiceAddService ( serviceName, serviceDisplay, serviceDescription, TARGETDIR + "\\programm.exe", FALSE, SERVICE_IS_PARAMS );


Warum wird kein Dienst angelegt? Habe im Internet diverse Bespiele gesehen, wo es genauso gemacht wird. (Vielleicht mit anderen Werte, aber prinzipiell das Gleiche!)

Freundliche Grüße
GerritEdzards

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 June 2006 - 17:28

Prüf doch mal den Rückgabewert von ServiceAddService und rufe GetExtendedErrInfo auf um weitere Fehler-Infos zu bekommen.

Laut Windows Doku geht SERVICE_INTERACTIVE_PROCESS nur zusammen mit SERVICE_WIN32_OWN_PROCESS oder SERVICE_WIN32_SHARE_PROCESS und nur im System Account.

GerritEdzards

GerritEdzards
  • Members
  • 3 posts

Posted 27 June 2006 - 07:46

Hallo,

in meinem Fall muss die Festlegung des Servicetypes folgendermaßen aussehen:

SERVICE_IS_PARAMS.dwServiceType = SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS;

mfg
ge