ProcessStartInfo запустить exe в переменной окружения PATH - PullRequest
3 голосов
/ 10 октября 2011

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

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

var currentPathVariable = Environment.GetEnvironmentVariable("path");
var newPathVariable = currentPathVariable + ";another path";
Environment.SetEnvironmentVariable("path", newPathVariable);
0 голосов
/ 10 октября 2011

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

Посмотрите на Регистрация приложений с помощью субключа "Пути к приложениям" .

...