如何在没有桌面的 Vagrant 中安装 SQL Server Express 2014?

How do I install SQL Server Express 2014 in Vagrant without a Desktop?

我想让 Vagrant 调出一台 Windows Server 2012 R2 机器并安装 SQL Server 2014 Express 作为配置的一部分。我已经在机器上安装了 chocolatey 并且有 vagrant 运行ning 一个像这样的 powershell 文件:

config.vm.provision "shell", path: "./dev-tools.ps1"

以及该 powershell 脚本中的一个简单 choco install mssqlserver2014express -y。它 运行 是脚本,看起来 SQL 安装程序不喜欢 运行 没有显示:

==> default: The following error occurred:
==> default:
==> default: Showing a modal dialog box or form when the application is 
not running in UserInteractive mode is not a valid operation. Specify 
the ServiceNotification or DefaultDesktopOnly style to display a
notification from a service application.
==> default:
==> default: Error result: -2146233079
==> default: Result facility code: 19
==> default: Result error code: 5385    

有没有人在配置 windows 盒子时处理过类似的事情?

听起来您可能想回到软件包的维护者那里,询问他们是否可以使 sql 服务器安装程序完全静音。与他们分享此堆栈溢出 post。

在此期间,您可以尝试打开 GUI。 Windows 默认情况下,Server 2012 R2 仍然有一个 GUI,对吧?我假设您使用的是 VirtualBox 提供程序,因为您没有另外指定。

将此添加到您的 Vagrantfile

config.vm.provider "virtualbox" do |v|
  v.gui = true
end

http://docs.vagrantup.com/v2/virtualbox/configuration.html

您可以尝试适应(或只是使用)https://github.com/leezu/vagrant-mssql-express/