How to Install Winget Using PowerShell: The Ultimate Guide The Windows Package Manager, or Winget, is a game-changer for anyone who wants to manage software like a pro. Instead of hunting down .exe files on sketchy websites, you can install, update, and configure apps with a single command. If you are looking to get this running quickly, PowerShell is your best friend.
Here is everything you need to know to install Winget using PowerShell and get your environment up to speed. Why Use Winget?
Before we dive into the commands, it is worth understanding why this tool is essential: Bulk Installation: Install dozens of apps with one script. Security: Source apps directly from official repositories.
Automation: Keep all your software updated with a single line of code.
Cleanliness: Avoid bloatware and "next-next-finish" installers. Step 1: Check if Winget is Already Installed
Modern versions of Windows 10 and 11 usually come with Winget pre-installed via the "App Installer" package. Open PowerShell and type: winget --version
If you see a version number, you are good to go. If you get an error saying the term is not recognized, proceed to the installation steps below. Step 2: Install Winget via PowerShell (The Quick Way)
The most reliable way to install Winget manually is by downloading the .msixbundle directly from the official GitHub repository. You can do this entirely within PowerShell. Open PowerShell as Administrator. Run the following command to download the latest installer:
Invoke-WebRequest -Uri https://github.com -OutFile .\WingetInstaller.msixbundle Install the package using the Add-AppxPackage command: Add-AppxPackage .\WingetInstaller.msixbundle Step 3: Verify and Troubleshoot
Once the installation finishes, try running winget again. If it still doesn't work, you may need to install the necessary dependencies, specifically the Microsoft UI Xaml framework.
You can often fix "missing dependency" errors by updating the Microsoft Store. Run this command to force a check for updates:
Get-CimInstance -Namespace root/Microsoft/Windows/Appx -ClassName SoftwareInventory | Where-Object Name -eq "Microsoft.DesktopAppInstaller" Pro Tips for Using Winget
Now that you have it installed, here are the first commands you should run: Search for an app: winget search Install an app: winget install Update all your apps: winget upgrade --all List installed software: winget list
🚀 Key Point: Always run PowerShell as an Administrator when installing software to avoid permission prompts. Conclusion
Installing Winget via PowerShell is a straightforward process that unlocks a more efficient way to manage your Windows machine. By bypassing manual downloads, you save time and ensure your system stays updated with the latest, most secure versions of your favorite tools. If you'd like to take your setup even further:
List of essential developer tools to install via Winget (e.g., VS Code, Git) How to create a setup script for new PCs Managing private repositories with Winget
To install WinGet (Windows Package Manager) using PowerShell, you can use the official Repair-WinGetPackageManager cmdlet or a manual installation script if the App Installer is missing. 🛠️ Method 1: The Modern Official Way (Recommended)
This is the fastest method to ensure WinGet is bootstrapped correctly along with its dependencies. powershell
# 1. Install the PowerShell module Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery # 2. Bootstrap/Repair WinGet Repair-WinGetPackageManager -AllUsers Use code with caution. Copied to clipboard
Verification: Close and reopen your terminal, then type winget --version. 💻 Method 2: Manual PowerShell Script
If you can't access the Microsoft Store, use this script to pull the latest .msixbundle directly from the official GitHub releases. powershell # Get the latest download URL from Use code with caution. Copied to clipboard powershell GitHub Use code with caution. Copied to clipboard powershell
$API_URL = "https://api.github.com/repos/microsoft/winget-cli/releases/latest" $DOWNLOAD_URL = $(Invoke-RestMethod $API_URL).assets.browser_download_url | Where-Object $_.EndsWith(".msixbundle") # Download and Install Invoke-WebRequest -URI $DOWNLOAD_URL -OutFile winget.msixbundle -UseBasicParsing Add-AppxPackage winget.msixbundle # Clean up Remove-Item winget.msixbundle Use code with caution. Copied to clipboard 🚀 Why use WinGet? install winget using powershell hot
Once installed, you can manage your entire software library with simple commands: Search for apps: winget search Install an app: winget install Update everything: winget upgrade --all
For more detailed troubleshooting, refer to the Microsoft WinGet Guide.
Use WinGet to install and manage applications | Microsoft Learn
Installing winget using PowerShell: A Step-by-Step Guide
Are you eager to get started with the Windows Package Manager, also known as winget? Look no further! In this article, we'll walk you through the process of installing winget using PowerShell.
What is winget?
Winget is a package manager for Windows, designed to make it easy to discover, install, and manage software on your Windows machine. It's similar to package managers like apt, yum, or Homebrew, but specifically designed for Windows.
Prerequisites
Before you begin, ensure you have:
Get-Host in PowerShell)Installing winget using PowerShell
To install winget using PowerShell, follow these steps:
Get-PackageSource -Name winget
If the repository is not enabled, you'll see an error message. To enable it, run:
Register-PackageSource -Name winget -ProviderName winget -Location https://api.winget.microsoft.com/v1/
Install-Package -Name winget -ProviderName winget
This command may take a few minutes to complete.
winget --version
You should see the version number of winget installed on your system.
Troubleshooting
If you encounter issues during installation, you can try the following:
Getting started with winget
Now that winget is installed, you can start exploring the available packages and installing software using the following commands:
winget search <package_name>: Search for packages by name.winget install <package_name>: Install a package.winget list: List all installed packages.Congratulations! You have successfully installed winget using PowerShell. Happy package managing!
Summary
Prerequisites
Approach A — Recommended: Install via Microsoft Store (App Installer) Rationale: Ensures updates, integrity via Microsoft Store, simplest end-user experience.
Quick commands (admin PowerShell)
Get-AppxPackage -Name Microsoft.DesktopAppInstaller -AllUsers
Start-Process "ms-windows-store://pdp/?productid=9NBLGGH4NNS1"
(manually click Update/Install) or use management tooling (Intune, WSUS) for enterprise.
Notes:
Approach B — Manual MSIX bundle install (offline/managed — uses GitHub releases) Rationale: Use when Microsoft Store is unavailable (e.g., Server Core, locked-down enterprise) or to script an unattended install.
Steps — detailed, idempotent script (run as Administrator)
Example script (robust):
# Variables
$releaseApi = "https://api.github.com/repos/microsoft/winget-cli/releases/latest"
$tempDir = "$env:TEMP\winget_install"
New-Item -Path $tempDir -ItemType Directory -Force | Out-Null
# Get latest release info
$release = Invoke-RestMethod -Uri $releaseApi -UseBasicParsing
# Choose MSIX/AppInstaller assets (filter by name)
$asset = $release.assets | Where-Object $_.name -match "AppInstaller.*.msixbundle$" | Select-Object -First 1
if (-not $asset) Write-Error "MSIX bundle not found in release assets"; exit 1
$downloadUrl = $asset.browser_download_url
$msixPath = Join-Path $tempDir $asset.name
# Download
Invoke-WebRequest -Uri $downloadUrl -OutFile $msixPath
# Verify signature (optional but recommended)
# Use Get-AppxPackageManifest or signtool if available. Example using Get-AuthenticodeSignature:
$sig = Get-AuthenticodeSignature -FilePath $msixPath
if ($sig.Status -ne 'Valid') Write-Warning "Package signature is $($sig.Status). Proceed with caution."
# Install
Add-AppxPackage -Path $msixPath -Register -DisableDevelopmentMode -ForceApplicationShutdown
# For system-wide provisioning on images (optional): Add-AppxProvisionedPackage (requires DISM)
Verification
winget --version
Get-Command winget
Get-AppxPackage -Name Microsoft.DesktopAppInstaller -AllUsers
Common errors & fixes
Get-AppxPackage -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
Then retry Add-AppxPackage.
Security and trust
Automation & enterprise deployment
Unattended installation script (concise)
# Run as admin
$msixUrl = "https://github.com/microsoft/winget-cli/releases/download/vX.Y.Z/AppInstaller.msixbundle" # replace with actual URL
$msixPath = "$env:TEMP\AppInstaller.msixbundle"
Invoke-WebRequest -Uri $msixUrl -OutFile $msixPath
Add-AppxPackage -Path $msixPath -DisableDevelopmentMode -Register -ForceApplicationShutdown
(Replace URL with the desired release asset and validate signature before use.)
Rollback / removal
Get-AppxPackage -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
Get-AppxPackage -AllUsers -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
Testing after install
winget install --id=7zip.7zip -e --silent
Appendix — quick troubleshooting checklist
If you want, I can:
To install WinGet via PowerShell, use the official Microsoft module to bootstrap the client. For a more "hands-on" experience, you can also download the bundle directly from GitHub. Quick Installation (PowerShell) Run these commands in an Administrator
PowerShell session to install the WinGet client and its necessary dependencies automatically: Install the WinGet Client Module powershell Install-Module -Name Microsoft.WinGet.Client -Force Use code with caution. Copied to clipboard Bootstrap WinGet powershell Repair-WinGetPackageManager -AllUsers Use code with caution. Copied to clipboard Verify the Install powershell winget --version Use code with caution. Copied to clipboard
Alternatively, you can quickly grab the bundle via a web request: Stack Overflow powershell How to Install Winget Using PowerShell: The Ultimate
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle Add-AppxPackage winget.msixbundle Use code with caution. Copied to clipboard The "Hot" Review: Why WinGet is Windows' Best-Kept Secret
WinGet has transformed from a basic tool into a powerhouse for power users and sysadmins alike. As of
, it remains the gold standard for "zero-touch" software management on Windows.
Use WinGet to install and manage applications | Microsoft Learn
To install WinGet (the Windows Package Manager) using PowerShell, you can use the official Microsoft client module or direct download scripts. While WinGet is typically pre-installed on Windows 10 (1809+) and Windows 11, it sometimes needs to be "bootstrapped" manually if it's missing. Option 1: The Fast PowerShell Module Method (Recommended)
This is the most reliable way as it automatically handles all dependencies like Microsoft UI Xaml and VCLibs.
Open PowerShell as Administrator: Press Win + X and select Terminal (Admin) or PowerShell (Admin). Run the following commands: powershell
# Install the package provider and WinGet client module Install-PackageProvider -Name NuGet -Force | Out-Null Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null # Use the repair cmdlet to bootstrap/install the WinGet client Repair-WinGetPackageManager -AllUsers Use code with caution. Copied to clipboard Option 2: The Direct Download Script
If you prefer a direct script to pull the installer bundle from Microsoft's servers, use this one-liner: powershell
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle Add-AppxPackage winget.msixbundle Remove-Item winget.msixbundle Use code with caution. Copied to clipboard Option 3: Official GitHub "Hot" Install
For the latest release, you can use PowerShell to fetch the direct link from the official Microsoft GitHub repository, download the .msixbundle file, and install it directly. How to Verify It Worked
To verify installation, open a new PowerShell window and run winget --version. You can test functionality by searching for an application.
Here’s a concise review of the phrase "install winget using powershell hot" — likely a search query or command attempt.
winget --version
# Should output like: v1.7.x
If the method above fails (common on older Windows 10 builds or enterprise machines), use this script. It downloads the latest .appxbundle directly from Microsoft's GitHub and installs it.
Run this block in your elevated PowerShell window:
# 1. Set the URL for the latest release
$URL = "https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
# 2. Define the destination
$Path = "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle"
# 3. Download the file
Write-Host "Downloading winget..."
Invoke-WebRequest -Uri $URL -OutFile $Path -UseBasicParsing
# 4. Install the file
Write-Host "Installing winget..."
Add-AppxPackage -Path $Path
# 5. Clean up
Remove-Item $Path
Write-Host "Done! Restart your terminal and type 'winget' to verify."
$url = "https://aka.ms/getwinget" $out = "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle" Invoke-WebRequest -Uri $url -OutFile $out Add-AppxPackage -Path $out
Start-Process "ms-windows-store://pdp/?ProductId=9nblggh4nns1"
👉 Manually click Install in the Store — this includes winget.
The keyword "hot" implies speed and efficiency. We aren’t going to stroll through the Microsoft Store clicking buttons. We are going to use PowerShell—the most powerful shell in the Windows ecosystem—to install Winget in under 60 seconds.
There are three "hot" methods we will cover: