Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I write software for a company with global distribution sites. The software runs on various Windows (server 2003) servers located throughout the world.

Users run the software by accessing it from shares on the servers. Each server runs a suite of services that form the infrastructure of our application.

When we do an upgrade we tend to perform the following task on each server

  1. Stop all the services
  2. Copy the new binaries from a central location to the server
  3. Run any database update scripts
  4. Start the services
  5. Cross our fingers and hope everything has worked.

This is a very manual, tedious, time consuming, error prone operation.

I was wondering if someone could recommend software to automate our release procedures?

I'd really like a 'rollback' feature, and the ability to schedule releases.

All recommendations welcomed.

share|improve this question

closed as off topic by Mark Henderson Jan 16 '12 at 3:52

Questions on Server Fault are expected to relate to server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

The Microsoft solution is SCCM, formerly SMS. What's your budget? It isn't free, but you didn't say you need a low-cost solution.

share|improve this answer

I have used CFengine to achieve this but that was on Linux. I think CFEngine supports windows TOO, but I think its a paid version. you can use that to run scripts or recipes across all the servers.

share|improve this answer

If you're looking for a free solution, you can try PDQ Deploy (our product). It limits you to running only one action per deployment, but you could easily use a batch script to perform your multiple steps and just use PDQ Deploy to run the .bat on your servers.

share|improve this answer

I use Inno Setup (freeware) for this kind of thing. While at first it looks like little more than a simple installer it actually has a vey open-ended scripting language that can perform very complex tasks. Doing what you describe is a breeze. The only downside for me is that the scripting is based on Pascal, which I don't normally program in.

share|improve this answer

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