作为安装我的应用程序(WPF 应用程序)的一部分,需要安装 SQL Server 以及先决条件。因此,当用户选择安装 SQL Server 的选项时,在应用程序安装过程中,需要使用安装程序提供的 configuration.ini 文件静默安装。
所以我所做的是通过代码准备一个名为“InstallSQL.bat”的批处理文件,该文件具有执行 SQL 服务器的命令。
现在当用户选择安装 SQL server 时,从安装代码中,批处理文件将被执行。代码如下
int ExitCode;
ProcessStartInfo ProcessInfo;
Process process;
ProcessInfo = new ProcessStartInfo(batchFilePath);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = false;
ProcessInfo.WorkingDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
// *** Redirect the output ***
ProcessInfo.RedirectStandardError = true;
ProcessInfo.RedirectStandardOutput = true;
process = Process.Start(ProcessInfo);
process.WaitForExit();
MessageBox.Show("ExitCode: " + process.ExitCode);
执行安装时,在安装 SQL Server 时,会提取 SQL Server 安装文件并打开一个控制台窗口,指示安装正在进行中。问题是,在此控制台窗口中经过一段时间后,会出现一条消息,指出“由于 stackoverflowexception 导致进程终止”。有人可以帮我提供静默安装 SQL Server 的替代方法(无需用户交互)。
谢谢尼西塔