Не регистрируется Dll, ActiveX под Windows 7 - что делать?

В привычных всем Windows до XP включительно регистрация Dll, ActiveX компонентов без проблем выполнялась командой regsvr32.

В Windows 7 в принципе то же самое, но внесены некоторые "усовершенствования", из-за чего привычный порядок действий нередко не дает ожидаемого результата. Например:

Согласитесь, очень понятное и информативное сообщение. Отличный повод для разработчика ОС - предложить пользователю приобрести выпустить Windows 8, новую, еще более усовершенствованную версию, где это сообщение, возможно, переведут на человеческий язык.

А именно: окно терминала (командной строки, cmd) следует открывать командой "Запуск от имени администратора" (доступно нажатием правой кнопки мыши).

В большинстве случаев это решает проблему.

Дополнительные действия могут потребоваться, если используется 64битная версия ОС. Дело в том, что программы в ней могут быть не только 64битными но и 32 битными. Причем большинство программ - 32битные, ибо польза от 64бит есть только на ресурсоемких приложениях.

В частности, клиентская часть 1С (т.е. та 1С, с которой работает пользователь) является 32 битным приложением. (Вот сервер 1С уже может быть как 32 битным, так и 64битным, но это касается больших организаций, если у Вас 1С Бухгалтерия и 5 пользователей, то 99% что у Вас никакого сервера 1С нет и все 32 битное).

ActiveX компоненты также могут быть 32 битными или 64 битными, причем должна использоваться та версия, разрядность которой соответствует приложению. OcvitaBarcode ActiveX является 32 битным приложением.

Так вот, программы для регистрации 32битных и 64 битных ActiveX в Windows 6 64 битной тоже разные, но при этом они обе называются regsvr32.exe. (Как говорил Козьма Прутков, "если на клетке со слоном написано "буйвол", не верь глазам своим".) Поэтому, если Вы просто набираете в командной строке

regsvr32 какая-то.ocx

то в теории должна запуститься нужная regsvr32, на практике может запуститься что угодно. Зачем так сделано? ну все за тем же, если сразу сделать по-человечески, кто будет новую версию Windows покупать.

Поэтому для гарантированного запуска 32битной regsvr32, следует в окне терминала набирать команду

c:\windows\syswow64\regsvr32.exe OcvitaBarcode.ocx

Если windows установлена не в c:\windows, то путь естественно, указываем какой есть. И помним, что окно терминала следует открывать от имени администратора.

При соблюдении вышеуказанных правил 32битные ActiveX, в т.ч. OcvitaBarcode ActiveX без проблем работают в Windows 7:


Если на компьютере отсутствует или повреждена какая-либо библиотека.dll, связанная с ней программа или служба будет работать некорректно. Windows будет выдавать ошибку, что DLL-файл поврежден или отсутствует. Для решения проблемы нужно скачать требуемую библиотеку для своей версии Windows, скопировать её в нужную папку и зарегистрировать в системе.

Вне зависимости от того, какой программой и для чего используется dll-файл, установка и регистрация библиотеки всегда будет происходить по одному алгоритму. Все версии ОС Windows руководствуются одними правилами при подключении и регистрации динамических библиотек.

Пошаговая инструкция:

Как и куда копировать DLL файл

Ошибки с динамическими библиотеками DLL возникают по разным причинам: файл поврежден, несовместим с Windows или конкретной программой, заражен вирусами или удален. Решение всегда одно: загрузить корректную и полную версию библиотеки, после чего зарегистрировать файл в системе через командную строку. Обычно, весь процесс занимает не более 2-5 минут.

Сюда можно поместить (разархивировать и копировать) любые библиотеки dll, и установленные файлы будут работать:

  • Для Windows 95/98/Me - файл копируется в папку C:\Windows\System
  • Для Windows NT/2000 - файл копируется в папку C:\WINNT\System32
  • Для Windows XP, Vista, 7, 8 - копировать в папку C:\Windows\System32
  • Для 64-разрядных Windows - копировать dll файл в папку C:\Windows\SysWOW64

