禁用每个应用程序的Vista UAC,或在没有提示的情况下提升权限?

Ale*_*man 4 uac windows-vista

我有一个普通用户需要能够运行的应用程序,但需要管理员权限才能实际运行.

我尝试使用"以管理员身份运行"来创建用户运行它的快捷方式,但这只会在尝试运行应用程序时导致UAC提示.

有没有办法以编程方式提升权限,而我的用户不需要通过UAC提示和/或知道管理员密码?从安全角度来看,我理解大多数应用程序不应该被允许这样做,所以我希望有一些方法可以做到这一点,如果我可以提供有效的用户名/密码对,或者其他什么.

该应用程序是用C#编写的,因此首选完全托管的解决方案,但是p/Invoke Black Magic(甚至编写我们不讲MC++ Wrapper)比完全禁用UAC 容易接受.

dr.*_*vil 8

通常,通过安装以SYSTEM或管理员帐户运行的Windows服务来解决此问题.然后,您的应用程序可以从此服务请求特权操作.

显然,不会构成安全威胁,请确保您的服务无法运行任意代码或可能使所有用户容易受到权限提升攻击的内容.

Winpcap和大多数其他嗅探应用程序使用类似的设计来为非特权用户提供嗅探访问.