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

Публикация № 1108259

Администрирование - Администрирование данных 1С

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

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

На эту тему уже есть статья //soft7.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

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

12

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
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
3. Famza 82 15.08.19 09:24 Сейчас в теме
(3) Блин, как бы мне хоть раз прочитать ЖКК полностью...Рубит с них
5. Terve!R 19.08.19 10:20 Сейчас в теме
А если и это не поможет, то сначала надо удалить регистрацию с ключом /u
regsvr32 /u "c:\Program Files\1cv8\8.3.13.1644\bin\comcntr.dll"

а потом регистрируете без "/u", как обычно.
ASV085; lisrws; +2 Ответить
Оставьте свое сообщение