次のコードがあります。
Process p = new Process();
p.StartInfo.FileName = "SQLEXPRADV_x86_ENU.exe";
p.StartInfo.Arguments = "/CONFIGURATIONFILE=Config.ini";
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
string line;
while ((line = p.StandardOutput.ReadLine()) != null)
{
tOutputStandard.Text += line + "\r\n";
}
while ((line = p.StandardError.ReadLine()) != null)
{
tOutputError.Text += line + "\r\n";
}
p.WaitForExit();
構成ファイルは、サイレントで実行するように設定されています。tOutputStandard と tOutputError は、出力を表示する TextBox です。
ただし、SQL Server インストールからの出力は表示されません。他のアプリケーションを実行してみましたが、出力が正しく送信されたので、コードに問題があるとは思いません。
SQL Server の出力を C# にパイプするにはどうすればよいですか? インストールが失敗した場合のエラーを知る必要があります。