管理者としていくつかのことを行う必要がある ac# アプリケーションがあり (いくつかのインストール作業)、それから非管理者として別のプロセスを実行する必要があります。私は以前に UAC で何もしたことがありませんが、これを行う方法があるに違いないと思いますよね?
これも自動化する必要があるため、C# アプリは管理者の資格情報で開始されると想定します。
基本的に、プログラムは次のようにする必要があります。
// MUST run this process as admin
Process adminInstall = new Process();
adminInstall.StartInfo.FileName = "install.bat";
adminInstall.Start();
adminInstall.WaitForExit();
// CANNOT run this process as admin
Process nonAdminProcess = new Process();
nonAdminProcess.StartInfo.FileName = "runner.cmd";
nonAdminProcess.StartInfo.UseShellExecute = false;
nonAdminProcess.StartInfo.RedirectStandardOutput = true;
nonAdminProcess.OutputDataReceived += new DataReceivedEventHandler(myHandler);
nonAdminProcess.Start();
nonAdminProcess.BeginOutputReadLine();
nonAdminProcess.WaitForExit();