Never Assume Anything (aka, XML woes)

Chock another one up for the world of careless. Working on a project, I assumed that the XML files I was working on were set up correctly. A dangerous assumption, I might add, as there were no schemas (or DTDs for that matter) to describe the XML expected by the system. I should add that the XML in question is completely custom and completely insane, but going further would require a <rant /> tag. 🙂

I figured I would help the matter by creating a schema. I first attempted this using XSD.exe, but it is so focused on DataSets that dupe names caused a puke. I changed a couple of element names and regened, opened the XSD and changed the names back. Sure, it is a really crude way to do this, but I was not really in the mood to write a bunch of XSD by hand (laziness, I assume).

I ran the XSD against valid targets for the system. It worked. Ran it against the XML I had created, which was edited from a previous run. It worked fine. Attempted to run it in the system and … well, let’s just say, I smelled smoke and I have little hair left on top of my head (Editor’s note: Greg was already fairly bald, so this is just a bad attempt at humor). After a bit of investigation, I found the following.

  1. The XML in question had NEVER worked. It was dead code that appeared to be doing something useful, but was really a ruse.
  2. The XML in question used invalid operators for a published W3C schema. Not sure what the developer was thinking on this one. NOTE, however, that this did not blow up the engine, as other "valid" examples have this illegal tag, as well.
  3. The XSD was incorrect for the rules. This one is actually on Microsoft’s nickle, to an extent, as it did not recognize the booleans. The other half was on the original developer who decided "yes" and "no" were nice boolean values.

Which leads me to my point:

Best Practices

  • If you are working with a custom XML format, as soon as it is stable (i.e., prior to anyone else consuming the XML), create a way of validation. A schema is preferred, but DTDs work with older systems. The point is make sure you have a way to distinguish good from bad in your system. Too many people consider this an OPTIONAL step; it should be MANDATORY.
  • If you are working with well known XML formats, use the schema provided. If there is no schema, create one. You can’t get there from here if you do not have a proper map. Make sure you have the map before you start the trip.
  • In your application, make a schema check prior to attempting to consume. If the XML is invalid for your system, you will save quite a few cycles if you bomb out at the front of your process rather than half way in. In addition, you can easily determine the error was invalid XML and save the maintenance guy a lot of trouble hacking code to find the error.

Team Foundation Visual Guide (short version)

This is the short (HTML) version of the guide. You can download the Word document version from my Yahoo group for Team Foundation Server.

The group is Team Foundation Server and located at

The file URL, which is probably blocked until you join the group (new to Yahoo groups, so give me a break ;->):

(have to join – anyone can join) to download

Now for the guide VVVVV

 Table of Contents
Introduction. 4

Content missing here is the OS install bits. Download the guide from Yahoo groups if you need this content.

3. Security. 15

a. Add Service Accounts. 15

b. Add account permissions. 19

3. Setup Other Software. 21

a. Install Internet Information Services (IIS) 21

b. Install .NET Framework 2.0. 22

c. Install Certificate Services (optional) 23

d. Install SQL Server 2005. 23

d. Patch the Installs. 29

e. Install SharePoint Portal Services. 30

f. Ensure proper ports are open. 31

4. Install Team Foundation Bits. 33

a. Install Team Foundation Server 33

b. Install Client tools (optional) 36

c. Install Team Foundation Explorer 37

d. Install Team Foundation Build. 38

e. Install documentation. 39 


This guide is for the Release Candidate (1) version of the Team Foundation Server. This guide will not work with the Beta 3 version, the CTP or possibly the RTM version (don’t know as there is not one yet).

If you are installing Beta 3, use the guide that ships with the product. The main difference is the setup of Reporting Services and SharePoint, so you can use this guide as a visual double check for other steps, if you so desire.

3. Security

a. Add Service Accounts

GOAL: Add service accounts for TFS Setup, Service and Reporting Services for TFS

NOTE: The first few steps are completed either on the TFS machine (workgroup install) or on a domain controller. The permission steps are completed on the TFS machine, regardless of whether it is a workgroup or domain install.

Accounts to add:

  • Team Foundation Server Setup account – admin privileges on the TFS box and that is all. Disable this account after you finish set up.
  • Team Foundation Server Service account – admin and must have “log on locally” rights
  • Team Foundation Server Reports account – admin and must have “log on locally” rights

