安装SQL Server失败

时间:2015-04-26 22:49:28

标签: c# sql-server

我正在安装SQL Server,如下面的代码

Process.Start("Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /IACCEPTSQLSERVERLICENSETERMS");

如果无法通过先决条件检查,安装程序会立即消失,而不会向用户显示错误消息。

我可以通过查看SQL Server的程序文件文件夹来查看失败的原因,但是安装软件的人不知道在哪里查看。

所以我想让用户知道错误是什么。我怎样才能做到这一点?

我面临的另一个问题是,因为这是一个进程,程序不会等到SQL Server安装完成。有没有办法运行一个进程并等待它完成?

2 个答案:

答案 0 :(得分:1)

  

所以我想让用户知道错误是什么。我怎样才能做到这一点?

通过读取stderr和stdout流,假设Setup.exe将使用它们来输出错误消息。

  

我面临的另一个问题是因为这是一个问题   进程,程序不等到SQL Server安装到   完。有没有办法运行一个进程并等待它完成?

您可以等待退出流程,如下所示:

var process = Process.Start( .... );

// wait.
process.WaitForExit();

有关这两个主题的更多信息,请访问:How to spawn a process and capture its STDOUT in .NET? 在这里Process.start: how to get the output?

答案 1 :(得分:1)

/q标志用于静默安装,因此它不会向用户显示任何信息。尝试没有/q标志。