设置新的环境变量:不允许请求的注册表访问权限



我正在尝试用 C# 编写一段代码,从两个变量名称及其假定内容列表中设置一个环境变量。我是这样做的:

var VariableName = new[] {"ROOT"};
var VariableContent = new[] { "C:\" };
var Variables = VariableName.Zip(VariableContent, (n, c) => new { Name = n, Content = c });
foreach (var Variable in Variables)
{
    if (Environment.GetEnvironmentVariable(Variable.Name) == null)
    {        
        Environment.SetEnvironmentVariable(Variable.Name, Variable.Content, EnvironmentVariableTarget.Machine);   
    }

问题是SetEnvironmentVariable方法正在转向以下异常:

System.Security.SecurityException:不允许请求的注册表访问。

如何解决这个问题?

在管理员模式下运行应用程序

最新更新