Found an issue while installing Team Foundation Server 2008 other day, took some time to drill down on it so thought of sharing.

Issue

While installing Team Foundation Server we were getting error 'ServerProtocolViolation'

From MSI Log

TFServerStatusValidator - Team Foundation Server Status Validator tool
Copyright (c) Microsoft Corporation.  All rights reserved.

Connecting to <ServerName>
Status Code: ServerProtocolViolation
System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object parameters)
   at Microsoft.TeamFoundation.TeamFoundationStatusValidator.ServerStatusServiceProxy.GetServerStatus()
   at Microsoft.TeamFoundation.TeamFoundationStatusValidator.MakeWebServiceCall()
   at Microsoft.TeamFoundation.TeamFoundationStatusValidator.CheckStat

We also found that at the time of installation, Team Foundation Server website was stopped in IIS. Tried starting the web site manually but it gave error

"The Web Site cannot be started. Another process might be using it"

Cause

Port 8080 was already in use by another application.

Resolution

We changed port of the other application from 8080 to another free port. Started the application and then were able to successfully install Team Foundation Server.

More Information

We can also configure Team Foundation Server to use a port other than 8080

Please refer to "How to customize Deployment of Team Foundation" section in InstallGuide

(Install Guide for Team Foundation Server 2008 can be downloaded from http://www.microsoft.com/downloads/details.aspx?familyid=FF12844F-398C-4FE9-8B0D-9E84181D9923&displaylang=en )

We can also use NETSTAT -n command to find open ports.

Content by: Romitg

Reviewed by: lakhmins