Оригинал статьи от Microsoft — Ошибка 0x80070020 при запуске веб-узла в IIS 7.0.
При попытке запуска сайта в IIS получаю ошибку: «Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. (Исключение из HRESULT: 0x80070020)«
Порт на который настроен сайт (обычно это TCP-порт 80 или 443) занят другим приложением.
Для проверки нужно выполнить команды:
netstat -aon | find «:80»
netstat -aon | find «:443»
здесь видно что процесс с PID=2444 занял порт 80.
Далее запустить Диспетчер задач Windows (Ctrl+Shift+Esc). В меню Вид — Выбрать столбцы выбрать столбец ИД процесса (PID). Отсортировать все процесса по этому столбцу и сразу видно что процесс с PID=2444 это TeamViewer Service.
Решений проблемы несколько, но все они сводятся к одному — нужно развести сайт и процесс на разные порты:
1) Можно выключить (остановить) процесс, если он не нужен.
2) Настроить процесс на другой порт.
3) Настроить сайт на другой порт.