Domain version (done on Domain Controller or machine with AD tools installed)

  1. Open Active Directory Users and Computers
  2. Click on domain in question and choose New >> User
  3. Create the user account and click next
  4. Add a password and make sure “user cannot change password” and “password never expires” are checked

    NOTE: Make this a secure password and do not write it down somewhere public. I know this is a “well, duh!” type of thing to say, but domain accounts like this in the wild are not a good thing. If this is a test machine pass@word1 is the MSDN default. J

  5. Rinse and repeat – i.e., create other users. Then, go to the next section (non-workgroup, starting with 6).

Workgroup version (done on TFS machine)

  1. Open the Computer Management tool
  2. Click on Computer Management >> System Tools >> Local Users and Groups >> New User
  3. Create account and click Create
  4. The cool thing here is you can create the other users without stopping.
  5. Finish up the three accounts and go to the next section.

b. Add account permissions

GOAL: Add users to proper groups

This is done on the TFS machine

  1. In the same Local Configuration tool, Click on Administrators (under groups) and the “Add to Group”
  2. Click Add and then add the three accounts, separated by semi-colons. The default account names are shown below. When finished click OK, then OK and leave the tool.
  3. Now, add the TFS Reports and Service account to log on locally. To do this, first you have to open the proper tool (Local Security Policy)
  4. Go to Local Policies >> User Rights Assignment and choose “Allow Log on Locally”
  5. Add users: Right click on “Allow log on locally” >> Properties >> Add users and groups (boy, this looks familiar) – Add Reports and Service account only.

You can now hand this over to someone else to install, using the Setup account.

3. Setup Other Software

a. Install Internet Information Services (IIS)

GOAL: install IIS

Please note that you can do these steps from the Administrative tool called “Manage Your Server”. I have decided not to do this, as I want SMTP installed and I can do this using “one stop shopping” instead of two trips to my local Kroger. Why take more time than you have to?

The following instructions are not R2 specific, as IIS can be installed from any version of Windows after NT 4.

  1. Open up control panel and find Add/Remove Programs
  2. On the left side, find Add/Remove Windows Components, then Application Server (click Details), Internet Information Services (click Details) and then add SMTP Service. This is not necessary if you are not sending out TFS alerts via email, so you decide. If you do not need SMTP, do not install, and accept defaults instead.

    NOTE: It is a good idea to go ahead and include ASP.NET (Application Server screen). You will have to enable later in IIS Manager (Administrative tools) if you do not enable now.

  3. Finish up the install.

b. Install .NET Framework 2.0

GOAL: Setup machine to use .NET Framework 2.0

The following instructions are R2 specific. There is a note if you are on a different OS. NOTE that you will need the R2 install disks to install .NET Framework 2.0.

  1. Open up control panel and find Add/Remove Programs
  2. Click on the Add/Remove Windows Components
  3. Find .NET Framework 2.0
  4. Run the installer and install 2.0.

NOTE: If you are on Windows Server 2003 (non R2 version), you can install .NET Framework 2.0 components from:

x86 (32 bit):

x64 (64 bit intel)

IA64 (64 bit AMD)

NOTE: If you have already installed .NET Framework 2.0, run the following command from a command prompt.

%WINDIR% Microsoft.NETFrameworkv2.0.50727aspnet_regiis -i

This will install the ASP.NET 2.0 as the default for IIS. You can do this even if you installed later. If you want a sanity check, open IIS Manager, surf to the Default web site and check the application configuration. All ASP.NET files should point to the 2.0.50727 version of the .NET dlls.

c. Install Certificate Services (optional)

I have not done this, as this is a test box. Certificate Services is useful for standalone boxes that use the best practices for Reporting Services (SSL). You should ALWAYS install Certificate Services on a Report box exposed to the web.

d. Install SQL Server 2005

