1# we want more secure TLS 1.2 for most things 2[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; 3 4# VS16.x is 2019 5$msvc_2019_url = 'https://aka.ms/vs/16/release/vs_buildtools.exe' 6 7Get-Date 8Write-Host "Downloading Visual Studio 2019 build tools" 9Invoke-WebRequest -Uri $msvc_2019_url -OutFile C:\vs_buildtools.exe 10 11Get-Date 12Write-Host "Installing Visual Studio 2019" 13# Command line 14# https://docs.microsoft.com/en-us/visualstudio/install/command-line-parameter-examples?view=vs-2019 15# Component ids 16# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-build-tools?view=vs-2019 17# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community?view=vs-2019 18Start-Process -NoNewWindow -Wait -FilePath C:\vs_buildtools.exe ` 19-ArgumentList ` 20"--wait", ` 21"--quiet", ` 22"--norestart", ` 23"--nocache", ` 24"--installPath", "C:\BuildTools", ` 25"--add", "Microsoft.VisualStudio.Component.VC.ASAN", ` 26"--add", "Microsoft.VisualStudio.Component.VC.Redist.14.Latest", ` 27"--add", "Microsoft.VisualStudio.Component.VC.ATL", ` 28"--add", "Microsoft.VisualStudio.Component.VC.ATLMFC", ` 29"--add", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", ` 30"--add", "Microsoft.VisualStudio.Component.Graphics.Tools", ` 31"--add", "Microsoft.VisualStudio.Component.Windows10SDK.20348" 32 33if (!$?) { 34 Write-Host "Failed to install Visual Studio tools" 35 Exit 1 36} 37Remove-Item C:\vs_buildtools.exe -Force 38Get-Date 39