We are piloting TFS 2008 where I work and since our server admins refuse to work on our servers I got the awesome task of upgrading our TFS 2005 pilot to TFS 2008. Now I read all of the docs on how to do the upgrade and all of the forum posts saying how smoothly everything went. Of course the install bombed big time for me, and here is what happened just in case someone else runs across the same issue.
After a couple of hours spent with the server admins trying to get the TFS ISO that I downloaded accessible to the server (I was asked if the server has a DVD drive, a tough question to answer since I am not allowed in our server room) I finally started the install. Here is the TFS 2008 upgrade process in a nutshell:
Backup your TFS databases before you do anything!
Make sure you take note of what services accounts (if any) your TFS and TFS Reporting services are currently running under in 2005
Uninstall TFS 2005 from Add/Remove Programs (sound scary? See bullet point #1 above)
Uninstall TFS 2005 Build Services (if you installed them)
Install TFS 2008
Now TFS 2008 recognizes that you have an existing TFS database and should notify you as such in the installation. From there it should be a bunch of Nexts and a Finish, unless you get an error that is. :)
The Ubiquitous 32000 Error
During what looked to be the last part of the upgrade installation I got this beauty:
Error 32000.The Commandline '"C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\TfsDb.exe" upgrade /server:"MyServerName" /property:"TFS_SERVICE_ACCOUNT=MyTFSServiceAccount;TFS_REPORTING_ACCOUNT=MyTFSReportingServiceAccount;LCID=1033;VSTF_AS_INSTANCE=MyDBServer;VSTF_AS_DATABASE=TFSWarehouse;VSTF_AS_ACCOUNT=" /showui:66172' returned non-zero value: 100.
After much weeping and nashing of teeth I found a few different possible "solutions" on Google:
1) Click Retry at least 4 times after you get the error
2) The ISO is bad, get a new one
3) The account you are logged into the box with isn't part of the local administrators group
#3 above definitely wasn't the case as I was part of the group (it feels so good to belong), so I tried option #1 a bunch of times and also option #2 - no luck. I finally resorted to call Microsoft using our premier support number and opened a ticket. The MS support guys worked hard and after seven hours with them on the phone they fixed it! It was quite the complex problem. (I do have to admit that they asked me to click the Retry button at least 4 times during each failed installation attempt, awesome.)
As it turns out, the problem was that somehow some of our report schema files in the database had become corrupted. This caused an exception in the installation routine when it tried to read these schemas in so it could upgrade them. The MS tech figured this out and then replaced the schemas by hand. Wow, glad I called Microsoft because my best effort was the Retry clicking. After we turned on verbose logging (see below) we got the following exception stack trace in the log that led the tech in the right direction:
An unexpected error occurred: XML parsing failed at line 1, column 0: A document must contain exactly one root element.
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\F:\MSSQL\DATA\ANALYSIS\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Today.6189.dim.xml'.
Some other useful information...
-The installation log files are stored in your account's temp folder, to view it just click on Start -> Run and type %temp%
-Delete all of the existing files in your temp directory before you attempt the TFS installation, this will make sure you can find the files you need
-The TFS installation log of note is called VSMsiLog538C.txt or something similar
-Create a .reg file in Notepad with the following lines and execute it before performing the installation to enable verbose TFS installation logging
Windows Registry Editor Version 5.00
I hope this is able to help anyone who might get some similar problems with the TFS 2008 installation.