InstallSqlServerLocalDB.ps1 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. <#
  2. .SYNOPSIS
  3. Installs SQL Server 2016 Express LocalDB on a machine.
  4. .DESCRIPTION
  5. This script installs Microsoft SQL Server 2016 Express LocalDB on a machine.
  6. .LINK
  7. https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-2016-express-localdb?view=sql-server-2016
  8. https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-2016
  9. #>
  10. $ErrorActionPreference = 'Stop'
  11. $ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138
  12. Set-StrictMode -Version 1
  13. $intermedateDir = "$PSScriptRoot\obj"
  14. mkdir $intermedateDir -ErrorAction Ignore | Out-Null
  15. Write-Host "Installing SQL Server 2016 Express LocalDB" -f Magenta
  16. # Download SqlLocalDB.msi.
  17. $installerFilename = "SqlLocalDB.msi"
  18. $installerPath = "$intermedateDir\$installerFilename"
  19. Write-Host ""
  20. Write-Host "Downloading '$installerFilename' to '$installerPath'."
  21. Invoke-WebRequest -OutFile $installerPath -Uri `
  22. "https://download.microsoft.com/download/9/0/7/907AD35F-9F9C-43A5-9789-52470555DB90/ENU/SqlLocalDB.msi"
  23. # Install LocalDB.
  24. $arguments = '/package', "`"$installerPath`"", '/NoRestart', '/Passive', `
  25. 'IACCEPTSQLLOCALDBLICENSETERMS=YES', 'HIDEPROGRESSBAR=YES'
  26. Write-Host ""
  27. Write-Host "Running 'msiexec $arguments'."
  28. $process = Start-Process msiexec.exe -ArgumentList $arguments -NoNewWindow -PassThru -Verbose -Wait
  29. exit $process.ExitCode