October 27, 2011

How to setup Build Automation for .Net Projects on Windows 2008 Standard R2 - 64bit?

Installing Cruise Control.Net & NAnt and setting up the Build Automation for .Net projects is pretty straight forward on a Windows Server 2003 but extra care should be taken while configuring it on Locked Down environments like Windows 2008 R2 Server.

Here you go with few simple steps

  1. Install IIS using "Add Roles"
  2. Install Visual Studio 2010 (or the version required for your .Net Application)
  3. Download and Install Cruise Control.Net version 1.6.7981.1. By default it goes to "C:\Program Files (x86)\CruiseControl.NET"
  4. If you are attempting to use a domain account (say domain\user1) for CruiseControl.Net, then start "CruiseControl.NET Server" from Windows Services panel using the 'user1' account and grant full control to same user for the C:\Program Files (x86)\CruiseControl.NET folder 
  5. Download and extract apropriate version on NAnt to C:\Program files (x86) path.
    Also add C:\Program Files (x86)\NAnt\bin path to the PATH environment variable to access NAnt from the command line.
These settings should work for just compiling the Project source but if you are aiming to get the product source from source control management (SCM) tool and build the installer as well, then you need to install SCM tools (say TFS) and Installer compiler (say Stand Alone Builder in case of InstallShield)

October 14, 2011

Rollback in TFS 2010

Rollback or Undo a particular changeset is always something that comes your way to quickly revert the changes that has gone into the source control.
Though TFS 2010 have command line options (say tf rollback /?) but a GUI can always be handy.
August 2011 update on TFS 2010 Power Tools have a solution to the long waited "GUI for Rollback"

Click here for more details on Rollback in TFS  and you can download and install TFS 2010 Power Tools (along with Team Explorer).
After installing TFS 2010 Power Tools, you will have Rollback context-menu by right clicking the branch or the changeset in the history.