Разное

Регистрируем файл DLL в ОС Windows. REGSVR32 - регистрация или отмена регистрации библиотеки DLL в реестре Windows Как зарегистрировать компонент с помощью команды regsvr32

Регистрируем файл DLL в ОС Windows. REGSVR32 - регистрация или отмена регистрации библиотеки DLL в реестре Windows Как зарегистрировать компонент с помощью команды regsvr32

Файл DLL – это функциональный модуль, который может быть использован несколькими программами при условии, что он зарегистрирован.

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

Данная инструкция расскажет, как выполнить эту процедуру.

Способ 1
  • Нажмите кнопку Пуск
  • В текстовое поле "Найти программы и файлы" введите:
    regsvr32 [полное_имя_файла]
    Полное имя файла при наличии пробелов в пути надо писать в кавычках.

    Например: regsvr32 "C:\Program Files (x86)\1cv77\BIN\v7plus.dll"

  • Нажмите Enter

Способ 2
Примечания
  1. При регистрации файлов *.dll происходит их запись в Реестр Windows. При этом в ветке создается соответствующий параметр REG_DWORD со значением 1.
  2. Использование команды regsvr32:
    regsvr32 ] DLL-файл
    /u
    – отменяет регистрацию DLL
    /s – «тихий» режим – окна сообщений не отображаются
    /i – вызывает DllInstall, передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall
    /n – не вызывает DllRegisterServer. Может использоваться с ключом /i.

Ознакомьтесь с принципом работы этого метода. Чтобы зарегистрировать DLL-файл, можно использовать команду «regsvr» и имя DLL-файла (если файл поддерживает эту команду). Будет создан путь от реестра Windows к DLL-файлу, что упростит системе поиск и использование файла.

  • Как правило, этим методом пользуются для регистрации DLL-файлов, которые относятся к сторонним программ и которые напрямую взаимодействуют с системными утилитами (например, с командной строкой).

