TIP: Parallel IS12/2008 Builds Using TFS

So let’s say your rolling with TFS/MSBuild using VS2005 solution integration and everything is building just fine. Suddenly a new version of InstallShield comes out.

Your really curious to try it out but your afraid of introducing instability to your production builds. Try this…. Parallel Builds.

InstallShield Stand Alone Build can be installed safely side by side. Install the latest SAB on your build box ( or bring up another build box with SAB 2008 )

Branch the project contain your .SLN/.ISPROJ/.ISM. In the branch, checkout the .ISPROJ file and modify the Import Project statment to point to $(MSBuildExtensionsPath)MacrovisionIS2008Macrovision.InstallShield.targets.

Go to TeamBuildTypes and clone your build type to a new name. For example Client becomes Client-2008. Update the workspacemappings.xml to point to your new branch in TFS source control. Modifiy your newly cloned TFSBuild.proj and update the DropLocation property aswell as the Description and BuildMachine ( if changed ) project extensions.

Finally check it all in and do a build. If you did it right, your build should run like always but in a seperate build space, use the new SAB 2008, automatically upgrade the ISM source to 2008 schema and drop the build in your archives in a side by side location.

Now you can safely regression test your installation without committing to using IS2008 since your project source is still in IS12 format. If you make changes to your project, just merge them to the 2008 branch and rebuild. When you are confident that everything is good to go you can update the .ISPROJ file on your main branch and start doing dev using IS2008.

TFS and InstallShield just makes it too easy…