Dienstnamen aus Config Datei


#1
Moin zusammen, :cool:

ich habe eine Anwendung in C# geschrieben die ich als Dienst laufen lassen möchte. Das ist auch soweit alles am Laufen, aber...

Die Anwendung könnte man theoretisch mehrmals installieren, da die Funktionalität des Programms an den Parametern der Config Datei hängt. Daher möchte ich, dass man den Dienstnamen und den Dienstdisplaynamen vor der Installation in der Config-Datei hinterlegen kann und diese während der Installation des Dienstes auch gezogen wird.
Aktuell habe ich es nur hinbekommen, dass die Standardnamen die ich vor dem Kompilieren in der Config hinterlegt habe, als Name verwendet wird.

Nun meine Frage(n)
  1. wird die Config-Datei beim installieren des Dienstes überhaupt angefasst oder stehen meine Namen nur da drin, weil ich vor dem kompilieren Standardwerte hinterlegt hatte?
  2. wenn die Config-Datei dafür genutzt werden kann, muss ich die zusätzlich angeben oder was mache ich falsch, dass dies bei mir nicht klappt?
Wie immer danke ich schonmal fürs lesen und Gedanken machen :rolleyes:

Gruß Majo
 

Spyke

Capoeirista
Premium-User
#2
Hab noch nicht wirklich viel mit Diensten gemacht,
aber da es mich gerade interessierte, hab dazu folgendes gefunden:

Walkthrough: Creating a Windows Service Application in the Component Designer
5. (Optional) Set Startup Parameters, specify default startup arguments, and enable users to override default settings when they start your service manually.
https://docs.microsoft.com/en-us/do...n-the-component-designer#BK_StartupParameters
 
#3
Danke für die Info,

ich habe mir das natürlich nicht erst jetzt angeschaut, ich habe nur bissel länger gebraucht um alles mal durchzuspielen! ;)

ich nutze nun zum Installieren die Übergabeparameter des Installers.
Beim "new ServiceInstaller();" werden alle meine Parameter angewendet SUPER! :)


Aber ein Problem habe ich noch,
beim new ServiceProcessInstaller(); setze ich den Parameter "ServiceAccount" auf LokalSystem (oder was auch immer...)
Installiert wird der Dienst aber immer mit ServiceAccount.User. Ich habe auch schon im Code den folgendes gesetzt
processInstaller.Account = ServiceAccount.LocalService;

keine Veränderung o_O

nachfolgende Seitenhalte habe ich als Vorlage, mehr oder weniger genutzt, einziger Unterschied, ich setzte die Parameter erst im OnBeforeInstall Teil
https://msdn.microsoft.com/de-de/li...er(v=vs.110).aspx?f=255&MSPPError=-2147217396

Vielleicht hat ja noch jemand eine Idee, wo mein Fehler liegt.

Danke und Gruß :)