2009-07-30 4 views
1

Почему api Process.Start терпит неудачу, если он вызывается из сопоставленного диска. Шаги для создания проекта, который вызывает Process.Start() на простом exe. Сопоставьте эту папку в качестве другой буквы диска, чтобы получить доступ к тому же запущенному приложению через сопоставленный диск. Когда доступ к нему осуществляется через подключенный диск, он выходит из строя с сообщением об ошибке. Система не может найти указанный путь. Почему это так?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. –

Смежные вопросы