编辑注册表中的环境变量
本文关键字:环境变量 注册表 编辑 | 更新日期: 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。这是一个设计选择。因此,您的选项是:
- 使用一个标准的安装包,它将允许你显示UAC升级对话框。
- 修改用户的
PATH
环境,而不是系统范围的变量。这个选项与ClickOnce的每用户理念完全兼容。