0

VS2008 C# winforms 与部署项目。我需要访问注册表来存储设置。但要做到这一点,我需要向项目添加一个外部清单。如果不包含清单,应用程序将无法访问注册表。

(还有其他方法吗?)

仅表现为一个设置:requestedExecutionLevel level="requireAdministrator" uiAccess="false"

我确保 assemblyIdentity 版本与项目名称和版本匹配。

包含清单一切正常,但每次启动应用程序时都会弹出用户访问控制。为什么 UAC 也不记得用户上次点击了 OK?我很高兴用户单击它一次但不是每次都单击它。这个收费需要什么?谢谢

4

1 回答 1

0

与其将您的应用程序标记为requireAdministrator,不如将其标记为asInvoker

然后对于那些您绝对需要管理员访问权限的有限地方,使用 ShellExecute 和神奇的runas动词重新启动您的应用程序的副本。

它将触发 UAC 同意对话框并以管理员身份运行您的应用程序。

于 2014-01-03T03:35:34.313 回答