アプリケーションでシステム環境変数を設定しようとしていますが、SecurityException
. Google で見つけたすべてをテストしましたが、成功しませんでした。これが私のコードです(私は自分のPCの管理者であり、VS2012を管理者として実行していることに注意してください):
試行 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また、アプリに管理者権限を持た せようとしました。
他に提案はありますか?