Monday, December 19, 2011

Installing Sitecore with PowerShell

I have more than 30 Sitecore instances on my laptop, and I often need to have a clean of a specific version/revision of the product done quick.

With all the love PowerShell is having around Sitecore community, I have dreamed up a quick install script that performs the following actions:

  • reads incoming parameters (you can just say –latest or –recommended) and parses versions.config file to validate the version
  • downloads a manual distributive from a local network share to a temp folder
  • unzips it in a target web root dir
  • creates an app pool
  • creates an IIS site
  • modifies hosts file
  • modifies web.config and connectionStrings.config
  • attaches the databases
  • opens IE with the newly installed instance

Check out this quick demo:

What I really like about this script is that it simply demonstrates how easy it is to install Sitecore in a basic dev environment. It is a rather straightforward and transparent process.

How do you install Sitecore on your machines?


Dan Solovay said...

Alex, this is very nice stuff. Can you post the PowerShell script itself?

Mark Ursino said...

Awesome work Alex! Going to try it out first thing in the morning!

Ivan Buzyka said...

Where is that script? :)

Adam Najmanowicz said...

Great job! We did something similar here in Cognifide as a part of a Rapid Deployment Lab. In our case we wanted to be able to provision servers quickly to enable scalability in a cloud environment, so we're also downloading the artifacts and installing .net 4.0 if missing, but yours is much more streamlined for a developer scenario, which is really, really cool!

Jan Hebnes said...

Thanks for sharing.

We have used shell script for the process of deploying for all our client environments at 1508 A/S since 2009.

A Sample of our full deployment proces can be seen at:

And the full set of utilities has been released to public at

Jan Hebnes, Head of Development at 1508

Alexander Doroshenko said...

This is exactly what does. It works not just for production servers, but also for provisioning development environments. We've been using it for more than a year already :)