我在C#中编写的一个进程在应用程序启动期间由另一个进程分叉。此过程在访问驱动程序时需要管理员权限,但父应用程序(分叉过程)是在用户模式下启动的。
我有两种方法可以想到: 1.更改清单,但UAC对话框对用户来说会很烦人。 2.与Linux rpm安装一样,使用超级用户安装应用程序并完全控制进程
还有其他更好的方法吗? 请指导
由于
答案 0 :(得分:1)
请参阅Elevating process privilege programatically。
您需要抛出UAC Elevation提示(可能很烦人)或以管理员身份运行root forfor进程。通过在ClickOnce或程序清单中声明它,您可以确保简单地双击可执行文件将自动提示提升。
如果最终用户的计算机启用了UAC,则某些时候会出现某种提示 ,因为没有合法的方法可以将子进程从非特权进程中提升。