Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

15.08.19

База данных - Инструменты администратора БД

Иногда при установке платформы 1С не происходит регистрация файла comcntr.dll, в результате чего становится недоступна работа через COMСоединение. В этой статье расскажу, как решить эту проблему.

На эту тему уже есть статья //infostart.ru/public/97085/, но она не раскрывает особенностей работы в ОС Windows выше XP и не затрагивает тонкости регистрации под 64 разрядной системой. Для кого-то здесь описаны очевидные вещи, а кто-то слаб в администрировании и статья пишется прежде всего на последнюю категорию.

Итак, приступим. Если у вас при работе в 1С появилась ошибка вида: "-2147221164(0x80040154): Класс не зарегистрирован" или "Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса"

тогда делаем следующее:

1) Запускаем командную строку от имени Администратора. Если в командной строке прописан путь, отличный от "c:\windows\system32", то необходимо выполнить команду "cd c:\windows\system32" для 32-х разрядных систем или "cd \windows\syswow64" для 64-х(у меня 64, поэтому пришлось в примере путь изменить). В итоге корневой путь для х64 должен выглядеть как на этом скрине:

2) Далее прописываем команду regsvr32 "C:\Program Files\1cv8\8.3.ХХ.ХХХХ\bin\comcntr.dll". Путь к библиотеке comcntr.dll нужно взять в кавычки из-за имеющихся пробелов в пути, ну а вместо 8.3.ХХ.ХХХХ ставите свой номер релиза платформы. Результат выполнения:

 

Тестировалось на платформе 8.3.11.2867 х64

Всем удачи в регистрации библиотек)

OneDebugger - инструмент отладки кода в 1С:8.3

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


COMОбъект comcntr регистрация Недопустимая строка с указанием класса

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14830    109    46    

108

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    11989    45    33    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10827    47    8    

78

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191449    1153    0    

920

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33889    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    32698    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73808    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10200    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Aitbay 15.08.19 05:44 Сейчас в теме
еще нужно добавить, если настройка делается на сервере 1с-Предприятие и агент 1с работает от доменного пользователя, то лучше переключить у службы галку на вход "С системной учетной записью", победить с пользователем домена для использования в паре агент + comcntr с танцами и бубном не получилось, в итоге работаем с "системной учетной записью"
2. GreenDragon 15.08.19 08:22 Сейчас в теме
(1) COM на сервере? Вы хотите, чтобы вас сожгли на костре как еретика? Никогда так не делайте.

Цитата из документации:
При работе на сервере «1С:Предприятия» допустимо использовать только компоненты, разработанные по технологии Native API, которые могут быть как отдельными файлами, так и упакованными в специальные zip-архивы.


Источник: https://its.1c.ru/db/v838doc/bookmark/dev/TI000001197
4. Aitbay 16.08.19 05:50 Сейчас в теме
(2) Если сильно нужно тогда можно) по сути если компания 1с не рекомендует использовать COM на сервере? с чего же они до сих свою же компоненту не сделали NativeApi
user705520_admin; 2ncom; +2 Ответить
3. Famza 85 15.08.19 09:24 Сейчас в теме
(3) Блин, как бы мне хоть раз прочитать ЖКК полностью...Рубит с них
5. TerveRus 19.08.19 10:20 Сейчас в теме
А если и это не поможет, то сначала надо удалить регистрацию с ключом /u
regsvr32 /u "c:\Program Files\1cv8\8.3.13.1644\bin\comcntr.dll"

