我想从注册表中读取所有环境变量,并在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不支持它。 如何编译安全级别为requireAdministrator的项目? 我找到的一个解决方案是在没有requireAdministrator级别的情况下编译它,之后我更改了myproject.exe.manifest中的值。我是否正确看到,我总是要将两个文件(清单和执行文件)复制到另一台计算机上才能正确运行?是否可以通过编译将信息放在exe文件中?
答案 0 :(得分:1)
如果要在安装期间提升,则无法使用ClickOnce。这是一个设计选择。因此,您的选择是:
PATH
环境而不是系统范围的变量。此选项与ClickOnce的每用户理念完全兼容。