diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index d05053faa77..fa9fbcba75f 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -43,13 +43,11 @@ variables: jobs: - job: test pool: - vmImage: $(VM_IMAGE_WINDOWS) + vmImage: windows-2019 steps: - checkout: self submodules: false - pwsh: .\scripts\install-vs.ps1 -Version $env:VS_VERSION_PREVIEW - - script: vs_community.exe --quiet --norestart --wait --add Microsoft.VisualStudio.Workload.NetCrossPlat --add Microsoft.VisualStudio.Workload.NetCoreTools --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Universal - - pwsh: .\scripts\install-vs2.ps1 -Version $env:VS_VERSION_PREVIEW - task: PublishBuildArtifacts@1 inputs: artifactName: output diff --git a/scripts/install-vs.ps1 b/scripts/install-vs.ps1 index b3e10f3bb02..556055fe032 100644 --- a/scripts/install-vs.ps1 +++ b/scripts/install-vs.ps1 @@ -4,9 +4,47 @@ Param( $ErrorActionPreference = 'Stop' +$startTime = Get-Date + +Write-Host "Downloading Visual Studio Installer..." +Invoke-WebRequest -UseBasicParsing ` + -Uri "https://aka.ms/vs/install/latest/vs_setup.exe" ` + -OutFile "$env:TEMP\dd_vs_setup.exe" + +Write-Host "Updating the Visual Studio Installer..." +$exitCode = & "$env:TEMP\dd_vs_setup.exe" --update --quiet --wait | Out-Null + +Write-Host "Exit code: $exitCode" + Write-Host "Downloading Visual Studio ($Version)..." Invoke-WebRequest -UseBasicParsing ` -Uri "https://aka.ms/vs/$Version/vs_community.exe" ` - -OutFile vs_community.exe + -OutFile "$env:TEMP\dd_vs_community.exe" + +Write-Host "Installing Visual Studio..." +$exitCode = & "$env:TEMP\dd_vs_community.exe" --quiet --norestart --wait ` + --add Microsoft.VisualStudio.Workload.NetCrossPlat ` + --add Microsoft.VisualStudio.Workload.NetCoreTools ` + --add Microsoft.VisualStudio.Workload.ManagedDesktop ` + --add Microsoft.VisualStudio.Workload.Universal ` + | Out-Null + +Write-Host "Exit code: $exitCode" + +$vsLogs = 'output\vs-logs' +New-Item -ItemType Directory -Force -Path "$vsLogs" | Out-Null +Get-ChildItem "$env:TEMP\dd_*" | + Where-Object { $_.CreationTime -gt $startTime } | + Copy-Item -Destination "$vsLogs" + +$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + +Write-Host "Setting Environment Variables..." +$installationPath = & $vswhere -latest -prerelease -property installationPath +Write-Host "##vso[task.prependpath]$installationPath\MSBuild\Current\Bin" +Write-Host "##vso[task.setvariable variable=VS_INSTALL]$installationPath" + +Write-Host "Installed Visual Studio Versions:" +& $vswhere -all -prerelease -property installationPath exit $LASTEXITCODE diff --git a/scripts/install-vs2.ps1 b/scripts/install-vs2.ps1 deleted file mode 100644 index cc57b604e65..00000000000 --- a/scripts/install-vs2.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -Param( - [string] $Version = "16/pre" -) - -$ErrorActionPreference = 'Stop' - -$vsLogs = 'output\vs-logs' -New-Item -ItemType Directory -Force -Path "$vsLogs" | Out-Null -Copy-Item -Path "$env:TEMP\dd_*" -Destination "$vsLogs" -Recurse -Copy-Item -Path "$env:TEMP\dd_*\*" -Destination "$vsLogs" -Recurse - -Remove-Item vs_community.exe - -$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" - -Write-Host "Setting Environment Variables..." -$installationPath = & $vswhere -latest -prerelease -property installationPath -Write-Host "##vso[task.prependpath]$installationPath\MSBuild\Current\Bin" -Write-Host "##vso[task.setvariable variable=VS_INSTALL]$installationPath" - -Write-Host "Installed Visual Studio Versions:" -& $vswhere -all -prerelease -property installationPath - -exit $LASTEXITCODE