How to Prevent TeamViewer from Hijacking Port 80 on Windows Servers Running IIS


2 views

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+:

  1. Open Registry Editor (regedit.exe)
  2. Navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer
  3. Create a new DWORD value named HttpSupport
  4. Set its value to 0
  5. 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:

  1. Open TeamViewer → Options → Advanced
  2. Click "Show advanced options"
  3. Navigate to "Advanced network settings"
  4. 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.