You’re sitting at your computer, trying to install a bunch of programs, and you’re tired of clicking through endless setup wizards. You’ve heard about winget—Windows Package Manager—and how it can install apps with just one command. Sounds great, right?
But here’s the problem: Winget might not be on your system yet. Or maybe it’s there but outdated. And you need to get it installed or updated using PowerShell.
This matters because once you have Winget running, you can install dozens of programs without touching your mouse. Need Chrome, VLC, and 7-Zip? Just type three commands, and you’re done. It saves time and makes managing Windows software actually pleasant.
Let me walk you through exactly how to get Winget installed using PowerShell.
What Exactly Is Winget?
Before we jump into the installation, let’s quickly cover what Winget actually is.
Winget is Microsoft’s official command-line package manager for Windows. Think of it like an app store, but you control everything through typed commands instead of clicking around a graphical interface.
You type something like winget install googlechrome , and it downloads and installs Chrome for you. No browser needed. No clicking “Next” five times. Just done.
It’s been around since 2020, and Microsoft has been steadily improving it. If you’re on Windows 11, you’re likely already using it. But Windows 10 users often need to install it manually.
Check out Set the Time Zone Using PowerShell in Windows
Checking If You Already Have Winget
Before we install anything, let’s check if Winget is already on your system.
Open PowerShell. You can do this by pressing the Windows key, typing “powershell,” and hitting Enter. You don’t need to run it as administrator for this check.
Type this command:
winget --versionPress Enter. If you see a version number like v1.7.10582, congratulations—you already have it. You can skip to the updating section later in this guide.
If you see an error message like “winget: The term ‘winget’ is not recognized,” then you don’t have it installed. Keep reading.
Understanding the Requirements
Winget needs a few things to work properly on your system.
First, you need Windows 10 version 1809 or later, or any version of Windows 11. Most people are already past this requirement, but it’s worth checking.
Second, Winget comes packaged as part of the App Installer app from Microsoft. So we’re not really installing Winget directly—we’re installing or updating App Installer, which includes Winget.
Third, you’ll need an internet connection to download the necessary files.
That’s basically it. No special hardware or complicated setup required.
Read Set Password for Local User in Windows 11 Using PowerShell
Method 1: Installing Winget from the Microsoft Store
This is the easiest method and works for most people.
Open PowerShell as Administrator. To do this, press the Windows key, type “powershell,” right-click on Windows PowerShell, and select “Run as administrator.”
Now type this command:
Start-Process "ms-appinstaller:?source=https://aka.ms/getwinget"Press Enter. This opens the App Installer page in the Microsoft Store app.
The Microsoft Store should open automatically and show you the App Installer. Click the “Get” or “Install” button.
Wait for it to download and install. This usually takes less than a minute on a decent internet connection.
Once it’s done, close the Microsoft Store and go back to PowerShell. Type winget --version again to confirm it’s installed.
This method is clean and simple. Microsoft maintains the Store version, so you’ll get automatic updates in the future.
Check out How to Update PowerShell on Windows 11?
Method 2: Installing Winget Using PowerShell Script (Direct Method)
Sometimes the Microsoft Store method doesn’t work—maybe your organization has disabled the Store, or you’re working on a server installation.
Here’s how to install Winget directly using PowerShell without touching the Store.
Open PowerShell as Administrator. This is important—the script won’t work properly without admin rights.
We’re going to download the latest Winget installer package directly from GitHub, where Microsoft hosts it.
First, let’s get the latest release URL. Type or paste this command:
$progressPreference = 'silentlyContinue'
$latestWingetMsixBundleUri = $(Invoke-RestMethod https://api.github.com/repos/microsoft/winget-cli/releases/latest).assets.browser_download_url | Where-Object {$_.EndsWith(".msixbundle")}This command contacts GitHub, finds the latest winget release, and grabs the download link for the installer bundle.
Now download the file:
$latestWingetMsixBundle = $env:TEMP + "\Microsoft.DesktopAppInstaller.msixbundle"
Invoke-WebRequest -Uri $latestWingetMsixBundleUri -OutFile $latestWingetMsixBundleThe file downloads to your temporary folder. It’s usually around 20-30 MB.
Now we need to install it:
Add-AppxPackage $latestWingetMsixBundleWait for the installation to complete. You won’t see much feedback, but it should finish in a few seconds.
Close and reopen PowerShell (you can use a regular non-admin PowerShell now), then type:
winget --versionYou should see the version number. If you do, you’re all set.
Check out Windows Terminal vs PowerShell
Method 3: Installing Winget with Dependencies Included
Sometimes the installation fails because Winget has dependencies that aren’t on your system. Specifically, it needs the Visual C++ Libraries and the UI.Xaml package.
Here’s a more complete script that installs everything Winget needs.
Open PowerShell as Administrator and run these commands one at a time:
First, set up variables:
$progressPreference = 'silentlyContinue'Download the VCLibs dependency:
$vcLibsUrl = "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
$vcLibsFile = "$env:TEMP\Microsoft.VCLibs.x64.14.00.Desktop.appx"
Invoke-WebRequest -Uri $vcLibsUrl -OutFile $vcLibsFile
Add-AppxPackage $vcLibsFileDownload the UI.Xaml dependency (this one is a bit larger):
$uiXamlUrl = "https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx"
$uiXamlFile = "$env:TEMP\Microsoft.UI.Xaml.2.8.x64.appx"
Invoke-WebRequest -Uri $uiXamlUrl -OutFile $uiXamlFile
Add-AppxPackage $uiXamlFileNow download and install Winget itself:
$wingetUrl = $(Invoke-RestMethod https://api.github.com/repos/microsoft/winget-cli/releases/latest).assets.browser_download_url | Where-Object {$_.EndsWith(".msixbundle")}
$wingetFile = "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle"
Invoke-WebRequest -Uri $wingetUrl -OutFile $wingetFile
Add-AppxPackage $wingetFileClose PowerShell, open it again (no admin needed), and verify:
winget --versionThis comprehensive method works even on fresh Windows installations where dependencies might be missing.
Check out How to List Windows Features Using PowerShell?
Updating Winget to the Latest Version
Already have Winget but want to make sure it’s up to date?
The easiest way is through the Microsoft Store if you installed it that way. The Store updates App Installer automatically in the background.
But you can also update it manually using PowerShell with the same script from Method 2 or Method 3. Just run the download and install commands again, and PowerShell will replace your old version with the new one.
You can also use Winget to update itself:
winget upgrade --id Microsoft.AppInstallerPretty meta, right? Using winget to update winget.
Troubleshooting Common Installation Issues
Sometimes things don’t go smoothly. Here are the most common problems and how to fix them.
Error: “Add-AppxPackage: Deployment failed”
This usually means you’re missing dependencies. Go back and use Method 3, which installs all the required components.
Error: “This app package is not supported for installation by App Installer”
Your Windows version might be too old. Check that you’re running Windows 10 1809 or later. Press Windows key + R, type winver, and press Enter to see your version.
Winget command not recognized after installation
Close all PowerShell windows and open a fresh one. Windows needs to refresh the PATH environment variable. If that doesn’t work, restart your computer.
Microsoft Store won’t open or gets stuck
Try resetting the Microsoft Store. Open PowerShell as Administrator and run:
wsreset.exeWait for it to finish, then try the Store method again.
Verifying Your Installation Works
Now that Winget is installed, let’s make sure it actually works.
Open PowerShell (regular, not admin) and try searching for an app:
winget search firefoxYou should see a list of Firefox-related packages. If you do, winget is working correctly.
Try installing something small to test it:
winget install --id Notepad++.Notepad++ -eThis installs Notepad++. If it downloads and installs successfully, everything is working perfectly.
You can uninstall it later if you don’t want it:
winget uninstall Notepad++Why Use PowerShell Instead of Manual Installation?
You might wonder why we’re using PowerShell at all. Can’t you just download an installer from a website?
Sure, but PowerShell gives you more control and reproducibility. Once you have these commands, you can save them in a script and run them on multiple computers. This is incredibly useful if you manage several machines or you’re setting up a new computer from scratch.
It’s also faster. No clicking through websites, no searching for the right download button surrounded by ads, no accidentally downloading the wrong thing.
And for IT professionals or power users, you can integrate these installation commands into larger automation scripts. Set up a whole computer environment with one script that runs overnight.
Check out Install Windows Updates Using PowerShell
What to Do Next After Installing Winget
Now that you have Winget installed, you can start using it to manage software on your Windows machine.
Start by exploring what’s available. Try:
winget searchThis shows popular packages. You can also search for specific apps.
To install something, use:
winget install <package-name>To see what you’ve installed through Winget:
winget listTo update all your winget-installed apps at once:
winget upgrade --allThis is where Winget really shines. One command updates everything, instead of manually checking each program’s update mechanism.
Final Thoughts
Installing Winget using PowerShell is straightforward once you know the steps. Most people can use the Microsoft Store method and be done in a minute. If that doesn’t work, the direct GitHub download method handles almost every other case.
The time you spend setting this up pays off quickly. Installing and updating software becomes faster and less frustrating. You spend less time clicking through installers and more time actually using your programs.
PowerShell might seem intimidating if you’re not used to it, but these commands are simple copy-and-paste operations. You don’t need to be a programmer or system administrator to benefit from Winget.
Give it a try. Once you install a few programs with a single command and update everything with winget upgrade --all, you won’t want to go back to the old way.
You may also like:
- Check for Windows Updates Using PowerShell
- Get Windows Update History Using PowerShell
- Install RSAT in Windows 11 Using PowerShell
Bijay Kumar is an esteemed author and the mind behind PowerShellFAQs.com, where he shares his extensive knowledge and expertise in PowerShell, with a particular focus on SharePoint projects. Recognized for his contributions to the tech community, Bijay has been honored with the prestigious Microsoft MVP award. With over 15 years of experience in the software industry, he has a rich professional background, having worked with industry giants such as HP and TCS. His insights and guidance have made him a respected figure in the world of software development and administration. Read more.