Upgrading from TFS 2010 Beta 2 to Release Candidate

This was an easier process that I thought, although I had to uninstall TFS 2010 and all the Visual Studio 2010 products before upgrading.  There was a little corner of my mind that thought it might not work.  I actually upgraded the copy on the VS2010 Beta 2 VPC that you can download from MSDN.  Instead of backing up the SQL database, I backed up the VHD before I removed any software. 

I followed the “TFS Upgrade” instructions from TFS 2010 Beta2 to RC Upgrade Guide (v1.02).pdf, which is hosted on Brian Krieger’s blog at blogs.msdn.com/bkrieger/archive/2010/02/03/tfs-2010-beta2-to-rc-upgrade-guide.aspx.  After reading it, I felt like there was something left out, but everything went swimmingly.  After uninstalling and reinstalling TFS and Visual Studio 2010, I ran the TFS 2010 (x86) installer.  After a reboot (required by the .NET 4.0 installer), it finished installing TFS.  At the final wizard pane, I clicked “Configure”, and one of the options was “Upgrade”.  I clicked on the “Upgrade” link, and ran through the process.  Easy as pie.

image

The wizard had about 4 or five more steps, but they were straightforward.  I made sure to use a reporting userid that wasn’t “Local Service” or “Network Service”.  Everything else upgraded with nearly no input on my part.  Finally, I got the successful upgrade screen:

image

At the end, I rebooted.

Here are the instructions I followed:

TFS Upgrade

1.  Ensure you have a backup of existing SQL databases (TFS, SharePoint, and Reporting)
2.  Uninstall Team Foundation Server 2010 Beta2 components (in-place upgrade) 

  • Use Add/Remove programs from Control Panel to uninstall TFS Components via “Microsoft Team
    Foundation Server 2010” 
  • Select “Uninstall” to remove all TFS components from each server where Beta2
  • NOTE:  You may see a program in the Control Panel called “Microsoft Team Foundation Server 2010
    Object Model”.  This is an object model used by products connecting to TFS (e.g. Visual Studio and
    Team Lab).   This component will be uninstalled or updated by the installation program for those
    products.  You should not uninstall this component during the TFS 2010 upgrade process.

3.  If using a separate SharePoint farm uninstall TFS 2010 Beta2 extensions and
install TFS 2010 RC extensions
4.  Run the TFS 2010 RC setup and select the Upgrade from Previous Version
Wizard

5.  Uninstall and reinstall the additional components located on separate machines

  • Team Foundation Build Services from Control Panel via “Microsoft Team Foundation Server 2010” 
  • Test Agent/Controller from Control Panel via “Microsoft Visual Studio Test Controller 2010”
  • Test Controller (if you are using Team Lab):
    • Take a backup of the XML file C:\Program Files\Microsoft\Visual Studio 10.0\Common7\IDE\QTControllerConfig.xml (in the case of a 64 bit machine the location will be C:\Program Files (x86)\Microsoft\Visual Studio 10.0\Common7\IDE\QTControllerConfig.xml. This will ensure that you can go back to the original state if you want to rollback the upgrade. Alternatively, if the controller is running on a VM, take a snapshot before you continue.
    • Uninstall the Beta2 Test controller and Install RC Test controller in the same folder, so it will use the old settings.
    • Before configuring the test controller and connecting it to TFS either:
      • Copy the QTControllerConfig.xml and override the file that came from the installation. 
      • If you are trying to use a new machine for the new controller, use the same machine name. Otherwise you will need to go to all the test agents that were connected to this controller. For Lab Environment, you can stop them and edit the controller in the capabilities dialog, and then start the LE again and Lab will configure the agents automatically for you.
    • Walk through the default options during Install. Configure the controller with the upgraded
      TFS.

At the end, I did have to remove the Beta 2 Power Tools because they have an object model conflict (the 2010 RC Object Model changed slightly, but enough to cause problems).  If you see anything like:

Could not load type 'Microsoft.TeamFoundation.Client.TeamFoundationServerBase' from assembly 'Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

Go check out Grant’s posting at blogs.msdn.com/granth/archive/2009/12/07/tfs2010-object-model-api-changes-after-beta-2.aspx.

I also had to upgrade my existing CodedUI tests for the VS2010 upgrade to RC.  There is a description at blogs.microsoft.co.il/blogs/shair/archive/2010/02/14/howto-upgrade-codedui-test-from-beta-2-to-rc.aspx.  I ran the utility as admin, although there shouldn’t be any reason to do so—I just needed to check out the project first:

image

There are some other steps, like uploading new build templates and uploading the RC process templates, which are described at the end of the upgrade guide.