首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Wix Burn安装2014

使用Wix Burn安装2014
EN

Stack Overflow用户
提问于 2014-11-11 18:33:52
回答 1查看 1.2K关注 0票数 1

我正试图在一个burn软件包链中运行一个无人值守的2014安装程序,并且一直遇到问题,所以我正在寻求建议。

  1. 现在,我通过运行带有开关的自解压缩SQLEXPR_x64_ENU.exe来安装它,但是这种方法有两个问题,第一个问题是提取窗口没有出现在我的自定义引导程序UI前面,第二个问题是我无法指定默认的提取目录。有/X:"C:/Temp"开关,但是如果我使用它,主Setup.exe就不会在解压缩完成时运行。
  2. 我试图通过解压缩它并将所有所需的文件作为一个有效负载组来解决这个问题。这是可行的,但编译时间和安装时间慢得令人无法接受,因为它必须提取和验证所有的小文件。
  3. 我还尝试简单地引用解压缩文件夹中的Setup.exe,并将文件放在安装程序目录根目录的子目录中,但这给了我一些启动问题。
  4. 我曾考虑过用脚本来安装它,但我觉得这是一个解决问题的丑陋方法,我正在像躲避瘟疫一样避免它,但我意识到这是可能的。

我很想知道其他人是如何处理这件事的,任何建议都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 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把它带到最前面。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26871962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档