“If only there was some way to quickly and silently install applications and tools on my windows machine.”
Chocolatey is kind of like an apt-get, but for Windows. It is a machine level package manager that is built on top of NuGet command line and the NuGet infrastructure. Jason Jarrett recently described it as the free/OSS windows app store. What that means for you is that you can install and update software (applications and tools) on your machine with a few keystrokes and chocolatey does the rest!
Just how easy is it to install an application? From the command line, PowerShell, or Package Manager Console in visual studio you can type something like:
and watch it download and silently install WinDirStat on your machine.
A picture is worth a thousand words in this case:
If you want to try a tool (something that doesn’t actually install on your machine), try baretail, nodejs, or ravendb.
Creating Packages is also very simple: https://github.com/chocolatey/chocolatey/wiki/CreatePackages
Below is all that is required to install WinDirStat on your machine.
Install-ChocolateyPackage 'windirstat' 'exe' '/S' 'http://windirstat.info/wds_current_setup.exe'
Include chocolatey in your development environment setup! https://github.com/chocolatey/chocolatey/wiki/DevelopmentEnvironmentSetup Check out a living example - https://github.com/davidalpert/nuserve#readme
What can I do with chocolatey? Since it uses PowerShell, you can do nearly anything you can do with .NET. Install applications, download tools and put them on the path, set up contributors machines for hacking on your code, install powershell commands, etc. Your imagination is the limit!
What’s your best example of the power of chocolatey? One line Ruby DevKit install. Seriously. http://groups.google.com/group/rubyinstaller/browse_thread/thread/8245c53f990d1ea6
I’m convinced! How do I install chocolatey? We try to make that simple as well. Open powershell, make sure execution policy is unrestricted (Set-ExecutionPolicy Unrestricted), and paste
iex ((new-object net.webclient).DownloadString("http://bit.ly/psChocInstall"))
I have included tools (executables) in my nuget.org packages, like Statlight and Fubu. Can I use chocolatey to “install” them? Yes, just call install like normal, it will check chocolatey.org first and then nuget.org. If it finds an executable in the package, it will automatically put it on the path.
How is chocolatey different from other windows machine package managers? It has PowerShell instructions for how to download native installers from the distribution source and install applications on your machine. It uses PowerShell so you can give it any instruction you want for install and configuration. It automatically makes batch command file links for executables you have included in your package or have downloaded to the package directory with the PowerShell script.
Is chocolatey awesome? I’m biased, but YES!
Is chocolatey version 1? Not yet, we have a few things going into the roadmap and enhancements being logged: https://github.com/chocolatey/chocolatey/issues
I’m not convinced, where do I find more information? I’ve listed quite a few resources below. I am likely missing some.
Chocolatey In Action (11 apps/tools in less than 7 minutes!): http://www.youtube.com/watch?v=N-hWOUL8roU
Create a Chocolatey Package: http://www.youtube.com/watch?v=Wt_unjS_SUo
This dates all the way back to March 2011. Chocolatey has been actively worked on for awhile…