The Fix: Your PATH environment variable is stale. Close PowerShell, open a new one, or run this to refresh:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
winget --version
# Should output like: v1.7.x
If you need to deploy Winget across 100 PCs yesterday, use this aggressive one-liner. This script checks your OS architecture, downloads the correct bundle, and installs it silently via PowerShell.
Copy and paste this entire block into PowerShell (Admin): install winget using powershell hot
$progressPreference = 'silentlyContinue'; Write-Host "Downloading Winget..." -ForegroundColor Cyan; Invoke-WebRequest -Uri "https://aka.ms/getwinget" -OutFile "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle"; Add-AppxPackage -Path "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle"; Write-Host "Installation Complete!" -ForegroundColor Green
What this does:
Note: If you get a "No applicable app packages" error, you need to install the VCLibs dependencies first (see troubleshooting below). The Fix: Your PATH environment variable is stale
Get-AppxPackage -AllUsers DesktopAppInstaller | Foreach Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
Start-Process "ms-windows-store://pdp/?ProductId=9nblggh4nns1" winget --version # Should output like: v1
👉 Manually click Install in the Store — this includes winget.
# 1. Launch PowerShell as Admin
# 2. Check if winget is already present
Get-Command winget -ErrorAction SilentlyContinue