C# 在注册表中编辑环境变量
我想从注册表中读取所有环境变量,并在visual studio 2010 express中使用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
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。你没有禁用它,你只是没有使用它来部署你的产品。并使用由安装和部署项目创建的常规安装程序。未在快速版中提供。