• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 # we want more secure TLS 1.2 for most things
2 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
3 
4 # VS17.x is 2022
5 $msvc_url = 'https://aka.ms/vs/17/release/vs_buildtools.exe'
6 
7 Write-Host "Downloading Visual Studio 2022 build tools at:"
8 Get-Date
9 Invoke-WebRequest -Uri $msvc_url -OutFile C:\vs_buildtools.exe
10 
11 Write-Host "Installing Visual Studio 2022 at:"
12 Get-Date
13 # Command line
14 # https://docs.microsoft.com/en-us/visualstudio/install/command-line-parameter-examples?view=vs-2022
15 # Component ids
16 # https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-build-tools?view=vs-2022
17 # https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community?view=vs-2022
18 Start-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.Redist.14.Latest", `
26 "--add", "Microsoft.VisualStudio.Component.VC.ASAN", ` # MSVC 2022
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.VC.14.29.16.11.ATL", ` # MSVC 2019
31 "--add", "Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC", `
32 "--add", "Microsoft.VisualStudio.ComponentGroup.VC.Tools.142.x86.x64", `
33 "--add", "Microsoft.VisualStudio.Component.VC.Llvm.Clang", `
34 "--add", "Microsoft.VisualStudio.Component.Graphics.Tools", `
35 "--add", "Microsoft.VisualStudio.Component.Windows10SDK.20348"
36 
37 if (!$?) {
38   Write-Host "Failed to install Visual Studio tools"
39   Exit 1
40 }
41 Remove-Item C:\vs_buildtools.exe -Force
42 
43 Write-Host "Installing Visual Studio 2022 finished at:"
44 Get-Date
45 
46 Exit 0
47