winform C#,不确定为什么要修改HKEY_CURRENT_USER注册表项

时间:2018-08-03 16:22:48

标签: c# winforms registry administration administrator

我有一个小应用,需要更改注册表中的某些内容并在启动时打开 为此,我需要以管理员身份打开该应用程序。

我不希望每次应用程序是否需要管理员权限时都询问用户。

我尝试添加清单文件并包含以下行:

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

此外,该应用程序应在其用户不是管理员的工作站上运行

有什么办法做这样的事情吗? 谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

听起来好像您正在尝试寻求一种绕过密钥上的安全令牌的方法。根本不可能。

如果用户不是管理员,则不会让他们编辑受ACL保护的密钥,该ACL仅允许管理员对其进行更改。如果可能的话,那么整个安全系统就会完全崩溃。

如果您的应用需要清单中所要求的管理员权限,则每次启动时都会提示您。不能完全禁用UAC(如果存在,则应用程序总是会绕过UAC并使其无效),因此无法解决。

如果您确实需要执行此操作,则我的方式是在安装程序中执行自定义操作,该操作会修改ACL以保护相关密钥,以允许用户对其进行修改。这样一来,您就不需要主应用程序就拥有管理员权限。

相关问题