Ich habe einen Dienst, der in einem System in mehreren Instanzen ausgeführt wird. Ich muss DISPLAY_NAME
des Dienstes vom Service finden. Ich habe versucht, ServiceBase.ServiceName
, aber es gibt (wahrscheinlich) den Namen des Dienstes aus dem Projekt-Installer, die zumindest in diesem Fall nutzlos ist.Wie findet man "Anzeigename" eines Dienstes in .net?
Der Dienst wird von installutil
mit einem Parameter /name=
installiert.
bearbeiten
Ich habe eine Abhilfe anhand von Imran Balouch Antwort. Ich las den Namen im Installer Me.Context.Parameters("name")
und schreibe es in ImagePath
Registrierungsunterschlüssel und las es mit Environment.GetCommandLineArgs in einem Dienst.
Der Dienst wird von installutil mit dem angegebenen Namen installiert. – IvanH
Aber Sie hätten ein Projektinstaller in Ihrem Windows-Service-Projekt hinzugefügt, oder? –
Ja, es gibt einen MultiProjectInstaller.vb. Also ist eine Lösung, den Namen zu lesen (wenn möglich und setzen Sie es). – IvanH