Что делать, если программа выдаёт сообщение «файл DLL не найден»

После системного сбоя либо неудачной установке или деинсталляции программного обеспечения иногда приходится сталкиваться с ошибкой «Файл .dll не найден». Как правило, это сообщение появляется, когда пользователь пытается запустить какую-либо программу или игру. В зависимости от типа и назначения файла, сообщение об ошибке может отличаться. Например, при запуске ряда игр оно может выглядеть как «Порядковый номер не найден в библиотеке DLL (NAME)».


Тщательное удаление и повторная установка сбойного приложения нередко позволяет решить проблему, но так бывает не всегда. Помимо собственных библиотек, обычно содержащихся в папке с программой, практически все сторонние приложения используют для своей работы библиотеки операционной системы, того же Microsoft .NET Framework. При удалении или повреждении системного файла простая переустановка программы не поможет. В таком случае необходимо перейти в каталог system32 и отыскать указываемый в окне ошибки файл. В Windows 64-бит также рекомендуется проверить содержимое системного каталога SysWOW64.

Файл .dll не найден

Если файл окажется на месте, для начала его нужно попробовать зарегистрировать. Вполне возможно, что программа его просто «не видит». Если файл физически отсутствует, ничего не поделать, придётся поискать его в интернете на специализированных сайтах или скопировать с другого компьютера с той же версией Windows, после чего перенести в соответствующий каталог на вашем ПК, а уже потом зарегистрировать.

Если файл физически отсутствует

Процедура регистрации предельно проста. Откройте от имени администратора командную строку и выполните следующую команду:

regsvr32 Name.dll

, где Name.dll — имя библиотеки. Например, для файла msvcr120.dll команда регистрации будет выглядеть как regsvr32 msvcp120.dll.

Команда регистрации

При удачной регистрации вы получите соответствующее сообщение. Прописать библиотеку можно и вручную. Для этого откройте редактор реестра и перейдите в следующую ветку:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/SharedDLLs

Создайте в подразделе SharedDLLs новый параметр типа DWORD.

Редактор реестра

В качестве его имени укажите полный путь к библиотеке, а в качестве значения установите 1.

Редактор реестра

Перезагрузите компьютер.

Если вышеописанными способами ошибку устранить не удаётся, например, при выполнении команды regsvr32 появляется окошко с сообщением «Модуль №1 загружен, но точка входа №2 не найдена…».

Ошибку устранить не удаётся

Основных причин появления этого сообщения две: либо файл не является библиотекой DLL или OSX, либо имеет место неправильный экспорт точек входа из модуля. Увы, но выбор тут невелик. Ищите в сети другие версии библиотеки и пробуйте их регистрировать одну за другой. Возможно, вам повезёт, и какая-то из них окажется подходящей для вашей системы.

Также можно порекомендовать выполнить следующие действия:

1. Убедитесь, что ваш профиль пользователя не повреждён. Попробуйте зарегистрировать библиотеку из-под учётной записи администратора.

2. Просканируйте систему на предмет ошибок командой sfc /scannow.

3. Переустановите компоненты Microsoft Visual C++, .NET Framework или DirectX.

И последнее. Столкнуться с проблемами при использовании команды regsvr32 вы можете также при попытке зарегистрировать 32-битную библиотеку DLL в 64-битной Windows. В этом случае переместите файл библиотеки из папки System32 в SysWOW64 и в запущенной от имени администратора консоли CMD выполните команду %systemroot%/SysWoW64/
egsvr32 {полный путь к DLL}
без фигурных кавычек.

Теги: , ,

Предыдущая/следующая

Вам может быть интересно:

Поделиться в соц сетях:

Twitter Facebook Vk Googlepluse Linkedin

Подпишитесь на обновления этого блога по RSSRSS, RSSMAILEmail или TwitterTwitter!

Случайная подборка из рубрики:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Обсуждаемые темы:

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля