至於安裝我的應用程序(WPF應用程序)的一部分,需要安裝SQL Server以及一個先決條件。因此,當用戶選擇應用程序的安裝過程中安裝SQL Server的選項,它需要使用提供的安裝在configuration.ini文件得到安裝靜默。從應用程序安裝文件靜默安裝SQL Server
所以我所做的就是準備通過具有執行SQL服務器的命令代碼名爲「InstallSQL.bat」的批處理文件。
現在,當用戶選擇安裝SQL服務器,從安裝代碼,該批處理文件將被執行。代碼如下
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的替代方案(無需用戶交互)。
感謝 Nishitha
你從哪兒弄來的StackOverflow的異常?爲什麼選擇CAPTCHA? –
您是否正在通過MSI文件安裝您的應用程序? –