В программном обеспечении 1С, как и в любом другом, иногда возникают ошибки. Это не дает софту нормально функционировать и может затормозить работу целой организации. Поэтому нужно знать, как справляться с различными сбоями. В частности, сегодня мы разберем, из-за чего возникает ошибка «2147221164 (0x80040154): Класс не зарегистрирован», и что нужно сделать, чтобы ее исправить.
Когда появляется ошибка 2147221164?
Рассматриваемая ошибка появляется из-за конфликта версий 1С, которые в данный момент устанавливают между собой соединение. Разберем подробнее. Информационные БД 1С производят обмен данных при помощи СОМ-соединения. И, если, например, платформа 1С:Предприятие конфигурации 8.3 пытается установить связь с 1С версии 8.1, то на этом этапе при попытке подключения к СОМ-серверу и выскакивает данная ошибка.
Для начала определим, что у сервера 1С есть несколько версий:
Как исправить Код 19 Windows не удается запустить устройство
- 32-битная 8.1 (х86).
- 64-битные 8.2 и 8.3 (х64).
Неполадки появляются на самом сервере с БД. Корень проблемы в том, что версии 1С архитектуры х64 не могут напрямую обратиться к 32-битной библиотеке comcntr.dll. В этом случае соединение происходит при помощи приложений СОМ+, способных взаимодействовать с библиотеками х86.
Справляемся с проблемой
Заканчиваем с теорией и переходим к практике – пробуем исправить ошибку «2147221164 (0x80040154): Класс не зарегистрирован».
Регистрируем библиотеку comcntr.dll
Ошибка может проявиться, если не зарегистрирована библиотека comcntr.dll. Решаем ее следующим образом. Вызываем строку «Выполнить» (кликнув ПКМ по кнопке «Пуск») и вводим regsvr32.exe «C:Program Files(86)1cv828.3.XX.XXXXbincomcntr.dll». Нажимаем ОК и, если все прошло корректно, то мы увидим сообщение об успешной регистрации библиотеки.
Создаем новое приложение СОМ+
Если библиотека зарегистрирована, но проблема остается, то кликаем ПКМ по кнопке «Пуск» (для ОС Windows 10) и вызываем «Панель управления». Затем входим в раздел «Система и безопасность», после чего переходим в «Администрирование». Появляется окно, в котором мы ищем строку «Службы компонентов» и открываем ее двойным щелчком ЛКМ.
В новой консоли два раза кликаем ЛКМ по папке «Компьютер» и затем «Мой компьютер». Перед нами появляется список папок. ПКМ нажимаем на «Приложения СОМ+» и выбираем «Создать»→«Приложение».
Далее действуем следующим образом.
- В открывшемся Мастере нажимаем «Далее» и, когда в следующем окне нам предложат действие на выбор, кликаем «Создать новое приложение».
- В соответствующей строке присваиваем новому приложению имя, которое будет понятно не только нам, но и другим пользователям при дальнейшей работе, например 1CV8_ComConnect. Здесь же выбираем способ активации – «Серверное приложение».
Введите имя нового приложения 1CV8_ComConnect
- Теперь проводим процедуру удостоверения. В поле «Указанный пользователь» при помощи функции Обзор ищем учетную запись, под которым будем запускать сервер 1С версии 8.3. (Для примера обозначим ее как User1CV83).
Источник: avege.ru
0x80070422
Аксиок ошибка ole код 0x80040154
2147221164 (0x80040154): Класс не зарегистрирован — что делать?
В программном обеспечении 1С, как и в любом другом, иногда возникают ошибки. Это не дает софту нормально функционировать и может затормозить работу целой организации. Поэтому нужно знать, как справляться с различными сбоями. В частности, сегодня мы разберем, из-за чего возникает ошибка «2147221164 (0x80040154): Класс не зарегистрирован», и что нужно сделать, чтобы ее исправить.
Когда появляется ошибка 2147221164?
Рассматриваемая ошибка появляется из-за конфликта версий 1С, которые в данный момент устанавливают между собой соединение. Разберем подробнее. Информационные БД 1С производят обмен данных при помощи СОМ-соединения. И, если, например, платформа 1С:Предприятие конфигурации 8.3 пытается установить связь с 1С версии 8.1, то на этом этапе при попытке подключения к СОМ-серверу и выскакивает данная ошибка.
Для начала определим, что у сервера 1С есть несколько версий:
Неполадки появляются на самом сервере с БД. Корень проблемы в том, что версии 1С архитектуры х64 не могут напрямую обратиться к 32-битной библиотеке comcntr. dll. В этом случае соединение происходит при помощи приложений СОМ+, способных взаимодействовать с библиотеками х86.
Справляемся с проблемой
Заканчиваем с теорией и переходим к практике – пробуем исправить ошибку «2147221164 (0x80040154): Класс не зарегистрирован».
Регистрируем библиотеку comcntr. dll
Ошибка может проявиться, если не зарегистрирована библиотека comcntr. dll. Решаем ее следующим образом. Вызываем строку «Выполнить» (кликнув ПКМ по кнопке «Пуск») и вводим regsvr32.exe «C:Program Files(86)1cv828.3.XX. XXXXbincomcntr. dll». Нажимаем ОК и, если все прошло корректно, то мы увидим сообщение об успешной регистрации библиотеки.
Создаем новое приложение СОМ+
Если библиотека зарегистрирована, но проблема остается, то кликаем ПКМ по кнопке «Пуск» (для ОС Windows 10) и вызываем «Панель управления». Затем входим в раздел «Система и безопасность», после чего переходим в «Администрирование». Появляется окно, в котором мы ищем строку «Службы компонентов» и открываем ее двойным щелчком ЛКМ.
В новой консоли два раза кликаем ЛКМ по папке «Компьютер» и затем «Мой компьютер». Перед нами появляется список папок. ПКМ нажимаем на «Приложения СОМ+» и выбираем «Создать» → «Приложение».
Далее действуем следующим образом.
Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)
После переустановки платформы на компьютер COM-компонент должен быть установлен автоматически. Но если вы получаете ошибку: Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован, это означает, что при установке платформы компонента comcntr.dll не смогла зарегистрироваться автоматически.
Файл внешней компоненты располагается в каталоге:
C:Program Files1cv8[версия платформы]bincomcntr.dll
Бывают ситуации, когда программа установки не может автоматически зарегистрировать DLL в операционной системе, поэтому это приходится делать вручную. Также при установке новой версии платформы поверх уже установленной может понадобиться зарегистрировать comcntr.dll из каталога установленной версии. Это решается регистрацией компоненты вручную из командной строки.
Важно! Запускать командную строку нужно от имени администратора.
Команда выглядит, следующим образом:
regsvr32 «C:Program Files1cv8[версия платформы]bincomcntr.dll»
или
regsvr32 comcntr.dll (если в командной строке вы перешли в каталог с платформой, как на скриншоте ниже)
Если команда выполнена успешно, то Вы увидите вот такое окно.
Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL.
Category
- 1С Предприятие (9)
- Новости VIPASOFT (1)
- Полезное (9)
- Технологии (2)
Источник: vipasoft.com