Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在注册表中编辑环境变量_C#_Windows_Registry_Clickonce_Environment Variables - Fatal编程技术网

C# 在注册表中编辑环境变量

C# 在注册表中编辑环境变量,c#,windows,registry,clickonce,environment-variables,C#,Windows,Registry,Clickonce,Environment Variables,我想从注册表中读取所有环境变量,并在visual studio 2010 express中使用c#为其设置一个新值 因此,我阅读了本地机器的子键: SYSTEM\CurrentControlSet\Control\Session Manager\Environment 还有路径的值 读取路径值时: reg = Registry.LocalMachine.OpenSubKey(SUB_KEY_PATH, true); 我有一个例外,我没有得到允许 因此,我在清单中设置了值: <reque

我想从注册表中读取所有环境变量,并在visual studio 2010 express中使用c#为其设置一个新值

因此,我阅读了本地机器的子键:

SYSTEM\CurrentControlSet\Control\Session Manager\Environment
还有
路径的值

读取
路径
值时:

reg = Registry.LocalMachine.OpenSubKey(SUB_KEY_PATH, true);
我有一个例外,我没有得到允许

因此,我在清单中设置了值:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

但是现在我无法编译我的项目,因为ClickOnce不支持它。 如何编译安全级别为requireAdministrator的项目?
我发现的一个解决方案是在不使用requireAdministrator级别的情况下编译它,然后我更改了myproject.exe.manifest中的值。我是否认为我总是必须将这两个文件(manifest&exe文件)复制到另一台计算机才能正确运行?是否可以通过编译将信息放入exe文件?

如果要在安装过程中升级,则不能使用ClickOnce。这是一个设计选择。因此,你的选择是:

  • 使用标准安装软件包,该软件包将允许您显示UAC高程对话框
  • 修改用户的
    路径
    环境,而不是系统范围变量。此选项与ClickOnce的每用户理念完全兼容

  • 你需要忘记ClickOnce。你没有禁用它,你只是没有使用它来部署你的产品。并使用由安装和部署项目创建的常规安装程序。未在快速版中提供。