Запустите процесс Windows из Program Files (x86) с помощью Process.Start()

Я пытаюсь запустить процесс с помощью Process.Start() из моего C:\Program Files (x86) следующим образом:

Process proc = Process.Start("C:\\Program Files (x86)\\TestFolder\\TestApp.exe");    

Это вызывает Win32Exception: The system cannot find the file specified.

Если я попытаюсь запустить любой другой процесс, которого нет в папке x86, например:

Process proc = Process.Start("C:\\Windows\\System32\\calc.exe"); 

это работает нормально.

Поэтому я предполагаю, что исключение вызвано либо (x86), либо пробелом в «Program Files».

Как я могу решить эту проблему с путем к файлу?


Решил это, сделав это следующим образом:

Process proc = Process.Start(@"C:\Program Files (x86)\TestFolder\TestApp.exe");

Поэтому я добавил @ перед путем и удалил двойную обратную косую черту в пути. таким образом это работает. если я делаю это с двойным BS, это не работает.


person ck84vi    schedule 17.07.2014    source источник


Ответы (2)


Вы должны открыть свою IDE (Visual Studio) в качестве администратора, после чего вы сможете открыть TestApp.exe

person Dhaval Patel    schedule 17.07.2014
comment
Это звучит неправильно. Вам не нужна Visual Studio. Process.Start() следует запускать из отдельного приложения (например, из консоли). - person Philip Pittle; 17.07.2014
comment
@ppittle:Да это просто пример главное Администратор - person Dhaval Patel; 17.07.2014

Причиной может быть пробел в «Program Files». Возможно, вам придется процитировать этот путь.

Process proc = Process.Start("\"C:\\Program Files (x86)\\TestFolder\\TestApp.exe\"");
person Udontknow    schedule 17.07.2014