While in Windows, we have something like NuGet packages which is still in the initial phases. You can expect a good package manager in further updates but as of now, there is a dire need of one. So, here is a list of best Package Manager for Windows which kind of replicates RPM for you. Read: How to Disable Windows Firewall With Command Line
Windows Package Manager
1. OneGet (aka PackageManagement)
Let’s start with PackageManagement, formerly known as OneGet. I really liked the old name OneGet so let us just pretend it is not renamed. It comes built into Powershell Version 2.0 though it’s not the official package manager. It’s still in the early phases but Windows would start pushing it sooner or later. It downloads the packages from repositories like Powershell Gallery, NuGet.org, etc. You can just go to PowerShell and type get-command -module PackageManagement. It will bring up the supported commands and if nothing shows up, you better enable Microsoft Powershell 2.0. Installing packages is as simple as Install-Package googlechrome. It fetches the exe file from the server installs it and done. No need for any manual effort.
The only bummer is you cannot update apps via cmdlets. So, apart from the Microsoft Store, this is one more thing you should be excited about in the future. Number of packages: 142,585 Interface: Command Line only Visit NuGet.org (free)
2. winget
winget is Microsoft’s latest package manager in the making. It’s easy and works exactly like the Linux-style package manager. To install winget, you have 2 options as of now:
Install the Insider build of Windows 10 by signing up on the Windows Package Manager Insiders Program. Next, install an update for the App Installer package from the Microsoft Store. Alternatively, you can download winget from this GitHub page. Download the “.appxbundle” file and double-click on it to install it. I would prefer this method as it doesn’t require you to switch to an unstable windows variant.
Installing a file is as easy as “winget install
3. Scoop
The problem with package management is that the cmdlets are complex. This brings Scoop in the picture. Scoop is a small open-source utility for PowerShell. You need to have a minimum of version 3.0. So, the commands to install software is as simple as scoop install firefox. To install Scoop, you just need to type the following in the Powershell. The best thing about Scoop is that it installs the packages in your Home folder so it doesn’t require Administrator access. The first thing you need to know about Scoop is that it doesn’t work like a package manager but rather as a file parser. In simple terms, it downloads the said app from the URL mentioned in the JSON file. These files are present on Github and can be modified by anyone. So, if you want Scoop to support any other software, you can just edit the manifest file on GitHub. It also supports SSH as well as the proxy servers.
You can also install software of a specific version by just appending the software name with “@version”.Scoop is a good utility to have but I would still pass on it because of the limited package support. Number of packages: 440 Interface: Command Line only Download Scoop (free)
4. AppGet (cmd)
Based on the same concept of file parsing, we have AppGet. Instead of JSON, it works with YAML files and has a bigger repository of apps. AppGet works with the command prompt as well as PowerShell and in order to start using it, you have to download the exe file. Once you have installed it, go to C:\ProgramData\AppGet and open command prompt from there. You can begin installing apps with a simple command like “appget install firefox”. The GitHub repository of AppGet is better categorized compared to Scoop. It also has some extra cmdlets like outdated which checks for an update of the said app. You can also perform batch updates but this option must be implemented from an Administrator tab.
AppGet doesn’t provide management of apps that are previously installed and also there is no GUI version of it. Number of packages: 800+ Interface: Command Line only Download App-Get (free)
5. Npackd (GUI & cmd)
NPackd is another option that not only provides a command-line interface but even a GUI application. Unlike any other app in this list, NPackd is the only one that supports the managing of the apps you have previously installed. You can also update those apps or uninstall them. NPackd is also open source so you can go ahead and add your own packages on GitHub. Like AppGet and Scoop, NPackd also doesn’t require administrative access. You can just browse the GUI for the app, right-click, and install it. It has a better package availability than the apps mentioned above. On top of the basic features, you also get package addition within the app. You can directly add packages without pushing or editing a file on GitHub. Ohh, I almost missed this one in the Settings which is why this should have been in the front. You can also add your own FTP server address or repository from where Npackd can fetch files. The repository address needs to be an XML file with the URL and package name.
In my prolonged testing, I found a small glitch. When I uninstall an application, the app sometimes tries to randomly uninstall several applications which were already uninstalled. The fix is to restart your machine like any other Windows fix. Number of packages: 1435 Interface: Command Line/ GUI Download NPackd (free)
6. Ninite pro (GUI)
I am sure you would have heard of Ninite. It is a web app that lets you club a bunch of software together in a single executable file. And then just in one go, you are installing several apps. But how does that make Ninite a package manager? It doesn’t let you update apps right! Well, you have Ninite pro for that starting at 1$/per user per month. You need to register on the website and then you can use the trial version for 15 days. The next step is to download the agent software on all of your machines. As soon as you are done with that, the web app will show up those systems. What actually happens is that the web app communicates with the local agent software to retrieve the installed package data which is why it is important to get it installed. You can also use the Ninite Pro classic standalone app which you should if you are dealing with Active Directory. It has an extra tab for locating machines in the network. But the app feels old with lesser options than the web app. Once you are done with the setup, you can install, uninstall, or update apps for the entire system in your network with a single click. It’s extremely smooth and seamless. I really cannot emphasize much on the seamlessness Ninite Pro brings to the table. If you are looking for a total network package manager, this is a good choice.
The only downside I feel is the lack of packages when compared with Chocolatey. Number of packages: 1000+ Interface: GUI (web app only) Visit Ninite pro (paid 1$/per user/ per month)
7. Chocolatey (cmd & GUI)
The name sounds amusing but you better take this app seriously. Chocolatey has the largest app repository and it supports PowerShell, command line, and even GUI. You name it and Chocolatey has that app. To install, you just need to type the following in command prompt and hit enter. Once done, just type choco install chocolatey and it will install the GUI for you. You can now simply install the packages from GUI or CLI, it’s the same. The pro and business variants are different and they provide some additional features like deploying our own package, malware protection, Package auditor, etc.
A small issue I would like to point out is that it only supports NuGet packages. So, if you have to deploy your own app you need to convert it into a NuGet package. Also, the GUI is half baked and not all the CLI features are present in it. Number of packages: 6336 (open source). Interface: Command Line only Download Chocolatey (free)
Which Windows Package Manager should you choose?
If you need a package manager for a network, Ninite pro should be the choice. It’s so seamless that I have installed apps on my own system without even realizing it. For individual usage, Chocolatey is a good choice. You can also try out AppGet or NPackd since they have a different model. Voice out your queries in the comments and I will be happy to help you out. Also Read: Best Windows Utilities You Should Be Using In 2019.