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.
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.
ServiceAddService - Keine Auswirkung
Started by
GerritEdzards
, Jun 22 2006 12:00
2 replies to this topic
Posted 22 June 2006 - 12:00
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
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.
Laut Windows Doku geht SERVICE_INTERACTIVE_PROCESS nur zusammen mit SERVICE_WIN32_OWN_PROCESS oder SERVICE_WIN32_SHARE_PROCESS und nur im System Account.
Stefan Krüger
InstallSite.org twitter facebook
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
in meinem Fall muss die Festlegung des Servicetypes folgendermaßen aussehen:
SERVICE_IS_PARAMS.dwServiceType = SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS;
mfg
ge