Запуск процесса IIS не может получить доступ к файлу Исключение из HRESULT: 0x80070020)

Когда я пытаюсь запустить IIS, я получаю: Процесс не может получить доступ к файлу, потому что он используется другим процессом. (Исключение из HRESULT: 0x80070020)

Даже после перезагрузки не работало


person Boas Enkler    schedule 11.04.2016    source источник


Ответы (4)


Поскольку это заняло у меня довольно много времени, я публикую этот ответ, надеясь, что это когда-нибудь сэкономит.

Кратко описанное решение

Мне пришлось закрыть скайп перед запуском iis

Подробности

У этой ошибки много причин. скорее всего, когда порт 80 заблокирован другим программным обеспечением.

Теперь Skype использует порт 80, и если он запущен до iis, порт моего веб-сайта по умолчанию (80) блокируется.

Вы можете проверить, какое приложение блокирует ваш порт, используя netstat

NETSTAT -ano

или любое программное обеспечение, которое показывает вам, кто какой порт занимает.

Кстати. в случае скайпа он использует другой порт, когда используется 80, поэтому у вас больше не будет проблем с этим

person Boas Enkler    schedule 11.04.2016

перевести службу iis в автоматический режим? это гарантирует, что iis будет использовать доступные ресурсы, прежде чем кто-либо попытается это сделать.

person kapitan    schedule 11.04.2016
comment
Да, у меня было это, но по некоторым причинам с сегодняшнего утра это было медленнее, чем скайп. Это также причина, по которой я был так сбит с толку, потому что он работал в течение года. Также я установил некоторые обновления сегодня утром. не уверен, что есть связь - person Boas Enkler; 11.04.2016
comment
Вы можете найти службу скайпа, а затем поставить ее на автоматический (отложенный запуск), это заставит скайп запускаться после того, как все службы, для которых был установлен автоматический режим, были завершены. - person kapitan; 11.04.2016
comment
Сам процесс Skype не является службой Windows, это просто приложение для автоматического запуска. Мне он не нужен в автозапуске, так что для меня это не проблема. проблема была в том, что изначально я не знал, что это скайп :-) - person Boas Enkler; 11.04.2016
comment
понятно, согласно документации, кто-то использует порт 80 или 443. у вас не установлен какой-либо другой веб-сервер, не так ли? если да, то вот ссылка: support.microsoft.com/en-ph/kb/973094 . это все, что я могу сделать, поскольку я не могу смоделировать вашу проблему на своем компьютере. Совет: ищите любые подозрительные запущенные сервисы. - person kapitan; 11.04.2016
comment
как сказано, это был скайп, использующий порт 80 (см. мой ответ ниже), после закрытия он работает - person Boas Enkler; 11.04.2016
comment
В СКАЙПЕ: Инструменты -> Параметры подключения -> Подключения и снимите галочку использовать порт 80 и 443 как дополнительное входящее подключение. Пожалуйста, попробуйте и подтвердите. - person kapitan; 11.04.2016

В SKYPE: Сервис -> Параметры подключения -> Подключения и снимите галочку с "использовать порты 80 и 443 как дополнительные входящие подключения". Пожалуйста, попробуйте и подтвердите.

person kapitan    schedule 11.04.2016

Вы можете проверить, какой процесс использует порт 80 или 433, используйте

netstat -aon | more

команда в командной строке. Вы можете увидеть Pid (идентификатор процесса). Остановите процесс в диспетчере задач (найдите его по идентификатору). Затем перезапустите IIS. Проверьте это: http://www.howtogeek.com/howto/28609/how-can-i-tell-what-is-listening-on-a-tcpip-port-in-windows/

person alexey    schedule 11.04.2016