Skip to main content

2147221164 (0x80040154): Клас не зареєстрований - що робити



У програмному забезпеченні 1С, як і в будь-якому іншому, іноді виникають помилки. Це не дає софту нормально функціонувати і може загальмувати роботу цілої організації. Тому потрібно знати, як справлятися з різними збоями. Зокрема, сьогодні ми розберемо, через що виникає помилка «2147221164 (0x80040154): Клас не зареєстрований», і що потрібно зробити, щоб її виправити.

Сообщение об ошибке на экране
Помилка «2147221164 (0x80040154): Клас не зареєстрований»



Зміст статті:

Коли з'являється помилка 2147221164

Помилка «2147221164 (0x80040154): Клас не зареєстрований» з'являється через конфлікт версій 1С, які в даний момент встановлюють між собою з'єднання. Розберемо докладніше. Інформаційні БД 1С проводять обмін даних за допомогою СОМ-з'єднання. І, якщо, наприклад, платформа 1С: Підприємство конфігурації 8.3 намагається встановити зв'язок з 1С версії 8.1, то на цьому етапі при спробі підключення до СОМ-сервера і вискакує дана помилка.

Для початку визначимо, що у сервера 1С є кілька версій:

  1. 32-бітна 8.1 (х86).
  2. 64-бітові 8.2 і 8.3 (х64).

Неполадки з'являються на самому сервері з БД. Корінь проблеми в тому, що версії 1С архітектури х64 не можуть безпосередньо звернутися до 32-бітної бібліотеці comcntr.dll. У цьому випадку з'єднання відбувається за допомогою додатків СОМ +, здатних взаємодіяти з бібліотеками х86.



Читайте також: Невірний формат сховища даних 1C 8.3 як виправити .

Справляємося з проблемою

Закінчуємо з теорією і переходимо до практики - пробуємо виправити помилку «2147221164 (0x80040154): Клас не зареєстрований».

Реєструємо бібліотеку comcntr.dll

Помилка може проявитися, якщо не зареєстрована бібліотека comcntr.dll. Вирішуємо її наступним чином. Викликаємо рядок «Виконати» (клікнувши ПКМ по кнопці «Пуск») і вводимо regsvr32.exe «C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll». Натискаємо ОК і, якщо все пройшло коректно, то ми побачимо повідомлення про успішну реєстрацію бібліотеки.



Створюємо новий додаток СОМ +

Якщо бібліотека зареєстрована, але проблема залишається, то натискаємо ПКМ по кнопці «Пуск» (для ОС Windows 10) і викликаємо «Панель управління». Потім входимо в розділ «Система і безпека», після чого переходимо в «Адміністрування». З'являється вікно, в якому ми шукаємо рядок «Служби компонентів» і відкриваємо її подвійним клацанням ЛКМ. У новій консолі два рази натискаємо ЛКМ по папці «Комп'ютер» і потім «Мій комп'ютер». Перед нами з'являється список папок. «Приложение». ПКМ натискаємо на «Додатки СОМ +» і вибираємо «Створити» «Додаток».

Консоль "Службы компонентов"
Створюємо новий COM + додаток

Далі діємо в такий спосіб.

  1. У відкритому Майстрі натискаємо «Далі» і, коли в наступному вікні нам запропонують дію на вибір, натискаємо «Створити новий додаток».
  2. У відповідному рядку присвоюємо новому додатку ім'я, яке буде зрозуміло не тільки нам, а й іншим користувачам при подальшій роботі, наприклад 1CV8_ComConnect. Тут же вибираємо спосіб активації - «Серверне додаток».

    Выбираем способ активации 1CV8_ComConnect
    Вводимо ім'я нового додатка 1CV8_ComConnect
  3. Тепер проводимо процедуру посвідчення. В поле «Зазначений користувач» за допомогою функції «Обзор» шукаємо обліковий запис, під яким будемо запускати сервер 1С версії 8.3. (Для прикладу позначимо її як User1CV83).
    Удостоверяем приложение
    Шукаємо користувача за допомогою функції «Обзор»

    Окно выбора учетной записи, под которой будет запускаться сервер
    Конкретні кроки вибору користувача
  4. Пропускаємо процедури, пропоновані в наступних вікнах, і натискаємо кнопку «Готово». Майстер закривається.
  5. Повертаємося у вікно «Служби компонентів» і розкриваємо гілку нашого щойно створеного додатки. Розгортаємо вузол «Ролі», в якій натискаємо на пункт CreatorOwner. ПКМ клацаємо по рядку «Користувачі» і створюємо нового користувача. Знову вибираємо ту обліковий запис, під якою буде запускатися сервер 1С (це та сама User1CV83, про яку йшла мова вище).
  6. Переходимо в гілку додатки 1CV8_ComConnect і натискаємо ПКМ на вузол «Компоненти». Створюємо новий компонент.
  7. У відкритому Майстрі робимо вибір пункту «Установка нових компонентів» і, коли з'являється наступне вікно, визначаємо потрібну нам бібліотеку dll (вона знаходиться по шляху C: \ Program Files (x86) \ 1cv81 \ bin \). Завершуємо роботу Майстра.
  8. У нас з'явився компонент 1CV81.ComConnect.1. Кількома по ньому ПКМ і відкриваємо пункт «Властивості». У вкладці «Безпека» знаходимо перелік «Явно встановлені для виділених об'єктів ролі» і ставимо прапорець навпроти CreatorOwner.

Може бути вам корисно: Виявлено порушення цілісності системи в 1C що робити .

Ми розглянули з'єднання з базою з програми 1С: Підприємство версії 8.3. Якщо планується встановлювати коннект з БД 8.1 з версії 1С 8.2, то потрібно додати нового користувача. Роли → CreatorOwner Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Переходимо по шляху 1CV8_ComConnect Ролі CreatorOwner Користувачі і додаємо новий обліковий запис User1CV82, під якою буде проводитися запуск сервера 1С версії 8.2.

Якщо спокійно і уважно слідувати алгоритму, то виправлення помилки на ділі виявиться простим і швидким. Завдяки вищеописаним діям програма 1С версій 8.2 та 8.3 зможе звернутися за інформацією до бібліотеки comcntr.dll і помилка «2147221164 (0x80040154): Клас не зареєстрований» більше не виникне.



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Поки оцінок немає)
Завантаження ...

Додати коментар

Ваш e-mail не буде опублікований.