Regsrv32 как зарегистрировать dll 1c 64
Перейти к содержимому

Regsrv32 как зарегистрировать dll 1c 64

  • автор:

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

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

Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.

В этой инструкции подробно о способах регистрации библиотек DLL в Windows x64 и x86 (32-бит) с помощью regsvr32.exe (и кратко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.

Регистрация библиотеки DLL в Windows 10, Windows 11 и предыдущих версий системы

Дальнейшие шаги описаны в предположении, что DLL, которую нужно зарегистрировать, уже находится в нужном расположении: папке C:\Windows\System32, C:\Windows\SysWOW64 или, в некоторых случаях — отдельных папках программ, к которой относится соответствующая библиотека, например, для 1С — C:\Program Files\1cv8\номер_версии\bin (или Program Files x86 в случае 32-битной версии).

Прежде чем приступить к регистрации библиотеки, учитывайте следующие моменты:

  • В x64 версиях Windows 64-битные DLL хранятся в System32, а 32-битные — в SysWOW64 (у некоторых начинающих пользователей бывает обратное предположение исходя из имён папок).
  • Файлы DLL x64 и x86 (32-бит) — это разные файлы. И если прямого указания на разрядность в месте загрузки файла нет, то чаще это 32-битный файл (что не мешает ему работать в x64 системе), но это не всегда так.
  • Для регистрации библиотеки DLL используется системный инструмент regsvr32.exe, который также доступен в двух версиях, которые лежат в папках System32 и SysWOW64 (в случае 64-битных систем). По умолчанию при описываемых далее действиях запускается x64 версия.
  • 32-битным программам и играм (по умолчанию устанавливаются в Program Files x86 в 32-битных системах) для работы нужны 32-битные DLL, не зависимо от разрядности Windows.

Сам процесс регистрации в общем случае состоит из следующих шагов:

  1. Нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows). Также можно нажать правой кнопкой мыши по кнопке «Пуск» в Windows 11 или Windows 10 и выбрать пункт контекстного меню «Выполнить».
  2. Введите команду regsvr32.exe путь_к_файлу (если путь к файлу содержит пробелы, возьмите весь путь в кавычки), например, для регистрации библиотеки DLL COMCNTR.DLL в 1С (для 64-бит) команда может иметь вид:

