Я хочу расширить текущую переменную PATH с помощью программы на С#. Здесь у меня есть несколько проблем:
-
Использование
GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine)заменяет заполнители (т.е.'%SystemRoot%\system32'заменяется текущим путем'C:\Windows\system32'). Обновление переменной PATH, я не хочу заменять местозаполнитель пути. -
После
SetEnvironmentVariableпрограмма больше не может быть открыта из командной строки (т.е. calc.exe в командной строке не работает). Im используя следующий код:
String oldPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("PATH", oldPath + ";%MYDIR%", EnvironmentVariableTarget.Machine);
После редактирования и изменения переменной PATH с Windows все работает снова. (Мне нужны изменения, в противном случае они не перезаписываются)