現在のプロセスに対してのみ変数を設定することを賭けてください。あなたがこのoverload of the Environment.SetEnvironmentVariable method試してみてください:
Environment.SetEnvironmentVariable("YourVar", "YourValue",
EnvironmentVariableTarget.User);
[編集]あなたの質問を再読み込みを、あなたは、タイトル「同じプロセス」で、質問「新しいEXE」で述べています。 Env varialbleの場合、新しいプロセスにまたがって、env変数の新しいプロセススコープを意味します。同じ実行可能ファイルであるため、env変数をプロセススコープと共有することはありません。たぶんあなたはより高いレベルで何をしようとしているのかを説明する必要があります。
それが失敗した理由を理解する[EDIT2]わからない...しかし、あなたはProcessStartInfo.EnvironmentVariables Property
を使用してプロセスを生成する場合、基本的に、それは(テストしていない)ことができたenv変数を指定することができます。
var psi = new ProcessStartInfo {
FileName="yourExe"
};
psi.EnvironmentVariables.Add("YourVariable","YourValue");
var process = Process.Start(psi);
HTTP ://msdn.microsoft.com/en-us/library/z46c489x.aspx – Maheep