PLEASE NOTE: This is for Visual Studio 2010. For the VS2012 version, please click here.
Mid-way through the series, Visual Studio Service Pack 1 was released. How amusing! So this is an update to incorporate the Service Pack 1 changes.
See Part 5 for the Source Code and scripts.
Do not use this code under any circumstances (should just about cover the possibilities!).
I am using an undocumented API in order to construct the Physical Environment in Lab Center and set up the Test Controller Topology. I have tested the registered environments using MTM, use it often and come to no grief. My Lab Center and TFS system appears to be stable. But you use this at your own risk! At the very least, it would be sensible to do a full back up of your TFS Installation and ideally test this prior to production deployment. Use at your own risk
Parts 1, 2, 4, 5 are the same: nothing changes. The only changes you will need to make are down to the installation automation in Part 3.
I will not be providing an updated script to do this but if you have been following the series and want to stick to the same structure, you need to make Service Pack 1 available under the VisualStudioGumpf directory by unpacking your ISO there:
You will probably also need to create a new BAT file to launch “setup.exe /passive” from the Service Pack 1 location. Drop this into your Golden VM at the usual place:
And then write a new function to launch that from PowerShell.
InstallServicePack1 $VmWareConnectionParameters $VmWareClonedImageLocation "$DomainName\$DomainUsername" $DomainPassword $VisualStudioGumpfUnc;
If you get problems – try it manually first! The only part where I do anything undocumented is to create the Physical Environment. If you happen to get a situation where you can do this registration process manually, but not automatically, please let me know so that I can fix it
Source Code Changes
I have no idea how many lines of white powder I had up my nose when I wrote this comment:
// I am not going to check this here but only one machine in an environment can be of a given role. Dictionary agentsToAdd = new Dictionary(); Dictionary machineRoleInfo = new Dictionary();
But it is clearly wrong!
Apart from having to install Service Pack 1, I haven’t had to make any changes: the environment still gets created and all appears normal. You should be able to target your created environment from MTM:
And run your Unit Tests, Integration Tests and CodedUI Tests on it: