Регистрация ComConnector (comcntr.dll) в Windows 32 и 64 разрядной. Ошибка получения объекта com 2147221164 0x80040154 класс не зарегистрирован


Регистрация 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 filescd \ - в корень дискас: - на диск ccd.. - на один уровень выше

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\SysWOW64c:\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

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

1clenta.ru

83.COMConnector класс не зарегистрирован - Блог на коленке. IT и прочее

December 22nd, 2015, 04:32 pm

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): "Класс не зарегистрирован" или "Недопустимая строка с указанием класса".

Первым делом необходимо зарегистрировать DLL в системе

Regsvr32 "C:\Program Files\1cv8\8.3.7.1776\bin\comcntr.dll"

В случае, если не помогает - создаём коннектор руками:

  • Заходим в Панель управления - Администрирование - Службы компонентов.
  • Переходим к ветке Компьютеры - Мой компьютер - Приложения COM+.
  • В контекстном меню выбираем Создать - Приложение. Откроется Мастер установки приложений COM+.
  • Нажимаем "Далее".
  • Выбираем "Создать новое приложение".
  • Вводим имя "V83COMConnector". Устанавливаем переключатель "Серверное приложение". Нажимаем "Далее".
  • На следующем шаге устанавливаем "Текущий пользователь". Нажимаем "Далее".
  • Нажимаем "Готово".
  • В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  • В контекстном меню выбираем Создать - Компонент. Откроется Мастер установки компонентов COM+.
  • Нажимаем "Далее".
  • Выбираем "Установка новых компонентов".
  • Выбираем файл <каталог 1С>\bin\comcntr.dll.
  • Нажимаем "Далее" - "Готово".
  • Переходим к ветке V83COMConnector.
  • В контекстном меню выбираем "Свойства". В открывшемся окне переходим на вкладку «Безопасность».
  • Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку "Применить политику программных ограничений". Устанавливаем Уровень ограничений - "Неограниченный".
  • Нажимаем "ОК".

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

rusell.livejournal.com

Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): "Класс не зарегистрирован" или "Недопустимая строка с указанием класса".

Первым делом необходимо зарегистрировать DLL в системе

Regsvr32 "C:\Program Files\1cv8\8.3.7.1776\bin\comcntr.dll"

В случае, если не помогает - создаём коннектор руками:

•Заходим в Панель управления - Администрирование - Службы компонентов.

•Переходим к ветке Компьютеры - Мой компьютер - Приложения COM+.

•В контекстном меню выбираем Создать - Приложение. Откроется Мастер установки приложений COM+.

•Нажимаем "Далее".

•Выбираем "Создать новое приложение".

•Вводим имя "V83COMConnector". Устанавливаем переключатель "Серверное приложение". Нажимаем "Далее".

•На следующем шаге устанавливаем "Текущий пользователь". Нажимаем "Далее".

•Нажимаем "Готово".

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать - Компонент. Откроется Мастер установки компонентов COM+.

•Нажимаем "Далее".

•Выбираем "Установка новых компонентов".

•Выбираем файл <каталог 1С>\bin\comcntr.dll.

•Нажимаем "Далее" - "Готово".

•Переходим к ветке V83COMConnector.

•В контекстном меню выбираем "Свойства". В открывшемся окне переходим на вкладку «Безопасность».

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку "Применить политику программных ограничений". Устанавливаем Уровень ограничений - "Неограниченный".

•Нажимаем "ОК".

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

helpf.pro

Устранение ошибок подключения через COM-соединение

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

Ситуация первая. При попытке подключения через COM-соединение к базе-источнику выдается сообщение об ошибке. Что-то вроде : "Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован ". Для устранения подобной ошибки перво-наперво нужно зарегистрировать библиотеку клиента - приемника. Причем для разных версий клиентов одной версии платформы нужно регистрировать свою библиотеку. То есть для разных сборок платформы версии 8.3 нужно заново регистрировать версию библиотеки нужного релиза платформы. Для платформы версии 8.2 такой же подход. Библиотека регистрируется следующим образом. Запускается Командная строка из-под Администратора, в ней пишется команда

regsvr32 "[Путь к библиотеке]\bin\comcntr.dll ,

например, regsvr32 "c:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll" и команда выполняется. Все открытые приложения 1С при этом лучше закрыть. При успешной регистрации будет выдано сообщение об успехе. Если выдается сообщение об ошибке, то нужно проверить путь, по которому находится библиотека, и все права. Также эту команду можно поместить в cmd-файл и запустить его с правами Администратора.

Если такая ошибка выпадает при попытке подключить к БД на платформе 7.7, то следует проверить реестр на предмет наличия регистрации 7.7-коннектора. В разделе HKEY_CLASSES_ROOT должны присутствовать ветки, изображенные на картинке: Для правильной регистрации 7.7-коннектора следует один раз запустить 1С Предприятие 7.7 от имени Администратора.

Ситуация вторая. При попытке установить COM-соединение выпадает ошибка с сообщением о несоответствии версии клиента БД-источника. В этом случае проблема решается регистрацией правильной версии библиотеки comcntr.dll так, как это было описано выше.

Ситуация третья. При попытке подключения через COM-соединение к базе-источнику на платформе 1С 7.7 ошибок не выдается, но обработка "намертво" "зависает". При снятии задачи соединение через консоль управления серверами 8.х остается и не сбрасывается никакими ухищрениями, кроме перезапуска службы сервера 1С. Такое явление происходит, когда осуществляется попытка соединения из БД на платформе 8.х к БД на платформе 7.7 из сеанса сервера. Четко определенных причин такого поведения программы здесь не приводится. Рекомендация одна - использовать вызов подключения из сеанса клиента (&НаКлиенте).

Ситуация четвертая. При попытке подключения через COM-соединение к базе-источнику на платформе 1С 7.7 ошибок не выдается, но и соединения не происходит. В этом случае, а также в некоторых других помогает ручная регистрация COM-компонентов.

1. Заходим в Панель управления → Администрирование → Службы компонентов. 2. Переходим к ветке Компьютеры → Мой компьютер → Приложения COM+.  

3. В контекстном меню выбираем Создать → Приложение. Откроется Мастер установки приложений COM+. Выбираем "Создать новое приложение".

4. Имя нового приложения лучше написать чтобы было понятно о чем речь: V8_ComConnector, способ активации - "серверное приложение".

5. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».В ветке созданного приложения переходим на ветку "Роли" открываем роль "CreatorOwner" и далее в разделе "Пользователи" создаем пользователя - учетную запись под которой работает сервер 1С. 6. В ветке созданного приложения переходим на ветку "Компоненты" и создаем компонент: Создать - Компонент Выбираем "Установка новых компонентов", и в диалоге выбираем нужную DLL-ку (в данном примере: [Путь к библиотеке]\bin\comcntr.dll). 7. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность». 8. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений - «Неограниченный»

  9. Нажимаем «ОК».

Пока все на этом.

1c8xx.ru