我想在我的应用程序中设置一个系统环境变量,但得到一个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。
您有任何其他建议吗?
你不能只是去获得许可。你需要提升。这需要在流程启动时完成。 –