ProcessStartInfo запускает exe в переменной окружения PATH

Я пытаюсь запустить exe, используя ProcessStartInfo. Проблема в том, что я хочу указать только имя исполняемого файла и добавить путь к исполняемому файлу в переменную среды PATH в Windows. Когда я пытаюсь запустить свое приложение, я получаю исключение FileNotFoundException. Все работает нормально, когда я запускаю процесс с полным именем. Есть идеи?

-- Редактировать: спасибо за комментарии, я приведу пример, чтобы сделать его более понятным:

ProcessStartInfo p = new ProcessStartInfo("example.exe");

Я добавил путь к файлу example.exe в переменную PATH среды Windows вручную, но мое приложение все равно не может запустить процесс example.exe.


person Marthijn    schedule 10.10.2011    source источник
comment
вы хотите добавить его программно в переменную окружения пути?   -  person Norbert Willhelm    schedule 10.10.2011
comment
Вы перезапустили приложение после изменения переменной среды?   -  person Oded    schedule 10.10.2011
comment
Выйдите из системы и войдите снова, чтобы убедиться, что все процессы, включая VS, Explorer и процесс размещения VS, используют измененную переменную среды.   -  person Hans Passant    schedule 10.10.2011
comment
Спасибо Ганс, проблема решена. Не знал, что мне тоже пришлось закрыть VS (на самом деле сегодня я перезапустил свою машину, и это сработало).   -  person Marthijn    schedule 11.10.2011


Ответы (2)


Вы можете использовать GetEnvironmentVariable и SetEnvironmentVariable, которые находятся в Environment.

var currentPathVariable = Environment.GetEnvironmentVariable("path");
var newPathVariable = currentPathVariable + ";another path";
Environment.SetEnvironmentVariable("path", newPathVariable);
person Oded    schedule 10.10.2011
comment
Спасибо, но я не это имел в виду. Я сделал это более понятным, добавив пример в свой вопрос. - person Marthijn; 10.10.2011

Вы можете создать подключ в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths в реестре.

Ознакомьтесь с Регистрация Приложения, использующие подраздел App Paths.

person Norbert Willhelm    schedule 10.10.2011