Уясните суть ошибки «entry point» (точка входа). Если DLL-файл уже зарегистрирован, он не поддерживает команду «regsvr» или его код не позволяет подключиться к реестру Windows, вы получите сообщение об ошибке «The module was loaded but the entry point DllRegisterServer was not found» (Модуль [имя DLL файла] загружен, но точка входа DllRegisterServer не найдена). Если на экране отобразилось такое сообщение, вы не сможете зарегистрировать DLL-файл.

  • Ошибка «точки входа» - это не столько проблема, сколько подтверждение того, что DLL-файл регистрировать не нужно.
  • Найдите DLL-файл, который вы хотите зарегистрировать. Перейдите в папку с нужным DLL-файлом и найдите его.

    • Если DLL-файл относится к установленной программе, откройте папку с этой программой (например, C:\Program Files\[имя программы]).
  • Откройте свойства DLL-файла. Щелкните правой кнопкой мыши по DLL-файлу и в меню выберите «Свойства». Откроется всплывающее окно.

    Найдите имя DLL-файла. В текстовом поле в верхней части окна «Свойства» вы найдете полное имя файла.

    • У большинства DLL-файлов сложные имена, поэтому оставьте окно «Свойства» открытым, чтобы скопировать имя позже.
  • Скопируйте путь к DLL-файлу. Удерживайте левую кнопку мыши и проведите указателем вдоль текста, который отображается в строке «Расположение», а затем нажмите Ctrl + C , чтобы скопировать путь к DLL-файлу.

    Найдите командную строку. Введите командная строка в строке поиска меню «Пуск». Значок командной строки отобразится в верхней части меню «Пуск».

    Откройте командную строку как администратор. Для этого:

  • Перейдите в каталог с DLL-файлом. Введите cd , нажмите на пробел, нажмите Ctrl + V , чтобы вставить путь к DLL-файлу, а затем нажмите ↵ Enter .

    • Например, если DLL-файл находится в папке «SysWOW64», которая расположена в папке «Windows», команда будет выглядеть так: cd C:\Windows\SysWOW64
  • Введите команду «regsvr» и имя DLL-файла. Введите regsvr32 , нажмите на пробел, введите имя DLL-файла (вместе с расширением.dll) и нажмите ↵ Enter . Если DLL-файл можно зарегистрировать, на экране появится подтверждение регистрации.

    • Например, если имя DLL-файла «usbperf.dll», команда будет выглядеть так: regsvr32 usbperf.dll
    • Чтобы скопировать имя DLL-файла, повторно откройте папку с DLL-файлом (откроется окно «Свойства»), выделите имя файла и нажмите Ctrl + C . Затем вставьте имя в командную строку - для этого нажмите Ctrl + V .
    • Если DLL-файл уже зарегистрирован или не может быть зарегистрирован, отобразится ошибка «точки входа», а не подтверждение регистрации.
  • Попробуйте отменить регистрацию DLL-файла, а потом перерегистрировать его. Если ввод команды «regsvr» приводит к ошибке, которая не является ошибкой «точки входа», отмените регистрацию DLL-файла, а затем перерегистрируйте его; для этого:

    • введите regsvr32 /u имя_файла.dll и нажмите ↵ Enter . Вместо «имя_файла» введите имя своего DLL-файла;
    • Введите regsvr32 имя_файла.dll и нажмите ↵ Enter . Вместо «имя_файла» введите имя своего DLL-файла.
  • Не регистрируется 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-файл не найден. Факт в том, что этот файл может находиться у вас на компьютере, но он попросту не зарегистрирован. В этой статье мы как раз поговорим о том, как зарегистрировать DLL в Windows 7. Сделаем акцент именно на седьмой версии Windows, но, вполне возможно, что DLL зарегистрируется и на других версиях. Итак, приступим.

    Первый способ регистрации DLL

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

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

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

    1. Вам нужно попасть в окно "Выполнить". Его можно открыть несколькими путями. В меню "Пуск" пройти по пути "Все программы → Стандартные" и там уже выбрать "Выполнить". Можно также в том же меню "Пуск" совершить поиск с названием утилиты. Но самый простой способ - это нажать клавиши Win+R.
    2. Когда окно открыто, в поле для ввода нужно прописать команду "regsvr32.exe", после этого указать путь к файлу, который нужно зарегистрировать.
    3. Осталось нажать лишь кнопку "ОК".

    Просим обратить внимание на то, что путь к файлу должен указываться полностью. Начиная с диска C. Например: regsvr32.exe c: windows /system32/openal32.dll.

    В этом случае после нажатия кнопки "ОК" есть два варианта развития событий. Первый подразумевает успех, в этом случае вам будет показано соответствующее сообщение. Или неудача, вылетит соответствующее окно.

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

    Второй способ регистрации DLL

    Второй способ практически ничем не отличается, лишь местом действий. Вам нужно попасть в утилиту "Командная строка", сделать это можно также несколькими способами: или в меню "Пуск" в папке стандартные открыть одноименную программу, или вызвав окно "Выполнить", ввести Решать только вам.

    Теперь перед вами открыта командная строка, в ней нужно ввести абсолютно такие же данные, которые вводились в первом способе. То есть изначально указать программу, которая будет работать с dll (regsvr32.exe), а затем путь к файлу.

    Как видим, второй способ, как зарегистрировать DLL, практически ничем не отличается от первого, о чем и говорилось в начале статьи. Но вот третий имеет более заметные отличия, поэтому перейдем к нему.

    Третий способ регистрации DLL

    Этот способ, скорее всего, окажется более простым для рядового пользователя, поэтому начнем его рассматривать.

    Вам необходимо всего-навсего открыть DLL-файл с помощью regsvr32.exe. Вот как это сделать:

    1. На нужном DLL-файле нажмите ПКМ.
    2. В меню выберите "Открыть с помощью...".
    3. В окошке найдите и нажмите кнопку "Обзор".
    4. Проложите путь к файлу regsvr32.exe, он находится в папке System32, которая находится в папке Windows на диске C.
    5. Нажмите "Открыть".

    Вот и все, теперь вы знаете аж три способа, что нужно делать, когда появляется ошибка DLL.