Microsoft has released WinGet, a package manager that is very well suited for installing and updating third-party applications. We are now installing applications with “WinGet” and learn how to manage applications with WinGet.
Table of Contents
WinGet with Windows 11 and Windows Server 2025
With Windows 11 and Windows Server 2025 WinGet is a pre installed component. The WinGet Tool will only be available after your first login as a Windows users. The first login will trigger the Microsoft Storage to register the Windows Package manager. If WinGet is not available after your first login run the following command:
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
WinGet Preview versions
WinGet is included in the Windows App Installer. To test the latest Windows Package Manager features, you can install a preview build in one of the following ways:
Download the latest version of WinGet availble through this AKS.MS link. Please refer to the release notes for the WinGet preview on GitHub to learn about any new features.
Important: Please note that installing this package will provide you with the preview version of the WinGet client. However, it will not enable automatic updates of new preview versions from the Microsoft Store.
To receive automatic updates of new preview versions from the Microsoft Store you can register for the Windows Package Manager Insiders Program, please use a Microsoft Account (MSA). Once your Microsoft Account (MSA) has been added (approximately two days after you receive the email notification), you will receive automatic updates of new preview versions from the Microsoft Store.
The 2nd option including automatic updates is to register for the Windows Insider Dev Channel. Please use either a Microsoft Account (MSA), a work or school account, or an Entra ID account. The Windows Insider Dev Channel includes automatic updates of new preview versions from the Microsoft Store.
Search and Install Applications with Winget
With Winget, installing and managing applications from the command line is very easy. Simply open PowerShell and try out the first few commands. In my example I want to install Deepl, which is my favorite translation tool.
winget search deepl
In the output, we see which applications are available.
If we now want to install Deepl, we use the official product Id Deepl.Deepl from the Source “Winget”.
winget install deepl.deepl
The WinGet package manager now starts the download and then carries out the installation. If you have opened the CMD / Powershell in Admin mode, then everything works without further input. If you have not activated admin mode, you must confirm the installation via UAC.
Update all Application
WinGet can then directly update all known packages.
winget upgrade --all
Sometimes winget cannot determine the version number. In this case, you can force the updates or installation of the current version.
winget upgrade --all --include-unknown
winget uninstall deepl.deepl
Listing applications and installing via batch file
It is particularly convenient that winget can also update applications that have already been installed, but you can also simply transfer existing applications to another Windows installation. This can be done in a controlled manner. First, we export all installed packages to a txt file and look at them.
winget list >D:\temp\winget-list.txt
With the > you specify that winget should redirect the screen display into a file. In the command above, this would be on the D:\ hard drive in the directory temp in the file winget-list.txt. You have to redirect this appropriately for you to an existing directory and drive.
Now you can view the file in an editor and decide which software you want to install.
For me, it looks like this in a file. I selected existing software that is available via winget and read the ID.
I can now create a batch file to install this software automatically on other devices by using the ID
winget.exe install --id IrfanSkiljan.IrfanView --exact --accept-source-agreements --silent --disable-interactivity --accept-package-agreements
winget.exe install --id IrfanSkiljan.IrfanView.PlugIns --exact --accept-source-agreements --silent --disable-interactivity --accept-package-agreements
winget.exe install --id WinSCP.WinSCP --exact --accept-source-agreements --silent --disable-interactivity --accept-package-agreements
winget.exe install --id WinDirStat.WinDirStat --exact --accept-source-agreements --silent --disable-interactivity --accept-package-agreements
Export and transfer to another machine
If you want to export your applications and transfer them 1:1 to another PC, you can also do this using export and import.
REM Export of settings - you need to change the path
winget export -o D:\temp\export-winget.json
REM Import of settings - you need to change the path
winget import -o D:\temp\export-winget.json
More Scripts and Examples
For an advanced insight into the PowerShell Winget modules please check the blog “Using the PowerShell WinGet module” by Harm Veenstra.
His 19 Top Examples can be found here or directly for each command from the list below.
- Add-WinGetSource
- Assert-WinGetPackageManager
- Disable-WinGetSetting
- Enable-WinGetSetting
- Export-WinGetPackage
- Find-WinGetPackage
- Get-WinGetPackage
- Get-WinGetSetting
- Get-WinGetSource
- Get-WinGetUserSettings
- Get-WinGetVersion
- Install-WinGetPackage
- Remove-WinGetSource
- Repair-WinGetPackage
- Repair-WinGetPackager
- Reset-WinGetSource
- Set-WinGetUserSetting
- Test-WinGetUserSetting
- Uninstall-WinGetPackage
Prepare your own developer clients / test server
I use WinGet to get my desired standard software packages installed to my dev clients or test servers. The following script does add my standard packages including WSL for clients.
My personal scripts are available in a GitHub repository: https://github.com/Naglafarn/winget-script
Conclusion – Manage Applications with WinGet
Winget can do a lot more in the area of installing and managing applications than you might expect. I can only recommend looking into it so that you can quickly transfer your work environment or set up test environments.
If you look into it, you can also add your own software via the community repository and make it distributable.
I have explained the matching UniGet GUI for WinGet here and a German version is available here.