This is a problem that has been annoying me for some time now - finally wanted to write about it. Feel free to slap me on the wrist if this has already been discussed in another question on Superuser.

Right now, I do most of my software development on some flavor of Windows (XP, Win7, Win8). Typically, I end up setting up a new development workstation for myself every 6-9 months, be it on a new laptop or desktop, at work or home (or because of a hardware fatality). As you might expect, there's usually lots of stuff to install manually, from IDE's to office productivity tools. Very time consuming, tedious, and somewhat inconsistent definitely violates the DRY principle in my mind. I would also prefer to stay away from virtual machine environments for this question.

I'm looking for suggestions on how to automate this. Some requirements: -Assume I already have an install of Windows 7 with all of it's patches and vaccinations. Also assume that I cannot just clone an image of the hard drive. -I want to be able to use a script file of some kind to control what is installed. -The script file itself should just be a text file (or series of text files), something that can be easily checked into version control -The installation script should be smart enough to know where to download an installer for a given application (some sort of network address/URI), I'd be okay pointing to where these lived. -Installing the script engine/executable on the workstation itself is not a problem. -Executing the installation script can happen on the command line. -The only thing I'm really trying to avoid is having to setup a lot of additional infrastructure to support this (setting up a network drive is okay, setting up a couple of additional servers isn't). -Ideally, this solution would be relatively portable, something that I could use at home or work. -The solution should be inexpensive (< $100), if not free altogether, aside from my time to write the scripts, etc.

Something naively, this feels like something akin to build/project scripts (Make, Ant, Maven, etc.) crossed with shell scripts. Would PowerShell be suitable for such a task? My first thought was to use Puppet/Chef, but I'm not sure how well suited those are for a Windows environment?

Just looking for thoughts, suggestions, any helpful advice.


  • How about installing everything from scratch and then creating a shadow protect backup? – Matt H Nov 15 '12 at 0:43
  • Hey Matt, forgive my ignorance, is a shadow protect backup a product or just a pattern of backup? Googling seemed to indicate the former. – DTS Nov 16 '12 at 14:10

NiNite will install the freeware stuff. I was looking around myself about script-installing the paid stuff. But: do you really need / want to spend a lot of time automating a moving target? If you're anything like me your apps and tastes evolve over time.

Dropbox + http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html is great for keeping settings in sync between computers and new installations. Move the settings files to Dropbox an drop a Symlink in where they came from. You could probably script that bit. Ah do. I should probably script that bit. Derp.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.