Chocolatey - Apt-get for Windows

Updated: September 7, 2015

This was the most apt [sic] title I could find for this tool. Apt. Get it? Hihi. Anyhow, one of the major disadvantages of Windows is that there is no centralized package management tool the likes of which exist in Linux distributions and/or in the mobile world. For licensing reasons and whatnot, Windows Update only offers Microsoft software, forcing you to handle the rest more of less manually.

Several programs have come to life, trying to address this gap. We've seen Ninite and Npackd in action, but they did not quite manage to replicate the simplicity and ease of use that exists in Linux. Now, there's a new product, and it's called Chocolatey. Perhaps it can deliver where the rest have failed.

Teaser

Chocolatey in action

The installation is relatively simple. You will need to execute a single line from a command prompt or a powershell, with administrative rights. Almost like using wget and piping the data into a program or an interpreter in Linux. Sweet.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command \
"iex ((new-objectnet.webclient).DownloadString \
('https://chocolatey.org/install.ps1'))" && \
SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Once this step is done, you can begin using Chocolatey from the command line. Yes, you got it. Command line. The binary is called choco, and it behaves like apt, yum or zypper, or any one of them Linux package managers.

Any good?

Well, I decided to try this in Windows 10, just to add extra drama. I was missing the Adobe Flash Player, so I took care of that. Then, I installed VLC. Jolly good. The program works as advertised, and you can also customize your installations, including non-default installation directories, language packs, and more. Anyhow, the usage is just like Linux:

choco install flashplayerplugin

Installing Flash

Flash Player installed

VLC installed

You can also upgrade packages with choco upgrade <package>, so this is quite convenient for existing installations. And since you have commands available, you can script them, or schedule tasks, which is awesome, and how it should be.

Upgrade package

You can also search for packages. Anything containing the relevant string will be displayed. Then, you can list everything in the repository. The current count is about 2,700 packages, which is very decent. The only problem is that there's no local cache, and the list is rebuilt every time you run the command, so it can take a while before you get any output.

Search for packages

List packages

Additional options

Last but not the least, there is going to be an update function in the future. At the moment, it's just a reserved word, a placeholder, but that looks like a nice possibility. Oh yes, let's not forget the help. You can use any one of the standard Windows switchers to get help. Usually -h or /? will do. Then, you can get generic help for the main binary or any one of the options, like choco install -h or choco list -h. Pretty neat.

Help

Conclusion

Chocolatey seems like the most advanced Windows package manager alternative that I've tested so far. It is fast, simple and elegant. The usage model is seamless. You do not need to focus on any GUI action. You just work, quickly and efficiently.

Perhaps one day, Chocolatey will grow into a proper management tool, which will allow Windows users to manage their boxes with the same kind of ease that Linux folks have enjoyed for the past 15 years. Or maybe Microsoft will steal the show by extending its Store with similar capabilities.

Either way, if you are keen on working smartly, without distractions, then you might want to consider Chocolatey in your arsenal. Naturally, you should start with test boxes first, as this is still a rather young project, but the prospect seems quite bright. All in all, I'm pleased. And thanks go to Sylvain for the recommendation. Off we go.

Cheers.