1

ShellRunAsツールを使用して.NETアプリケーションを起動しています。この.NETアプリケーションは、アプリケーション構成ファイルを利用します。

ShellRunAsを介してアプリケーションを実行しようとすると、使用する資格情報に関係なく、アプリケーションが構成ファイルを見つけることができないように見えます。

Process Monitorを使用して、失敗したファイルアクセスを確認しましたが、ShellRunAsを使用すると、.NETが完全なEXE.configパスではなく、適切なEXE.configパスを検索するようになります。

たとえば、アプリを通常どおり起動すると、

c:\ program files(x86)\ my company \ my product \ MyLongApplicationName.exe.config

しかし、ShellRunAsを介して起動すると、次の「NAMENOTFOUND」エントリが表示されます。

c:\ program files(x86)\ my company \ my product \ MyLong〜1.exe.config

ここで何かが足りませんか?この問題を解決する方法はありますか?

4

1 に答える 1

0

これは、ShellRunAsおよびGetShortPathNameWin32APIの使用法のバグのようです。

詳細はこちら: http: //forum.sysinternals.com/83-style-paths-for-modules-when-using-shellrunas_topic16246.html

残念ながら、私の唯一の回避策は、8.3の命名スキームでexe.configファイルのコピーを作成することです。

NTFSレジストリ設定を変更しても影響はありませんでした。

于 2012-09-14T15:45:23.053 に答える