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




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

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

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

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

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

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

 

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

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

5 Comments

  1. Aitbay

    еще нужно добавить, если настройка делается на сервере 1с-Предприятие и агент 1с работает от доменного пользователя, то лучше переключить у службы галку на вход «С системной учетной записью», победить с пользователем домена для использования в паре агент + comcntr с танцами и бубном не получилось, в итоге работаем с «системной учетной записью»

    Reply
  2. GreenDragon

    (1) COM на сервере? Вы хотите, чтобы вас сожгли на костре как еретика? Никогда так не делайте.

    Цитата из документации:

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

    Источник: https://its.1c.ru/db/v838doc/bookmark/dev/TI000001197

    Reply
  3. Famza

    (3) Блин, как бы мне хоть раз прочитать ЖКК полностью…Рубит с них

    Reply
  4. Aitbay

    (2) Если сильно нужно тогда можно) по сути если компания 1с не рекомендует использовать COM на сервере? с чего же они до сих свою же компоненту не сделали NativeApi

    Reply
  5. Terve!R

    А если и это не поможет, то сначала надо удалить регистрацию с ключом /u

    regsvr32 /u «c:Program Files1cv88.3.13.1644incomcntr.dll»

    а потом регистрируете без «/u», как обычно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *