簡體   English   中英

從應用程序安裝文件靜默安裝SQL Server

[英]Install SQL Server silently from application setup file

作為安裝我的應用程序(WPF應用程序)的一部分,需要安裝SQL Server以及先決條件。 因此,當用戶選擇安裝SQL Server的選項時,在應用程序安裝過程中,需要使用安裝程序隨附的configuration.ini文件進行靜默安裝。

因此,我要做的是通過具有執行SQL Server命令的代碼准備一個名為“ InstallSQL.bat”的批處理文件。

現在,當用戶選擇從安裝代碼中安裝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的替代方法(無需用戶交互)。

謝謝Nishitha

好吧,Stackoverflow異常總是一件壞事
(我猜想在Process.WaitForExit()中捕獲異常

但是無論哪種方式,我認為您都不應該使用process.WaitForExit():
但趕上事件並提供用戶反饋。

編輯:

對於無人值守的東西...您可以快速將其搜索!
SQL Server 2008 R2 –無人值守靜默安裝

作為問題的附加值,我建議創建幾種ini配置,例如針對不同情況的配置(x32,x64,Etc ...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM