- Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7
- Отмена и повторная регистрация DLL библиотеки
- Регистрация DLL библиотеки
- Отменить регистрацию файла DLL
- Перерегистрировать все файлы dll
- Регистрация 32-битной DLL в 64-битной ОС
- Что нужно учесть?
- Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
- Аннотация
- Синтаксис команды Regsvr32
- Типичные решения ошибок Regsvr32
- Как зарегистрировать DLL в Windows
- Три способа регистрации DLL в ОС
- Почему не удается зарегистрировать DLL
- Модуль загружен … но точка входа DLLRegisterServer не найдена
- В чём суть ошибки «Модуль загружен»?
- Исправляем проблему при которой модуль загружен, но точка входа DLLRegisterServer не найдена
- Скачиваем библиотеки dll
- Регистрируем библиотеки dll
- Устанавливаем обновления для Windows
- Избавляемся от сбойных обновлений Windows
Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7
Когда пользователь запускает игры или программы, то может столкнуться с ошибкой, что не удалось запустить программу, так как на компьютере отсутствует DLL файл. В большинстве случаях, регистрация указанного DLL файла может устранить данную ошибку. Также, иногда бывают моменты, когда библиотеку нужно перезарегистрировать заново, т.е. отменить текущую регистрацию и заново зарегистрировать.
Воспользуемся инструментом Regsvr32 командной строки, который регистрирует и отменяет регистрацию DLL библиотек и ActiveX (OCX) в Windows 10/8.1/7.
Отмена и повторная регистрация DLL библиотеки
Путь к DLL библиотеке можно скопировать, чтобы не писать его вручную в командой строке. Для этого, зажмите левый Shift и нажмите правой кнопкой мыши по DLL фалу, после чего «Копировать как путь«.
Наберите в поиске «Командная строка» и нажмите по ней правой кнопкой мыши, после чего выберите «Запустить от имени администратора» и вводите ниже команды, которые вам необходимы.
Регистрация DLL библиотеки
В командную строку введите следующую команду, чтобы зарегистрировать DLL библиотеку в системе Windows.
Отменить регистрацию файла DLL
Чтобы отменить текущую регистрацию DLL файла, введите ниже команду и нажмите Enter:
Перерегистрировать все файлы dll
Чтобы зарегистрировать все файлы dll в системе Windows, то:
Регистрация 32-битной DLL в 64-битной ОС
Если вы получаете сообщение об ошибке при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии Windows, выполните следующие действия:
- Если 32-разрядная DLL находится в папке System32, то переместите ее в папку SysWoW64 и введите ниже команду.
или
Что нужно учесть?
1. В 64-разрядной версии операционной системы Windows существует две версии файла Regsv32.exe:
- 64-разрядная версия — это %systemroot%\System32\regsvr32.exe
- 32-разрядная версия — это % systemroot%\ SysWoW64\regsvr32.exe.
2. В 64-разрядной версии Windows, 32-разрядные файлы DLL всегда находятся в папке Windows\SysWOW64. В то время как 64-битные библиотеки DLL находятся в папке Windows\System32. В 32-битной версии Windows, файлы DLL находятся только в папке Windows\System32. Здесь не будет папки SysWOW64.
3. Если вы получаете ошибки, такие как DllRegisterServer, модуль несовместим с версией Windows или точка входа не найдена, то знайте:
- Не все библиотеки DLL предназначены для регистрации в системе Windows.
- Если вы скачали библиотеку со стороннего сайта, то она может быть даже и не библиотекой, а скорее всего каким-либо вирусом.
- Вы регистрируете уже зарегистрированный DLL файл.
Как исправить?
- Много DLL библиотек, таких как d3dx9_43.dll, MSVCR71.dll, VCRUNTIME140.dll, находятся в сторонних компонентах как DirectX, NET Framework и Visual C++, которые нужно скачать на сайте Microsoft и установить. Вы можете в интернете почитать о самом файле, к чему он относится. Также, можете воспользоваться поиском на этом сайте, так как я много описывал решений о проблемах с DLL файлами.
- Отмените регистрацию и зарегистрируйте DLL файл повторно.
4. Отключите на время контроль учетных записей ( UAC ) во время регистрации DLL, так как он может мешать процессу.
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий TechNet.
Аннотация
Regsvr32 — это служебная программа командной строки для регистрации и отмены регистрации элементов управления OLE, например ActiveX и библиотеки DLL в реестре Windows. Средство Regsvr32.exe установлено в папке %systemroot%\System32 в ОС Windows XP и более поздних версиях Windows.
Примечание. В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
64-разрядная версия — %systemroot%\System32\regsvr32.exe;
32-разрядная версия — %systemroot%\SysWoW64\regsvr32.exe.
Синтаксис команды Regsvr32
Программа RegSvr32.exe имеет следующие параметры командной строки.
Regsvr32 [/u] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд; при использовании с ключом /u вызывает DllUnInstall.
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i
/s – «тихий» режим; окна сообщений не отображаются
Типичные решения ошибок Regsvr32
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиямиЧтобы открыть командную строку с повышенными привилегиями, выполните указанные ниже действия.
Windows 8.1 и Windows 8Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows 7 и Windows VistaНажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows XPВойдите в систему в качестве администратора или с другой учетной записью с правами администратора и откройте окно «Командная строка».
Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС WindowsЕсли при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows появляется ошибка, выполните следующие действия.
Откройте командную строку с повышенными привилегиями.
Если 32-разрядная библиотека DLL находится в папке %systemroot%\System32, переместите ее в папку %systemroot%\SysWoW64.
Как зарегистрировать DLL в Windows
Пользователи спрашивают о том, как зарегистрировать dll файл в Windows 7 и 8. Обычно после того, как столкнулись с ошибками наподобие «Запуск программы невозможен, так как нужная dll отсутствует на компьютере». Об этом и поговорим.
На самом деле, регистрация библиотеки в системе не такая уж и сложная задача (покажу целых три вариации одного способа) — по сути, необходим лишь один шаг. Единственное обязательное требование — наличие у вас прав администратора Windows.
Однако есть некоторые нюансы — например, даже успешная регистрация DLL не обязательно избавляет вас от ошибки «библиотека отсутствует на компьютере», а появление ошибки RegSvr32 с сообщением о том, что модуль не совместим с версией Windows на этом компьютере или точка входа DLLRegisterServer не найдена, не говорит о том, что вы что-то делаете не так (о чем это говорит разъясню в конце статьи).
Три способа регистрации DLL в ОС
Описывая дальнейшие шаги, я исхожу из того, что вы нашли, куда нужно скопировать вашу библиотеку и DLL уже лежит в папку System32 или SysWOW64 (а возможно, где-то еще, если ей там следует находиться).
Примечание: ниже будет описано, как зарегистрировать DLL библиотеку с помощью regsvr32.exe, однако обращаю ваше внимание на то, что если у вас 64-разрядная система, то у вас есть два regsvr32.exe — один в папке C:\Windows\SysWOW64, второй — C:\Windows\System32. И это разные файлы, причем 64-бит находится в папке System32. Рекомендую в каждом из способов использовать полный путь к regsvr32.exe, а не просто имя файла, как у меня показано в примерах.
Первый способ описывается в Интернете чаще других и состоит в следующем:
- Нажмите клавиши Windows + R или в меню Пуск Windows 7 выберите пункт «Выполнить» (если, конечно, у вас включено его отображение).
- Введите regsvr32.exe путь_к_файлу_dll
- Нажмите Ок или Enter.
После этого, если все прошло успешно вы должны будете увидеть сообщение о том, что библиотека была успешно зарегистрирована. Но, с большой вероятностью увидите другое сообщение — Модуль загружен, но точка входа DllRegisterServer не найдена и стоит проверить, что ваша DLL является правильным файлом (об этом, как я уже говорил, напишу позже).
Второй способ состоит в запуске командной строки от имени администратора и ввода все той же команды из предыдущего пункта.
- Запустите командную строку от имени Администратора. В Windows 8 можно нажать клавиши Win+X, а затем выбрать нужный пункт меню. В Windows 7 вы можете найти командную строку в меню Пуск, кликнуть по ней правой кнопкой мыши и выбрать пункт «Запуск от имени администратора».
- Введите команду regsvr32.exe путь_к_библиотеке_dll (пример вы можете видеть на скриншоте).
Опять же, вероятно, что вам не удастся зарегистрировать DLL в системе.
И последний способ, который также может пригодиться в некоторых случаях:
- Кликните правой кнопкой мыши по DLL, которую нужно зарегистрировать и выберите пункт меню «Открыть с помощью».
- Нажмите «Обзор» и найдите файл regsvr32.exe в папке Windows/System32 или Windows/SysWow64, откройте DLL с помощью него.
Суть всех описанных способов зарегистрировать DLL в системе одна и та же, просто несколько разные способы запуска одной и той же команды — кому что удобнее. А теперь о том, почему у вас ничего не получается.
Почему не удается зарегистрировать DLL
Итак, у вас отсутствует какой-то файл DLL, из-за чего при запуске игры или программы вы видите ошибку, вы скачали этот файл из Интернета и пробуете зарегистрировать, но либо точка входа DllRegisterServer, либо модуль не совместим с текущей версией Windows, а может и что-то еще, то есть регистрация DLL невозможно.
Почему это происходит (далее будет и про то, как это исправить):
- Не все файлы DLL предназначены для того, чтобы их регистрировали. Для того, чтобы его можно было зарегистрировать данным способом, он должен иметь поддержку той самой функции DllRegisterServer. Иногда ошибка бывает также вызвана тем, что библиотека уже зарегистрирована.
- Некоторые сайты, предлагающие скачать DLL, содержат по факту, файлы-пустышки с искомым вами именем и их невозможно зарегистрировать, так как на самом деле это не библиотека.
А теперь о том, как это исправить:
- Если вы программист и регистрируете свою DLL, попробуйте regasm.exe
- Если вы пользователь и у вас что-то не запускается с сообщением о том, что DLL отсутствует на компьютере — поищите в Интернете, что это за файл, а не где его скачать. Обычно, зная это, вы можете скачать официальный установщик, который установит оригинальные библиотеки и зарегистрирует их в системе — например, для всех файлов с именем, начинающегося с d3d достаточно поставить DirectX с официального сайта Microsoft, для msvc — одну из версий Visual Studio Redistributable. (А если не запускается какая-то игра с торрента, то загляните-ка в отчеты антивируса, он мог удалить нужные DLL, это часто бывает с некоторыми модифицированными библиотеками).
- Обычно, вместо регистрации DLL срабатывает размещение файла в одной папке с исполняемым файлом exe, который требует эту библиотеку.
На этом завершаю, надеюсь, что-то стало более ясно, чем было.
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
07.07.2020 в 13:27
Здравствуйте. Скачал из Стима игру, и столкнулся с ошибкой, связана она с файлом msvcrt. dll. Попробовал все указанные вами способами, а после попробовал установить Microsoft C++, но это все равно не помогло. Что мне делать?
07.07.2020 в 14:49
А установили и X86 и X64 версии (нужны обе). Нужного года?
Модуль загружен … но точка входа DLLRegisterServer не найдена
Крайне неприятная ошибка в Windows «Модуль загружен, но точка входа DLLRegisterServer не найдена» связана, как правило, с некорректным функционированием динамически подключаемой библиотеки (сокр., «.dll»), к которой обращается программа в процессе своей работы. В результате встроенный в Windows процесс отвечающий за регистрацию библиотеки в ОС, отказывается ее принять либо не может найти. А программа, обращающаяся к неработающим модулям, соответственно, не функционирует. Потому, предлагаю разложить по полочкам данную проблему для того, чтобы понять, каким образом ее можно исправить.
В чём суть ошибки «Модуль загружен»?
Итак, объяснение смысла данной ошибки закономерно будет начать с определения «библиотеки«. Библиотека или в некоторых языках программирования, модуль (модули) — это набор подпрограмм, используемых в разработке программного обеспечения. Проще говоря, это совокупность небольших и независимых блоков, каждый из которых является функционально законченным фрагментом кода.
Для чего они предназначены? Существует огромное количество подпрограмм или процедур, выполняющих самые разные задачи. Некоторые из них содержат стандартные для многих программ вычислительные операции. К примеру, открытие диалоговых окон в Windows или нахождение квадратного корня из любого числа — это стандартные, часто встречающиеся процедуры. Так вот, чтобы не писать код таких подпрограмм каждый раз при создании ПО, были придуманы заранее заготовленные файлы, которые получили название «библиотеки». С помощью специальной функции их можно подключить к программе, при этом исполнимый код этой библиотеки не будет внедряться в код приложения, что позволяет сэкономить память ПК.
Динамические библиотеки DLL, встраиваемые в Windows, принадлежат к модулям общего пользования (shared library). Отличительные их особенности для пользователя состоят в следующем:
- Функции, прописанные в таких библиотеках, могут использоваться несколькими программами одновременно;
- Загружаются они по запросу соответствующего процесса, то есть динамически, не потребляя без надобности ресурсы ПК.
К сожалению, у DLL модулей есть и недостатки. Не будем говорить о так называемом «DLL Hell», так как на данный момент, несмотря на нарушение самого идейного принципа динамических библиотек общего пользования, разработчики Microsoft разрешили эту проблему. Гораздо важнее в данной статье отметить следующие недостатки:
- При внесении в библиотеку изменений программы, использующие ее могут перестать работать. Этот недочет является излюбленным у распространителей вирусов. Ведь сама Windows функционирует на основе модулей и, повредив их код, можно повлиять на работу ОС.
- При отсутствии библиотеки или ее некорректной версии программа, использующая данный модуль, соответственно, будет либо неправильно функционировать, либо откажется работать.
- Функции, прописанные в библиотеке Dll, получают один адрес в оперативной памяти для всех процессов, вызывающих их, что упрощает эксплуатацию уязвимостей модульного метода организации ПО;
Теперь о том, что такое точка входа. Точкой входа называется адрес в оперативной памяти, по которому хранится первая команда программы. На самом деле, функций в одной библиотеке может быть несколько и каждая из них имеет свою точку входа, к которой и обращается процесс, вызывающий определенную подпрограмму.
Таким образом, скомпоновав все вышеописанное в единое целое, мы можем раскрыть суть ошибки «Модуль загружен». Эта проблема возникает при регистрации библиотеки в системе. Процесс «Regsvr32.exe», отвечающий за инсталлирование интерфейсов объектов в ОС, не может обнаружить функцию регистрации библиотеки «DLLRegisterServer» в проблемном dll.
- Код функции, которая запрашивается программой, поврежден. Это может быть вызвано как некорректной версией регистрируемой вами библиотеки, так и вирусной атакой, испортившей код модуля, путь к библиотеке в реестре или ее идентификатор GUID.
- Функция DLLRegisterServer может изначально отсутствовать в коде регистрируемой вами библиотеки;
- Отсутствие в коде библиотеки интеграции с компонентами COM/ActiveX, управляющими реализацией dll в Windows;
- Процесс регистрации вообще состоит в том, чтобы прописать путь к подключаемому модулю (модулям) в реестре Windows, для того, чтобы ОС могла «увидеть» библиотеку и оповестить программу, запрашивающую ее, о наличии или отсутствии определенного модуля в системе. Кроме того, каждому классу или объекту, входящему в состав подпрограммы, присваивается уникальный идентификатор GUID, он также необходим для регистрации, поскольку программы работают не с самими библиотеками dll, а с функциональными компонентами, входящими в ее состав. Это говорит о том, что при неправильной регистрации библиотеки значения, прописанные в реестре, останутся неверными, в результате ОС не сможет «опознать» библиотеку, чтобы ПО имело возможность подключить ее.
Рассмотрев основные причины, по которым возникают неполадки с видимостью ОС библиотеки, можно перейти к путям их разрешения.
Исправляем проблему при которой модуль загружен, но точка входа DLLRegisterServer не найдена
Итак, для того, чтобы самостоятельно справиться с проблемой, необходимо скачать библиотеку, которая была повреждена в результате действий вирусов или иных факторов. Ее название можно посмотреть в выскакивающем сообщении об ошибке.
Скачиваем библиотеки dll
Скачивая библиотеки, обязательно вначале уточните разрядность вашей версии Windows (х32/ х64). Если вы найдете и установите неподходящие файлы dll, ошибка “точка входа DLLRegisterServer не найдена” исправлена не будет. Разместите скачанные вручную файлы в папках SysWOW64 и System32, находящихся C:\Windows.
Один очень важный нюанс – при скачивании библиотек dll никогда не пользуйтесь подозрительными ресурсами. Во-первых, данные с таких сайтов могут просто не подойти для вашей ОС (они часто представляют из себя усеченную версию нужного файла), а, во-вторых, вероятнее всего, они содержат вредоносный код, который не только не избавит вас от проблем, но еще и добавит новых. Всегда при малейшем подозрении проверяйте сайт (для этого существуют различные онлайн-сервисы), читайте отзывы и комментарии пользователей. Если скачанный файл dll не работает, возьмите его с другого ресурса.
Регистрируем библиотеки dll
В случае, когда библиотека на компьютере в полном порядке, но точка входа все равно не найдена, попробуем зарегистрировать dll в RegSvr32. Рассмотрим пути избавления от проблемы на основе вышеуказанного изображения. Регистрируем файл thumbcache.dll, находящийся C:\Windows\SysWOW64.
Первый способ – вызвать командную строку и ввести нужные данные:
- нажимаем win+x и находим в появившемся меню командную строку;
- после клика на последнюю появляется черное окно;
- после слова “Компьютер>” вводим слово regsvr32 и через пробел путь к проблемному файлу C:\Windows\SysWOW64\thumbcache.dll.
Зарегистрируйте библиотеки dll с помощью командной строки
Нажимаем Enter и ждем окончания процесса регистрации библиотеки. Если данный метод не помогает, попробуйте повторить те же действия, но уже в командной строке от имени администратора. Возможно, вам не хватает прав для внесения изменений в систему.
Второй способ – использовать строку “Выполнить”:
- нажимаем win+r и вызываем нужную нам строку;
- в появившемся поле вводим название файла RegSvr32.exe и путь к отсутствующей библиотеке;
- нажимаем OK и ждем результата.
Устанавливаем обновления для Windows
Способ, к которому можно обращаться уже после того, как вышеуказанные методы не принесли желаемого результата – обновление компонентов вашей ОС. Для этого найдите на своем компьютере Центр обновления. Просмотрите все доступные обновления и прогрузите их. Процесс долгий, но необходимый. Быть может, проблема была в изначально неправильном коде dll-файлов, и разработчики уже нашли решение на своем уровне. Не выключайте соединение с интернетом и сам ПК во время установки обновлений, иначе результата не будет. Убедитесь, что все файлы прогружены и при необходимости повторите операцию.
Часто для исправления ошибки разработчики выпускают различное дополнительное ПО: моды, патчи, пакеты установки. В этом случае найдите и скачайте последнюю версию программного обеспечения, с которым у вас возникли проблемы. И напоследок о крайне нежелательном варианте – переустановке всей Windows. Конечно, этого без надобности не хочется делать никому, но, если система не открывает библиотеку dll, а все вышеуказанные методы уже испробованы, то сносите установленную и ставьте другую сборку ОС (из проверенных источников).
Избавляемся от сбойных обновлений Windows
Рассматриваемая нами ошибка может появляться не только в последней ОС Windows, но и в других версиях. Поэтому, следуя инструкциям, вы сможете устранить эту проблему и на своем ПК с Виндовс XP, 7 или 8.1. Для того, чтобы найти установленные системой обновления, необходимо открыть «Удаление программ».
- В Windows это можно сделать разными способами. Так, как ошибка появляется в разных версиях, выберите подходящий для себя. В ОС 8.1 и 10 вы можете просто выбрать правой кнопкой мыши (ПКМ) значок Windows и нажать на нужный пункт. В других версиях нажмите на «Пуск» и выберите «Панель управления». Если вы затрудняетесь найти этот пункт, воспользуйтесь поиском. Он для этого и существует;
- Если вы перешли в «Панель управления», но пункт «Удаление программ» найти не можете, обратите внимание на строку «Просмотр». Она находится вверху справа над всеми пунктами. Выберите её мышью и установите значение – «Категории»;
- Теперь вы точно увидите здесь раздел «Удаление программ». Выберите его;
- Список программ здесь нам ни к чему, поэтому обратите внимание на пункты слева выше. Здесь будет строка «Просмотр установленных обновлений»;
- Когда вы откроете эту ссылку, перед вами будет список обновлений. Здесь вам нужно найти установленные обновления за последние несколько дней. Определить новые можно по дате их установки. Выбирайте обновления по числу, с которого у вас начались проблемы;
- Чтобы удалить выбранное, нажмите на него указателем мыши и вверху выберите «Удалить»;
- После этих действий необходимо закрыть окна и все приложения и перезагрузить компьютер.
Когда вы снова включите компьютер, попробуйте запустить программу, которая вызывала ошибку «Модуль загружен, но точка входа DLLRegisterServer не найдена». Если она снова появляется, перейдите к следующей инструкции.