Перейти к содержимому

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

  • автор:

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”, вызываемого правой кнопкой мышки.

Регистрация 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

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

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

Добрый вечер форумчане.
Собственно вопрос в задан теме.
Есть 64 бит клиент 1с, необходимо ком соединение. для него необходима регистрация comcntr.dll.
Из опробованного в командной строке.
C:\Windows\SysWOW64\regsvr32 «C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll»
regsvr32 «C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll»

Сообщение выдает что регистрация есть и все «зашибись» но в сообщении подключения через ком пишет.
При попытке соединения с COM-сервером произошла следующая ошибка:
: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса

Как победить данную беду?

Никак. Сломали Ком в 16 платформе
(1) А вместо него есть что?
Сделают или нет по итогу то?
(1) Ну синхронизация стандартная вроде работает. Тоже через ком.

(2) Обновлятор-1С: теперь с поддержкой облаков для защиты от шифровальщиков
(3) Не работает. Вчера как раз игрался, та же ошибка что и в (0). Взлетело только через файлы

(4) XML спасет мир получается?
Блин, не вовремя.
Спасибо за инфу.

Вчера аналогичная проблема была на домашнем ПК с WIndoes 7. Надо было проверить синхронизацию ЗУП3.1-БА3.0. Но у меня проблема была на 8.3.15.1778. И регистрировал, и удалял регистрацию, и чистил реестр. Ничего не помогало. Наконец, в службах компонентов удалил con-обхект V83Connector, зарегил DLL и все заработало. На 8.3.16 не проверял, пока некогда

Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках

Windows 10 Pro released in July 2015 Windows Vista Enterprise Windows Vista Business Windows Vista Home Basic Windows Vista Home Premium Windows Vista Ultimate Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Tablet PC Edition Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Ultimate Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Еще. Меньше

Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий 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.
  • Выполните следующую команду:

%systemroot%\SysWoW64\regsvr32

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

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