どのWindowsサービスが実行可能ファイルを実行したかを見つけることができるかどうか疑問に思いましたか?
同じexeから2つの異なるサービスを実行し、異なることを実行しています。プログラムのメインメソッドはコマンドラインパラメーターを検出し、コンソールアプリを起動するか(Environment.UserInteractiveで実行されている場合)、2つの可能なサービスのいずれかを起動します。どのサービスが実行されているかを識別する良い方法が見つからないため、コードで開始する正しいサービスを選択できます。Windowsサービスのイメージパスで.exeパラメータを渡すことが機能していないようです。サービスはサーバー上で実行されており、自動的に開始されるため、手動で実行することは実際にはオプションではありません。
実行可能ファイルが異なる2つの異なるプロジェクトを作成する必要がないようにしたいので、実行するサービスをプログラムに通知できると便利です。