Found an issue while installing Team Foundation Server 2008 other day, took some time to drill down on it so thought of sharing.
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"
Port 8080 was already in use by another application.
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.
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