First look at the Windows Package Manager
Microsoft released a preview of the Windows Package Manager today during the virtual Build 2020 conference. Windows administrators may use it to install first-party and third-party programs such as 7-Zip, KeePass, Arduino IDE, or Discord.
The package manager, similar to package managers on Linux systems, enables users to search for, download, install, and uninstall programs and packages for the Windows operating system. Its main purpose is to automate the installation, updating and configuration of software on Windows.
Windows Package Manager works similar to package managers on Linux or third-party Windows programs such as Chocolatey.Â Microsoft decided to release it as open source; interested users can check out the GitHub repository for documentation and download of the preview version of the Package Manager.
The package manager requires at least Windows 10 version 1709 and may be installed either from the Microsoft Store (requires a Windows 10 Insider build and sending an invite email for now), or manually from GitHub.
Once installed, open a Windows Terminal, PowerShell or Command Prompt instance to start using it. The command is winget and you may want to run it without any parameter to display the available commands and help first.
The main commands available at the time are:
- winget install // to install a program.
- winget show // displays information about the specified application.
- winget source // to mange sources.
- winget search // to list all programs or specific ones.
- winget hash // to hash installer files.
- winget validate // to validate manifest files.
The command winget search displays the list of programs that Windows Package Manager supports currently. A good selection of popular programs as well as developer tools is supported currently. Programs like vim, Whatsapp, GIMP, VLC, Steam, or Sublime Text can be installed using the Package Manager.
Please note that uninstall functionality is not supported at this point in time. Microsoft plans to integrate the feature as well as list and update functionality soon into the program.
The command winget install "program name" downloads the selected package and runs its installer. Programs seem to be downloaded from third-party sites (the developer site) and not from a repository that Microsoft maintains.
The file location is displayed by winget. The package manager supports exe, msi, and msix installers currently.
Winget may be run without elevated rights. The installation of some programs may require elevation, however and prompts will be displayed if that is required.
The command winget show "package name" displays information about the program; this may include links to the homepage and license, download URL, SHA256 hash, and type of installer.
Software companies and developers may wonder whether they may submit their programs to the Windows Package Manager so that they are included. Microsoft has information on the process on the Docs website. Basically, what developers need to do is create a package manifest that provides information about the application before they submit the manifest to the Windows Package Manager repository on GitHub.
Scripting is supported; admins may create batch or powershell scripts to install multiple applications at once, e.g.
Echo Install Powertoys and Terminal
winget install Microsoft.Powertoys
if %ERRORLEVEL% EQU 0 Echo Powertoys installed successfully.
winget install Microsoft.WindowsTerminal
if %ERRORLEVEL% EQU 0 Echo Terminal installed successfully. %ERRORLEVEL%
Windows Package Manager could become an essential tool in the arsenal of Windows system administrators and also home users. It depends on a number of factors including if and how it is going to be integrated into Windows natively, the availability of packages, and functionality.
Now You: What is your take on the Windows Package Manager?
I don’t need a packkage manager from a company which is actively trying to lock you down through means such as Store and other nonsense like Windows 10S, etc.
Have to agree. A major advantage of Windows is that you can collect and keep installers for the programs you like, and install them from your own collection.
If they start to distribute the “classic” “apps” via an online repository, they just gain a way to remove the traditional installation process. Conveniently, they now have their customers on an OS platform that they can change at will via forced updates.
@Addy T. While that is true, you can also just get the download url with winget show [name of package] and download and keep the installer if you want.
You might not need it, but there’s plenty of us who’d like one.
I hope that they get a GUI version for it (like Ubuntu Software and Updates). Otherwise, I wouldn’t use it (if I used Windows 10).
The Package Manager is mostly for companies, easy install of software through scripts, I doubt there will be a useless GUI version.
I’ve used chocolatey for a few years. Love it… until a vendor website or installer changes. Linux package managers handle prerequisites and conflicts and really shine in comparison to those archaic installers. For someone who’s job is primarily deploying software, this is HUGE!
It needs a ‘download’ command too, that would only download the executable, without running it.
How to remove/uninstall from it?
As a technical+home user I would like a good, un-lagging app store with plenty of technical information and control available at will so both kind of user would find it good enough (which isn’t still present on Windows/Ubuntu desktop) for general use.
On second thought, I don’t really see the point of this.
I prefer to have my downloaded installers anyway, and use them for a reinstall or on a different PC.
Instead of carrying around a usb stick with your common application installers, you simply run your custom script, the latest version of applications get installed and you move on. I really can’t see something bad in having this as an option…
Sure, I can see specific use cases where it’s useful.
But I prefer to have more control over the installing process.
Like verifying exactly where the installer came from, scanning it for malware, making sure it installs in the proper location, disabling potentially unwanted components…
Just running a download+install script places too much trust in things going the way I want them to.
This too shall pass…MS is sooooo confused.
Yeah, using a terminal to install packages in Linux is simple but it’s still a very good idea to know what the software you’re downloading does beforehand and that takes some searching. Relying on Linux forums for authoritative advice is silly, there’s so much obsolete and incomplete info out there.
OTOH, depending on distro, the package managers, gui or not, in Linux may be rather sparsely populated, repositories may have to be added or packages installed from developers’ sites. One really has to be curious and persistent to do anything beside basic things in Linux. Same with Windows except Windows users are far more mainstream.
MS’s thing here, although useful, won’t even be considered by the average user who wants a gui for everything. Admins, maybe, but they can already do all of this.
MS’s effort to hijack Linux’s HUGE user base continues with yet another disconnected marketing stunt that almost no one will notice. Maybe that’s the point, “Motion creates the illusion of progress.” :)
Everyone says Firefox is copying Chrome but look at Microsoft copying Chrome for their new browser and now trying to imitate Linux’s package manager with their own package manager.
Too bad Linux didn’t make their software open source to everyone except Microsoft so that Microsoft would get a taste of its own medicine.
Would rather they just actually tried to make the store into a place that had proper software on it. And yeah yeah keep it so that software can keep being distributed like it is now by developers, but an actual store would be nice.
Lots of hate on this package manager. I don’t get why you would like more control over convenient..
When I first saw this I thought it might be a way to upgrade your software from an old computer to a new one. No, this apparently has nothing to do with that. When you buy a new mac, you can connect it to the old one and let it update overnight. When you buy a new Windows computer you immediately go to update hell. This looks like it might help in updating public software such as browsers, but it will still take some setup. It won’t help you update Office and other purchased software. I’d sure like to be wrong about this. If I’m wrong I’d like to be corrected. I dread buying a new computer even if it has features I want because of the wasted time updating software. I have tried commercial software that claims to make updating easy, but it didn’t.
No uninstall/remove package? OK, I won’t waste my time testing it.
Chocolatey > Windows Terminal
How can Windows Package Manager ever become an essential tool in the arsenal of Windows system administrators & home users, without an uninstall function?