VS2008 C#winforms with deployment project。 我需要访问注册表来存储设置。 但要做到这一点,我需要为项目添加一个外部清单。 如果没有清单,则应用程序无法访问注册表。
(还有另一种方式吗?)
只显示一个设置: requestedExecutionLevel level =“requireAdministrator”uiAccess =“false”
我确保assemblyIdentity版本与项目名称和版本匹配。
带有清单的包括所有工作,但是每次启动应用程序时,用户访问控制都会不断弹出。 为什么UAC还记得上次用户点击OK? 用户点击一次但我不满意。 这需要什么费用? 感谢
答案 0 :(得分:0)
不要将您的应用标记为requireAdministrator
,而是将其标记为asInvoker
。
然后,对于那些绝对需要管理员访问权限的有限位置,请使用ShellExecute和神奇的 runas 动词重新启动应用程序的副本。
它将触发UAC同意对话框并以管理员身份运行您的应用程序。