GOAL: Install SQL Server for TFS

  1. Pop in a SQL Server 2005 Standard or SQL Server 2005 Enterprise disk. TFS will install on the Developer version, as well, for test purposes, but you will have to turn some things on later to get it to work. It WILL NOT work on SQL 2005 Express.
  2. Choose Install Server components, tools, Books Online and samples
  3. Accept Agreement on the next screen
  4. Click install, which installs
    1. SQL Native Client
    2. SQL Server 2005 Setup Support Files
  5. Click next, wait a bit for an initial scan and then click next again
  6. It will now scan for proper component setup. If it fails any of the checks, fix them before moving on. Also consider fixing any yellow caution flags. If everything is green, you are golden, as below:
  7. Click next
  8. Enter your information and key and then click next (NOTE: MSDN CDs have an embedded key)
  9. When you get to the components to install screen, you can select everything (although Notification can be deselected, if you so desire). After choosing, click ADVANCED (not next)
  10. Under Advanced, do the following
    1. Change location of data files to your secondary drive (optional, only if you have one). Click on browse to do so and select the location (mine is D:SQL Data Files – NOTE: It makes a file structure for you under this location, so don’t nest too deep).

    2. Change location of Analysis Services Data Files to your secondary drive (optional, only if you have one) – same as above
    3. If this is not a client install machine, turn off all tools but management
    4. If this is a client machine, you might want to install the tools on your secondary drive (optional, only if you have one) – similar to moving data files (i.e. browse and find)
  11. Set up as a Default instance – This is very, very important. DO NOT, under any circumstances, make a named instance (TFS will not install on named instances).
  12. What account to use? For a test box, local service is okay. If you are on a networked box, you may want to change this. Also on this screen: Turn everything on by checking all boxes at the bottom
  13. Mixed mode or Windows Authentication Only (default)? I am using Mixed Mode as it gives me another means of “attack”. Follow your policy. On a test machine, mixed mode is fine. You can change this later if you desire.

    NOTE: For my installs, I use the MSDN magic password, aka pass@word1.

  14. Collation Settings? I use default and just click next. If you are on a machine from another country (non US English), it is best to change this; otherwise, leave defaults.
  15. Report Server? I usually accept the default. If you have installed Certificate Services (or put an SSL cert on IIS via another means (Verisign or other trusted Certificate Authority (CA)), you will not get the following warning:
  16. Finally, decide if you are going to send Microsoft information about your install. I check both boxes on my installs, as this information aids Microsoft in future installers. Your mileage may vary.
  17. If this is a developer edition, you have to enable some things
    1. Start >> Program Files >> SQL Server 2005 >> Configuration Tools >> SQL Server Configuration Manager
    2. SQL Server Network Configuration >> Protocols for SQL Server 2005
    3. Enable TCP/IP (at minimum)
      NOTE: Via is not necessary, although named pipes may be
    4. Verify SQL Server is working correctly

                                                              i.      Check configuration tool again and make sure everything is on (or you can turn everything on)

                                                            ii.      Surf to Report Server http://localhost/reports

    1. If anything is hosed, fix it now. It does not get any easier if you leave it for later.
  1. DO NOT configure Reporting Services now. This is different from previous installs. Team Foundation Server install configures it for you.

d. Patch the Installs

This is necessary on the RC version of TFS. Consult the install guide () for the release version of the software or newer RCs (if they exist).

GOAL: Patch software so TFS will install

  1. Turn off SQL Browser
    1. Start >> Program Files >> SQL Server 2005 >> Configuration Tools >> SQL Server Configuration Manager
    2. Click on SQL Server 2005 Services
    3. Stop SQL Server Browser
  2. Pop in the Team Foundation Server disk
  3. Browse the disk
  4. Look for KB912838
  5. Run the proper install for your environment
    1. 32-bit = AS2005-KB912838-x86-ENU.exe
    2. 64-bit Intel = AS2005-KB912838-x64-ENU.exe
    3. 64-bit AMD = AS2005-KB912838-ia64-ENU.exe
  6. When you are finished
    1. Enable SQL Server Broker

                                                              i.      Start >> Administrative Tools >> Services

                                                            ii.      Find SQL Server Browser, right click and choose properties

                                                          iii.      Choose Automatic from the Startup Type drop down list and then click start

    1. Verify SQL Server is working correctly

                                                              i.      Check configuration tool again and make sure everything is on (or you can turn everything on)

                                                            ii.      Surf to Report Server http://localhost/reports

    1. Now find the KB913393 directory on the Team Foundation Server install disk
    2. Run NDP20-KB913393-X86.exe
    3. Verify SQL Server install again.

e. Install SharePoint Portal Services

Note that the instructions are for R2. If you are not running R2, you can download the proper version of SharePoint Portal Services at the link below:

GOAL: Install SharePoint Portal Services, necessary for TFS

  1. Open up control panel and find Add/Remove Programs
  2. Click on the Add/Remove Windows Components
  3. Find SharePoint Portal Services (bottom of list)
  4. When you install, make sure you have the install as a “Server Farm”. This IS NOT the default setting, so pay attention when you hit this screen. Install as default and you might as well start over. You have been warned.
  5. When done, the configuration screen pops up. DO NOT configure the server now; Team Foundation Server setup will do this for you. NOTE that this is different from previous releases.

f. Ensure proper ports are open

This is useful if you intend on keeping Windows Firewall up and running. You have to turn on Window Firewall before TFS install or it will complain, so you might as well take a moment to configure it.

  1. Start >> Control Panel >> Windows Firewall
  2. If you do not have ICS on, you will get a warning. Just say yes.
  3. Turn on the firewall and then click to the exceptions tab. Click Add Port
  4. Add the following ports
    1. Port 80 TCP – Web Server (Reporting Services/SharePoint Services)
    2. Port 443 TCP – Web SSL (Reporting Services/Share Point Services)
    3. Port 1433 TCP – SQL Server Service
    4. Port 1434 TCP – SQL Browser Service
    5. Port 1444 TCP – SQL Server Monitoring
    6. Port 2382 TCP – SQL Analysis Service Redirector
    7. Port 2383 TCP – SQL Server Analysis Service
    8. Port 17102 TCP – SharePoint Central Administration
    9. Port 8080 TCP – Team Foundation Server
    10. Port 8143 TCP – Team Foundation Server (SSL)
    11. Port 8081 TCP – Team Foundation Server Proxy
    12. Port 8144 TCP – Team Foundation Server Proxy (SSL)
    13. Port 9191 TCP – Team Foundation Build Remoting
  5. Close the firewall dialog when you are done

4. Install Team Foundation Bits

Here is the moment you have been waiting for. On the server, you have to install a couple of bits.

  1. Team Foundation Server
  2. Team Foundation Explorer – watch this step, as you might want to finish some client installs before doing this (if this is an “all in one” test box)
  3. Team Foundation Server Build

a. Install Team Foundation Server

GOAL: Install Team Foundation Server

  1. Pop in the TFS install disk (may already have it for the KBs)
  2. Click on Install Team Foundation Server
  3. Click proper install type. Note that a single server can handle a rather large group of developers (per the blog entry:
  4. Do you want to let Microsoft know? I always say yes here. Then click next
  5. Accept the agreement and put your key in. Then click next
  6. It now runs a system check. If you get any bombs here, TFS will not install. Below is the disk space warning (if you tried to install on the 16GB default disk – to solve, add another disk to the Virtual PC (or another hard drive to your machine)). BTW, this one is fatal.
  7. Choose a location and click next
  8. Team Foundation Service account
  9. Team Foundation Server Reports Account
  10. If you are going to send alerts, configure it here
  11. On the next screen, click the install button. The install takes a bit of time. If RS is setup wrong, it will bomb near the end, which is a pain. If you have followed this document exactly, you should be fine.

b. Install Client tools (optional)

GOAL: Create a playground to test TFS

If you are setting up an “all in one test machine”, pull out your MSDN disks and go to town. You will want the following:

  1. Microsoft Office Professional 2003
  2. Microsoft Project Professional 2003
  3. Visual Studio 2005 Team System – any of the following SKUs will work (I prefer Team Suite)
    1. Visual Studio 2005 Team Developer
    2. Visual Studio 2005 Team Architect
    3. Visual Studio 2005 Team Tester
    4. Visual Studio 2005 Team Suite

NOTE: Do this before installing Team Foundation Explorer or you will have to reinstall to integrate.

NOTE: I am not going to do a step by step of these tools, as this is a Team Foundation Server install, not a client install.

c. Install Team Foundation Explorer

GOAL: Setup tools to control Team Foundation Explorer

This install is what you install to use TFS. It is also the portion that will be installed on your client machines to integrate with Visual Studio 2005. You should install on your server, as well as any client machines with a Team product on them.

  1. Insert TFS disk
  2. Choose “Install Team Foundation Explorer”
  3. Send info to Microsoft? I say yes. Then click next.
  4. Accept terms and put in your key (MSDN has key already). Then click next
  5. Give a destination folder and click next

    NOTE: This only applies to server without tools. If you are installing on a machine with Visual Studio Team System installed, you will not have a choice.

  6. Click install
  7. This installs
    1. Microsoft Document Explorer – if no client tools already installed, as this is installed with every Visual Studio Team System install
    2. Microsoft Visual Studio 2005 Premier Partner Edition – This includes some extra tools not with the Visual Studio install
    3. Microsoft Visual Studio Team Explorer – 100% of the time; this is the tool that allows admin of Team Foundation Server
    4. Microsoft Office System 2003 Primary Interop Assemblies – 100% of the time; this is the hook into Office that allows you to administer your SDLC with Project or Excel, etc.

d. Install Team Foundation Build

GOAL: Create a build server

  1. Open the TFS CD in Windows Explorer
  2. Find the folder called build
  3. Double click on setup.exe (not vs_setup.msi)
  4. Are you going to tell Microsoft how your setup was? I say yes. Then click next
  5. Accept the license agreement and then click next.
  6. You now have a check step to ensure you have the right software installed. The following error is a Firewall not installed error. This one will not stop you from installing the software. In this instance, we have a domain policy against local firewall which creates this warning. Everything installs fine (NOTE: This warning also showed up in TFS install). If you do not have this policy, enable the Firewall. To see the warning below, click on the here in the setup dialog.

  7. There is no choice of directory for the tools, as I have already installed Team Explorer (or Visual Studio, if you have done that)
  8. What account should build work under?
  9. Now install

e. Install Team Foundation Proxy

GOAL: Install proxy for Team Foundation Server

NOTE: The proxy will speed up communication between server and client. You can also set up multiple proxies, if necessary for your team size.

  1. Find the install on the Team Foundation RC disk
  2. Send Info to Microsoft? I say yes. Then click next
  3. Accept the license agreement. Is this getting familiar? Click next.
  4. Once again, it scans the computer and checks for issues. As usual, I have a firewall disabled warning that I ignore.
  5. I generally accept the default of where to put the proxy
  6. I do, however, move proxy to another drive so I can have the proxy and OS in a non-compete arrangement
  7. Choose an account to run under
  8. Install
  9. Configure the proxy
    1. Find the proxy.config file
    2. Edit to your machine name

                                                              i.      From

                                                            ii.      To

NOTE: You can install the proxy on multiple servers for large teams.

f. Install documentation

TFS ships with a version of MSDN documentation that has TFS specific information. You should install this on some machine to get the latest bits (I am sure the MSDN library will include this information soon, but it is worthwhile having it at your fingertips now).

  1. Insert MSDN disk 1
  2. Click Next
  3. Accept terms and click next
  4. Enter your information and click next
  5. Choose and install type and click next. I pick full.
  6. You can now change where it is installed
  7. Click install
  8. You will have to cycle through 3 disks if you chose the full install (minimal and custom installs may have different requirements).

Team Foundation Server Visual Install Guide

Per request, I have turned my install guide (last blog post) into a document. You can download from Yahoo groups (Join the group and download the file).

The group is Team Foundation Server and located at

The file URL, which is probably blocked until you join the group (new to Yahoo groups, so give me a break ;->):

This version is a Microsoft word document. I will have a PDF version up today for the Adobe fans out there. 🙂

Adventures in Team Foundation Server RC

Team Foundation Server Install Guide

 (Single Server VPC version)

First, do not install a domain controller on the single VPC image. What the install guide does not say is as important as what it does say. In previous incarnations of TFS, you had to have domain accounts, which meant you either had to install on a DC image or join a domain. The current install will install on a workgroup, so you do not have to have a domain. NOTE: Installing without a domain is only useful for a small number of users, so it is not the proper way to go, but this is also a test machine with Visual Studio installed, so it is fine here.

Second, make sure to turn off SQL Browser before installing the patches (RC install). If not, it will disable the service. If you disable the service, you will have to go into the Services administrative console and turn it back to automatic. BTW, the first patch disables Service Broker regardless, but leaving it on will cause additional problems.


Step by Step

  1. RTFM. Then read it again. Then, you may still have problems, especially if you have done this before and try to work from memory. NOTE that the old rules do not apply anymore as Microsoft has made the install "easier"; follow the new rules.
  2. If you are making a VPC, create a VPC image with at least one large disk. By large, I mean larger than the 16 GB default. You will likely end up with a TFS install error if you only have one 16 GB virtual disk. For my install, I used a 16 GB root partition and a 127 GB expandable second drive. Please note that the install guide says 8 GB free is enough for a small team, but I have still had installs fail with this much room available. Just make more room. Nuff said!
  3. Install Windows Server 2003 R2 and then patch up the install with all of the latest patches. DO NOT install a domain controller on this machine; this was supported (and perhaps even necessary) in earlier betas, but TFS is not supported on a DC any more and WILL NOT install, period.
    1. For sanity, you should turn off the shutdown tracker if this is a VPC. To do this, see this site. This does not apply for production machines where the tracker is actually used.
  4. You might as well start the firewall now. It does nothing for you, but TFS expects to add exceptions, so you should start it before then.
  5. Create local accounts for install, TFS and reports. Do this now, as adding them just before they are supposedly needed can cause some issues. If you are on a domain, make them domain accounts; if not, you can make local accounts. The suggested accounts are.
    1. TFSSetup
    2. TFSService
    3. TFSReports
  6. Assign proper rights for the above accounts.
    1. All need to be local admin – this can be done right after adding the account by either opening each and adding it to the Administrator group or (better) opening the Administrator group and adding all three at one time.
    2. The service and reports account need “log on local” privileges. This is done with Local Security settings. Open Local Policies >> User Rights Assignment and find “Allow log on locally”.
  7. Install IIS
    1. Go to Control Panel >> Add/Remove Programs to launch the add/remove dialog
    2. Click Add/Remove Windows Components (left side)
    3. Click on Applications Server
    4. Enable ASP.NET (you will change this to ASP.NET 2.0 later)
    5. Click on details under IIS
      1. DO NOT (under any circumstances) add FrontPage extensions. They will hose up SharePoint. I repeat, DO NOT install FrontPage extensions.
      2. Add SMTP service, if you are going to set it up to send email alerts.
      3. You will also need BITS for TF Client install, but the TFS install will install for you, so you can leave it unchecked for now.
    6. Let it install. NOTE: You will need the Windows 2003 R2 disk 1 for this install. If you have two virtual drives and did not format drive 2 prior to original install, you will have to redirect the install to the proper drive letter for the CD. In my case, I have to change D: to E: every time it searches for files. I am sure I can fix this in the registry, if I cared enough to take the time.
    7. Check windows update again for patches, just to be safe.
  8. Install .NET 2.0. If you already installed this, you will have to run aspnet_regiis under the 2.0 directory with the -i (not the -ir) switch. This will register ASP.NET 2.0 as the default in IIS. The command is %WINDIR%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe –i
    1. To double check this:
      1. open IIS Manager under admin tools
      2. right click the default web site and go to properties
      3. Go to the home directory tab
      4. Click on Configuration
      5. Make sure mappings for ASP.NET files points to v2.0.50727. The files are .ad, .adprototype, .asax, .ascx, .ashx, .asmx, .asx, .axd, .browser, .cd, .compiled, .config, .cs, .csproj, .dd, .exclude, .java, .jsl, .ldb, .ldd, .lddprototype, .ldf, .licx, .master, .mdb, .mdf, .msgx, , .refresh, .rem, .resources, .resx, .sd, .sdm, .sdmDocument, .sitemap, .skin, .soap, .svc, .vb, .vbproj, .vjsproj, .vsdiso and .webinfo. You do not have to check every file, unless you are really anal about these things.
  9. Install SQL Server 2005. The proper versions are Standard or Enterprise, although Developer seems to work fine.
    1. If you are following proper protocol, use the Setup account now. Any admin account will work; the Setup account is largely created so you can have a person setup the server who is not a domain admin.Find the SQL Server CD of choice and run it.
    2. Click on the install link (first link under the middle group)
    3. Accept the agreement and click next
    4. Click Install to install the Native Client and Setup Support Files and then click next when it is done (about 1 minute)
    5. It now says it is going through a system configuration check (not sure it does anything here for real, but it takes about 30 seconds). When finished, click next.
    6. You now do a visual system configuration check. Make sure everything is a success before going on. In other words, fix any problems if you have them. If fixed or no problems (the norm), click next.
    7. Complete the registration information. If this is an MSDN install, everything will be filled out for you. Click next.
    8. You need everything but Notification Services if you want to install TFS, so go ahead and check everything. If you also want the samples (for example, this is going to be a test dev machine rather than just a server), click advanced, click on Documentation, Samples, and Sample Databases and click “Entire feature will be install on local disk drive”. Do not click next … yet.
    9. If you are not already on advanced, go to advanced. Under Database Services, click on Replication and choose “Entire Feature will be unavailable”. Also wise to move data files if you have a second VPC hard drive.
      1. Click on Database Services >> Data Files and change the Installation path (browse to folder in question). I set my files on the D drive, as this allows you to move the VHD to another spindle, for performance (if you are not using VPC, it still makes sense to put data files on different drives).
      2. You will want to do the same for the Analysis Services >> Data Files.
    10. Before moving on, you can also make it so all of the client tools except management tools are not installed. This is not necessary on a test install to play with TFS, of course; on a real server, however, you do not want additional tools installed that increase the footprint of the attack surface.
    11. Click next after all is done
    12. Install as a DEFAULT INSTANCE. DO NOT (under any circumstances) install as a named instance. It will not work with TFS (install WILL fail … period!)
    13. If this is a test machine, use the built in system account for ease. If it is not, the install suggests using local system regardless, despite it being a bad practice. You can always change this to a more sane option.
    14. In addition, you will want to set all services to start, even though you will have to turn off SQL Browser in a bit for the .NET 2.0 patch (RC install only?). If you want to leave SQL Browser off, it is okay, you have to enable it later, as one of the patches disables it, but you will not have all steps verified (part of the last install step (below)). Click next.
    15. The safer option is Windows Authentication mode only. If this is a development machine, it is often easier to work with mixed mode. Make a choice, fill in options as appropriate, and click next when finished. NOTE: Install guide says Windows Auth only, but this does not mess things up if you are a rebel.

      As an additional note. If you use mixed mode, make sure you think up a strong password. SQL 2005 will not install with sa or password as a password, which is a major godsend.

    16. Click next on the next screen (collation) unless you are in a foreign country and do not want the English defaults.
    17. Under Reporting Services, it will complain if you did not install an SSL cert. Click next.
    18. Decide if you want to send Microsoft install reports and click next
    19. Click install on the next page and wait a long time (esp. if on VPC). SQL takes 45+ minutes to install. Then click next and then finish.
    20. Verify the SQL Server install
      1. Open the configuration tool and make sure everything is running
      2. Check protocols and ensure TCP/IP is enabled. If it is not, turn in on and stop and start the services. The developer edition only has shared memory by default. Depending on your app, you may also want named pipes, but this is not necessary for most installs and certainly not necessary for TFS.
      3. Open the Reporting Services site (http://localhost/reports if you are on the machine) and make sure it is running properly. It takes awhile to spin up the site the first time, esp. on a VPC image

        DO NOT try to configure RS at this time (it breaks things). NOTE that TFS install MAY do this for you later, but only if you follow directions correctly.

  10. Now it is time to run KB912838 (located on the TFS RC disk).
    1. Turn off SQL Browser. I have installed this patch with Browser running and ended up with the same results as when it is not stopped. As the manual suggests turning it off, I feel this is the safer route, however.
    2. Run the install exe
      1. AS2005-KB912838-x86-ENU.exe – 32 bit
      2. AS2005-KB912838-x64-ENU.exe – Intel 64 bit
      3. AS2005-KB912838-ia64-ENU.exe – AMD 64 bit
    3. Click through all of the screens
      1. Next on first screen. Nothing you can do here anyway.
      2. Agree and then next
      3. Click Next (have to install the patch, even though you have the choice to turn it off).
      4. Click Install. Yeah!
    4. Turn back on SQL Browser. As this patch disables the service for you, you will have to go to services and turn it back on.
    5. Verify your install of SQL Server per previous instructions. Reporting Services should fire up rather quickly this time.
  11. Now you install hotfix KB913393.
    1. Turn off SQL Browser again. This is a paranoid safety thing for me. 🙂
    2. Run NDP20-KB913393-X86.exe
    3. Click through fewer screens than last time.
      1. Click OK on “do you want to install”
      2. Click “I Accept”
    4. Turn back on SQL Browser. No, this time it is not disabled.
  12. Install Windows SharePoint Services from the R2 disk.
    1. You will need R2 disk 2 for this install. You can also install from Microsoft download 
    2. Install as Server Farm (TFS configures this later) This is one area the manual is weak, as this tidbit should be in the checklist. As it is not, you have to read the separate install page. Installing as Default installs SQL Express. SQL Express blows up the TFS install. You cannot uninstall and get TFS install working (perhaps a registry spelunking trip?). If you install default you might as well decommission this install and start over.
    3. Click Install.
    4. When the SharePoint site comes up at the end, wave hello and shut it down. Do not configure. Have not tried configuring this site, but TFS install is supposed to do this for me and I do not want to tempt fate.
  13. Verify SQL Server again. This is largely due to my extreme paranoia at this particular point in time. Whew! It is still working! So far, so good!
  14. Verify ports. If you are going to continue to use Windows firewall, add these ports.
    1. Port 80 TCP – Web Server (Reporting Services/SharePoint Services)
    2. Port 443 TCP – Web SSL (Reporting Services/Share Point Services)
    3. Port 1433 TCP – SQL Server Service
    4. Port 1434 TCP – SQL Browser Service
    5. Port 1444 TCP – SQL Server Monitoring
    6. Port 2382 TCP – SQL Analysis Service Redirector
    7. Port 2383 TCP – SQL Server Analysis Service
    8. Port 17102 TCP – SharePoint Central Administration
    9. Port 8080 TCP – Team Foundation Server
    10. Port 8143 TCP – Team Foundation Server (SSL)
    11. Port 8081 TCP – Team Foundation Server Proxy
    12. Port 8144 TCP – Team Foundation Server Proxy (SSL)
    13. Port 9191 TCP – Team Foundation Build Remoting
  15. Install Team Foundation Server. Here are a couple of observations:
    1. Click on Team Foundation Server install.
    2. Choose single server install.
    3. Decide whether to send info to Microsoft and click next.
    4. Accept agreement and press next
    5. It now runs a check to make sure you have everything installed. NOTE: Passing the check does not mean you will be able to install TFS. There are numerous things that can munge it up. Press next when done.
    6. Choose install location and press next.
    7. Choose TFS Service account and click next.
    8. Choose TFS Report Service account and click next.
    9. Decide whether to send alerts (email notifications) and click next.
    10. Click install.
    11. Wait … wait … wait … click finish.
  16. Install the Team Foundation Explorer on this machine.
  17. Install Team Build on this machine
  18. Follow suggestions in the help file to ensure Team Proxy is set up correctly.
  19. Run the Microsoft update site to be safe.
  20. If this is also a client machine (hopefully test only)
    1. Install Visual Studio 2005 Team Suite (or one of the other SKUs). Will install on C regardless of what you do, as you already installed SQL Server 2005 with its client tools (if you did not install client tools, you are golden).
    2. Install Office 2003 – put on D drive
    3. Install Project 2003 – put on D drive
    4. Go to and hit the updater or update to SP2 and then go to update site and get the latest patches.
    5. Install the Team Foundation Client. This hooks into both Office and Visual Studio 2005, which is why you have to install them first.

You are now done and have a new play toy. Have fun!

Team Foundation Server RC is out

Yes, the MSDN downloads are pounded once again … or maybe not.

The Release Candidate for Team Foundation Server is finally out as of mid day yesterday (February 7, 2006). I am currently in the process of installing the beast (;->) and will blog again later about what I see.

Time for Q&A:

What’s new in the RC? See Jeff Beehler’s Blog.

Are there any prizes for using it? Well, yes. If you complete a survey and send in some log files. The survey can be found here.

Can I upgrade from previous versions? Certainly from the Beta 3 and Beta 3 Refresh. The tool is found here. There is also an upgrade blog entry on Clark Sell’s blog.


Big NOTE: RTFM* before attempting an install. There are two patches you MUST install, so read, read, read. If you are reading this after the original RC release, hit this link instead.


* Read The Funny (or your other favorite word) Manual