编辑注册表中的环境变量

本文关键字:环境变量 注册表 编辑 | 更新日期: 2023-09-27 18:12:49

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

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

SYSTEM'CurrentControlSet'Control'Session Manager'Environment

表示Path的值。
读取Path值时:

reg = Registry.LocalMachine.OpenSubKey(SUB_KEY_PATH, true);

我得到一个异常,我没有权限。

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

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

但是现在我不能编译我的项目,因为ClickOnce不支持它。如何编译安全级别为requireadadministrator的项目?我发现的一个解决方案是在没有requireadadministrator级别的情况下编译它,然后我在我的project.exe.manifest中更改了值。我看对了吗,我总是要复制两个文件(manifest &(Exe-file)到另一台计算机上才能正确运行?是否有可能通过编译将信息放入exe文件中?

编辑注册表中的环境变量

如果你想在安装过程中提升,那么你不能使用ClickOnce。这是一个设计选择。因此,您的选项是:

  1. 使用一个标准的安装包,它将允许你显示UAC升级对话框。
  2. 修改用户的PATH环境,而不是系统范围的变量。这个选项与ClickOnce的每用户理念完全兼容。