私は、いくつかの場合にシステム内で実行されているサービスを持っています。サービスからDISPLAY_NAME
を見つける必要があります。私はServiceBase.ServiceName
を試しましたが、(おそらく)この場合は役に立たないプロジェクトインストーラからサービスの名前を返します。.netでサービスの "表示名"を見つけるには?
サービスはinstallutil
でインストールされ、パラメータは/name=
です。
編集
私はイムランBalouchの回答に基づいて、回避策を持っています。私はインストーラMe.Context.Parameters("name")
の名前を読んで、ImagePath
レジストリサブキーに書き込み、サービスのEnvironment.GetCommandLineArgsでそれを読んでいます。
サービスは、指定された名前でinstallutilによってインストールされます。 – IvanH
しかし、あなたはWindowsサービスプロジェクトにプロジェクトインストーラを追加したでしょうか? –
はい、MultiProjectInstaller.vbがあります。ですから、/ nameを(可能ならばそれを設定して)読みとることもできます。 – IvanH