а потом регистрируете без "/u", как обычно.
maksa2005; Kubik1984; denwer7; Andrei_Ivanov; ASV085; lisrws; +6 Ответить
6. slavik_s 18.08.21 11:38 Сейчас в теме
(5)
regsvr32 /u "c:\Program Files\1cv8\8.3.13.1644\bin\comcntr.dll"
Не помогает ни удаление ни регистрация. Пишет что зарегистрирована успешно но дальше Ошибка при вызове конструктора (COMObject): -2147221005(0x800401F3): Недопустимая строка с указанием класса
7. TerveRus 18.08.21 14:41 Сейчас в теме
(6) пробовали запускать regsvr32 из "c:\windows\syswow64"?
8. texnic79 43 28.04.22 13:43 Сейчас в теме
(6). Тоже уже все перепробовал. Решили тогда этот вопрос?
18. maksa2005 554 15.11.23 08:02 Сейчас в теме
9. user1273498 12 28.04.22 14:22 Сейчас в теме
Сделал как написано. Компонента зарегистрировалась, но ошибка осталась {ВнешняяОбработка.ОбработкаSFTP.Форма.Форма.Форма(7)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
10. user1273498 12 02.05.22 21:48 Сейчас в теме
После проведенных манипуляций тестовая (файловая) база работает, клиент-серверная вс равно не хочет
11. natterru 14.07.22 11:24 Сейчас в теме
И чем у Вас это закончилось?
12. cryptonit 2 19.09.22 09:18 Сейчас в теме
Если зарегистрировали DLL-ку но ошибка не уходит, тогда просто установите https://tablacus.github.io/scriptcontrol_en.html

tsc64.dll
Прикрепленные файлы:
tsc64_1252.zip
mirkotej; Vancy43; +2 Ответить
13. cryptonit 2 19.09.22 10:50 Сейчас в теме
(12) Также установите на клиенте
17. Vancy43 87 14.09.23 13:36 Сейчас в теме
(12) Спасибо огромное! ВСе получилось. Вечер убила на регистрацию. А тут 3 секунды и готово. Плюсую!
14. flyDrag 292 12.10.22 22:03 Сейчас в теме
15. mezel1 15.11.22 10:45 Сейчас в теме
16. user1915338 28.02.23 01:16 Сейчас в теме
Добрый ночер!
Спасибо большое автору статьи!
Святой человек.
При вечно "некогда" нашего программиста, сама исправила ошибку.
Дело 2 минут. Пишите чаще такие полезные, а главное актуальные решения для проблем.
2ncom; user1810616; +2 1 Ответить
19. g1uk 05.12.23 16:24 Сейчас в теме
(16)
При вечно "некогда" нашего программиста, сама исправила ошибку.
Потому что не к программисту нужно обращаться с такими вопросами, а к сисадмину
user705520_admin; +1 Ответить
20. g1uk 05.12.23 16:27 Сейчас в теме
Также дополню решение проблемы: у меня все заработало только после удаления старой настройки в службах компонентов, когда-то делалась еще для подключения 32-битного клиента к 64-битному серверу
dungeonkeeper; +1 Ответить
21. pva_pva 10.09.24 17:43 Сейчас в теме
Иногда остаются хвосты старых версий (уже удаленных с компьютера) в реестре, мне помог поиск comcntr.dll во всем реестре и замена старых путей на новый
begemot; user795962; VyacheslavShilov; +3 Ответить
24. PRiM.spb 23.01.25 10:37 Сейчас в теме
(21)
Действительно помогло.

Оказалось, что по адресам:

[HKEY_USERS\S-1-5-21-профиль\Software\Classes\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win64]
@="C:\\Program Files\\1cv8\\8.х.хх.хххх\\bin\\comcntr.dll"

HKEY_USERS\S-1-5-21-профиль_Classes\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win64
@="C:\\Program Files\\1cv8\\8.х.хх.хххх\\bin\\comcntr.dll"

была старая версия прописана.
22. jo0506 20 12.09.24 07:22 Сейчас в теме
Помогло только запуск cmd под пользователем USR1CV8.
Для Этого:
1. Администрирование ->Локальная политика безопасности ->Запретить локальный вход - Убираем пользователя USR1CV8
2. Добавляем пользователю USR1CV8 - полные права (Группа Администратор)
3. Запускаем через шифт cmd под другим пользователем - USR1CV8.
4. Регистрируем Dll.
5. Возвращаем все обрато по пунктам 1,2.
Работает!!!
AAM94; guzilov.d; VyacheslavShilov; +3 Ответить
23. PRiM.spb 23.01.25 10:08 Сейчас в теме
(22)
А как п.4 сделать? Ведь регистрирует dll только при запуске cmd от имени Администратора.
25. sfihks 43 30.01.25 21:55 Сейчас в теме
(23) регистрация dll проходит не под именем Администратора, а от пользователя (любого), входящего в группу Администраторы.
в (22) см. пункт 2
Оставьте свое сообщение