You launch the Visual Studio Installer on your Snapdragon laptop to add the .NET workload, and it hangs on “downloading,” throws a cryptic package error, or finishes but Visual Studio can’t find the ARM64 components it just installed. The installer worked fine on Intel, so this feels like an ARM problem — but the failure is almost always in the installer’s machinery, not in Visual Studio itself.
Visual Studio 2022 has a native ARM64 build, yet the installer juggles three architectures at once — ARM64, x64 under emulation, and the shared installer service — plus per-machine caches, strict Windows build requirements, and security software that loves to quarantine installer payloads mid-download. Most failures live in that machinery.
These six fixes run in order: Windows prerequisites first, then running the installer correctly, then cache surgery, then repair, then architecture mix-ups, and finally disk health. Don’t skip the early steps — a missing Windows update is the cause more often than a corrupt installation.
Why this happens
- Out-of-date Windows build: The ARM64 installer validates the OS build before touching anything, and it fails cryptically on older Windows 11 builds.
- Corrupt installer cache: Interrupted downloads leave partial packages in the cache that the installer keeps retrying instead of re-downloading.
- Security software interference: Defender, SmartScreen, or third-party antivirus quarantining payloads mid-install produces errors that blame the package, not the scanner.
- Architecture confusion: x64 components selected alongside ARM64 ones, or the wrong bootstrapper downloaded in the first place.
- Broken update channel: The installer stuck between update channels, or a half-applied installer update that never completed.
- Disk space or drive issues: Large workloads need tens of gigabytes free plus a healthy SSD — a full or failing drive produces “random” package failures.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Bring Windows up to date first
The ARM64 installer validates the OS build before it touches anything, and it fails cryptically on old builds. Update first, install second — this ordering matters.
- Open Settings > Windows Update, install everything pending, then restart — twice if a second wave of updates appears after the first reboot.
- Confirm you’re on a current Windows 11 build in Settings > System > About; very old builds are simply too aged for the current installer.
- If Windows Update itself errors, run the troubleshooter under Settings > System > Troubleshoot, or fetch the specific update from the Microsoft Update Catalog (https://www.catalog.update.microsoft.com/ ).
- If an update repeatedly fails, Microsoft’s Windows support pages document the supported fixes — they beat guessing.
- Only after Windows is fully current should you launch the installer again.
Fix 2: Run the installer the right way
A surprising share of installer failures are permissions and stale state. A clean, elevated launch with a fresh bootstrapper clears them.
- Download the latest bootstrapper fresh — old bootstrappers pull old installer versions. Double-check it’s the ARM64 bootstrapper, not x64.
- Right-click it and choose “Run as administrator” — the installer needs elevation for per-machine components.
- Temporarily pause third-party antivirus during the install and re-enable it immediately after; Windows Security usually cooperates, third-party suites are the troublemakers.
- If SmartScreen flags a payload, verify the file’s digital signature first, then allow it once — don’t train yourself to click through blindly.
- Install one workload at a time for the first run; piling on five workloads at once multiplies the failure surface for no benefit.
Fix 3: Clear the installer cache
Interrupted or failed installs leave partial packages in the cache that poison every retry. Clearing it forces genuinely fresh downloads instead of reusing broken ones.
- Close the installer and Visual Studio completely — a running instance will hold locks on the cache.
- Delete
%ProgramData%\Microsoft\VisualStudio\Packages(the download cache); it rebuilds itself on next launch. - Clear
%Temp%as well — stale temp payloads are a quiet source of signature-mismatch errors. - Relaunch the installer as administrator and retry the workload before doing anything more drastic.
- Only if the installer itself is broken should you reach for
InstallCleanup.exe -f— it removes everything Visual Studio-related, so treat it as the last resort of this fix, not the first step.
Fix 4: Repair instead of reinstalling
When the installer runs but a workload misbehaves afterward, Repair fixes component registration without the hours a full reinstall costs. It’s the most underused button in the installer.
- Open Visual Studio Installer > More > Repair on the installed instance.
- Let it complete on AC power with the machine set not to sleep — sleep mid-repair corrupts installer state.
- If Repair fails, use More > Uninstall for the broken workload only, then reinstall just that workload rather than everything.
- Check the installer logs in
%Temp%for the specific failing package ID before escalating — the log names the culprit precisely instead of the generic error dialog. - For recurring per-user quirks — settings not sticking, extensions misbehaving — remember installer state can be per-user, the same class of issue as Recall app exclusions not saving , where per-user state turned out to be the whole story.
Fix 5: Fix ARM64/x64 component mix-ups
The installer can silently install x64 components where you expected ARM64, or vice versa. Don’t assume — verify what’s actually on disk and what Task Manager reports.
- In the installer, open the Individual components tab and confirm the ARM64 variants are selected for the toolchains you need.
- After install, check Task Manager while Visual Studio runs: the main
devenv.exeprocess should report ARM64 architecture, not x64 emulated. - If the wrong architecture landed, use Modify to swap the component set rather than layering both architectures on top of each other.
- For .NET work, install the ARM64 .NET SDK separately and confirm
dotnet --inforeports an ARM64 runtime. - Keep x64 emulation only for workloads with no ARM64 equivalent — don’t mix architectures “just in case,” since it doubles the update surface.
Fix 6: Check disk space and drive health
A full or failing SSD produces the strangest installer errors — package failures that change on every retry and blame a different component each time. Rule the drive out before blaming the installer further.
- Free at least 30–40 GB on the system drive before a big workload install; the installer needs scratch space well beyond the final footprint.
- Run a drive health check (CrystalDiskInfo or your maker’s own tool) and apply any pending SSD firmware from the support page — the SSD firmware update guide walks through that exact check.
- If the drive uses BitLocker, confirm it’s in a healthy state — a suspended or error-state BitLocker can block writes in ways that surface as package failures.
- Retry the install once the drive is healthy and spacious; “random” failures that vanish at this point were never random.
Closing
Visual Studio installer issues on ARM64 are almost always environment, not product — current Windows, an elevated clean installer, a fresh cache, and the right architecture. Work the list once and the installer becomes as boring on Snapdragon as it is on Intel. And for those marathon install-and-configure sessions with the IDE glowing for hours, the OLED burn-in prevention tips are worth a skim.
