2010-12-01 8 views
0

どのように私はネットでその名前を知って別のexeのパスを見つけることができますか?C#exeを登録するには?

OS環境変数に名前を追加できますか? 他のアプリケーションは別の場所に自分自身を登録する必要がありますか?

私はApp Bを起動し、その上にいくつかのWCFサービスを呼び出す必要があります。

ありがとうございます!

+1

アプリケーションAの設定をBにすることはできませんか? – Amy

+0

それはうまくいくでしょう、よりクリーンなソリューションがありますか?クリーナーは、アプリケーションBの場所が変更された場合、アプリケーションAに変更を必要としないものを意味します。コメントありがとう。 – dnndeveloper

+0

パスを設定にすると、アプリケーションBが動いたときにアプリケーションAを変更する必要はありません。あなたがしなければならないのは、ApplicationA.exe.configファイルを変更することだけです。再コンパイルは必要ありません。 –

答えて

3

あなたの質問に答えるには、名前を知るだけでパスを知ることができません。 exeは、ファイルシステムのどこにでも置くことができます。互いに知り合わない複数のインスタンスが存在する可能性があります。完全に異なる複数のexeファイルは、同じ名前を持つことができます。

あなたはexeファイルに応じて、あなたが標的にされ、このラウンドを取得するために、いくつかのいずれかの方法を取ることができる:

  • をファイルを検索し、通常のファイル参照ダイアログ
  • を使用してexeファイルを参照するようにユーザーを取得しますシステム
  • (ファイルシステム、レジストリ、環境変数など)ターゲットexeファイルがシステム上葉トレースものを見ると、Oのいずれかの場合はexeファイル

を見つけるために、これらのトレースを使用しますこれらのオプションを使用すると結果が保存されるため、次回にアプリを実行したときに再度実行する必要はありません。

ファイルシステムの検索に時間がかかることがあります。アプリケーションが実行されているユーザーレベルによっては、exeファイルが見つからない場合があります。特に、アプリケーションがsetup .exe

最初に実行するときにユーザーにexeファイルを配置させることはおそらく最も信頼性の高い方法ですが、アプリケーションが実行されてもターゲットexeファイルが指定された場所にない場合、またはユーザーが間違ったexeを選択しました。

App B(つまり自分の製品)を何らかの形で管理している場合、App Bがインストールされたときにレジストリの既知の場所に情報を追加して、App Aが簡単に見つけられるようにすることができます。情報が欠落している場合でも、プランBを持っている必要があります。

0

exeがショートカットの周りを動いた場合でも、そのように設定を変更すると、exeのショートカットへのパスが参照されます。それを試して、exeへのショートカットを作成し、exeファイルをカットアンドペーストして、ショートカットをダブルクリックすると、exeの新しい場所を指していることがわかります。したがって、場所のアプリケーションBが変更された場合、 。

+3

コマンドプロンプトでMOVEコマンドを使用してこれを試してください。 –

+0

私はそのショートカット機能を持っています。元のホスト名を追跡することさえできます! – Luca

0

実際には、App BにWindowsサービスを作成し、必要に応じて起動してください。

UPDATE:

もう一つの提案は、AppBをのEXEへのハードリンクを作成するには、次のようになります。

mklink /H AppB-link.exe path_to_actual_exe 

またはアプリケーションBが存在する全体のディレクトリへのシンボリックリンク:

mklink /D virtual_directory path_to_actual_directory 
+0

このアプリケーションにはメインウィンドウ/ UIもあります。そのサービスの一部を消費するためにUIなしで制御する必要があることがあります。 – dnndeveloper