Windows Package Manager 1.0 final is out
Microsoft released the first stable version of Windows Package Manager, a tool to install and manage programs efficiently on Windows 10 machines.
Many things have changed since our first look at Winget, wish we published in May 2020.
At its core, it is still a package manager that you may know from other operating systems. Windows users may compare it to program installers such as Ninite, Scoop, or just-install, which offer similar functionality but are maintained by third-parties.
Windows Package Manager 1.0
Windows Package Manager is a command line tool. You may check out Winstall, which is a web GUI for the package manager, if you prefer graphical user interfaces.
Installation is straightforward: the program is distributed with App Installer, which you can download and install from the Microsoft Store. You may also download the latest version from the project's GitHub repository instead and install it that way.
Open a PowerShell terminal window after installation, e.g. by selecting Start, typing PowerShell, and selecting the entry, and run winget to display all available parameters.
The ones that you may be using the most are install, uninstall and search. Winget comes without option to display all available programs that you may install, check out the Community Repo here.
Use winget search to find packages of interest. All packages of the community repo are tagged, and you may search for program names or types to find specific applications to install.
A search for video returns several dozen entries, including popular programs such as PotPlayer, YouTube DL GUI, SMPlayer, VLC Media Player, OpenShot, K-Lite Codec Packs, and more. The community repo hosts more than 1500 different programs at the time.
If you have spotted a package that you would like to install, use winget install to do so. Just look at the name of the package, and add it as a parameter to the command, e.g. winget install OpenShot; this downloads and installs the OpenShot program on the system.
Install supports parameters to customize the installation, e.g. -h to run the installer in silent mode or -o to create a log file.
Use the upgrade command to check for available upgrades. The command winget upgrade checks for upgrades for all installed programs, even those not installed by the package manager but through other means on the system. Run winget upgrade -all to upgrade all programs with updates at once, or winget upgrade PACKAGENAME to upgrade only the specified package.
The uninstall command finally removes a package from the system. It works just like the install command, but will remove the selected application from the device.
System administrators may download and use policies, and use additional commands and options, including the ability to host private repositories or installing local packages.
A command reference is available on Microsoft's Docs website. Thee you find a tutorial on using a script to install multiple applications in one go using winget.
Closing Words
Winget is a powerful package manager for Microsoft's Windows 10 operating system that gives home users and administrators a new tool at hand to install and manage software programs.
Whether it will play a role in the upcoming Store changes remains to be seen. Microsoft plans to lift restrictions to improve the popularity of its Store.
Now You: have you tried winget? What is your experience?
Bugs everywhere… Not ready !!
I am a little frustrated that it runs in the users context (Desktop installer) but really needs elevated to install some packages. Would of loved to be able to use this with Intune in the system context so I could managed apps by code only. Shame, it is so close to being a really awesome.
How to add the community repo? I get an error when I try to add it “No ranges for the specified operation were able to be processed.”
I tried
winget upgrade –all
and most of the programms get upgraded. I guess it’s best to start powershell as administrator.
As far as I can see, only Calibre and Open Office didn’t install well.
Minor anoyance: I get a lot of icons on my clean desktop, so I will read the manual now to see if it is possible to avoid that. I guess not.
Wait until the bad guys start exploiting this. Either but using it to distribute more malware once they get their first-stage going. Or worse, by making people install the wrong package and get owned. Just wait.
look at chocolatey, is the same principle and works for years already without shady business.
@asdsd
Even them warn you about some things to keep in mind when using it.
I guess the best use is if you run your own private repository and keep verifiying hashes periodically so it is all under your control.
Now, for the normal folk doing things like choco upgrade all -y is asking from trouble because you lose sight of whatever each upgrade changed. Same when you install packages, it goes one way, no custom way like when you do it manually.
Anyhow, my main take about all this automatation is this: it is all fine and dandy when you apply it to do things that are always the same and you at some point checked the execution of those steps. When you stretch it, take what happened with Codecov’s Bash Uploader. If you want to stretch it even more, take what happened with the asian dude that died on a Tesla while he was playing a game in his cell and trust the car autopilot. Or more, look at NTI report on US Nuclear Weapons Modernization and how the plan to make AI a part of it.
Where are these apps downloaded from ? Some shady sites or always from developers sites ?
Does the download process / log display the source url ?
https://docs.microsoft.com/en-us/windows/package-manager/package/repository
It’s from Microsoft, they wouldn’t risk their hide to download them from some shade sites.
The repo defines the download path, you can check the manifest files to find out about a specific program. I checked a few, and they are downloaded from the project’s site, e.g. GitHub or the developer site.
Gave it a go once but didn’t see a need for it over what I’d consider the traditional way of automating the download and install of programs.
Honestly i don’t see the need for a package management system on Windows, it’s not like it’s a modular type of OS where you can tailor it to you needs.
Reinstalling the system regulary, keeping your programs up-to-date without hassle or individual care for each program, using VMs regularly. All these are cases in which you would like to have such a package manager
All things that can already be done with a simple powershell script.