Do you need an easy way to improve your team’s new employee onboarding or just a way to make your life easier? Use a package manager with Windows.
Sourcetree allows setting up and integrating into repos that follow this model. Clicking the Git-flow / Hg-flow toolbar button will give you access to actions for starting or finishing features, releases or hotfixes depending on current state of repository. Millions of users globally rely on Atlassian products every day for improving software development, project management, collaboration, and code quality.
Unfortunately Windows doesn’t have an official package manager, so many Windows users install applications manually. That habit is rooted deep and for a long time I also used to install all my applications manually when using Windows. Even when I already knew of the existence of Chocolatey and other package managers.
Chocolatey is a package managers for Windows. Chocolatey works with all existing software installation technologies like MSI, NSIS, InnoSetup etc. and also works with runtime binaries and zip archives. Pretty much any application can be installed with Chocolatey.
All available applications are listed at Chocolatey’s home page.
Installing Chocolatey is easy. Just copy/paste a single command to Command Prompt.
- Run Command Prompt as administrator
- Install Chocolatey
Check full installation instructions from Chocolatey installation instructions page.
Install packages with Chocolatey
Before installing the packages it is recommended to install all Windows updates, especially if using older computers with factory installation. Some installations (e.g. Docker) might fail if there is too old Windows version.
Some installations recommended to run Command Prompt as administrator.
All packages can be installed with a single command.
Package names can be found with search from Chocolatey home page or from command line.
Example command will install Cmder, Visual Studio Code, Visual Studio 2017 Professional, Git, Google Chrome, Insomnia, Azure Data Studio, Docker, Notepad++, Putty, WinSCP, NVM, 7zip, Slack, SourceTree, HeidiSQL, Libre Office and WhatsApp.
Most of the applications will install nicely on the background. Some applications might open a window, but those won’t prevent other applications from installing. For example, Insomnia opened and SourceTree showed a login window.
Some packages are installed under Chocolatey’s
lib folder, e.g. Putty was installed to
C:ProgramDatachocolateylibputty.portabletools and some are installed to a custom installation path, e.g. Cmdr was installed to to
Installation of applications in the example took around 20 minutes and in the end Chocolatey displays a list of installed packages:
Installed packages can be later viewed with list command. (–idonly will print only package names)
Export installed packages to another computer
Chocolatey supports installing applications with packages.config file, but unfortunately Chocolatey doesn’t have a command to create the config file from local packages.
One easy way to export installed packages is to create a PowerShell script that has an install command for each package. Hbada chair parts.
Sourcetree Portable Generator
Hopefully some day Chocolatey will have a functionality to export packages.config file.
Upgrade applications with Chocolatey
Besides installing an important feature is upgrading. All applications installed with Chocolatey can be upgraded with a single command:
Naturally some applications have automatic upgrades, but Chocolatey will notice if a newer versions is already installed and it will skip the upgrade for that application.
Sometimes failures are errors in the installation scripts and those are usually fixed pretty fast. In case of errors, check conversations from that package’s Chocolatey page. (LINQPad from the example)
Other important installations that can be installed from command line
Extensions for Visual Studio and VS Code can also be installed from command line. Especially installation of VS Code extensions is extremely easy.
Things to do manually
There might still be some things that have to be installed manually, but when Chocolatey handles most of the bulk installations few manual installations do not feel so bad.
Even when Visual Studio is installed with Chocolatey, I install required packages manually with Visual Studio Installer. This way I can choose better what I want to install. All packages can be installed automatically by using different parameters and component identifier.
E.g. Install VS Professional with Git component pre-istalled.
Microsoft has a nice collection of PowerShell scripts to setup whole develop box in GitHub repository windows-dev-box-setup-scripts.
From there you can check more examples how Visual Studio is installed with Chocolatey.
SQL Server installation can be skipped completely as it works nicely with Docker. At least most of the time.
Windows Subsystem for Linux
Windows Subsystem for Linux is also easiest to install manually (WSL Windows 10 install guide).
Other package manager
If you are not fan of Chocolatey, there are other package managers available:
If you can automate fully or partially the computer setup for new employees, at least that part of the employee onboarding will be much more pleasant, as new employees don’t have to use the first day to download setup-packages and clicking through setup windows.
Naturally some may want to install applications manually or however they are used to. Still they can benefit from the setup scripts as they can check all required applications from the scripts.
If you want to take things even further you can check BoxStarter and setup scripts from Microsoft.
All in all, getting started with fresh OS installation by installing apps with package manager is much more comfortable than using lots of time with manual installations.