You ran winget install and got "No applicable installer found" or "No installer found matching system requirements". Here's why and 6 ways around it.
Why this happens
The package manifest contains one or more installer variants — different builds for x64, x86, arm64, machine-wide vs per-user. winget tries to pick one that matches your system. If none match, you get this error.
Common reasons:
- Architecture mismatch — manifest only has x86, you're on ARM64
- Scope mismatch — manifest only has
machinescope, you're without admin - OS version mismatch — installer requires Windows 11 but you're on Windows 10
- Locale mismatch — installer is language-specific and yours isn't supported
Fix 1 — Check what's available
winget show --id <ID>
Look at the Installers section:
Installers:
- Architecture: x64
InstallerType: msi
Scope: machine
InstallerLocale: en-US
MinimumOSVersion: 10.0.17763.0
Now you know what the manifest offers. Match your system to it.
Fix 2 — Force x64 with emulation (ARM64 machines)
If you're on Surface Pro X / Snapdragon / Mac with Parallels, Windows ARM64 can run x64 apps via emulation. winget doesn't try this automatically — force it:
winget install --id <ID> --architecture x64
If you want to use the native ARM64 variant when available:
winget install --id <ID> --architecture arm64
Falls back to x64 emulation if the manifest doesn't have an arm64 build.
Fix 3 — Try --scope user
If the only installer is machine-wide but you don't have admin:
winget install --id <ID> --scope user
For apps that support per-user install, this writes to %LOCALAPPDATA%\Programs\<App> without admin. Apps that need to register system services or write to Program Files will still fail.
Browse winget.tech and filter by --scope user support — or check the show output for Scope: user in the available installers.
Fix 4 — Specify the locale
Some apps publish locale-specific installers:
winget install --id <ID> --locale en-US
If your Windows locale doesn't match any available variant, the install fails. Force English (most common):
winget install --id <ID> --locale en-US
Fix 5 — Try an older version
The latest version may require Windows 11, but older versions may support Windows 10:
winget show --id <ID> --versions
List versions. Install an older one that may have weaker requirements:
winget install --id <ID> --version 1.0.0
Fix 6 — Install from a different source
If the winget source doesn't have a matching installer, check the Microsoft Store source (msstore):
winget install --id <ID> --source msstore
The msstore source has packaging differences and sometimes a working variant where the winget source doesn't.
If both sources fail, check Chocolatey or Scoop — they often have alternative builds:
choco install <package>
# or
scoop install <package>
Compare in Winget vs Chocolatey vs Scoop.
Specific scenarios
"I'm on Windows 10 and the manifest says Windows 11"
Some recent apps drop Windows 10 support. Options:
- Install an older version of the app
- Upgrade to Windows 11
- Find an alternative on browse that still supports Win 10
"I have admin but --scope machine still fails"
Check the Installer requires specific features like .NET 8.0 or VC++ runtime:
winget show --id <ID>
Look at the Dependencies section. Install dependencies first:
winget install --id Microsoft.DotNet.Runtime.8
winget install --id Microsoft.VCRedist.2015+.x64
Then retry.
Surface Pro X / ARM64 specific
ARM64 Windows can run:
- Native ARM64 apps (best performance)
- x64 apps via emulation (slower but works for most things)
- x86 apps via emulation (universal compatibility)
For best results on ARM:
# Try ARM64 first; falls back automatically if not available
winget install --id <ID> --architecture arm64
# Force x64 emulation explicitly
winget install --id <ID> --architecture x64
# Last resort: x86 emulation
winget install --id <ID> --architecture x86
"x86" is missing but I'm on 32-bit Windows
Modern Windows is overwhelmingly 64-bit. If you're on 32-bit Windows 10 (rare), most modern apps don't support you. Time to upgrade to 64-bit or find legacy alternatives.
Verify:
[Environment]::Is64BitOperatingSystem
If False, you're on 32-bit Windows. winget itself works but many apps require x64.
"winget show" shows installers but install still fails
The version you're trying to install may not match. Force latest:
winget install --id <ID> -e
-e ensures exact ID match. Without it winget may resolve to a different package whose installer doesn't match.
Combine flags
When in doubt, throw everything at it:
winget install --id <ID> -e --architecture x64 --scope user --locale en-US --accept-package-agreements --accept-source-agreements
If this fails, the app legitimately can't install on your system. Check manifest requirements vs your machine specs.
Edge case: nested dependencies
If the app has dependencies that can't install:
Some.App requires Microsoft.DotNet.Runtime.7
Microsoft.DotNet.Runtime.7 has no applicable installer
Install dependencies manually:
winget show --id Microsoft.DotNet.Runtime.7
winget install --id Microsoft.DotNet.Runtime.7 --architecture x64
winget install --id Some.App
See Failed to install dependency fix.
What's next?
- All winget error codes explained → — full reference
- Failed to install dependency → — nested errors
- Access denied 0x80070005 → — permission errors
- winget commands cheatsheet → — reference
