Как исправить DLL ошибки в Windows
Если при запуске программы или игры появляется сообщение «Не найден DLL-файл», «Запуск программы невозможен, так как отсутствует DLL» или «Не удалось продолжить выполнение кода», не спешите искать нужную библиотеку в интернете. В большинстве случаев скачивание DLL-файла с неизвестного сайта не только не решает проблему, но и может привести к заражению компьютера вирусами.
Гораздо безопаснее определить причину ошибки и восстановить отсутствующую библиотеку официальными средствами Windows или переустановить компонент, которому принадлежит DLL-файл.
В этой инструкции рассмотрим все способы исправления DLL-ошибок — от самых простых до более сложных.
Что такое DLL-файл простыми словами
DLL (Dynamic Link Library) — это библиотека, содержащая функции, которые могут использовать сразу несколько программ. Вместо того чтобы хранить одинаковый код в каждом приложении, Windows загружает его из отдельного DLL-файла.
Например, если десять программ используют одну и ту же функцию печати или обработки изображения, она может находиться в одном DLL-файле, а не копироваться в каждую программу.
Поэтому при отсутствии такой библиотеки программа просто не сможет запуститься.
Как выглядит DLL ошибка
Сообщения могут отличаться, но смысл остаётся одинаковым.
Наиболее распространённые варианты:
- Запуск программы невозможен, так как отсутствует VCRUNTIME140.dll.
- Не удалось продолжить выполнение кода, поскольку система не обнаружила MSVCP140.dll.
- The code execution cannot proceed because SDL2.dll was not found.
- libssl-3-x64.dll is missing.
- d3dx9_43.dll отсутствует.
- XINPUT1_3.dll не найден.
- api-ms-win-crt-runtime-l1-1-0.dll отсутствует.
Несмотря на разные названия файлов, способы исправления очень похожи.
Почему появляются DLL ошибки
Наиболее частые причины:
- случайное удаление DLL-файла;
- неполная установка программы;
- повреждение системных файлов Windows;
- удаление файла антивирусом;
- неустановленный Microsoft Visual C++ Redistributable;
- отсутствие компонентов DirectX;
- повреждение SSD или HDD;
- ошибки после обновления Windows;
- повреждение файловой системы.
С чего начать исправление DLL ошибок
Не все ошибки требуют сложной диагностики. В большинстве случаев проблему удаётся устранить одним из первых способов.
Рекомендуется выполнять действия именно в таком порядке:
- Перезагрузить компьютер.
- Переустановить программу.
- Проверить карантин антивируса.
- Установить Microsoft Visual C++ Redistributable.
- Установить DirectX.
- Проверить системные файлы Windows.
- Проверить диск на ошибки.
Переходите к следующему шагу только в том случае, если предыдущий не помог.
Способ 1. Перезагрузите компьютер
Самый простой способ часто оказывается самым эффективным.
Если DLL не удалось загрузить из-за временного сбоя Windows, обычная перезагрузка может полностью решить проблему.
После перезапуска попробуйте снова открыть программу.
Когда этот способ помогает
- после установки программы;
- после установки обновлений;
- после установки драйверов.
Способ 2. Переустановите программу
Если DLL принадлежит конкретной программе, проще всего переустановить именно её.
Во время установки недостающая библиотека обычно копируется автоматически.
Как правильно переустановить программу
- Удалите программу через «Приложения и возможности».
- VCRUNTIME140.dll
- VCRUNTIME140_1.dll
- MSVCP140.dll
- MSVCP120.dll
- MSVCR120.dll
- MSVCP110.dll
- MSVCR110.dll
- MSVCP100.dll
- MSVCR100.dll
- Закройте программу, которая выдаёт ошибку.
- Установите официальные пакеты Microsoft Visual C++ Redistributable.
- После установки перезагрузите компьютер.
- Попробуйте снова запустить программу.
- d3dx9_24.dll
- d3dx9_25.dll
- d3dx9_26.dll
- d3dx9_27.dll
- d3dx9_28.dll
- d3dx9_29.dll
- d3dx9_30.dll
- d3dx9_31.dll
- d3dx9_32.dll
- d3dx9_33.dll
- d3dx9_34.dll
- d3dx9_35.dll
- d3dx9_36.dll
- d3dx9_37.dll
- d3dx9_38.dll
- d3dx9_39.dll
- d3dx9_40.dll
- d3dx9_41.dll
- d3dx9_42.dll
- d3dx9_43.dll
- XINPUT1_3.dll
- XAudio2_7.dll
- D3DCompiler_43.dll
- D3DCompiler_47.dll
- Закройте игру.
- Установите официальный пакет DirectX End-User Runtime.
- Перезагрузите компьютер.
- Попробуйте снова запустить игру.
- проверяет системные DLL Windows;
- сравнивает их с оригинальными копиями;
- автоматически заменяет повреждённые файлы.
- неисправный SSD или HDD;
- ошибки оперативной памяти;
- неполная установка программы;
- неверная разрядность программы;
- несовместимая версия DLL;
- повреждённый установщик программы.
- Перезагрузите компьютер.
- Скачайте последнюю версию с официального сайта разработчика.
- Установите программу повторно.
Способ 5. Установите Microsoft Visual C++ Redistributable
Если отсутствует один из следующих файлов:
Практически всегда причина заключается в отсутствии или повреждении пакета Microsoft Visual C++ Redistributable.
Эти библиотеки используются тысячами программ и игр. Если пакет не установлен или повреждён, Windows не сможет загрузить необходимые DLL.
Как исправить
Полезно знать
Даже если у вас установлена 64-разрядная Windows, рекомендуется установить обе версии пакета — x64 и x86. Многие 32-битные программы используют именно x86-библиотеки.
Какие DLL входят в Visual C++
| DLL | Компонент | Чаще всего используется |
|---|---|---|
| VCRUNTIME140.dll | Visual C++ 2015–2022 | Современные программы и игры |
| VCRUNTIME140_1.dll | Visual C++ 2019–2022 | Новые приложения |
| MSVCP140.dll | Visual C++ 2015–2022 | Игры и программы |
| MSVCP120.dll | Visual C++ 2013 | Более старые программы |
| MSVCR120.dll | Visual C++ 2013 | Игры |
| MSVCP110.dll | Visual C++ 2012 | Программы предыдущих лет |
| MSVCR110.dll | Visual C++ 2012 | Игры |
Типичная ошибка пользователей
Удаляют старые версии Visual C++, считая их ненужными.
На самом деле разные программы требуют разные версии библиотек. Одной программе может понадобиться Visual C++ 2012, а другой — Visual C++ 2022.
Поэтому удалять старые пакеты не рекомендуется, если они используются установленными приложениями.
Способ 6. Установите DirectX Runtime
Если отсутствуют следующие DLL:
Причина чаще всего связана с отсутствием компонентов DirectX Runtime.
Даже в Windows 11 они могут отсутствовать, поскольку современные версии DirectX не содержат некоторые старые библиотеки, которые продолжают использовать игры.
Как исправить
Если ошибка появляется только в одной игре, переустановка DirectX помогает значительно чаще, чем скачивание отдельных DLL.
Какие DLL относятся к DirectX
| DLL | Назначение |
|---|---|
| d3dx9_43.dll | Direct3D 9 |
| XINPUT1_3.dll | Работа игровых контроллеров |
| XAudio2_7.dll | Игровой звук |
| D3DCompiler_43.dll | Компиляция графических шейдеров |
| D3DCompiler_47.dll | Современные приложения DirectX |
Способ 7. Проверьте целостность системных файлов Windows
Если DLL принадлежит самой Windows, переустановка программы уже не поможет.
В этом случае необходимо проверить системные файлы.
Запустите SFC
Откройте Командную строку от имени администратора и выполните команду:
sfc /scannow
Что делает эта команда
Пример успешной проверки
Beginning verification phase...
Verification 100% complete.
Windows Resource Protection found corrupt files and successfully repaired them.
Это означает, что Windows восстановила повреждённые системные библиотеки.
После успешной проверки обязательно перезагрузите компьютер.
Типичная ошибка пользователей
Запускают SFC без прав администратора.
В этом случае утилита не сможет получить доступ к защищённым системным файлам.
Если SFC не помогла
Иногда можно увидеть сообщение:
Windows Resource Protection found corrupt files but was unable to fix some of them.
Это означает, что повреждено хранилище компонентов Windows.
Следующим шагом следует использовать DISM.
Запустите DISM
DISM /Online /Cleanup-Image /RestoreHealth
После успешного завершения снова выполните:
sfc /scannow
Такой порядок восстановления рекомендует Microsoft.
Во время работы DISM индикатор выполнения может долго оставаться на 20%, 40%, 62% или 84%.
Это нормально. Не закрывайте окно программы и не выключайте компьютер.
Когда эти способы не помогут
Даже правильно установленные Visual C++, DirectX и восстановленные системные файлы не всегда устраняют ошибку.
Причиной могут быть:
Типичная ошибка пользователей
Многие скачивают отдельную DLL из интернета вместо переустановки программы. В результате появляется новая ошибка или компьютер заражается вредоносным ПО.
Способ 3. Проверьте карантин антивируса
Иногда антивирус ошибочно определяет DLL-файл как потенциально опасный и помещает его в карантин.
Особенно часто это происходит с модифицированными играми, репаками и малоизвестными программами.
Что проверить
- Откройте журнал вашего антивируса.
- Проверьте раздел «Карантин».
- Если DLL действительно относится к установленной программе и вы уверены в её происхождении, восстановите файл.
Если программа была скачана с сомнительного сайта, сначала убедитесь, что файл безопасен. Не восстанавливайте объекты, происхождение которых неизвестно.
Способ 4. Никогда не скачивайте DLL-файлы с неизвестных сайтов
Это самый важный совет в статье.
В поисковой выдаче можно встретить десятки сайтов, предлагающих скачать любую DLL одним кликом. Делать этого не следует.
Причин несколько:
- невозможно проверить происхождение файла;
- DLL может содержать вредоносный код;
- можно скачать библиотеку неподходящей версии;
- ошибка может быть вызвана вовсе не отсутствием DLL.
Если библиотека входит в состав Microsoft Visual C++, DirectX или самой программы, безопаснее установить соответствующий официальный компонент, чем копировать отдельный файл вручную.
Запомните правило:
Скачивают не DLL-файл, а программу или компонент, которому он принадлежит.
Способ 8. Проверьте разрядность программы и Windows
Одна из самых распространённых причин DLL-ошибок — несовместимость 32-битных и 64-битных библиотек.
Например, программа пытается загрузить 64-разрядную DLL, а рядом находится только её 32-разрядная версия. В результате Windows сообщает, что библиотека отсутствует или имеет неправильный формат.
Как узнать разрядность Windows
- Нажмите Win + Pause или откройте Параметры → Система → О системе.
- Найдите пункт Тип системы.
Там будет указано:
- 64-разрядная операционная система;
- 32-разрядная операционная система.
Полезно знать
64-разрядная Windows умеет запускать как 64-битные, так и большинство 32-битных программ. Именно поэтому рекомендуется устанавливать обе версии Visual C++ — x64 и x86.
Почему DLL может существовать, но Windows сообщает, что она отсутствует
Этот вопрос часто вызывает недоумение у пользователей.
Причин может быть несколько.
DLL повреждена
Файл существует, но содержит ошибки или был изменён.
DLL не подходит по версии
Программа ожидает более новую или более старую версию библиотеки.
Отсутствует зависимая библиотека
Очень частая ситуация.
Например, приложение сообщает об ошибке:
libssl-3-x64.dll was not found
На самом деле рядом может отсутствовать:
- libcrypto-3-x64.dll;
- VCRUNTIME140.dll;
- MSVCP140.dll.
Windows показывает первую библиотеку, которую не удалось загрузить, хотя причина может скрываться глубже.
Поэтому не стоит копировать DLL по одной. Намного правильнее восстановить весь программный компонент.
Способ 9. Проверьте журнал событий Windows
Если причина ошибки непонятна, журнал событий поможет узнать, какой именно модуль вызвал сбой.
Как открыть журнал событий
- Нажмите Win + R.
- Введите:
eventvwr.msc
- Откройте раздел Журналы Windows → Приложение.
Особое внимание обратите на события уровня Ошибка.
В описании часто можно увидеть:
- имя программы;
- имя DLL;
- код ошибки;
- время возникновения проблемы.
Если ошибка появляется регулярно, журнал событий значительно ускоряет поиск причины.
Способ 10. Используйте Монитор стабильности Windows
Многие пользователи даже не знают, что в Windows есть встроенный Монитор стабильности.
Он показывает историю всех сбоев системы.
Как открыть
- Нажмите Win + R.
- Введите:
perfmon /rel
Вы увидите календарь, в котором отмечены:
- сбои программ;
- ошибки Windows;
- установка драйверов;
- обновления;
- критические ошибки.
Очень удобно искать момент, после которого появились DLL-ошибки.
Способ 11. Проверьте диск
Если DLL регулярно повреждаются после перезагрузки, причиной может быть накопитель.
Запустите проверку:
chkdsk C: /f
Если Windows предложит выполнить проверку после перезагрузки, согласитесь.
Когда CHKDSK особенно полезен
- после аварийного отключения питания;
- после зависания компьютера;
- если DLL исчезают повторно;
- если появляются ошибки чтения файлов.
- состояние SMART;
- температуру;
- переназначенные сектора;
- неисправимые ошибки чтения.
Способ 12. Проверьте состояние SSD или HDD
Если ошибка появляется снова через несколько дней после исправления, стоит проверить здоровье накопителя.
Особенно обратите внимание на:
Если SMART показывает предупреждение, сначала сохраните важные данные.
Почему нельзя скачивать DLL по одной
На первый взгляд это кажется самым быстрым способом.
Однако на практике возникают новые проблемы.
| Что делает пользователь | Что происходит |
|---|---|
| Скачивает DLL с неизвестного сайта | Есть риск заражения компьютера |
| Копирует DLL в System32 | Ошибка остаётся |
| Копирует DLL в папку программы | Появляется новая ошибка |
| Заменяет системную DLL | Windows начинает работать нестабильно |
Запомните простое правило.
DLL — это часть программы или компонента Windows.
Исправляют не отдельный DLL-файл, а причину его отсутствия.
Какому компоненту принадлежит DLL
Следующая таблица поможет быстро определить, что именно нужно переустановить.
| DLL | Что установить |
|---|---|
| VCRUNTIME140.dll | Microsoft Visual C++ 2015–2022 |
| VCRUNTIME140_1.dll | Microsoft Visual C++ 2015–2022 |
| MSVCP140.dll | Microsoft Visual C++ 2015–2022 |
| MSVCP120.dll | Microsoft Visual C++ 2013 |
| MSVCR120.dll | Microsoft Visual C++ 2013 |
| d3dx9_43.dll | DirectX End-User Runtime |
| XINPUT1_3.dll | DirectX End-User Runtime |
| XAudio2_7.dll | DirectX End-User Runtime |
| D3DCompiler_43.dll | DirectX End-User Runtime |
| api-ms-win-crt-runtime-l1-1-0.dll | Microsoft Visual C++ Universal CRT |
| libssl-3-x64.dll | Переустановить программу, в состав которой входит OpenSSL |
| libcrypto-3-x64.dll | Переустановить программу |
| SDL2.dll | Переустановить игру или программу |
| SDL3.dll | Переустановить программу |
| sqlite3.dll | Переустановить программу |
| glfw3.dll | Переустановить программу |
| libcurl.dll | Переустановить программу |
| zlib1.dll | Переустановить программу |
| avcodec-61.dll | Переустановить программу (FFmpeg) |
| avformat-61.dll | Переустановить программу (FFmpeg) |
| avutil-59.dll | Переустановить программу (FFmpeg) |
| swscale.dll | Переустановить программу (FFmpeg) |
| swresample.dll | Переустановить программу (FFmpeg) |
| tbb.dll | Переустановить программу |
| tbbmalloc.dll | Переустановить программу |
Что делать, если ни один способ не помог
Если вы выполнили все рекомендации из этой статьи, а ошибка продолжает появляться, значит проблема может быть связана не с отсутствием DLL-файла, а с более глубокой неисправностью.
Рекомендуем выполнить следующий чек-лист.
| Шаг | Что проверить | Зачем это делать |
|---|---|---|
| 1 | Переустановить программу | Восстанавливаются все файлы программы |
| 2 | Установить Microsoft Visual C++ | Исправляются ошибки библиотек Runtime |
| 3 | Установить DirectX Runtime | Восстанавливаются игровые библиотеки |
| 4 | Запустить SFC | Проверка системных файлов Windows |
| 5 | Запустить DISM | Восстановление хранилища компонентов |
| 6 | Запустить CHKDSK | Проверка файловой системы |
| 7 | Проверить SMART накопителя | Исключить неисправность SSD или HDD |
| 8 | Проверить оперативную память | Ошибки ОЗУ могут повреждать файлы |
Ошибка 0xc000007b и DLL-файлы
Одной из самых распространённых ошибок при запуске игр и программ является:
The application was unable to start correctly (0xc000007b)
Во многих случаях эта ошибка связана именно с DLL.
Наиболее частые причины:
- смешение 32-битных и 64-битных библиотек;
- повреждение Visual C++ Runtime;
- неполная установка DirectX;
- повреждение системных файлов Windows;
- неправильно скопированные DLL вручную.
Поэтому, если появляется код 0xc000007b, не начинайте с поиска отдельных DLL. Выполните действия, описанные в этой статье.
Типичные ошибки пользователей
Во время исправления DLL-ошибок пользователи часто совершают одни и те же действия, которые только усложняют поиск причины.
| Ошибка | Почему это плохо |
|---|---|
| Скачивание DLL с первого попавшегося сайта | Можно получить вирус или неподходящую версию файла |
| Копирование DLL в System32 вручную | Не устраняет причину ошибки и может нарушить работу Windows |
| Удаление старых Visual C++ | Некоторые программы перестанут запускаться |
| Установка только x64-версии Visual C++ | 32-битные программы продолжат выдавать ошибки |
| Игнорирование перезагрузки после установки компонентов | Изменения могут не примениться |
| Прерывание работы SFC или DISM | Проверка не будет завершена |
Как избежать DLL-ошибок в будущем
Полностью исключить вероятность появления DLL-ошибок невозможно, однако риск можно значительно снизить.
- Устанавливайте программы только с официальных сайтов.
- Не удаляйте установленные пакеты Microsoft Visual C++ Redistributable.
- Не скачивайте отдельные DLL-файлы с неизвестных ресурсов.
- Регулярно устанавливайте обновления Windows.
- Следите за состоянием SSD или HDD.
- Создавайте точки восстановления перед серьёзными изменениями системы.
- Периодически выполняйте проверку системных файлов командой sfc /scannow.
Часто задаваемые вопросы
Можно ли скачать только отсутствующий DLL-файл?
Не рекомендуется. Намного безопаснее установить программу или компонент, которому принадлежит эта библиотека.
Почему DLL пропадает после перезагрузки?
Возможные причины — повреждение файловой системы, работа вредоносной программы, неисправность накопителя или некорректная работа самой программы.
Почему ошибка появляется только в одной игре?
Скорее всего, отсутствует библиотека, которая входит в комплект именно этой игры или её установщик был повреждён.
Нужно ли переустанавливать Windows?
Нет. В большинстве случаев проблему удаётся устранить без переустановки системы.
Можно ли удалить старые версии Visual C++?
Нет. Разные программы используют разные версии библиотек Microsoft Visual C++ Redistributable.
Почему DLL есть в папке, но программа её не видит?
Файл может быть повреждён, иметь неправильную разрядность или зависеть от другой отсутствующей библиотеки.
Почему антивирус удалил DLL?
Иногда защитное ПО помещает библиотеку в карантин из-за ложного срабатывания. Проверьте журнал антивируса и убедитесь, что файл действительно относится к доверенной программе.
Поможет ли восстановление системы?
Да, если ошибка появилась после установки драйвера, программы или обновления Windows, а на компьютере есть точка восстановления.
Заключение
DLL-ошибки почти всегда можно исправить самостоятельно, если определить их настоящую причину. Не стоит начинать с поиска отдельных библиотек в интернете — в большинстве случаев проблема решается переустановкой программы, установкой Microsoft Visual C++ Redistributable или DirectX, а также проверкой системных файлов Windows.
Если стандартные способы не помогли, используйте встроенные средства диагностики: SFC, DISM и CHKDSK. Они позволяют восстановить повреждённые компоненты операционной системы и устранить большинство распространённых причин появления DLL-ошибок.
Если же ошибка связана с конкретным DLL-файлом, откройте соответствующую инструкцию на сайте. Для каждой популярной библиотеки подготовлено отдельное руководство с учётом особенностей именно этого файла и программ, которые его используют.
Комментарии
Обсуждение доступно после входа
Авторизуйтесь через VK ID, чтобы читать комментарии, отвечать, ставить лайки и сохранять статьи.