Picture this: you need to install some new software to your Windows PC. Chances are, you'll be heading to a website, trying not to click the junk on the page, and then clicking through a graphical installer, most likely using the default settings.
It's a routine you're probably familiar with as it's barely changed over Windows' lifetime, since software began to be distributed online. Unix systems have an alternative approach though, with software installs handled by package managers which require minimal user input and are often controlled through the command line. There's now growing interest in bringing these benefits across to Windows, through the use of third-party package managers.
We recently took a look at Scoop, which is a simple and approachable package manager solution. That article also contains further discussion of the advantages of terminal package managers over Windows' graphical installers, so we encourage you to read it if you're still new to the concept. Today, we'll explore Chocolatey, which is an alternative Windows package manager with a slightly stronger focus on user-facing desktop applications.
Chocolatey is primarily controlled from the command line. Don't worry if you're new to console applications – type commands as shown in the documentation and you shouldn't run into any issues. Chocolatey also has an optional graphical interface which we'll explore later.
To install Chocolatey, open PowerShell from the Start menu. Next, copy and paste the following line of script and press enter:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
This will configure PowerShell to allow external scripts to run, before downloading and running Chocolatey's installation script. For more details about this process, you should refer to Chocolatey's own documentation. If you're concerned about what the script does, you should inspect it manually before running the command.
Installing programs with Chocolatey
Chocolatey's core feature is the ability to install Windows software with a single command. Instead of having to visit a website and manually click through an installer, you can launch PowerShell and type something like the following:
choco install vlc
This will download and install VLC Media Player to your system, without requiring any action on your part. You'll see progress information displayed in your console as VLC is added to your system. You'll then find it in your Start menu as if you'd run the installer yourself.
Some programs may prompt you to run scripts during their installation. Type "A" for "Yes for all" into the console and then press enter to acknowledge this prompt and complete the installation.
Chocolatey supports thousands of different programs. You can see what's available by browsing the Chocolatey package repository. Some of the most popular options include Chrome, Adobe Reader, Firefox, WinRAR and Skype. The package repository displays the name to append to the "choco install" command to install each item.
Updating installed programs
Chocolatey makes it simple to update the programs you've installed. Run the following command to upgrade every outdated Chocolatey package on your system:
choco upgrade all
You can also pass an app's name to update a single program:
choco ugprade vlc
Chocolatey will check if updates are required and automatically install the new version. If you want to see if updates are available, without installing them, run "choco outdated" instead.
There's a few other Chocolatey commands which you're likely to find useful.
Running "choco list -lo" will display a list of all the programs you've installed. You can run "choco search query" to search the package repository for "query" and display all the matching programs, so you don't even need a web browser to find new software.
When it comes to removing a program, use the "choco uninstall" command, appending the program's name. Chocolatey also does its best to keep track of apps removed in other ways – if you install a program with Chocolatey but then remove it from Windows' Settings app or Control Panel, it should automatically disappear from Chocolatey too.
Chocolately is very powerful and we've only scratched the surface of its features with this article. There are plentiful configuration options for advanced users, as well as the option of running local proxies, caches and package repositories. Chocolately also has paid options for business and organisational use.
Finally, it's worth noting that Chocolatey has an optional graphical interface that helps you interact with your packages and install new ones. As you may expect, installing the UI is done through Chocolatey itself!
Run "choco install chocolateygui" to install the GUI. You'll then be able to launch the GUI from your Start menu.
This gives you a simple graphical interface to view your installed packages, check for updates and customise Chocolatey settings. You can browse the Chocolatey catalogue by clicking "chocolatey" in the left sidebar. Here, you can search for new programs and install them with a single click, avoiding further use of PowerShell if console apps aren't quite your thing.