Ho un servizio che è in esecuzione in un sistema in diverse istanze. Devo trovare DISPLAY_NAME
del servizio dal servizio. Ho provato ServiceBase.ServiceName
ma restituisce (probabilmente) il nome del servizio dal programma di installazione del progetto, che è almeno in questo caso inutile.Come trovare "Nome visualizzato" di un servizio in .net?
Il servizio viene installato da installutil
con un parametro /name=
.
Modifica
Ho una soluzione basata su Imran Balouch risposta. Ho letto il nome nell'installer Me.Context.Parameters("name")
e lo scrivo nella sottochiave del registro ImagePath
e lo leggo con Environment.GetCommandLineArgs in un servizio.
Il servizio è installato da installutil con nome specificato. – IvanH
Ma avresti aggiunto un projectinstaller nel tuo progetto di servizio Windows, non è così? –
Sì, c'è un MultiProjectInstaller.vb. Quindi una soluzione è leggere il/name (se possibile e impostarlo). – IvanH