Где можно загрузить нужную библиотеку:

  • Если это игра или программа: с другой сборкой игры, с другого ПК, на котором приложение работает, с диска (переустановить программу).
  • Если это системная библиотека, проверьте актуальность драйверов, DirectX или иного компонента, если система пишет, в каком файле или программе допущена ошибка. Копировать dll можно с другого компьютера с аналогичной версией разрядностью и версией Windows (7, 8, 10). Ошибка может вызываться не самой библиотекой, но и программой, её использующей.
  • Всегда можно загрузить нужную версию файла с архивов dll вроде dll.ru или ru.dll-files.com . Внимательно проверяйте, для какой версии ОС предназначена библиотека. Также следует внимательно смотреть, что скачивается: вместо нужной библиотеки многие сайты пытаются подсунуть свой платный софт для исправления ошибок с DLL.
  • Попробуйте найти статью с решением проблем про нужный файл в разделе , либо воспользуйтесь поиском по сайту.

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

Все изменения вступят в силу после регистрации библиотеки в системе и перезагрузки компьютера. До этого пытаться запустить что-либо бесполезно — система не подключится к файлу.

Для проверки разрядности системы нужно нажать правой кнопкой мыши на иконке «Мой компьютер» и выбрать пункт «Свойства» . В открывшейся папке в разделе Система будет написано: «Тип системы: 64-разрядная операционная система, процессор x64».

Регистрация библиотеки в Windows

Проще всего зарегистрировать библиотеку DLL в Windows через командную строку или окно «Выполнить». Для открытия командной строки нужно: нажать Пуск -> Выполнить или комбинацию клавиш Win+R , ввести cmd.exe и нажать Enter . Можно ввести команду прямо в это поле, не открывая командной строки.

Для регистрации библиотеки нужно написать команду regsvr32 имяфайла.dll и нажать Enter . К примеру, regsvr32.exe msvcp110.dll.

Для того, чтобы изменения вступили в силу и библиотека начала работать, необходимо перезагрузить компьютер . Если Windows не хочет находить требуемый файл, можно указать полный путь: regsvr32.exe полный_путь_к_файлу.dll , например regsvr32.exe C:/Windows/System32/msvcp110.dll.

Установка игры или тяжелого приложения подразумевает автоматическую инсталляцию и регистрацию необходимых библиотек DLL в операционной системе Windows. DLL – это динамические библиотеки, обращение к которым многократно может идти от нескольких приложений. Если при попытке обращения со стороны игры или программы к определенной библиотеке DLL возникла ошибка, пользователь увидит сообщение «точка входа dllregisterserver не найдена» или «запуск невозможен, отсутствует.dll файл». Эти и другие ошибки, сообщающие о проблемах при обращении к динамической библиотеке, можно устранить, если самостоятельно зарегистрировать нужный файл DLL в Windows.

Почему возникает ошибка при обращении к DLL

Библиотеки DLL добавляются в операционную систему при обновлении Windows и при установке приложений. Исходя из этого, можно выделить следующие основные причины, почему возникает ошибка, сообщающая об отсутствии или проблемах с DLL файлом:

  • DLL библиотека не была установлена. Причин этому может быть две – Windows не обновлен до актуальной версии, а библиотека поставляется с одним из последних обновлений, или игра/приложение при установке по некоторым причинам не произвела инсталляцию и регистрацию новых библиотек DLL.
    Обратите внимание: Чаще всего в установочные файлы приложения включены все необходимые библиотеки DLL, и разработчики не надеются, что на компьютере уже ранее были установлены необходимые компоненты.
  • Повреждение библиотек DLL. Данная проблема чаще всего возникает, если библиотеки DLL были повреждены вирусным программным обеспечением или неосторожными действиями пользователя, например, внесением изменений в реестр, которые привели к повреждению динамических библиотек.

Большая часть библиотек DLL устанавливается на компьютер вместе с DirectX, поэтому если при установке игры или приложения возникает предложение обновить/установить DirectX, от него не нужно отказываться, иначе велик риск появления ошибки «запуск невозможен, отсутствует.dll файл».

Как зарегистрировать DLL в Windows

Если по некоторым причинам в Windows отсутствует библиотека DLL, необходимая для запуска игр и приложений, пользователь может самостоятельно ее зарегистрировать. Сделать это возможно двумя способами, предварительно загрузив на компьютер необходимую библиотеку DLL.

