我将尝试使用以下代码运行cmd命令:
该命令需要管理员权限,如果我以管理员身份运行cmd并键入该命令,则可以完美地运行,但在我以管理员方式运行此应用程序时却无法运行。 我已将
添加到一个清单文件中,每次打开exe文件都会提示UAC。
我看到了多个关于这个问题的问题,他们似乎都建议使用提升的应用程序运行的任何进程将具有相同的权限,但对我不起作用。
我已尝试过cmd.Verb = "runas"; 但无济于事。
ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe");
cmd.RedirectStandardInput = true;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardError = true;
cmd.UseShellExecute = false;
cmd.CreateNoWindow = true;
cmd.WindowStyle = ProcessWindowStyle.Hidden;
Process exec = Process.Start(cmd);
exec.StandardInput.WriteLine("sc create \"BaliService\" binPath= \"{0}\\BaliService.exe\"", Directory.GetCurrentDirectory());
该命令需要管理员权限,如果我以管理员身份运行cmd并键入该命令,则可以完美地运行,但在我以管理员方式运行此应用程序时却无法运行。 我已将
添加到一个清单文件中,每次打开exe文件都会提示UAC。
我看到了多个关于这个问题的问题,他们似乎都建议使用提升的应用程序运行的任何进程将具有相同的权限,但对我不起作用。
我已尝试过cmd.Verb = "runas"; 但无济于事。
cmd.UseShellExecute
更改为true
并保留runas
动词。 - keyboardP