Ошибка 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. В этом случае:

  1. Скачайте последнюю версию .NET Framework 4.8 с официального сайта Microsoft;
  2. Запустите установщик с правами администратора;
  3. После установки выполните команду: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen install;
  4. Перезагрузите сервер.

Сценарий 2: Сборка из Visual C++ Redistributable

Если ошибка связана с библиотеками Visual C++, например msvcr120.dll:

  1. Удалите все версии Visual C++ Redistributable через Панель управления > Программы и компоненты;
  2. Скачайте актуальные версии с сайта Microsoft (2015, 2017, 2019 и 2022);
  3. Установите их по порядку, начиная с самой старой;
  4. Перезагрузите сервер.
⚠️ Внимание: Не скачивайте DLL-файлы с сторонних сайтов. Это может привести к заражению системы вирусами или нестабильной работе. Всегда используйте официальные источники.
Какой метод помог вам избовиться от ошибки 0x80073701?
SFC /scannow
DISM /RestoreHealth
Переустановка .NET Framework
Ручное восстановление 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

Убедитесь, что пути к сборкам указаны верно. Если есть записи с несуществующими путями, удалите их или исправьте.

Сброс прав доступа

Если ошибка возникает из-за отсутствия прав на доступ к файлу сборки:

  1. Найдите проблемный файл (например, через Process Monitor);
  2. Кликните по файлу правой кнопкой мыши, выберите Свойства > Безопасность;
  3. Нажмите Изменить > Добавить и введите SYSTEM;
  4. Выдайте полные права и примените изменения ко всем вложенным объектам.

Если ошибка 0x80073701 появляется только при запуске одного приложения, проблема, скорее всего, в его зависимостях. В этом случае поможет переустановка приложения или установка недостающих компонентов.

Переустановка проблемных компонентов

Если все предыдущие методы не сработали, попробуйте переустановить проблемные компоненты вручную. Это радикальный, но эффективный способ.

Переустановка .NET Framework

Для Windows Server 2019:

  1. Откройте Панель управления > Программы и компоненты > Включение или отключение компонентов Windows;
  2. Снимите флажок с .NET Framework 4.8 и перезагрузите сервер;
  3. Вернитесь в то же меню и снова включите .NET Framework 4.8;
  4. Дождитесь установки и перезагрузите сервер.

Переустановка Windows Server 2019

Если ошибка 0x80073701 преследует вас на всех этапах работы и ни один метод не помогает, возможно, систему нужно переустановить. Однако перед этим:

  • Проверьте диск на ошибки: chkdsk C: /f /r;
  • Обновите сервера (если это физическая машина);
  • Попробуйте восстановить систему из резервной копии.

Практические рекомендации по профилактике

Чтобы не сталкиваться с ошибкой 0x80073701 в будущем, следуйте этим советам:

Профилактика ошибки 0x80073701

Выполнено: 0 / 5

Часто задаваемые вопросы

Можно ли игнорировать ошибку 0x80073701, если система работает стабильно?

Нет. Даже если сервер работает стабильно, ошибка 0x80073701 может проявиться позже при установке обновлений или новых приложений. Лучше устранить её сразу, чтобы избежать проблем в будущем.

Почему после выполнения SFC /scannow ошибка не исчезла?

Вероятно, повреждены файлы, за которые SFC не отвечает (например, компоненты .NET Framework или Visual C++). В этом случае используйте DISM или переустановите проблемные компоненты вручную.

Как проверить, какая именно сборка вызывает ошибку?

Используйте Process Monitor с фильтром по коду результата NAME NOT FOUND или просмотрите журнал событий Windows в разделе Установка. В описании ошибки будет указано имя проблемной сборки.

Можно ли вручную скопировать недостающую в системную папку?

Теоретически да, но это крайне не рекомендуется. Вручную скопированные файлы могут быть несовместимы с текущей версией системы или содержать вирусы. Всегда используйте официальные методы восстановления.