From 1321eabc0aa4ff827c63bfa9e2d6a173bf5e62cd Mon Sep 17 00:00:00 2001 From: Jaime Bernardo Date: Wed, 29 Jan 2025 11:32:36 +0000 Subject: [PATCH 1/2] Revert "[ci]Remove vc tools version workaround (#37098)" This reverts commit 2c069ce708fcec23f3012c6434003908bead332c. --- .pipelines/v2/templates/job-build-project.yml | 7 +++++++ .pipelines/verifyAndSetLatestVCToolsVersion.ps1 | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 .pipelines/verifyAndSetLatestVCToolsVersion.ps1 diff --git a/.pipelines/v2/templates/job-build-project.yml b/.pipelines/v2/templates/job-build-project.yml index 12ebe4ff9c27..f55d9f71a9fc 100644 --- a/.pipelines/v2/templates/job-build-project.yml +++ b/.pipelines/v2/templates/job-build-project.yml @@ -204,6 +204,13 @@ jobs: - ${{ if eq(parameters.useLatestWinAppSDK, false)}}: - template: .\steps-restore-nuget.yml + - pwsh: |- + & "$(build.sourcesdirectory)\.pipelines\verifyAndSetLatestVCToolsVersion.ps1" + displayName: Work around DD-1541167 (VCToolsVersion) + ${{ if eq(parameters.useVSPreview, true) }}: + env: + VCWhereExtraVersionTarget: '-prerelease' + - pwsh: |- & "$(build.sourcesdirectory)\.pipelines\installWiX.ps1" displayName: Download and install WiX 3.14 development build diff --git a/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 b/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 new file mode 100644 index 000000000000..6527b63574bc --- /dev/null +++ b/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 @@ -0,0 +1,5 @@ +$LatestVCToolsVersion = (([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest $env:VCWhereExtraVersionTarget -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)).instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.CRT.Source" }).version; + +Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion" +Write-Output "Updating VCToolsVersion environment variable for job" +Write-Output "##vso[task.setvariable variable=VCToolsVersion]$LatestVCToolsVersion" From ee872e6a1165796e54bc7daa0a95092e656bcb08 Mon Sep 17 00:00:00 2001 From: Jaime Bernardo Date: Wed, 29 Jan 2025 11:34:50 +0000 Subject: [PATCH 2/2] Adopt the same workaround as in Terminal --- .pipelines/verifyAndSetLatestVCToolsVersion.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 b/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 index 6527b63574bc..a47e6a229260 100644 --- a/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 +++ b/.pipelines/verifyAndSetLatestVCToolsVersion.ps1 @@ -1,5 +1,7 @@ -$LatestVCToolsVersion = (([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest $env:VCWhereExtraVersionTarget -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)).instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.CRT.Source" }).version; - +$VSInstances = ([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)) +$VSPackages = $VSInstances.instances.instance.packages.package +$LatestVCPackage = ($VSInstances.instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.Tools.Core" }) +$LatestVCToolsVersion = $LatestVCPackage.version; Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion" Write-Output "Updating VCToolsVersion environment variable for job" Write-Output "##vso[task.setvariable variable=VCToolsVersion]$LatestVCToolsVersion"