Как зарегистрировать 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, Яндекс.Дзен)
Здравствуйте. Скачал из Стима игру, и столкнулся с ошибкой, связана она с файлом msvcrt. dll. Попробовал все указанные вами способами, а после попробовал установить Microsoft C++, но это все равно не помогло. Что мне делать?
А установили и X86 и X64 версии (нужны обе). Нужного года?
Регистрация DLL в 64-битной версии Microsoft Windows Server. Библиотека ComConnector comcntr.dll
Если фоновый процесс COM-соединения оканчивается ошибкой
<Обработка.ОбменДаннымиXML.МодульОбъекта(15947)>: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
, то нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
но в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
Затем перезайдите в 1С Предприятие и попробуйте установить COM-соединение снова.
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше
9 комментариев на «Регистрация DLL в 64-битной версии Microsoft Windows Server. Библиотека ComConnector comcntr.dll»
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.7.1873) отличается от версии корневого модуля ‘core83’ (8.3.9.1850)
В поставке 1С 8.3 есть ярлык «Регистрация утилиты администрирования серверов x86-64», который ведёт к файлу RegMSC.cmd .
Берём этот файл и меняем в нём строку radmin.dll на comcntr.dll.
Далее запускаем его от имени администратора. Всё.
4. Вручную выполнить регистрацию компоненты C:\Program Files (x86)\1cv8\8.3.14.1343\bin\comcntr.dll
• Заходим в Панель управления — Администрирование — Службы компонентов.
• Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
• В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
• Нажимаем «Далее».
• Выбираем «Создать новое приложение».
• Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
• На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
• Нажимаем «Готово».
• В появившейся ветке V83COMConnector переходим к подветке Компоненты.
• В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
• Нажимаем «Далее».
• Выбираем «Установка новых компонентов».
• Выбираем файл \bin\comcntr.dll.
• Нажимаем «Далее» — «Готово».
• Переходим к ветке V83COMConnector.
• В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
• Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
• Нажимаем «ОК».
«»но в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»»»
Скорее вот так, 64 bit лежит C:\Program Files\:
C:\Windows\SysWOW64\regsvr32 «C:\Program Files\1cv8\8.3.XX.XXXX\bin\comcntr.dll»
Вы пытаетесь зарегистрировать 64-разрядную dll с помощью 32-разрадного регистратора
Добрый день.
Столкнулся с проблемой, когда РДС сервер работает с разными платформами 1С и на него нужно поставить 2 разные компоненты, которые бы работали одновременно. КАк это можно реализовать?
Регистрируем библиотеки DLL в Windows
При попытке запустить игру или приложение мы можем столкнуться с ошибками вида «точка входа dllregisterserver не найдена» или «запуск приложения невозможен, отсутствует .dll файл». Подобных вариаций может быть несколько, но суть одна: нужных библиотек нет вовсе или они не зарегистрированы. Итак, давайте разберемся, как задействовать библиотеку в операционной системе и что делать, если проблема не решилась.
Описание ошибки
Во время установки Windows и других сторонних программ, в системные папки распаковываются библиотеки – файлы .dll, которые являются средой исполнения программного кода для приложений. Не вдаваясь в подробности, это то, с помощью чего программы и игры работают. И в случаях, когда эти файлы не видит система, возникают ошибки.
Причины возникновения
Причинами появления данной проблемы может быть ряд событий:
- Заражение вирусом. Нежелательное ПО способно повредить и удалить библиотеки с компьютера. Для этого стоит проверить машину на вирусы и удалить их с жесткого диска.
- Ошибка программы установки. Как правило, поставщик программного обеспечения добавляет все необходимые системные файлы в установочный пакет для работы приложения. Но иногда разработчики забывают об этом. Итог – если на компьютере нет подходящих ресурсов (которые установились с другим приложением), ваша программа не запустится. Гораздо обиднее, если за данный софт вы заплатили круглую сумму.
Способы регистрации библиотек
Существует два способа добавления .dll файлов в реестр системы.
С помощью командной строки
Для этого потребуется выполнить следующие действия:
- Кликните ПКМ на «Пуск» и выберите «Командная строка (Администратор)».
- В появившемся окне введите regsvr32.exe путь_к_библиотеке и нажмите Enter.
- Если после этого регистрация не произошла, а появилась ошибка, решение вы найдете ниже.
С помощью окна «Выполнить»
Способ в два клика:
- Нажмите Win+R.
- В появившемся поле введите regsvr32.exe путь_к_файлу_dll и нажмите Enter.
- Если появилась ошибка, ознакомьтесь со следующим пунктом.
Почему не получается зарегистрировать .dll и как это исправить?
Существует три причины неудачи при регистрации системных файлов:
- Библиотека уже зарегистрирована. В данном случае причина — сам файл, который поврежден или заражен вирусом.
- Регистрация невозможна. Файл .dll может просто оказаться пустышкой или быть несовместимым с версией и компонентами операционной системы.
Существует три способа для выхода из сложившегося положения:
- Скачайте официальный компонент системы с ресурса поставщика. Например, для файла xlive.dll нужно загрузить и установить пакет Microsoft Games for Windows, который можно скачать на сайте Microsoft.
Итак, мы рассмотрели ряд способов по регистрации библиотек в системе и ликвидации ошибки «точка входа dllregisterserver не найдена». Их должно хватить. Но если у вас уникальная ситуация или известен другой путь решения проблемы – поделитесь, пожалуйста, им в комментариях.