奇妙な問題が発生している C# WPF アプリケーションがあります。アプリは、app.config を使用して構成された MS Enterprise Library (Logging) を使用します。したがって、デプロイされたファイルは次のとおりです。
(名前が変更され、ファイル名の長さが正しい)
XXXXXXXXXXXX.EXE
XXXXXXXXXXXX.EXE.CONFIG
通常、これは問題なく動作します。ただし、ある奇妙な状況では、アプリは、短い名前 (XXXXXX~X.EXE) に基づいて EXE を呼び出す別のプログラムによって起動されます。EXE は起動しますが、存在しない app.config (XXXXXX~X.EXE.CONFIG) の検索に進み、Logging クラスの初期化に失敗します。
起動するプログラムを変更できないため、WPF コードでこれを防ぐ方法を見つけようとしています。想いは…
1) 私の EXE の名前を変更し、真ん中の EXE に man を作成します。
2) EXE がどのように起動されたかを検出し、正しく再起動します。
3) ある種の AppDomain / ConfigurationManager の再ポイント (これは可能ですか?)
4) インストーラーを使用して、App.Config を短いファイル名のバージョンに複製します (動作確認済み)。
これまでにこれを見たことがあり、何か提案や洞察がありますか?