Been trying to install TFS2008 for a few days now. This must be the worst experience in my life when installing a piece of software.
My original idea was to try some of the new features of the 2008 release and some of the features I've not been able to use in TFS2005, among other things I was curious of the improved build system which is in TFS2008.
Been using CruiseControl.NET in a couple of projects now and I thought it was time to broaden my horizons when it comes to build systems. Started to download the TFS2008 trial version from Microsofts web site. No problems so far. I planned on installing it on my virtual "build server" at home. It's a Windows Server 2008 running on VirtualBox on my development machine. Today it uses CruiseControl.NET/NAnt/FXcop/MSbuild etc etc for doing reports on some of my hobby projects. Subversion is running on a physical Ubuntu server.
After I've finished the download of TFS2008 Trial Edition and mounted the iso in VirtualBox all sort of weird stuff started to happen. Started the installation and the first thing it did was to popup a message box telling me to get and install the .NET Framework 3.5. Why not integrate into the installation? Or ask if it should download and install it? How about giving me an url to the .NET Framework download site? Anyway, downloaded the .NET framework and installed it. Started the installation (2nd time) and a new message box appeared. Now it's missing Windows Installer 4.5, same procedure as last time. No automatic installation of the pre-requisites or an URL. Installed the Windows Installer and launched the installation for the third time. Same procedure for PowerShell. Installed it and started e installation again. No message boxes this time.
A few dialogs later it asks for the MS SQL Server instance, where it should store the databases. Right, I need a MS SQL Server installed, that was a mistake on my behalf. I started to google for if the MS SQL Server 2008 Express Edition would be sufficient for TFS2008. But I couldn't find anything indicating if it was supported or not. I went ahead and installed the Express Edition. Selected the SQL instance in the dialog and it was able to connect. Then it started to do some initial checks for possible problems which could affect the installation of TFS2008. A long list of issues was the result of that inspection. I started at the top, SQL Server Agent not running. OK, went to services and started it. It stopped immediately. Started it, it stopped. Took a look in the event log and found "This version of SQL Server do not support SQL Agent". Great stuff. Uninstalled the Express Edition of MS SQL Server. Went over to MSDN and downloaded the MS SQL Server 2008 Standard Edition which is over 3GB. While downloading the image I was reading the massive TFS2008 installation guide (Next time, do it before starting the installation :)). Found a valuable piece of information, MS SQL Server 2008 is only supported with TFS2008 SP1. So I had to download the SP1 for TFS and merge it with the original installation to be able to install it. When the merging and downloading of SP1 and SQL Server 2008 was complete I started to install SQL Server 2008.
In the installation of SQL Server 2008 you choose different features to install. The product is very modular and that's a positive thing. I started to go over the list of features and checking 'em one by one. Reporting Services felt like a good idea, I'm sure you can pull out some nice reports using TFS2008 and Reporting Services. Client tools, always good to be able to browse the database and see what's in it. Clicked OK and installed the selected features. Back to the TFS2008 installation for the fourth(?) time. When selecting the SQL Server instance I got a cryptic message telling me (sort of) that it's not possible to connect to the SQL Server instance. That's weird, I just installed the complete SQL Server 2008 Edition. Started the Management Studio, unable to connect to the SQL Server from it as well. After a while of poking around, I started the SQL Server installation again. Looked at the list of features installed and noticed that the Database Engine was not selected. Right, that's probably the issue. Installed it and now I was able to connect to the SQL Server from TFS installation wizard.
Next on the list from the inspection was that IIS6 compatibility mode was not installed. Had to enable the feature in Server Manager in Windows Server 2008. Went back and clicked re-run inspection. After fixing some minor issues (services not running) I was left with two warnings. The first warning was low physical memory and the second was low hard disk space. Since its installed in a virtual machine that's not very surprising. Clicked OK, and proceeded with the installation. After a while a received a cryptic error message with nothing but an error code. After googling and surfing the web I had some leads that it's probably a user account for running one of the services that's unable to connect to the database. Enabled the account and made sure it was able to connect to the SQL Server. Launched the installation for the, can't remember, Xth time. The installation proceeded further, this time it gave up when creating the databases. What's wrong now? It actually gave me an option to retry creating the databases. This was near the end of the installation, so it was nice to see that I didn't had to cancel the whole installation. Tried some different things, removed the databases, and added the database account to the administrators group etc etc. No luck. Googled. No luck. All blog posts I found had different solutions. Although they all kept referring to the MSI log. I found no other choice but to cancel the installation. After pressing cancel, the dialog that appeared had the option to display the MSI log. Kind of wished that would have been on the previous dialog. After scrolling down in the log and searching for error I found the missing piece of the puzzle. The full text searching feature was not installed in SQL Server 2008. Had to install that feature and then launch the setup for TFS2008 again. This time it finally worked! That took way too long.
Some things I wish for christmas
- If some component is a pre-requisite, please install it automatically or at least as if it should download and install the component
- Extend the inspection routine with a check for the SQL Server version
- For features such as PowerShell and IIS6 Compatibility Mode which are enabled in Server Manager for Windows Server 2008. Just enable it. Give the user a notice and just do it.
- Give the user a good error description, not an error code. It shouldn't be that hard, if it is look at the next bullet.
- Give a link to the MSI log and other logs whenever an error dialog is shown. If an error message is hard to display, at least give the user a "simple" way to inspect the log files
Anyway, finally got it installed. Now I just need to install the Build system and Team Explorer and start to get things set up...
2398cb05-ec00-4d9c-9dc8-11e541df3c27|0|.0