我使用不具有更高权限启动进程“以管理员身份”不工作
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.FileName = fileToExcecute;
pInfo.UseShellExecute = false;
pInfo.RedirectStandardOutput = false;
pInfo.RedirectStandardError = false;
pInfo.CreateNoWindow = true;
if (runAsAdministrator)
pInfo.Verb = "runas";
Process p = Process.Start(pInfo);
最终用户被要求选择他们是否希望在运行程序的程序中下面的代码提升模式与否。 但是,当runAsAdministrator为真时,上述内容不会以“管理员”身份启动程序。我已经手动'以管理员身份'运行'fileToExcute',并提示对计算机进行更改。
然后,我在'fileToExecute'中添加了一个清单,每次运行该程序时都会提升权限,并直接运行该程序时,系统会提示您确认是否允许对计算机进行更改。 当我运行使用上面的代码上面的程序,我得到:
System.ComponentModel.Win32Exception (0x80004005):
The requested operation requires elevation at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at
#HLg.#ic.#zNg(String #ANg) in #pOg:line 135
我真的想第一个选项工作。我已经尝试了一切,不能解决为什么第一个选项不起作用。
谢谢。我发现这非常令人沮丧:-( – David