进程是否可以将自身从提升的 UAC 权限降低回标准用户?如果不是,提升的进程是否可以使用标准用户 token 启动其副本,然后自行终止?有代码示例(首选 C#)吗?
详细信息:
问题: - 用户安装我的产品(用 C# 编写) - 安装程序将其 UAC 权限提升为管理员 - 最后安装程序启动我的exe - 该exe继承了管理员的提升权限 - 该exe安装的网络驱动器在Windows资源管理器中不可见(以常规权限运行)
我考虑过的选项: 1) 将安装程序分解为外部 exe 和内部 exe,以提升的权限运行。安装包含 1000 多行 NSIS 代码,我对 NSIS 一无所知 2)安装具有较低权限的驱动器。如果我这样做,Win Explorer 可以看到驱动器,但我的 exe 却看不到 3) 将 EnableLinkedConnection 注册表选项设置为 1。这是不行的,因为它需要在安装过程中重新启动电脑。
请帮忙!
谢尔盖
最佳答案
一种方式:http://www.codeproject.com/KB/vista-security/VistaElevator.aspx
另一种方式(在上一篇文章的最新评论中提到):http://brandonlive.com/2008/04/27/getting-the-shell-to-run-an-application-for-you-part-2-how/
关于c# - Vista/7 UAC : how to lower process privileges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547732/