Upgrade TFS V1 to WSS 3.0 Round #2 (TFS SP1)


!! THIS BLOG IS OBSOLETE SINCE MICROSOFT IS DELIVERING A GUIDE ON MSDN !!


 


I’ve just finished my guide about upgrading TFS V1 to WSS 3.0 and Microsoft immediately releases Service Pack 1 for TFS V1. This is good thing and I knew it was planned for half December, but I now have to write a second guide about extending your TFS V1 with SP1, while you already upgraded it to WSS 3.0. In the last blog I quoted Brian Harry who commented in my Blog “The last remaining issue that you may hit is when you try to upgrade to a future version of TFS. You may find yourself trying to hack your way through that too.”. He was absolutely right, I had to do some stunts again. Most of the stunts are just faking your WSS 3.0 Team Site is a WSS 2.0 Team Site. The easiest way is to install SP1 before you upgrade to WSS 3.0. If so, my previous post still stands, otherwise read the steps below to continue your upgrade. Before you start upgrading your TFS its important to create a good planning for Backup and Restore. Just read this article about “Planning for Backup and Restore” on MSDN. This upgrade works for single- and dual server installments.


Downloading


Visual Studio 2005 Service Pack 1 was released last Thursday.  Here are the direct download links.




and the two for TFS



If you want to slipstream those packs check the blog post of Heath Stewart on How to slipstream Visual Studio 2005 Service Pack 1. For Detecting Visual Studio 2005 Service Pack 1 and Uninstall Visual Studio 2005 Service Pack 1 Beta before Installing the Release he also got some interesting articles.

If you want to read about all bug fixes solved in TFS SP1, read the following blogs Bug fixes in TFS SP1 and Update on Bug fixes in TFS SP1 of Brian Harry

Workgroup Edition Error

Before showing you the way the go, I like to mention if you’re upgrading your TFS with SP1 (which you should) and you’re using the Workgroup Edition, there are some problems if the server already is using 5 Licensed Users. The error which will certainly strike is 28002 Error Unknown when installing the KB919156 (Quiescing GDR) fix.



To prevent this error, you will have to remove one of the users, upgrade your server and add the user back in the list. In this fix and SP1, MS tries to add the installing user to the Licensed Users list, even if the installing user is already a member of the list. Marcel de Vries, who already blogged about this error in TFS SP1 Beta1, asked if this error will be fixed in the final release of the service pack. But is seems to be an issue for the RTM of the Service Pack as well.


How to fake a WSS 2.0 on WSS 3.0 server


I’ve created 4 sections in which I describe the changes compared to a normal install. Both installers (Feature- and Service Pack) are checking if TFS is configured correctly on WSS. When all steps are done it will finally install the updates for TFS.


Database 
To retrieve the STS_Content database, it using the proc_getDatabasesWithServer stored proc of the STS_Config_TFS database which is obsolete in WSS 3.0. Run the the SQL statement below, and this check won’t fail anymore.



USE STS_Config_TFS
GO


CREATE PROCEDURE [dbo].[proc_getDatabasesWithServer]
(
      @DatabaseServiceId uniqueidentifier = null, 
      @VirtualServerId uniqueidentifier = null
) AS
      SET NOCOUNT ON
      SELECT 
            COUNT(*) 
      FROM 
            Databases
      INNER JOIN Services ON 
            Databases.DatabaseServiceId = Services.ServiceId
      INNER JOIN Servers ON
            Services.ServerId = Servers.ServerId
      WHERE
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0     


      IF @@ROWCOUNT = 0
            RETURN 0


      SELECT
            Databases.DatabaseId,
            Servers.Address,
            Services.Instance,
            Databases.Name,
            Databases.UserId, 
            Databases.Password, 
            Databases.SiteCount, 
            Databases.SiteCountWarning, 
            Databases.SiteCountLimit, 
            Databases.VirtualServerId, 
            Databases.DatabaseServiceId, 
            Databases.LastModified, 
            Databases.LastModifiedUser, 
            Databases.LastModifiedServer, 
            Databases.Status, 
            Databases.Version, 
            Databases.Properties
      FROM
            Databases
            INNER JOIN Services ON 
                  Databases.DatabaseServiceId = Services.ServiceId
            INNER JOIN Servers ON
                  Services.ServerId = Servers.ServerId
      WHERE
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0  
      RETURN 0


FileSystem
Because the WSS v2 site isn’t active anymore you want the SharePoint Administration Tool to return the info about your WSS v3 site. This can be established by putting the SharePoint Administration Tool in the WSS v2 directory.


Open the Windows Explorer to copy the WSS v3 Administration Tool to the WSS v2 directory.



Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN
Rename stsadm.exe -> stsadm.exe.old
Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN
Copy stsadm.exe to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN



The next part I’ll explain in the following section.


Open the Windows Explorer to create a dummy root folder for the Dummy Web Site.



Open C:Inetpub
Create a dummyroot folder


Webserver
When installing the Feature- and Service Pack the web server is also requested to deliver some information to the installers. The first checks if the WSS v2 administration site is installed on the server, and if it’s configured for port 17012. During my previous guide I reconfigured the WSS v2 admin site to use 9999 and the WSS v3 admin site to use 17012. Luckily the installers don’t check if the server is actually running, so you can change it without stopping the WSS v3 admin site. The other check checks if the Default Web Site is running and if it can be extended. This last check isn’t possible with our current Default Web Site, because this site is already extended to WSS v3. This is the part where my dummy site comes in.


Add a Dummy Web Site



Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Stop the Default Web Site


Right-click on Web Sites and add a new Web Site using the Wizard.


Description: Dummy Web Site
IP Address: All Unassigned
TCP Port: 80
Path: C:Inetpubdummyroot
Permissions: Read, Run scripts (such as ASP)


 


Change WSS v2 port to 17012



Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Right-click the SharePoint Central Administration folder and then click Properties.
Change the TCP Port to 17012 without starting the site.



Install
Now having configured your server, you can install SP1 for TFS. Be sure al these screen will popup when installing the updates. You can also check your Add/Remove programs if the update succeeded. The update for the build will always succeed, because this update won’t use TFS. 


 

When everything is installed correctly return to original state of you Web Server. So stop the Dummy Web Site and start the Default Web Site. The last thing you should do, is change the ports, so IIS can’t make a mistake.


Summary
I showed you again, the it’s possible to upgrade to WSS 3.0 and even install your Feature- and Service Packs afterwards. This is a good thing, so all you WSS 3.0 sites for TFS out there, keep on running. At my company we are using WSS 3.0 for TFS (dual-server), so we can eat our own Dogfood. This way I guarantee you I’ll deliver a guide for upgrading to ‘Orcas’ as well.


 


3 thoughts on “Upgrade TFS V1 to WSS 3.0 Round #2 (TFS SP1)”

  1. Hello!

    Do you have any idea on installing TFS on Windows Server 2008 beta 3 (Longhorn).

    Longhorn does not accept WSS 2.0, since it has WSS 3.0 out of the box.

    Is there a way to fake a WSS 2.0 on Longhorn perhaps?

    Thanks!

    Mikael Ă–stberg

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>