Hallo.
Im Verlauf meines Projekts bin ich auf ein Problem gestoßen. Ich habe erfolgreich einen Dienst programmiert, dieser führt seine Tätigkeit auch fehlerfrei aus. Da der Dienst allerdings als ein solcher gestaltet ist, dass er nach einer bestimmten Zeit den Computer herunterfahren soll, soll er ebenfalls möglichst nicht beendet werden können. (Der Nutzer läuft natürlich unter Benutzerrechten nicht unter Administratorrechten)
Daher soll der Dienst sich insgesamt dreimal installieren. Periodisch soll der Dienst nun kontrollieren ob alle weiteren Installationen des Dienstes laufen. (Sie sollten also meinetwegen so installiert werden: Dienstname1, Dienstname2, Dienstname3) Die Abläufe IM Programm selbst habe ich schon vollständig genauso wie die Installation in der Theorie.
Das Problem: Bei der Installation des Dienstes über den Service Control Manager orientiert sich der Dienstname nicht an dem Namen der EXE sondern dem fest im Programm verankerten Namen. Und dieser lässt sich leider nicht während der Installation ändern, genauso wenig wie der ServiceControlManager die Mehrfachinstallation eines Dienstes zulässt.
Da ich bis jetzt alle mir einfallenden Register gezogen habe stehe ich ein wenig auf dem Schlauch. Ich hoffe daher, dass es hier jemanden gibt der mir erklärt wie ich meinen Dienst mehrfach installieren kann oder dieses Problem geschickt umschiffen kann.
(Beachte: Einfach drei ähnlich Dienste zu kompilieren ist nicht möglich, da in dem Fall, dass einer der Dienste gelöscht wird, sich einer der anderen Dienste duplizieren soll und neuinstallieren soll)
Danke schonmal für alle möglichen Antworten
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.