我有以下代码:
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 是显示输出的文本框。
但是,它不显示 SQL Server 安装的任何输出。我尝试过运行其他应用程序,并且它们正确发送了输出,所以我认为代码没有问题。
如何让 SQL Server 将其输出通过管道传输到 C#?如果安装失败,我需要知道错误是什么。