Mar*_*arc 6 .net c# uac windows-xp elevation
我使用了此处所述的应用程序清单文件,使我的应用程序的一部分以提升的权限运行(它需要).
因此,在需要时,主程序只使用Process.Start调用一个小程序集,然后处理需要管理员权限的任务.
但是,如何在Windows XP上执行相同的操作?
似乎XP只是忽略了这个清单并在当前用户上下文中运行小程序集.
从下面的代码在这里不正是我所需要的:
ProcessStartInfo processStartInfo = new ProcessStartInfo("path", "args");
processStartInfo.Verb = "runas";
using (Process process = new Process())
{
process.StartInfo = processStartInfo;
process.Start();
process.WaitForExit();
}
Run Code Online (Sandbox Code Playgroud)
所以实际上你需要在ProcessStartInfo.Verb上设置"runas".使用附加的清单,此代码现在可以在Windows XP,Vista和7上正常运行.
更新:
另请参阅此问题的答案.这基本上是相同的代码,只是使用参数.