状況: さまざまなサービスに (一度に 1 つずつ) 接続してさまざまな呼び出しを実行する Windows デスクトップ アプリケーションを使用しています。私のアプリケーションは、どのサービスに接続しても同じように動作します。いつでも接続する必要があるサービスは、application.config ファイルで定義されます。
サービスを切り替えるために、いくつかの Windows .bat ファイルを作成しました。それぞれのファイルは、既存の .config ファイルを新しいもの (サービス エンドポイント) に置き換えて使用します。
これらすべてのために、インストーラー (MSI、Visual Studio 2010 の "Setup Project" テンプレートを使用) を作成しました。このインストーラーは、次へのショートカットも作成します。
- アプリケーション自体
- 最初の .bat ファイル (構成ファイルに「既定の」サービス エンドポイントを設定します)
- 2 番目の .bat ファイル。(構成ファイルを別のものに置き換えます)
問題: ショートカットを介してこれら (アプリまたはバット ファイル) のいずれかを実行するたびに、実際にターゲットを実行する前に、インストールされたファイルを「再評価」しているように見えます。デフォルトの .config ファイルを使用している限り、これは問題ありません。それがインストールされた方法だからです。ただし、2 番目の .bat ファイルを実行し、2 番目のサービスに接続するようにアプリケーションを実行しようとしている場合、ショートカットを介してアプリケーションを起動すると、.config ファイルが元に戻り、最終的に接続することになります代わりに最初のサービス。
.bat ファイルとアプリケーション自体の両方への独自のショートカットを手動で作成でき、正常に動作します。ただし、他のファイルへの変更を台無しにすることなく、これが自動的に行われることを望みます。
どんなアイデアでも大歓迎です!前もって感謝します、
-Kjartan