Geben Sie den Windows-Dienstnamen bei der Installation mit Setup Project an

Ziel: Verwenden Sie zur Unterstützung eines Windows-Dienstes, der möglicherweise mehrere Instanzen auf einem einzelnen Computer hat, ein Setup-Projekt, um eine MSI zu erstellen, die Folgendes ermöglicht:

Empfangen von Benutzereingaben für den DienstnamenDienst wird installiertSerialisierung des Dienstnamens von 1 (damit der richtige Name für die Protokollierung und Deinstallation verwendet werden kann)

Meine anfängliche Hoffnung bestand darin, den Dienstnamen in App.config festzulegen (und ihn dann während der Deinstallation nach der Instanziierung des ServiceInstaller abzurufen. Dies scheint naiv zu sein, da während der Installation nicht darauf zugegriffen werden kann.

Wenn MyInstaller Installer erweitert, kann es base.Install () aufrufen. Meine Versuche, in app.config (innerhalb von MyInstaller.Install () und nach base.Install ()) zu schreiben, sind jedoch erfolglos.

Während der Dienst mit einem benutzerdefinierten Dienstnamen installiert werden kann, wird dieser Name nicht serialisiert und das Installationsprogramm ist bei der Deinstallation am unzufriedensten.

Wie soll das gemacht werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage