Как я могу установить папку AppData для нового процесса? - PullRequest
1 голос
/ 21 марта 2012

Я хотел бы начать новый процесс, но мне нужно использовать другую папку для AppData.В пакетном файле Windows вы можете сделать это следующим образом:

set APPDATA=C:\MyDataFolder

Он установит AppData для любой программы, запущенной в пакетном файле, так как я могу это сделатьC #?

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

Вы можете добавить переменные окружения в ProcessStartInfo:

ProcessStartInfo p = new ProcessStartInfo("some_executable.exe");
p.UseShellExecute = false; // apparently required when adding environment variables
p.EnvironmentVariables.Add("APPDATA", @"C:\MyDataFolder");
Process.Start(p);
0 голосов
/ 21 марта 2012

Вне моей головы: Environment.SetEnvironmentVariable

По данным MSDN:

Создает, изменяет или удаляет переменную среды, сохраненную в текущий процесс.

Текущий процесс является оперативным словом ...

...