We have recently upgraded our installation of TFS from TFS2005 straight to TFS2008 SP1, this involved quite a number of steps, collating a lot of information from various sources and a lot of dry runs in a virtual test environment before we were happy to do an in-place upgrade on the production servers. If you are researching a similar deployment then hopefully the following will upgrade process will be of some use to you.
iMeta's TFS deployment consists of an Application Tier server which is also hosting WSS and a separate SQL Server - I don't know how much of this process holds true for single server deployments.
Do remember to test this process out in a isolated environment before trying it with any live servers and also make sure you have a rollback plan in case something does fail!
Anyhow here goes:
Create an ISO image with all the tools on in that we are going to need to perform the upgrade. The ISO should to contain the following:
Before burning that onto a disk, slipstream the TFS2008SP1 install into the AT folder:
- To slipstream the install:
- Extract the SP using
- TFS90sp1-KB949786-ENU.exe /extract:[destination]
- Install the service pack into the AT folder using:
- msiexec /a [RTM_AT_FOLDER]\vs_setup.msi /p [SP1_FOLDER]\TFS90sp1-KB949786.msp TARGETDIR=[RTM_AT_FOLDER]
- That will update the AT install with the SP1 bits
Get that lot onto an ISO and you’re ready to go. VMWare Workstation comes with a windows implementation of mkisofs which you can use:
The contents of the ISO looks like this:
Take a backup of the TFS databases on the Data Tier, including the Analysis Services Database.
Install powershell, then install the Visual Studio 2005 Power Tools and run the Best Practices Analyser.
Ensure that the best practices are being met before we start the upgrade. Don't attempt the upgrade without addressing any issues that the BPA uncovers.
Uninstall the following from the TFS app tier
- Microsoft Visual Studio Team System Web Access 2005
- Microsoft Visual Studio 2005 Premier Partner Edition
- Microsoft Visual Studio 2005 Team Explorer
- Microsoft Visual Studio 2005 Tools for Office Runtime
And uninstall from the TFS data tier:
- Microsoft Visual Studio 2005 Team Foundation Server Data Tier (sp?)
It helps, trust me.
NB. The upgrade of the TFS databases uses a lot of disk space on the data tier server, expect the Version Control database’s log file to grow to the same size as the Version Control database, also expect TempDB to grow to a number of GB in size whilst the upgrade is running. Ensure the data tier server has sufficient free space to cope with this growth, ensure that there is enough space for the databases to at least double in size on the drive(s) holding the databases.
Login into to AT as the TFS setup account
Run the setup.exe in the AT folder.
Enter the product key and verify the destination folder:
Verify that it correctly detects the existing data tier server, in our case SQL01:
Be happy that you have a backup of the SQL Server, this is a good point to double check the backup succeeded.
Make sure the system passes the pre-reqs:
Now enter the passwords for the TFS Service and Reporting Accounts when prompted.
Then, enable TFS alerts and enter the address of your SMTP server and from email address:
Ready to go, click install and wait (database upgrade takes can take a number of hours) until....
The installer writes a log file into %TEMP% as it goes, and this gets updated with much more regularly than the progress bar.
Then reboot.
Procedure taken from:
http://blogs.msdn.com/sudhir/archive/2007/05/31/upgrade-2005-with-wss2-0-to-orcas-wss3-0.aspx
Nb. I have renamed the install executable from SharePoint.exe to SharePointWithSp1.exe, to distinguish from the RTM WSS release which is also called Sharepoint.exe
Extract the SharePoint install into the folder D:\sharepoint
Open d:\sharepoint\global\wss\sts.cab and extract prescan.exe into d:\sharepoint
(Taken from http://blogs.msdn.com/joelo/archive/2007/05/01/your-friend-prescan-what-it-does-part-2.aspx )
Run prescan.exe /all and review results, the log file is written into %TEMP%, the desired result is “Scan finished without failure”:
If you see errors check this article to try to resolve the issues:
http://blogs.technet.com/wbaer/archive/2006/12/22/prescan-errors-what-they-mean.aspx
Run d:\sharepoint\setup.exe, accept the EULA, and then choose the perform an automated in-place upgrade:
Server type, should be the default and only option, Web Front End.
Click “Install Now”, wait for the install to finish.
Leave “Run configuration wizard” checked and click close.
In a few moments the wizard will launch:
Acknowledge the warning that appears about needing to restart services.
Also take note of the next warning if you have Windows Sharepoint Language Template Packs in use.
Make a note of the port number it has chosen for us, and ensure that NTLM authentication is chosen:
Verify all the settings are correct and click install.
If there are multiple servers in the farm it’s time to upgrade the others now.
Wait for the upgrade to complete:
Wait for the Configuration Successful message:
The installer will then open a browser to show the status of the database upgrade that is running, it should say “Job in progress”. You can see how far through the process it has got by inspecting the “Step within the action” and “total steps in this action” fields, expect the job to take around ten to fifteen minutes to complete:
Wait until it says, upgrade succeeded:
Next need to install the SharePoint Extensions for TFS. On the install media in the WssExt directory run the setup.exe. Note the WssExt installation is not touched by TFS 2008 SP1.
This is a simple setup, agree to the EULA, accept the default and you should be ready to install. Click install, wait for the install to complete:
Now we need to tell TFS the new WSS Admin URL, as the upgrade will have changed it.
Run Sharepoint Central Administration ( Start -> Administrative Tools -> Sharepoint 3.0 Central Administration ). It will open a new browser window, make a note of the URL in the browser.
Open a command prompt and make the current directory c:\program files\Microsoft Visual Studio 2008 Team Foundation Server\Tools
Then run TfsAdminUtil configureconnections /SharepointAdminURI:[url from browser]
WSS3.0 is now configured.
Firstly you need to install Team Explorer from the TFS 2008 media. In the TFC folder run the setup.exe. Click install, and wait for it to complete.
Next install Visual Studio 2008 Service Pack 1 as it includes required updates to Microsoft Visual Studio 2008 Team Explorer:
Installer is \VS2008SP1\vs90sp1\SPInstaller.exe
Again, agree to the EULA and wait for the install to finish. This one takes a long time but eventually you reach the other end.
Now reboot.
After the reboot we can, at last, run the Visual Studio Team System Web Access 2008 SP1 install, run the setup.exe in the TSWA folder.
Next, next through it accepting the default locations, and wait again:
When it asks, choose a port to put the Team System Web Access site on, the default is 8090 but we prefer 8000:
Use Integrated Windows Authentication when installing on the Application Tier, forms authentication otherwise.
( See the TSWA install guide http://msdn.microsoft.com/en-us/library/bb822178.aspx )
Accept the default cache location,then fill the details of the mail server - this is probably the same information as used earlier during the TFS installer.
Review and click install, then wait for it to complete. Team System Web Access is now installed
Now run IISRESET as the TSWA installer leaves IIS in a bad state.
Team Foundation Server 2005’s default setting was to allow all users to see all the projects that were available on the server, this is no longer the default on TFS 2008 and we want to apply the new behaviour to the old projects.
Launch Microsoft Visual Studio 2008 and using Team Explorer add all the projects on the server.
For each project, click Team Project Settings -> Security, then remove the “Team System Valid Users” group from the project:
Do this for every project.
I wonder if there’s a command line tool for doing this?
The implication of doing this is that only members of a project will be able to see that the project exists on the server.
This is also the ideal opportunity to delete any unneeded team projects from the server that may have been created either by accident or to experiment on. TFS 2005 cannot delete projects, but TFS 2008 now has the TFSDeleteProject tool.
Use TFSDeleteProject to delete any accidental or experimental team projects that may have been created.
Powershell should already be installed, but if not install it now, then install the Team Foundation Power Tools for TFS2008 from the TPFP2008 folder.
Do a complete install, and wait for it to complete.
Now run the Team Foundation Server Best Practices Analyser (TfsBpa.exe):
Start a new scan, give it a name, and choose ‘Health Check’ for ‘Team Foundation Server Only’:
Then start the scan, and hopefully it produces a nice empty report.
The installation tasks are now complete, time to invite the users back. I hope you get to bed earlier than we did!