我正试图在一个burn软件包链中运行一个无人值守的2014安装程序,并且一直遇到问题,所以我正在寻求建议。
SQLEXPR_x64_ENU.exe来安装它,但是这种方法有两个问题,第一个问题是提取窗口没有出现在我的自定义引导程序UI前面,第二个问题是我无法指定默认的提取目录。有/X:"C:/Temp"开关,但是如果我使用它,主Setup.exe就不会在解压缩完成时运行。Setup.exe,并将文件放在安装程序目录根目录的子目录中,但这给了我一些启动问题。我很想知道其他人是如何处理这件事的,任何建议都将不胜感激。
发布于 2015-09-29 21:50:08
我们使用托管引导程序解决了这个问题,如下所示。
SQLServer2014Express SP1解决了他们使用/qs交换机时遇到的问题。我们可以使用/qs和/x来指定提取文件夹,并在没有用户输入的情况下继续提取。
但是,正如您注意到的,这只是提取文件,而不启动setup.exe。好消息是,提取的文件仍然在用/x开关指定的文件夹中。
在托管引导程序中,我们处理ExecutePackageComplete事件。当Server包完成后(它所做的只是解压缩文件),我们使用System.Diagnostics.Process.Start运行Server setup.exe。
安装完成后,我们删除解压缩文件夹。
这不是我们刚开始的时候想要做的,但至少是起作用了。
更多资料:
正如您还提到的,提取过程的进度窗口在引导程序应用程序窗口后面打开。
我不知道引导程序中是什么让引导程序窗口恢复到顶部的。我们的UI有一个进度条,所以在提取器启动后,可能会触发一个进度事件。
我们使用计时器给引导程序处理任何事件的时间,然后枚举Process.GetProcesses并查找包含“提取sql”的ProcessName。当我们找到它时,我们就用SetWindowPos把它带到最前面。
https://stackoverflow.com/questions/26871962
复制相似问题