wingettutorialwindows-10installation

How to Install winget on Windows 10 (2026 Guide)

Get winget working on Windows 10 in 5 minutes. Three install methods — Microsoft Store, GitHub, and PowerShell — plus fixes for 'winget not recognized' errors.

· 4 min read
How to Install winget on Windows 10 (2026 Guide)

If you typed winget in PowerShell and got "winget is not recognized as an internal or external command", this guide gets you to a working install in under 5 minutes — even on a fresh Windows 10 box.

TL;DR

Easiest path (works for 95% of cases):

  1. Open Microsoft Store
  2. Search for "App Installer"
  3. Click Get (or Update if already installed)
  4. Close and reopen Terminal
  5. Run winget --version

If you see something like v1.11.x, you're done.

This is the official, supported way. Microsoft maintains App Installer in the Store and pushes updates automatically.

  1. Press Win + S and type "Microsoft Store"
  2. In the Store, search for App Installer — publisher should be "Microsoft Corporation"
  3. Click Get or Update
  4. Wait for the small download (~50 MB)
  5. Open a new Terminal / PowerShell window and run:
winget --version

Why a new window? Windows only refreshes PATH for processes opened after the install finishes. Existing terminals won't see winget until you reopen them.

Method 2 — Direct download from GitHub

Use this if the Microsoft Store doesn't work on your machine (LTSC, sandboxed accounts, restricted networks).

  1. Go to github.com/microsoft/winget-cli/releases
  2. Download Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle (the file with .msixbundle extension)
  3. Also download License1.xml (smaller file in the same release)
  4. Open PowerShell as Administrator
  5. Install with:
Add-AppxProvisionedPackage -Online `
  -PackagePath "C:\path\to\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" `
  -LicensePath "C:\path\to\License1.xml" `
  -Verbose

For per-user install (no admin needed):

Add-AppxPackage "C:\path\to\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

You'll need to also install two dependencies if a clean machine:

# VC++ Desktop Bridge (runtime dependency)
Add-AppxPackage "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
# Xaml UI framework
Add-AppxPackage "https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx"

Then verify:

winget --version

Method 3 — PowerShell one-liner

For unattended setup (CI, deployment scripts):

$ProgressPreference = 'SilentlyContinue'
$url = "https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\winget.msixbundle"
Add-AppxPackage -Path "$env:TEMP\winget.msixbundle"

This downloads the latest release and installs it user-scoped. No admin needed for per-user install.

"winget is not recognized" — 5 fixes

Fix 1 — Re-open Terminal

Most common cause. Close every Terminal / PowerShell window, then open a new one. PATH is only refreshed for new processes.

Fix 2 — Check Windows version

[System.Environment]::OSVersion.Version

You need Major=10 + Build ≥ 17763. If older:

  • Settings → Update & Security → Windows Update → Check for updates
  • Install all pending feature updates

Fix 3 — Verify App Installer is installed

Get-AppxPackage Microsoft.DesktopAppInstaller

If empty, App Installer isn't there. Go to Method 1 or 2.

If you see it listed but winget still fails, the install may be corrupted — see Fix 5.

Fix 4 — Add winget to PATH manually

Find where it landed:

Get-ChildItem "C:\Program Files\WindowsApps" -Recurse -Filter "winget.exe" -ErrorAction SilentlyContinue | Select FullName

You'll see a path like:

C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.11.x.x_x64__8wekyb3d8bbwe\winget.exe

Add the folder to your User PATH:

  • Win + R → sysdm.cpl → Advanced → Environment Variables
  • Under User variables, edit Path → New → paste the folder
  • OK out, reopen Terminal

Fix 5 — Reset App Installer

Get-AppxPackage Microsoft.DesktopAppInstaller | Reset-AppxPackage

Then reopen Terminal. If still broken, re-register:

Get-AppxPackage Microsoft.DesktopAppInstaller | ForEach { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }

Verify it works

After install, test with a real command:

winget search firefox

You should see a table of Firefox-related packages. If yes — winget is fully functional.

Install your first app:

winget install --id Mozilla.Firefox -e

The -e flag means "exact ID match" — protects against installing the wrong app when names are similar.

Ready to install 20 apps in one go?
Pick your favourites at winget.tech/browse and generate a one-click install script.
Browse 10,000+ packages →

Why won't Microsoft just include winget in Windows 10?

They did, partially — App Installer ships pre-installed on Windows 10 21H2 and later. The reason older Windows 10 doesn't have it is policy: only modernised Windows 10 images get App Installer, and LTSC / IoT skus opt out. If you're on a current Windows 10 (21H2+), winget should already work without these steps.

What's next?

Continue reading