Recently I had an error during the setup of Lync Server Components regarding Enabling of the web site “Lync Server Internal Web Site”. A fast google search indicated it was something about IIS not being able to start the default website because of port 80 or 443 was being used by another program. To find out what software was using the ports I did the following, solution found in this KB article: http://support.microsoft.com/kb/973094
Run the following command from a command prompt to find the PID of the process which is using TCP port 80 and/or 443.
netstat -aon | find “:80”
netstat -aon | find “:443”
You will see an output similar to the following. Remember the actual PID will vary from case to case.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3604
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 3320
Now using Task Manager you can easily find out to which process the above PID belongs and take appropriate action.
In my case I was using TeamViewer to remote in to the server during installation. Closing TeamViewer and getting the customer to run the installation solved the problem.
Here is the exact error message I got in the logs
Error: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)
└ Type: FileLoadException
└ ▼ Stack Trace
└ at Microsoft.Web.Administration.Interop.IAppHostMethodInstance.Execute()
at Microsoft.Web.Administration.ConfigurationElement.ExecuteMethod(String methodName)
at Microsoft.Rtc.Management.Deployment.Roles.WebServices.LocalActivate(IService service, Computer computer)
at Microsoft.Rtc.Management.Deployment.Core.Service.LocalActivate(Computer computer)
at Microsoft.Rtc.Management.Internal.Utilities.LogWriter.InvokeAndLog[T](Action`1 action, T arg)
└ Error: An error occurred: “System.IO.FileLoadException” “The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)”