Chocolatey is a CLI package manager for Windows. It doesn’t have a basic installer — due to some idealistic belief system — so I decided to be snarky and make one myself:
https://github.com/jstine35/ChocolateyInstaller/releases
Enabling Users is What I do
I’m a big fan of Chocolatey. It offers a brand of CLI fan-service on Windows OS that hasn’t really been available previously. But it’s not without some blemishes. Chocolatey follows a development paradigm called a Directing Attitude. This means that the software developer(s) has a set of idealistic views that they directly impose on the user. Chocolatey likes to impose this worldview immediately at the point when you try to install the software. The installation instructions at the time of my writing this blog look something like this:

… clearly that’s a bit of work and a roundabout process. And that bit at the end about “safety” probably deserves a blog post all to itself. So why in the world is this software so oddly difficult to install? Fear not, there’s a reason:

… and then it continues on a rant about how using Powershell to install the program ensures that Powershell is installed, and that’s why this is such a brilliant install process. But here’s the thing: an installer — such as an MSI or the EXE I’ve posted above — can perform the same check and report the same error if Powershell is missing. So clearly this can’t be the reason for all this hooplah.
Eating Its Own Dogfood
The manifesto ends with the following bits, which I’m pasting as quotes since Chocolatey’s website currently has some broken CSS layout that makes taking a screenshot of the message difficult:
The installation actually ensures a couple of things:
- PowerShell is installed and is set up properly.
[.. lengthy rant about Powershell’s importance omitted…]
- You are open to doing things in a slightly different way, e.g. working with packages as opposed to installers.
Some folks might say this means we are asking folks to learn to ‘do things “our way” because we know better’. It’s less about “knowing better” and more about learning that Chocolatey does things in a slightly different way. It does that because the world of software is not just installers. Software goes beyond Programs and Features and a system that can track all of that also needs to as well. Package management is not a new concept in the world of software, perhaps just newer to Windows. If folks are not open to that, then they are probably not going to be open to Chocolatey. And that’s completely fine. Chocolatey is not for everyone. We may eventually get to more of a masses approach. Right now we are targeting a specific type of audience – those that are looking for better ways to manage software on Windows and open to looking for the best process of doing that.
We already clarified that the first one about Powershell is nonsense. That just leaves the second, and it very quickly dives right into Directing Attitude and is even complete with a self-justification that they’re not directing the user because they know better, but because they want us to learn something. See? They’re not doing us a service because we’re dumb, they’re doing it because we’re uneducated. In this case, apparently we need to learn how to open a Command Prompt and paste text — because somehow that “reflects” on the way Chocolatey works, in some “educational” fashion.
FYI, there are so many things on the internet that tell you to copy some text and paste it into a command prompt. I’ve known plenty of people who have done all kinds of horrible things to their PC by doing exactly that. I assure you, no one learns anything by opening a command prompt and pasting text — except perhaps how to type the word command and how to hit ctrl+V.
Did you learn anything about your PATH environment variable? Did you learn how or why that’s critically important to the entire concept of Chocolatey, and why it’s the #1 thing that sets Chocolatey apart from classic Windows software installations? No? Don’t feel bad. I’m not even sure Chocolatey quite realizes that, yet. They seem to think what makes them special / unique / useful is that they don’t have a GUI.
And so I made a chocolatey installer — meant for the rest of us who know how to both use a command prompt and how to enjoy the luxury comforts of software aids that make our lives easier too.
