我有一个小应用程序,需要在注册表中更改一些东西并在启动时打开,为此,我需要以管理员身份打开应用程序。
如果应用程序需要管理员权限,我不希望每次都询问用户。
我尝试添加清单文件并包含以下行:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
此外,应用程序应该在其用户不是管理员的站点上工作
有没有办法做这样的事情?谢谢您的帮助
这听起来好像是在试图绕过密钥上的安全令牌。这根本不可能。
如果用户不是管理员,则不会让他们编辑受ACL保护的密钥,只允许管理员更改密钥。如果可能,那么整个安全系统就完全崩溃了。
如果您的应用需要管理员权限,这是您在清单中请求的权限,那么每次启动时都会提示您。没有解决这个完全禁用UAC的问题(如果有的话,应用程序只会绕过UAC并使其无用)。
如果您真的需要这样做,我的方法是在安装程序中使用自定义操作修改ACL,保护有问题的密钥以允许用户修改它。那么您首先不需要主应用程序拥有管理员权限。