Many developers encounter this issue when running TeamViewer on Windows servers hosting IIS. The service quietly reserves port 80 during installation, causing HTTP binding failures in IIS with errors like:
Error: Cannot bind to port 80 - Address already in use
NetStat shows: TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4684 (TeamViewer_Service)
While older versions (pre-4.1.6) had a simple checkbox to disable port 80 usage, newer versions handle this differently. The current implementation requires registry modifications.
Here's the proper way to disable port 80 reservation in TeamViewer 15+:
- Open Registry Editor (regedit.exe)
- Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer
- Create a new DWORD value named
HttpSupport
- Set its value to
0
- Restart TeamViewer service
For automation scenarios, here's a PowerShell script:
# Disable TeamViewer HTTP support via registry
$regPath = "HKLM:\SOFTWARE\TeamViewer"
$valueName = "HttpSupport"
if (-not (Test-Path $regPath)) {
New-Item -Path $regPath -Force | Out-Null
}
Set-ItemProperty -Path $regPath -Name $valueName -Value 0 -Type DWORD
Restart-Service -Name TeamViewer -Force
For enterprise deployments, you can modify the TeamViewer service configuration:
sc.exe config TeamViewer binPath= "\"C:\Program Files (x86)\TeamViewer\TeamViewer_Service.exe\" /HttpSupport=0"
After making changes:
netstat -ano | findstr ":80"
Should no longer show TeamViewer process listening on port 80. Verify IIS can now bind to the port.
TeamViewer reserves port 80 for:
- HTTP fallback connections when standard ports are blocked
- Web-based remote control features
- LAN detection capabilities
For development servers, these features are typically unnecessary and can be safely disabled.
Many developers encounter this issue when running TeamViewer alongside IIS or Apache on Windows servers. Starting from version 4.1.6, TeamViewer began defaulting to port 80 for certain connectivity features, which creates conflicts with web servers that traditionally use this port for HTTP traffic.
While the GUI option disappeared in later versions, you can still prevent TeamViewer from using port 80 through these methods:
1. Registry Modification:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer]
"DisablePort80"=dword:00000001
Save this as a .reg file and import it, or manually create the DWORD value.
For newer TeamViewer versions (15+), try these steps:
- Open TeamViewer → Options → Advanced
- Click "Show advanced options"
- Navigate to "Advanced network settings"
- Uncheck "Accept incoming socket connections"
For production servers, consider running this PowerShell script at startup:
# Check if TeamViewer service is running
$tvService = Get-Service -Name TeamViewer -ErrorAction SilentlyContinue
if ($tvService.Status -eq 'Running') {
# Stop and reconfigure
Stop-Service -Name TeamViewer
New-ItemProperty -Path "HKLM:\SOFTWARE\TeamViewer" -Name "DisablePort80" -Value 1 -PropertyType DWORD -Force
Start-Service -Name TeamViewer
}
After making changes, verify that port 80 is freed using:
netstat -ano | findstr :80
If TeamViewer still appears, you might need to completely uninstall and reinstall with customized settings.
The application reserves port 80 for:
- HTTP fallback connections when primary ports are blocked
- Remote management through browser interfaces
- LAN-based peer discovery
However, these features can generally be disabled without impacting core remote desktop functionality.