What Is Chocolatey?
Chocolatey is a command line equivalent for apt-get in Unix based systems to install software from internet on top of your operating system in windows. It is built on PowerShell framework and a bunch of PowerShell scripts that does the job of downloading the packages like MSI, Zip, Nuget, etc. from local shared artifactory type repo, shared drives, files servers or internet.
It expects a two scripts, ChocolateyInstall.ps1 and ChocolateyUninstall.ps1 inside a tools directory and a nuspec file (an xml file same as nuget) outside tools folder. nuspec contains the metadata information of the package. Once you do “chocolatey pack”, it will create a nuget package, consisting these three mandatory and rest other files if required for installation and uninstallation of the package.
So this mean chocolatey in its heart utilize nuget framework for creating the packages.
It has command lines to get the packages from internet, internal repository, file servers, etc. It has its own repository called chocolatey.org which houses packages in hundreds of thousands…
After getting the packages on local machine, it has command line to install them.
Just do choco install “packagename” –source (http, file server, etc.) to install the package on local machine.
Just do choco Uninstall “packagename” will uninstall the package. It keep the details of the packages installed on your machine at C:\programdata\chocolatey \libs folder
Chocolatey vs Nuget
Well the purpose of nuget packages were to share framework or in laymen terms, binary among developers community. So all buddle up and turn into a package in nuget. However chocolatey has been developed with the intention to install packages build on top of nuget framework on the windows operating system.
Chocolatey vs puppet\chef\Sccm
Well to be frank part of the feature of tools like puppet, chef and sccm is to do configuration or installation of software as well. So if you are using chocolatey on top of these configuration tools then you’re doing an overhead and nothing else.
Chocolatey alone for Configuration Management
It is a yes!! If you are using windows cloud and has not configured any tool for your configuration management then chocolatey would be a good choice on top of powershell remote management or cloud management feature.