VCL, though running on top of OpenStack, is currently providing students with access to 100% Windows 7 based virtual machine instances. Some day, when a class calls for it, I'm sure we'll provide students with access to Linux images, but for now it's completely Windows.
This means that I've had to learn a lot about the Microsoft ecosystem, and considering I haven't used Microsoft operating systems since Windows NT, there is a lot of information to cover.
During the learning process one of the more interesting projects I've come across is Chocolatey, which is an apt-get or yum-like software package manager ' but for Windows!
One of the best things about Linux distributions such as RedHat, Ubuntu, or Arch Linux, among others, is their software package managers. For example, in RedHat and Ubuntu installing software (such as the git source code management system) is as easy as:
$ apt-get install git # in Ubuntu
$ yum install git # in Redhat
and now, with Chocolatey, it's just as simple on Windows too!
C:> cinst git
Here's an example of how to install git via Chocolatey:
Getting Chocolatey itself up and running is relatively quick and painless, assuming you have .NET 4.0 already installed. It's a simple cut-and-paste powershell command, as described right on the front page of the Chocolatey website:
C:> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%chocolateybin
I'm experimenting with Chocolatey to see if I can integrate it with the veewee virtual machine image building system, to make it easier to install software into automated Windows builds. This is an effort to get away from 'golden images' ' which I am not a fan of ' towards virtual machine images that can be automatically (and quickly) built in a scripted, perhaps daily, process. If I can use Chocolatey to install or package software for Windows, it will help to make part of this build process easier.
As always, suggestions and criticisms are welcome in the comments. 🙂