Chocolatey - Package Management for Windows.

Between 6 months to a year, I start to feel that my Windows installation is running sluggish. Is there some malware running somewhere? Is Windows just getting slow? Either way, I like a fresh installation.

Chocolatey to the rescue of clicking next a thousand times.

What is Chocolatey?

Chocolatey is a package management solution for Windows, similar to npm, apt-get etc. It means that you don’t have to sit there searching/downloading/running and click next next next, for every individual piece of software you want to install on your computer.

My Disaster Recovery strategy

Chocolatey is also part of my DR strategy, if my laptop goes bang. It going to take a day or 2 for Dell to come out and fix my laptop, so wherever I am I can drive to a local computer shop, by any decentish laptop and get up and running in the time it takes for chocolatey to run. Most of my important files are synced to OneDrive / NextCloud. So once those have synced I’m back up and running.

Installing Chocolatey

You will need PowerShell installed, and open up an elevated instance of PowerShell (Run-as administrator).

Copy and paste the following into your PowerShell prompt, and after about 30seconds you will have chocolatey available on your system.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

You will need to shutdown and restart powershell to be able to first use chocolatey.

My Chocolatey script

The following script is what I used to get my main windows development environment up and running.

It is possible to run chocolatey with multiple applications on one line i.e choco install app1 app2 app3 but this doesn’t to make much of a difference, as all the applications are downloaded & installed in sequence anyway. It would be good for the downloads all to happen as the installations continue. So I’ve separated all the commands out just for readability.

# Install git
choco install git -y

# Install PowerToys
choco install powertoys -y

# Install Visual Studio Code
choco install vscode -y

# Install WSL
choco install wsl -y

# Install Ubuntu 18.04 for WSL
choco install wsl-ubuntu-1804 -y

# Instal Visual Studio 2019 Professional
choco install visualstudio2019professional -y

# Install PowerShell Core
choco install powershell-core -y

# Install Azure CLI
choco install azure-cli -y

# Install Azure PowerShell 6.9.0
choco install azurepowershell -y

# Install Node.js
choco install nodejs -y

# Install JetBrains dotPeek
choco install dotpeek -y

# Install OpenConnect VPN
choco install openconnect-gui -y

# Install Google Chrome
choco install googlechrome -y

# Install firefox
choco install firefox -y

# Install Onenote
choco install onenote -y

# Install freefilesync
choco install freefilesync -y

# Install VLC
choco install vlc -y

# Install mp3tag
choco install mp3tag -y

# Install telegram
choco install telegram -y

# Install Office 365
choco install office365business -y

# Install Microsoft Teams
choco install microsoft-teams -y

# Install PowerBI
choco install powerbi -y

# Install mRemoteNG
choco install mremoteng -y

# Install Teamviewer
choco install teamviewer -y

# Install Windows Terminal
choco install microsoft-windows-terminal -y

# Install Remote Desktop Connection Manager
choco install rdcman -y

# Install 7-Zip
choco install 7zip -y

# Install Tomighty
choco install tomighty -y

# Install Calibre
choco install calibre -y

# Install WinDirStat
choco install windirstat -y

# Install Logitech Options (for my mouse/keyboard)
choco install logitech-options -y

# Instal SQL Server Management Studio
choco install sql-server-management-studio -y

# Install paint.net
choco install paint.net -y

# Install qbittorrent
choco install qbittorrent -y

# Install RescueTime
choco install rescuetime -y

# Install Docker Desktop 
choco install docker-desktop -y

# Install OBS Studio
choco install obs-studio -y

# Install Voicemeeter Banana
choco install voicemeeter-banana

# Install Cryptomator
choco install cryptomator -y

# Install zoomit
choco install zoomit -y

Add Context Menu to Explorer to open Windows Terminal

Run the following PowerShell in an elevated console:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/lextm/windowsterminal-shell/master/install.ps1'))

Conclusion

Chocolatey is a pretty good solution for me, it doesn’t have ALL the software that I need. But it probably has 95% of what I use.

I wish there was a central way to keep configuration and logins. But at least this gets me up and running pretty quickly for a while.