Ошибка 0x80073701 с формулировкой «Не найдена сборка, на которую имеется ссылка» часто преследует администраторов Windows Server 2019 при установке обновлений или запуске приложений. Эта проблема связана с повреждением компонентов системы или конфликтом версий библиотек. В 90% случаев виновниками становятся файлы .dll или .msi, которые либо удалены, либо заменены несовместимыми версиими.
Чаще всего ошибка всплывает при работе с Windows Update, установке ролей сервера через Server Manager, или запуске программ, зависимых от .NET Framework. Например, при установке SQL Server или Exchange Server на Windows Server 2019 пользователи сталкиваются с этой ошибкой из-за отсутствия или повреждения сборок Microsoft.VC80.MFC или Microsoft.Windows.Common-Controls.
Решение требует системного подхода: от проверки целостности системных файлов до ручной перерегистрации библиотек. Ниже разберём все работающие методы, от простых к сложным.
Почему появляется ошибка 0x80073701
Причина кроется в механизме загрузки динамических библиотек (DLL). Когда система или приложение пытается подключить сборку, она не находит её в ожидаемом расположении или обнаруживает несовместимую версию. В Windows Server 2019 это часто происходит из-за:
- Повреждённых файлов системы — например, после некорректного выключения сервера или сбоя диска;
- Конфликта обновлений — когда новое обновление требует сборку, которую удалило предыдущее;
- Проблем с реестром — если записи о сборках в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusionуказывают на несуществующие пути; - Отсутствия нужных компонентов — например, .NET Framework 4.8 или Visual C++ Redistributable.
В большинстве случаев ошибка не критическая — система продолжает работать, но отдельные функции или приложения отказываются запускаться.
Если ошибка 0x80073701 появилась после установки обновления KB5005010, попробуйте его удалить через Панель управления > Программы и компоненты > Просмотр установленных обновлений. Это временное решение, но часто помогает вернуть систему в рабочее состояние.
| Инструмент | Как использовать | Что ищем |
|---|---|---|
| Журнал событий | Пуск > Просмотр событий > Журналы Windows > Установка | События с кодом 0x80073701 |
| Process Monitor | Фильтр по Result = NAME NOT FOUND | Пути к отсутствующим DLL |
| SFC /scannow | Запуск в командной строке от имени администратора | Повреждённые системные файлы |
Способы диагностики ошибки
Прежде чем лечить, нужно понять, какая именно сборка вызывает проблему. В этом помогают встроенные инструменты Windows и сторонние утилиты. Начнём с самого простого.
Просмотр журнала Windows Update
Откройте Журнал Windows через Пуск > Средства администрирования Windows > Просмотр событий. Перейдите в раздел Журналы Windows > Установка и ищите записи с кодом 0x80073701. В описании будет указано имя проблемной сборки, например Microsoft.VC80.MFC,version=8.0.50727.762.
Использование Process Monitor
Бесплатная утилита Process Monitor от Microsoft Sysinternals показывает, какие файлы пытается загрузить система. Запустите её с правами администратора, добавьте фильтр по коду результата NAME NOT FOUND. После воспроизведения ошибки в логе появятся записи о недостающих сборках.
Если в логах указано имя сборки, можно сразу переходить к её восстановлению. Если нет — попробуйте методы из следующего раздела.
Восстановление системных файлов
Первый шаг при любых проблемах с сборками — проверка целостности системных файлов. В Windows Server 2019 для этого есть два инструмента: SFC и DISM.
Проверка через SFC
Откройте командную строку от имени администратора и выполните:
sfc /scannow
Процесс занимает от 10 до 30 минут. Если SFC найдёт повреждённые файлы, он попробует их восстановить из резервной копии. После завершения перезагрузите сервер.
Важно: если SFC сообщает, что не может восстановить файлы, используйте DISM.
Восстановление через DISM
Запустите в командной строке:
DISM /Online /Cleanup-Image /RestoreHealth
Эта команда скачивает чистые копии системных файлов с серверов Microsoft и заменяет повреждённые. Если интернет недоступен, используйте флешку с дистрибутивом Windows Server 2019:
DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
(замените D: на букву вашего диска).
Ручное восстановление отсутствующих сборок
Если диагностика показала, какая именно сборка вызывает ошибку 0x80073701, можно попробовать восстановить её вручную. Рассмотрим два сценария.
Сценарий 1: Сборка из .NET Framework
Часто ошибка связана с отсутствием или повреждением компонентов .NET Framework. В этом случае:
- Скачайте последнюю версию .NET Framework 4.8 с официального сайта Microsoft;
- Запустите установщик с правами администратора;
- После установки выполните команду:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen install; - Перезагрузите сервер.
Сценарий 2: Сборка из Visual C++ Redistributable
Если ошибка связана с библиотеками Visual C++, например msvcr120.dll:
- Удалите все версии Visual C++ Redistributable через
Панель управления > Программы и компоненты; - Скачайте актуальные версии с сайта Microsoft (2015, 2017, 2019 и 2022);
- Установите их по порядку, начиная с самой старой;
- Перезагрузите сервер.
⚠️ Внимание: Не скачивайте DLL-файлы с сторонних сайтов. Это может привести к заражению системы вирусами или нестабильной работе. Всегда используйте официальные источники.
Проверка зависимостей через Dependency Walker
Если ошибка 0x80073701 возникает при запуске конкретного приложения, можно проверить его зависимости с помощью утилиты Dependency Walker. Она покажет, какие библиотеки требуются программе и какие из них отсутствуют.
Скачайте Dependency Walker (разработчик — Steve P. Miller), откройте в ней EXE-файл приложения и проанализируйте отчёт. Если в списке есть модули с статус Error, их нужно доустановить или заменить.
| Сборка | Описание | Решение |
|---|---|---|
| msvcr120.dll | Библиотека Visual C++ 2013 | Установить Visual C++ Redistributable 2013 |
| api-ms-win-crt-runtime-l1-1-0.dll | Компонент Universal C Runtime | Установить обновление KB2999226 |
| clr.dll | Компонент .NET Framework | Восстановить через sfc /scannow или переустановить .NET |
Реестр и права доступа
Иногда проблема кроется в неверных записях реестра или недостаточных правах доступа к файлам сборок. В этом случае:
Проверка записей реестра
Откройте regedit и перейдите в раздел:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Убедитесь, что пути к сборкам указаны верно. Если есть записи с несуществующими путями, удалите их или исправьте.
Сброс прав доступа
Если ошибка возникает из-за отсутствия прав на доступ к файлу сборки:
- Найдите проблемный файл (например, через Process Monitor);
- Кликните по файлу правой кнопкой мыши, выберите
Свойства > Безопасность; - Нажмите
Изменить > Добавитьи введитеSYSTEM; - Выдайте полные права и примените изменения ко всем вложенным объектам.
Если ошибка 0x80073701 появляется только при запуске одного приложения, проблема, скорее всего, в его зависимостях. В этом случае поможет переустановка приложения или установка недостающих компонентов.
Переустановка проблемных компонентов
Если все предыдущие методы не сработали, попробуйте переустановить проблемные компоненты вручную. Это радикальный, но эффективный способ.
Переустановка .NET Framework
Для Windows Server 2019:
- Откройте
Панель управления > Программы и компоненты > Включение или отключение компонентов Windows; - Снимите флажок с
.NET Framework 4.8и перезагрузите сервер; - Вернитесь в то же меню и снова включите
.NET Framework 4.8; - Дождитесь установки и перезагрузите сервер.
Переустановка Windows Server 2019
Если ошибка 0x80073701 преследует вас на всех этапах работы и ни один метод не помогает, возможно, систему нужно переустановить. Однако перед этим:
- Проверьте диск на ошибки:
chkdsk C: /f /r; - Обновите сервера (если это физическая машина);
- Попробуйте восстановить систему из резервной копии.
Практические рекомендации по профилактике
Чтобы не сталкиваться с ошибкой 0x80073701 в будущем, следуйте этим советам:
Профилактика ошибки 0x80073701
Часто задаваемые вопросы
Можно ли игнорировать ошибку 0x80073701, если система работает стабильно?
Нет. Даже если сервер работает стабильно, ошибка 0x80073701 может проявиться позже при установке обновлений или новых приложений. Лучше устранить её сразу, чтобы избежать проблем в будущем.
Почему после выполнения SFC /scannow ошибка не исчезла?
Вероятно, повреждены файлы, за которые SFC не отвечает (например, компоненты .NET Framework или Visual C++). В этом случае используйте DISM или переустановите проблемные компоненты вручную.
Как проверить, какая именно сборка вызывает ошибку?
Используйте Process Monitor с фильтром по коду результата NAME NOT FOUND или просмотрите журнал событий Windows в разделе Установка. В описании ошибки будет указано имя проблемной сборки.
Можно ли вручную скопировать недостающую в системную папку?
Теоретически да, но это крайне не рекомендуется. Вручную скопированные файлы могут быть несовместимы с текущей версией системы или содержать вирусы. Всегда используйте официальные методы восстановления.