Регистрация DLL с помощью командной строки

Чтобы зарегистрировать имеющуюся на компьютере библиотеку DLL через командную строку, проделайте следующие действия:


Регистрация DLL с помощью строки «Выполнить»

Регистрация DLL через строку «Выполнить» практически ничем не отличается от действий с командной строкой. Пользователю необходимо:


Что делать, если не удается зарегистрировать библиотеку DLL

Возможна ситуация, когда Windows выдаст ошибку на команду по регистрации библиотеки, в которой указано, что модуль загружен, но точка входа DllRegisterserver не найдена. Вероятны и другие вариации схожих ошибок, из-за которых не удается зарегистрировать библиотеку DLL. Возникают такие ошибки по следующим причинам:

Если возникают ошибки при попытке регистрации библиотеки DLL, первым делом нужно попробовать загрузить официальный компонент от поставщика, чтобы исключить вероятность файла-«пустышки». Для этого потребуется воспользоваться поисковой системой и найти, к какому компоненту системы относится проблемный DLL.

В редких ситуациях проблемы с регистрацией библиотеки DLL могут возникать, если она не находится в одной папке с исполняющим файлом.exe компонента или приложения. В таком случае нужно переместить библиотеку в папку с исполняющим файлом и попробовать вновь ее зарегистрировать.

Пользователи спрашивают о том, как зарегистрировать dll файл в Windows 7 и 8. Обычно после того, как столкнулись с ошибками наподобие «Запуск программы невозможен, так как нужная dll отсутствует на компьютере». Об этом и поговорим.

На самом деле, регистрация библиотеки в системе не такая уж и сложная задача (покажу целых три вариации одного способа) - по сути, необходим лишь один шаг. Единственное обязательное требование - наличие у вас прав администратора Windows.

Однако есть некоторые нюансы - например, даже успешная регистрация DLL не обязательно избавляет вас от ошибки «библиотека отсутствует на компьютере», а появление ошибки RegSvr32 с сообщением о том, что модуль не совместим с версией Windows на этом компьютере или точка входа DLLRegisterServer не найдена, не говорит о том, что вы что-то делаете не так (о чем это говорит разъясню в конце статьи).

Три способа регистрации DLL в ОС

Описывая дальнейшие шаги, я исхожу из того, что вы нашли, куда нужно скопировать вашу библиотеку и DLL уже лежит в папку (а возможно, где-то еще, если ей там следует находиться).

Примечание: ниже будет описано, как зарегистрировать 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, который требует эту библиотеку.

2. После того как скопировали библиотеку нажмите комбинацию кавишь WIN+R и в открывшееся окно вставьте:

regsvr32 <имя библиотеки>

Например regsvr32 mfc100

И нажмите Enter

Если появится такая ошибка,

то попробуйте нажать ту же самую комбинацию клавиш и вставить следующее:

%WINDIR%\SysWOW64\regsvr32 <имя библиотеки>

Например %WINDIR%\SysWOW64\regsvr32 mfc100

Если библиотека корректная, то регистрация пройдет успешно, и вы увидите такое сообщение

P.S. Если необходимо зарегистрировать библиотеку,которая находится в другом каталоге(не системном) то необходимо указать полный путь к библиотеке.

Например regsvr32


1. Скопируйте скаченну библиотеку в нужную системную директорию. (это либо system32 , либо SysWOW64 )*

* в какую директорию копировать библиотеки зависит от разрядности приложения. Если вы точно не знаете в какую папку копировать, копируйте в обе J

2. Скачайте архив внизу поста , разархивируйте , запустите файл reg.bat с правами администратора , выберите нужную вам разрядность,нажмите Enter и вставьте имя библиотеки , которую вы скопировали в системную директорию. Все должно пройти успешно и Вы увидите данное сообщение.

Если же увидите такое сообщение

То выберите другую разрядность и попытайтесь снова провести регистрацию. Все должно пройти успешно.

P.S. Если необходимо зарегистрировать библиотеку,которая находится в другом каталоге(не системном), то в имени библиотеки необходимо указать полный путь к библиотеке.

Например C:\Program Files\1Cv77\BIN\V7PLUS.dll