45
Automating Windows Setup via Chocolatey
When you're a software professional, 1 thing you must've dreaded is setting up a new Windows machine (as in a development environment). This might be as the setup either needs downloading multiple .MSI / .EXE files of the required applications or using the Microsoft App Store to install (personally I believe it's a little off the mark compared to the Linux/MacOS).
It's also compounded by the fact Windows systems are regarded relatively volatile so we never re-touch/re-configure applications once installed. You also must've surely wondered why Windows trails Linux/Mac OS when it comes to Command Line. Agreed, PowerShell changes most of that but learning a new syntax can be a little harrowing.
What if I told you this could be solved permanently via CLI? Enter Chocolatey to the rescue.

Chocolatey is a package manager specifically designed to solve these very problems for Windows OS. Consider it equivalent to
apt
, dnf
or brew
that'll ease work considerably, so much that you might never go back to tedious manual methods again.Set-ExecutionPolicy
, here is an excellent page to get you started.- Windows 7+ / Windows Server 2003+
- PowerShell v2+ (Not PowerShell Core, minimum is v3)
- .NET Framework 4+ (installation attempts to install .NET 4.0 if absent, minimum is v4.5 due to TLS v1.2)

choco --version
.And that's all when you prefer the vanilla install but if you like to dive deeper, you'll quickly realize a few concerns.
Lets answer the 1st two questions.
Number 1 is pretty simple, you just execute
choco install vlc={version}
and relax. Number 2 can be a little bit tricky but a handy way is to use the Packages.config which is an XML file containing the list of applications we want to install. Now the command becomes
choco install {path-to-file.config} --yes
On a fresh Windows 10 machine before this, it took me 2-3 hours to download & install the exes with atleast 70+ clicks (mostly clicking Next on GUI installers😛)
Now it took me ~35 minutes, which could be even lesser once we've the
.config
files ready as mentioned above.Hope this guide helps you save time/effort similarly.
What are the ways you use to setup Windows environments?
45