我想在我的應用程序中設置一個系統環境變量,但得到一個SecurityException
。我測試了我在谷歌找到的所有東西 - 沒有成功。 這裏是我的代碼(注意,我是我的電腦的管理員和運行VS2012爲管理員):如何在C#中設置系統環境變量?
嘗試1
new EnvironmentPermission(EnvironmentPermissionAccess.Write, "TEST1").Demand();
Environment.SetEnvironmentVariable("TEST1", "MyTest", EnvironmentVariableTarget.Machine);
嘗試2
new EnvironmentPermission(EnvironmentPermissionAccess.Write, "TEST1").Demand();
using (var envKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Environment", true))
{
Contract.Assert(envKey != null, @"HKLM\System\CurrentControlSet\Control\Session Manager\Environment is missing!");
envKey.SetValue("TEST1", "TestValue");
}
嘗試3 另外我試圖裝出我的app with administrator priviliges。
您有任何其他建議嗎?
你不能只是去獲得許可。你需要提升。這需要在流程啓動時完成。 –