regsvr32.exe "C:\Program Files\1cv8\8.3.19.1150\bin\comcntr.dll"

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

  • Нажмите Ок или Enter.
  • При успехе вы получите сообщение вида «Успешное выполнение DllRegisterServer в имя_файла.dll» или «Успешное выполнение DllRegisterServer и DllInstall в имя_файла.dll». Успешная регистрация библиотеки DLL
  • Возможна и неудача — сообщение об ошибке «Модуль dll загружен, но точка входа DllRegisterServer не найдена. Проверьте, что файл является правильным файлом DLL или OCX и повторите попытку». Подробнее об ошибке — в следующем разделе статьи.

    Ошибка регистрации regsvr32 точка входа DllRegisterServer не найдена

    Почему не удается зарегистрировать DLL

    Ошибка при регистрации с помощью regsvr32 вида «Точка входа DllRegisterServer не найдена» говорит о том, что эта библиотека DLL не поддерживает регистрацию описанным методом. Можно попробовать использовать вариант команды:

    regsvr32 /i /n путь_к_файлу.dll

    но с большой вероятностью и это не поможет.

    Видео

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

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • MinerSearch — поиск и удаление майнера в Windows
    • Program в автозагрузке Windows — что это и можно ли удалить?
    • SSD определяется как HDD или наоборот в Windows — решение
    • Не удалось запустить службу Windows Audio на Локальный компьютер — как исправить?
    • Ошибка DXGI ERROR DEVICE HUNG — как исправить?
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Даниил 07.07.2020 в 13:27

    • Dmitry 07.07.2020 в 14:49
    • Карина 03.03.2023 в 00:12
    • Dmitry 03.03.2023 в 14:18

    REGSVR32 — регистрация или отмена регистрации библиотеки DLL в реестре Windows.

    Модель многокомпонентных объектов ( C omponent O bject M odel — СОМ ) является основным средством взаимодействия программ любых типов: библиотек, приложений, системного программного обеспечения и т.п. и определяет стандартный механизм, с помощью которого одна часть программного обеспечения ( сервер ) предоставляет свои сервисы другой ( клиент ) , что обеспечивается применением определенных протоколов взаимодействия между ними ( между клиентом и сервером). В качестве сервера может использоваться динамически подключаемая библиотека (DLL), подгружаемая во время работы приложения, либо отдельный самостоятельный процесс, который может быть компонентом прикладной или системной программы, или даже процесс, выполняющийся на другом компьютере. Для нахождения нужного клиенту сервера, используется специальная информация из реестра Windows, которая формируется в при регистрации сервера в системе, чаще всего, в виде модуля динамически загружаемой библиотеки DLL. Регистрация необходима, поскольку программы работают не с самими файлами DLL, OCX, ACX, EXE, а с объектами, представляющими определенный набор программных интерфейсов. Для регистрации DLL используется следующие разделы реестра:

    HKLM\SOFTWARE\Classes\CLSID — при регистрации COM-объектов библиотек для всех пользователей системы;

    HKCU\SOFTWARE\Classes\CLSID — при регистрации COM-объектов библиотек только лишь для текущего пользователя;

    HKLM\SOFTWARE\Wow6432Node\Classes\CLSID — для регистрации 32-битных DLL в 64-битных ОС Windows;

    При регистрации, в указанном разделе реестра создается ключ с именем, эквивалентным глобальному уникальному идентификатору GUID регистрируемого оюъекта. GUID применительно к СОМ, является идентификатором класса. Чтобы отличать идентификаторы классов от других идентификаторов, для них используют подраздел реестра с именем CLSID . GUID представляет собой 128-разядное 16-ричное значение, заключенное в фигурные скобки:

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

    Утилита regsvr32.exe является стандартной программой командной строки для регистрации и отмены регистрации элементов управления OLE, ActiveX и библиотек DLL в реестре Windows. В 64-разрядных версиях Windows присутствуют две версии файла regsv32.exe :

    — 64-разрядная версия в каталоге %systemroot%\System32 (обычно — C:\Windows\System32)

    — 32-разрядная версия в каталоге %systemroot%\SysWoW64 (обычно – C:\Windows\SysWoW64)

    Для работы утилиты требуются повышенные привилегии, поэтому окно командной строки должно вызываться с правами администратора ( ”Запуск от имени администратора”).

    При запуске regsvr32.exe без параметров командной строки, либо при запуске с неверными параметрами, отображается подсказка:

    Подсказка по использованию regsvr32

    Формат командной строки REGSVR32:

    Regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл

    /u — — вызывает DllUnInstall, отменяет регистрацию сервера

    /i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд;

    /n — не вызывает DllRegisterServer; может использоваться с ключом /I;

    /s – «тихий» режим; окна сообщений не отображаются;

    Примеры использования regsvr32.exe :

    regsvr32 /u «C:\Program Files\7-Zip\7-zip32.dll» — отменить регистрацию указанной DLL. При успешной отмене отображается сообщение:

    Подсказка по использованию regsvr32

    Для подавления вывода сообщения, используется параметр /s :

    regsvr32 /u /s «C:\Program Files\7-Zip\7-zip.dll»

    В результате выполнения данной команды, из контекстного меню Проводника Windows, вызываемого правой кнопкой мышки, исчезнет пункт архиватора 7-Zip. Для его восстановления необходимо выполнить регистрацию 7-zip.dll командой:

    regsvr32 «C:\Program Files\7-Zip\7-zip.dll»

    Необходимо не забывать о разрядности регистрируемых объектов в 64-разрядных версиях ОС. В случае необходимости регистрации 32-разрядного объекта, нужно явно указать путь для 32-битной редакции утилиты regsvr32 :

    Или без использования переменных окружения:

    В качестве дополнительного программного средства для управления регистрацией объектов COM, очень удобно пользоваться бесплатной утилитой от Nirsoft RegDLLView.exe . Программа не требует установки в системе, имеет небольшой размер и позволяет:

    — Получить в удобном виде список всех зарегистрированных в системе объектов.

    — Сохранить в текстовом файле или в HTML-формате параметры всех или выделенных из списка зарегистрированных DLL.

    — Выполнить регистрацию или отмену регистрации выбранных объектов.

    — Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.

    — Зарегистрировать или перерегистрировать указанный файл.

    RegDLLView – работа с регистрацией и отменой регистрации DLL

    Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.

    При попытке зарегистрировать библиотеку DLL с помощью 0x80070005 возникает Regsvr32.exe

    В этой статье описывается решение проблемы 0x80070005, которая возникает при регистрации библиотеки DLL с помощью Regsvr32.exe.

    Область действия: Windows 10 — все выпуски, Windows Server 2012 R2
    Исходный номер базы знаний: 827659

    Симптомы

    При попытке зарегистрировать библиотеку динамической компоновки (библиотеку DLL или .dll-файл) с помощью программы командной строки Regsrv32.exe библиотека DLL не зарегистрирована, и может появиться следующее сообщение об ошибке:

    Сбой DllRegisterServer в file_name.dll.

    Код возврата: 0x80070005

    Такое поведение не происходит в Windows NT 4.0 или Windows 2000.

    Причина

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

    Это происходит из-за того, что Windows XP и Windows Server 2003 используют более строгую схему безопасности, чем в более ранних версиях Windows. Эта схема не позволяет стандартным пользователям регистрировать библиотеки DLL.

    Из-за этого стандартные пользователи не могут запускать программы, которые самостоятельно регистрируют библиотеки DLL с помощью идентификатора стандартного пользователя.

    Решение

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

    Дополнительные сведения

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

    Обратная связь

    Были ли сведения на этой странице полезными?

    Регистрация ComConnector (comcntr.dll) в Windows 32 и 64 разрядной

    Для доступа к информационной базе из внешней программы используется COM объект COMConnector. В зависимости от версии платформы используется V82.COMConnector или V83.COMConnector. При установке платформы 1С, в операционной системе автоматически регистрируется класс COMConnector. Если по каким либо причинам регистрация не прошла, то его можно зарегистрировать вручную.

    Пример по работе с базой 1С через COM соединение можно посмотреть в другой статье.
    Если COMConnector не зарегистрирован в Windows, то при программном создании объекта будет появляться ошибка:
    Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован.

    Регистрацию можно выполнить с помощью командной строки. Для того чтобы открыть командную строку в Windows 7 или Windows 10 нужно в строке поиска в меню «ПУСК» набрать cmd. Для Windows 8 в «Стартовом окне» в поиске набрать cmd. Запустить cmd.exe с правами администратора.

    Синтаксис командной строки Windows

    cd c:\program files — в каталог program files
    cd \ — в корень диска
    с: — на диск c
    cd.. — на один уровень выше

    Windows (x64)

    Для того чтобы зарегистрировать ComConnector в 64 разрядной операционной системе Windows выполняется
    команда: C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll»

    c:\Windows\System32>
    c:\Windows\System32>cd c:\Windows\SysWOW64
    c:\Windows\SysWOW64>
    c:\Windows\SysWOW64>regsvr32 «c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll»
    .
    Деинсталяция
    c:\Windows\SysWOW64>regsvr32 «c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll» /u

    Windows (x32)

    Для 32 разрядной операционной системы Windows выполняется
    команда: C:\Windows\System32\regsvr32 «C:\Program Files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll»

    c:\Windows\System32>
    c:\Windows\System32>regsvr32 «c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll»
    .
    Деинсталяция
    c:\Windows\System32>regsvr32 «c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll» /u

    После успешного выполнения появится оповещение:

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *