Используйте Process.Start для выполнения файла в общей папке - PullRequest
2 голосов
/ 09 июля 2011

Я пытаюсь запустить новый процесс с помощью Process.Start (), который прекрасно работает, когда я передаю

   Process.Start("C:\\Documents and Settings\\Upload.exe")

но возможно ли выполнить ту же самую операцию, когда я перемещаю Upload.exe в общую папку в разделе «Мои сетевые ресурсы»? Я пытался

   Process.Start("\\Shared Folder\\Upload.exe");

но я получаю Win32Exception. Спасибо за любую информацию или предложения заранее.

Ответы [ 3 ]

7 голосов
/ 09 июля 2011

Вы должны использовать UNC-путь для доступа к сетевому ресурсу.(Ваш файл становится сетевым ресурсом, когда вы помещаете его в общий путь)

UNC-путь принимает следующую форму.

\\ServerName\SharedPath\YourFile.exe

или

\\ServerName\D$\SharedPath\YourFile.exe

где D$ - буква диска.

В вашем случае вам, возможно, придется использовать следующий

Process.Start(@"\\Server-Name\Shared Folder\Upload.exe");

Используйте символ @ перед строкой, потому что ваш \\ будет рассматриваться как \, так какescape-персонаж.

5 голосов
/ 09 июля 2011

Попробуйте либо: "\\\\Shared Folder\\Upload.exe", либо @"\\Shared Folder\Upload.exe"

0 голосов
/ 09 июля 2011

Просто загрузите его во временную папку локально, а затем, когда копия завершится, запустите ее. Это не будет иметь большого значения с точки зрения производительности, так как при удаленной загрузке в любом случае потребуется загрузка всего файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...