Use the dependencies Zip file for bootstrapping in SandboxTest #188360
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
cc @ItzLevvie / @stephengillie / @SpecterShell / @denelon / @OfficialEsco / @ImJoakim
Checklist for Pull Requests
Repair-WinGetPackageManager
doesn't work on sandbox with-IncludePrerelease
flag winget-cli#4903Description
With the latest release of WinGet, the minimum VCLibs UWP version has been bumped up. The VCLibs team is no longer publishing the new versions to the
aka.ms
URL, causing the Sandbox Test script to always fall back on the PowerShell Module andRepair-WinGetPackageManager
, which takes significantly longer than caching the dependencies on the user filesystem and mapping them into the sandbox.This PR addresses a few issues with SandboxTest and how it manages dependencies
1. Adds the new Dependencies Zip file
Since the new versions of VCLibs UWP does not have a publicly available download, the CLI team has started publishing a Zip file containing the dependencies with the CLI releases. This PR adds this zip file as a dependency and updates the install script inside the sandbox so that it extracts the APPX files from the ZIP and installs them. This ensures that the install does not fall back to using the PowerShell Module.
2. Adds Version-Based Dependency Management
Because the dependency on Microsoft.UI.Xaml was bumped from 2.7 to 2.8, instead of installing whichever one was needed, the script would simply copy and install both inside the sandbox. In this PR, the behavior is changed so that only the required dependencies are installed.
3. Known Issue - New Dependency on
DesktopAppInstaller_Dependencies.zip
With the new dependency, if any newer releases of the WinGet CLI do not include the zip file, then it won't be able to be installed. This should fall back to using the PowerShell Module still, but is an untested edge case
Thanks to @mdanish-kh for helping test and finding bugs in my initial implementation!
Microsoft Reviewers: Open in CodeFlow