Monday, March 9, 2009

How to install TFS on a single domain-joined server

Since TFS documentation is so convoluted, I thought I would put together a SIMPLE list of what needs to be done.

Software required:

  • Windows Server 2008 Standard

  • SQL Server 2008 Standard Edition

  • Sharepoint Server 2007 WITH SP1

  • TFS 2008

  • TFS 2008 SP1

All this software is available from MSDN.

Also: one domain account different from the installing user. Should NOT have admin rights. Should NOT be a local account. This is very important.

Prepare TFS 2008 slipstreamed with SP1 as follows:

  1. Copy the contents of TFS DVD AT folder to a directory, say c:\tfs\base:
        xcopy /die d:\at c:\tfs\base

  2. Unpack the SP1 installer to a different directory, say c:\tfs\sp1:
        en_visual_studio_team_system_2008_team_foundation_server_service_pack_1_x86_x64wow.exe /extract:c:\tfs\sp1

  3. Slip-stream the sp1:
        msiexec /a c:\tfs\base\vs_setup.msi /p TFS90sp1-KB949786.msp TARGETDIR=c:\tfs\slipstream

  4. Create ISO and burn it on a DVD using ISO Recorder (

Installation steps:

You must be logged as a domain user and have admin rights to the machine.

If you are installing on a VM, take snapshots between the installation steps, so if something goes wrong, you can restart easily.

  1. Install Server 2008. Configure, join the domain, apply all updates. Reboot if necessary.

  2. Add Web Server (IIS) role from Server Manager->Roles->Add roles. Select all components.

  3. Install Windows Sharepoint Server 2007 SP1 using all defaults (non-SP1 build will not install on Server 2008).

  4. Install SQL Server 2008.
    • Select all components to install.

    • On the page that allows you to specify the instance name, select the default instance.

    • On service accounts page, specify "Network Service" everywher (where it's editable) and make all services that can be made autostart do so.

    • Ensure Windows authentication is selected (the default), and click "Add current user" to administrators of the computer on the two pages which ask you to specify the admin user (one for SQL, one for analysis services).

    • On the page that asks you about configuring reporting, select "Install, but leave Reporting Services unconfigured" option.

  5. Install TFS.
    • Do not change the default SQL instance name (it will be your computer name - definitely DO NOT switch it to '.').

    • Use "Network Service" where it allows you to (the default), and specify that non-admin user account from pre-requisitive section on the next page.

    • The installation will also ask you for the sharepoint admin URL. The default is incorrect. You can find the right port by opening the sharepoint admin link from the start menu.

  6. RESTART THE SERVER. TFS does not prompt you to do this, but the permissions are synchronized on the service restart, so you won't be able to create a new project until you do this.

You're done.

Ensure that the client computer has Team Explorer that is upgraded to SP1 (creating project will fail in misterious ways if server has SP1 and client does not), and create a new project to test the newly installed system.


DzembuGaijin said...

WOW. M$ should give you bonus for doing that ! :-)

Sergey Vlasov said...

Thanks Sergey, I was able to install TFS in my environment following your guide. Some remarks from my experience:

1. I installed TFS on virtual machines and initially planned to install TFS on PDC. SQL Server 2008 didn't allow me to select "Network Service" account when installing on domain controller. I ended up with one virtual PDC machine and one virtual TFS machine.

2. During validation phase of TFS installation it asked to allow external TCP/IP connections for SQL Server using "SQL Server Surface Area Configuration". I enabled TCP/IP protocol using "SQL Server Configuration Manager".

3. During TFS installation I got a 32000 error, I clicked "Retry" and installation continued.