Team Foundation Server 2008 SP1 on SQL Server 2008 SP1

Installing Team Foundation Server 2008 (TFS) along with SQL Server 2008 SP1 is not trivial. Once you’ve managed to fulfill the prerequisites everything will go smoothly. In this post I will guide you through the process of getting TFS 2008 running with SQL Server 2008 SP1.

Note: there exists an installation guide in the root directory of your TFS install media. Read it carefully and do exactly as it says! Deviation from the instruction laid out therein is not recommended.

Downloads

The following links refer to required service packs and recommended documentation. Be sure to download both the Team Foundation Installation Guide for Visual Studio Team System 2008 and the Administration Guide for Microsoft Visual Studio Team System 2008 Team Foundation Server.

Introduction

I will demonstrate the installation process for a two-tier architecture. We will setup an instance of SQL Server 2008 SP1 on a separate box serving as the data tier (DT) and TFS 2008 on another one assuming the role of the application tier (AT).

TFS 2008 requires Windows SharePoint Services 2.0/3.0 or Microsoft Office SharePoint Server 2007 for the AT to function properly. If neither is present in your current environment the TFS setup procedure will install it along with all the other components. In case you already have a working WSS or MOSS 2007 instance you will be able to specify its location during setup. In either case there is no pressing requirement to integrate TFS into a production or development farm since it will work perfectly in stand-alone mode.

Another point worth mentioning is that in order to be able to install TFS 2008 on SQL Server 2008 SP1 you will have to slipstream the TFS setup. This procedure is quite easy and described in great detail.

This post is divided into three parts:

  1. Setting up SQL Server 2008 with SP1
  2. Installing TFS 2008 with SP1 slipstreamed into the package
  3. Team Explorer pitfalls

Setting up SQL Server 2008 with SP1

If you already have an SQL Server running feel free to use it for TFS 2008 as well. Make sure SP1 is installed.

I will not guide you through the process of installing SQL Server 2008. Instead I will outline the configuration mandatory for TFS to install successfully.

Note: Do not allow SQL Server 2008 setup to automatically configure Reporting Services for you (you will be asked by the installation wizard). TFS will do it on its own and setup will fail with an obscure error message.

During setup make sure the following services are installed and configured properly for the instance you want to use for TFS:

  • SQL Server Database Services (start mode: Automatic)
    • SQL Server Full-Text Daemon
    • SQL Server Analysis Services (start mode: Automatic)
  • SQL Server Reporting Services (start mode: Automatic), can be installed on the AT as well
  • SQL Server Browser (start mode: Automatic)
  • SQL Server Agent (start mode: Automatic)

All services are required to be running when commencing the TFS 2008 setup procedure. If any of those services is not setup will fail.

  1. Once SQL Server 2008 is installed add Service Pack 1. This step is mandatory to avoid further problems.
  2. Open SQL Server Configuration Manager and make sure all services are running as outlined earlier and configured to start automatically.
  3. While you’re add it make sure that TCP/IP is enabled for the instance you plan to use with TFS 2008. (see SQL Server Network Configuration > Protocols for <INSTANCE_NAME>)

Preparations for SQL Server 2008 SP1 are complete. Let’s get started with setting up TFS 2008 with SP1

Team Foundation Server 2008 Setup

As mentioned in the introduction you cannot install TFS 2008 on a SQL Server. Service Pack 1 adds this capability which essentially means we have to integrate SP1 into the TFS setup before installing it.

Slipstreaming SP1 into TFS 2008 Setup

Follow these steps to merge SP1 into TFS 2008 setup:

  1. From the TFS 2008 installation media copy the AT folder to C:\Temp
  2. Copy TFS90SP1-KB949786-ENU.exe to C:\Temp and extract the archive to folder C:\Temp\tfssp1 invoking the following command:
    C:\Temp\TFS90SP1-KB949786-ENU.exe /extract:C:\Temp\tfssp1
  3. Next we merge SP1 with the RTM version:
    msiexec /a C:\Temp\AT\vs_setup.msi /p C:\Temp\tfssp1\TFS90sp1-KB949786.msp
     TARGETDIR=C:\Temp\ATSP1

That’s all it takes. But we are not finished, yet. Right now, we can install TFS 2008 SP1 to integrate with SQL Server 2008 but not SQL Server 2008 SP1. Luckily this can be remedied quite easily (as documented at KB 969985).

  1. Locate the file Hcpackage.xml in the slipstreamed folder C:\Temp\atsp1 you created ealier, back it up and open it in you favorite text editor.
  2. Locate the following string:
    \\.\root\Microsoft\SqlServer\ComputerManagement10
  3. In this WQL entry replace the value 10.00.% with 10.%.
  4. Change the next WQL entry similarly by replacing the value 10.0.% with 10.%
  5. Finally, find the string MsiProductVersionCheck and change the value 10.1 to 10.2 for SQL Server 2008.
  6. Save the file

The last step is necessary to instruct the installer to accept the version numbers from SQL Server 2008 SP1.

Installing TFS 2008 SP1

  1. Start TFS 2008 setup from within the slipstreamed folder you created earlier.
  2. When prompted for the SQL Server instance enter the server name or specify the instance name if you did not choose to use a default instance name. The required format to do so is SQLSERVER\MyTFSInstance.
  3. It is perfectly alright to let TFS install WSS 3.0 for you since there is no technical reason to add the TFS instance to the farm you might have in place already. If you choose to add it to a previously configured WSS/MOSS farm make sure to have the URLs and port numbers for the Central Administration and the target web application at hand. TFS will create a new site collection, thus you might want to configure managed paths for that purpose.

If something goes wrong here make sure you followed the installation manual the steps outlined in this post.

Team Explorer Issues

So far I had one issue with Team Explorer: it refused to create new projects throwing the following exception:

Time: 2009-07-07 11:17:05Z
Module: Initializer
Event Description: TF30207: Initialization for plugin "Microsoft.ProjectCreationWizard.Reporting" failed
Exception Type: Microsoft.TeamFoundation.Client.PcwException
Exception Message: TF30224: Failed to retrieve projects from the report server. Please check that the SQL Server Reporting Services Web and Windows services are running and you have sufficient privileges for creating a project.
Stack Trace:
   at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.CheckForProjectFolder(PrivateData data, String projectName, ProjectCreationContext context)
   at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.Initialize(ProjectCreationContext context)
   at Microsoft.VisualStudio.TeamFoundation.EngineStarter.InitializePlugins(MsfTemplate template, PcwPluginCollection pluginCollection)
--   Inner Exception   --
Exception Type: System.InvalidOperationException
Exception Message: Client found response content type of '', but expected 'text/xml'.
The request failed with an empty response.
Stack Trace:
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.TeamFoundation.Proxy.Reporting.ReportingService.ListChildren(String Item, Boolean Recursive)
   at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.CheckForProjectFolder(PrivateData data, String projectName, ProjectCreationContext context)

As it turned out, we have to apply the Service Pack 1 for Visual Studio Team System 2008 again after installing Team Explorer.

Conclusion

Once all the issues have been solved Team Foundation Server 2008 SP1 runs flawlessly. If you identify any errors in this post or want to report on your experiences feel free to leave a comment.

Additionally, I will try to update this post regularly with issues and solutions I have encountered so far.

Thanks for reading.







Leave a Reply

Bad Behavior has blocked 1654 access attempts in the last 7 days.