Terry : Chocolatey

Chocolatey - package manager for Windows

What is Chocolatey?

Chocolatey is a global PowerShell execution engine using the NuGet packaging infrastructure. Think of it as the ultimate automation tool for Windows.

Chocolatey is like ATP (apt-get) for Debian/Ubuntu, pacman for Arch Linux and YUM for Fedora/RHEL/CentOS, zypper for openSUSE, but built with Windows in mind (there are differences and limitations). For those unfamiliar with APT/Debian, think about Chocolatey as a global silent installer for applications and tools. It can also do configuration tasks and anything that you can do with PowerShell. The power you hold with a tool like Chocolatey is only limited by your imagination!

Install Chocolatey

In cmd.exe

 C:\> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Done!

Uninstall Chocolatey

Should you decide you don't like chocolatey, you can uninstall it simply by removing the folder (and the user environment variable(s) that it creates). Since it is not actually installed on your system, you don't have to worry that it cluttered up your registry (the applications that you installed with chocolatey or manually, now that's a different story).

User Environment Variables: ChocolateyInstall

Chocolatey Directories

Default Chocolatey Installation Directory
C:\Chocolatey

Download cache directory
%temp%\chocolatey

Command Reference

Commands

  • list & search
  • install
  • update
  • uninstall
  • help

Install packages

choco install pkg1 pkg2 pkgN
cinst notepadplusplus 

NOTE: use -force to force install / re-install

 Uninstall packages

choco uninstall package
cuninst package

NOTE: Requires a chocolateyUninstall.ps1 in the package itself to work.

 List & Search packages

 Search packages

choco search packageName
choco search packageName -localonly
choco search packageName -lo

List locally installed packages

choco list -localonly packageName
clist -lo packageName

Update packages

chocolatey update packageName
cup packageName

Update all packages to the latest version

cup all

NOTE: equivalent to apt-get update && apt-get dist-upgrade / pacman -Syu / yum update

Reference

Homepage: https://chocolatey.org/

Source: https://github.com/chocolatey/chocolatey

Wiki: https://github.com/chocolatey/chocolatey/wiki

FAQ: https://github.com/chocolatey/chocolatey/wiki/ChocolateyFAQs