是否可以在程序执行时为程序的特定部分/片段授予管理权限? 我知道我们可以使用清单文件为我们的整个应用程序提供管理员权限,但我不喜欢这样,因为假设70%~80%的应用程序服务不需要管理权限,或者我的最终用户并不喜欢每次运行应用程序时都要面对UAC提示 有没有办法实现这样的目标?
答案 0 :(得分:4)
执行代码所具有的权限由进程令牌控制,该进程令牌是一个进程范围的对象。因此,如果您的进程具有提升的权限,则在该进程中执行的所有代码都具有提升的权限。
结论是,为了使应用程序的不同部分具有不同的权限,您需要拥有多个进程。
应用程序执行此操作是完全通用和标准的。应用程序可以从单独的权限开始。当用户希望执行需要提升权限的操作时,程序会调用单独的可执行文件来执行该任务。这对用户来说确实更好,因为他们只需要面对实际需要提升的操作的UAC对话框。