После установки различных программ или игр можно столкнуться с ситуацией, когда при включении возникает ошибка «Запуск программы произвести невозможно, так как требуемой DLL нет в системе». Несмотря на то, что ОС семейства Windows обычно регистрируют библиотеки в фоновом режиме, после того, как вы скачаете и поместите ваш DLL файл в соответствующее место, ошибка все равно возникает, и система просто его «не видит». Чтобы это исправить, нужно зарегистрировать библиотеку. Как это можно сделать, будет рассказано далее в этой статье.
Имеется несколько методов, позволяющих устранить данную проблему. Рассмотрим каждый из них подробнее.
OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.
Для этого вам нужно будет:
OCX/DLL Manager также умеет отменять регистрацию библиотеки, для этого понадобится выбрать в меню пункт «Unregister OCX/DLL» и в последствии проделать все те же операции, как и в первом случае. Функция отмены может вам понадобиться для сравнения результатов при активированном файле и при отключенном, а также в процессе удаления некоторых компьютерных вирусов.
В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора» .
Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:
Регистрация файла через командную строку не сильно отличается от второго варианта:
Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.
Надо отметить, что у окна командной строки имеется функция вставки скопированного текста (для удобства). Найти это меню можно, нажав правой кнопкой на пиктограмме в левом верхнем углу.
«Файл не совместим с установленной версией Windows» - это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.
«Точка входа не найдена» — не все библиотеки DLL можно зарегистрировать, некоторые из них просто не поддерживают команду DllRegisterServer. Также, возникновение ошибки может быть вызвано тем, что файл уже зарегистрирован системой. Существуют сайты, распространяющие файлы, которые в реальности не являются библиотеками. В таком случае, естественно, зарегистрировать ничего не выйдет.
В заключение нужно сказать, что суть всех предложенных вариантов одна и та же - это просто разные методы запуска команды регистрации - кому как удобнее.
Появляется сообщение, что не найден файл *.dll (например, VCompLib.dll ). При этом программа, естественно, не запускается.
Сообщения об ошибках могут быть разные (это зависит в основном от того, на каком языке написана программа), например: «Component "MSCOMM32.OCX" not correctly registered: file is missing or invalid» , или «Приложению не удалось запуститься, поскольку MSVBVM50.DLL не был найден. Повторная установка приложения может исправить эту проблему» , или «Runtime DLL/OCX File error» . При этом может появиться окно Помощника по совместимости программ с сообщением Эта программа требует отсутствующий компонент Windows .
Способы решения проблемы
Если возникают ошибки, связанные с файлами *.dll , необходимо:
1. Переустановить программу.
2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов.
Файлы *.dll , как правило, должны быть расположены в папке \Windows\System32 (реже – в каталоге конкретной программы). Если файлы присутствуют, нужно зарегистрировать их.
Если требуемых файлов нет, найдите их в Интернете, скачайте и скопируйте в папку \Windows\System32 и в каталог программы. Теперь нужно зарегистрировать их.
Как зарегистрировать файлы *.dll
Регистрация файлов *.dll производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого – \Windows\System32 ).
Рассмотрим способы регистрации:
1. Нажмите кнопку Пуск ;
– в текстовое поле Найти программы и файлы введите regsvr32 имя_файла –> Enter .
2. Нажмите кнопку Пуск ;
– в текстовое поле Найти программы и файлы введите cmd ;
– в появившемся перечне (под заголовком Программы ) нажмите правой кнопкой cmd.exe ;
– из контекстного меню выберите Запуск от имени администратора ;
– введите пароль, если появится соответствующий запрос;
– в открывшемся окне после приглашения системы введите regsvr32 имя_файл , нажмите Enter .
3. Если вы пользуетесь файловым менеджером Total Commander , то можно выполнить регистрацию файлов *.dll с помощью командной строки Total Commander .
Если регистрация файлов *.dll прошла успешно, появится окно RegSvr32 с соответствующим сообщением, например: «Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll» :
Примечания
1. При регистрации файлов *.dll происходит их запись в Реестр Windows . При этом в ветке создается соответствующий параметр REG_DWORD со значением 1 .
2. Использование команды regsvr32 :
regsvr32 ] DLL-файл
/u – отменяет регистрацию DLL ;
/s – «тихий» режим – окна сообщений не отображаются;
/i – вызывает DllInstall , передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall ;
Уже много было статей на тему ошибок, связанных с библиотеками DLL. Ошибки эти все исправляются единственным способом – установкой этого самого dll-файла на компьютер. В данной статье я напишу, как это сделать.
При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.
Теперь нужно разобраться, куда кидать этот файл dll. В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:
Иногда при попытке поместить файл в нужную папку может появится сообщение, что файл там уже есть. Тогда почему появляется ошибка? Возможно, что файл поврежден, либо это какой-то вирус, поэтому вы можете заменить его новым файлом.
Как только вы перекинули все отсутствующие библиотеки необходимо перезагрузить компьютер, чтобы изменения вступили в силу, а потом запустить те приложения, которые не работали.
А что делать, если вы закинули все нужные файлы в папку, но программа или игра по-прежнему не запускается? Тогда можно попробовать зарегистрировать библиотеку в системе, сейчас покажу, как это сделать.
Регистрация библиотек DLL в Windows происходит очень просто и быстро. Вы можете это сделать, если у вас стоит Windows 7, 8 или 10. Еще хочу отметить, что у вас должны быть права администратора. В данном пункте я покажу 3 способа регистрации динамических библиотек.
Он самый популярный и используемый пользователями.
Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла.
Другими словами, команда может выглядеть так (покажу на примере файла d3dx9_27.dll):
regsvr32.exe d3dx9_27.dll
Если способ не сработал, то нужно указать полный путь к этому файлу, то есть путь до папки, куда вы поместили DLL. Например, это может выглядеть так:
regsvr32.exe C:/Windows/system32/d3dx9_27.dll
При удачной регистрации вы должны увидеть положительный ответ, либо сообщение об ошибке, что модуль загружен… Но об это я скажу чуть позже.
Тут мы воспользуемся командной строкой, но открыть ее нужно от имени администратора, надеюсь вы знаете, как это сделать.
regsvr32.exe путь_к_файлу_dll
То есть мы выполняем все тоже самое, только в командной строке.
Должно снова появиться сообщение, что библиотека зарегистрирована, либо ошибка.
Метод редко кем используемый, но тоже рабочий. Берете свой dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32 , и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.
Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен. Что делать?
Такие ошибки могут возникать по следующим причинам:
Как решить проблему?
На этом я закончу описывать установку DLL-библиотек и впредь постараюсь как можно реже к этой теме возвращаться. Если все же возникли какие-то вопросы, то я постараюсь на них ответить в комментариях.
Регистрация файлов с расширением *.dll и *.ocx
Спойлер: Справка (нажмите, чтобы открыть)
Как зарегистрировать файлы *.dll и *.ocx ?
Регистрация файлов *.dll и *.ocx производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого – \WINDOWS\system32).
Рассмотрим способы регистрации:
1). Нажмите Пуск – Выполнить…(или одновременно нажать кнопки win и r) – вводим – regsvr32_ имя_файла_ – OK.
2). Нажмите Пуск – Выполнить… – Запуск программы – cmd – OK. Запустится интерпретатор команд cmd.exe(командная строка), после приглашения системы
Код:
C:\Documents and Settings\Имя_пользователя>
введите regsvr32 _имя_файла, например,
Код:
Regsvr32 Koza.dll
.3)Воспользоваться вот таким твиком,который добавляет в контексное меню DLL и OCX файлов пункты "Регистрация" и "Отмена регистрации"
Код:
Windows Registry Editor Version 5.00 @="regsvr32.exe \"%1\"" @="regsvr32.exe /u \"%1\"" @="regsvr32.exe \"%1\""
Код:
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\dllfile\Shell] [-HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация] [-HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация\command] @="regsvr32.exe \"%1\"" [-HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации] [-HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации\command] @="regsvr32.exe /u \"%1\"" [-HKEY_CLASSES_ROOT\ocxfile\Shell] [-HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация] [-HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация\command] @="regsvr32.exe \"%1\""
4). Если вы пользуетесь файловым менеджером Total Commander, то можно выполнить регистрацию файлов *.dll и *.ocx с помощью командной строки Total Commander.
________________________
Параметры regsvr32:
Regsvr32: ] DLL-файл
/u - Отменяет регистрацию DLL
/s - "Тихий" режим; окна сообщения не отображаются
/i - Вызывает DllInstall, передавая параметром необязательную строку_команд,
при использовании с ключом /u вызывает DllUnInstall
/n - Не вызывает DllRegisterServer; это может использоваться с ключом /i
Установка игры или тяжелого приложения подразумевает автоматическую инсталляцию и регистрацию необходимых библиотек DLL в операционной системе Windows. DLL – это динамические библиотеки, обращение к которым многократно может идти от нескольких приложений. Если при попытке обращения со стороны игры или программы к определенной библиотеке DLL возникла ошибка, пользователь увидит сообщение «точка входа dllregisterserver не найдена» или «запуск невозможен, отсутствует.dll файл». Эти и другие ошибки, сообщающие о проблемах при обращении к динамической библиотеке, можно устранить, если самостоятельно зарегистрировать нужный файл DLL в Windows.
Библиотеки DLL добавляются в операционную систему при обновлении Windows и при установке приложений. Исходя из этого, можно выделить следующие основные причины, почему возникает ошибка, сообщающая об отсутствии или проблемах с DLL файлом:
Большая часть библиотек DLL устанавливается на компьютер вместе с DirectX, поэтому если при установке игры или приложения возникает предложение обновить/установить DirectX, от него не нужно отказываться, иначе велик риск появления ошибки «запуск невозможен, отсутствует.dll файл».
Если по некоторым причинам в Windows отсутствует библиотека DLL, необходимая для запуска игр и приложений, пользователь может самостоятельно ее зарегистрировать. Сделать это возможно двумя способами, предварительно загрузив на компьютер необходимую библиотеку DLL.
Чтобы зарегистрировать имеющуюся на компьютере библиотеку DLL через командную строку, проделайте следующие действия:
Регистрация DLL через строку «Выполнить» практически ничем не отличается от действий с командной строкой. Пользователю необходимо:
Возможна ситуация, когда Windows выдаст ошибку на команду по регистрации библиотеки, в которой указано, что модуль загружен, но точка входа DllRegisterserver не найдена. Вероятны и другие вариации схожих ошибок, из-за которых не удается зарегистрировать библиотеку DLL. Возникают такие ошибки по следующим причинам:
Если возникают ошибки при попытке регистрации библиотеки DLL, первым делом нужно попробовать загрузить официальный компонент от поставщика, чтобы исключить вероятность файла-«пустышки». Для этого потребуется воспользоваться поисковой системой и найти, к какому компоненту системы относится проблемный DLL.
В редких ситуациях проблемы с регистрацией библиотеки DLL могут возникать, если она не находится в одной папке с исполняющим файлом.exe компонента или приложения. В таком случае нужно переместить библиотеку в папку с исполняющим файлом и попробовать вновь ее зарегистрировать.