2009-07-30 10 views
1

なぜマップされたドライブから呼び出された場合、Process.Startが失敗するのですか?手順は、簡単なexeファイルにProcess.Start()を呼び出すプロジェクトを作成します。別のドライブ文字がマップされたドライブを介して同じ起動アプリケーションにアクセスすると、このフォルダをマップします。マップされたドライブを介してアクセスすると、指定されたパスが見つかりませんというエラーメッセージが表示されて失敗します。それはなぜそうですか?Process.StartがPath not found例外で失敗する

答えて

2

ネットワーク(マップされた)ドライブからプログラムを実行すると、別のセキュリティコンテキスト(イントラネットゾーンとローカルゾーン)で実行されます。これにより、アプリケーションを潜在的に見つける能力を含む権限が変更されます。

+0

真。明らかに、このアクセス許可の問題は新しい.NET 4.0ポリシーによって変更されました。つまり、共有ドライブから.NETアプリケーションを実行できるようになります。 –

+1

@Mike:3.5 SP1で変更されました。4.0を待つ必要はありません。 –

+0

また、3.5SP1にアップグレードできない場合は、CASPOL.EXEユーティリティ(.net配布フォルダ内)を使用してセキュリティポリシーを変更することができます。 SP1にアップグレードするだけでも簡単です。 –

関連する問題