Как понять, что у нас проблемы с COM
Для этого нажимаем кнопку «Проверить настройки» удерживая клавишу «Shift» на клавиатуре:
При нормальной работе COM отчёт будет примерно таким:
При проблемах же с COM возникнет вот такая или похожая ошибка:
Да, судя по тесту, у нас проблемы с COM
Прежде всего, о какой именно библиотеке идёт речь? Эта библиотека comcntr. dll, которая находится в папке bin конкретной платформы 1с:
Эта библиотека устанавливается и автоматически регистрируется в системе при установке платформы.
Кроме того, обновлятор перед тем как подключаться к базе через внешнее соединение сам дополнительно регистрирует в системе библиотеку из нужной версии платформы при помощи команды:
Итак, что мы можем предпринять?
Шаг №0
Обратите внимание на утилиту для отображения и регистрации библиотек RegDllView. При помощи неё вы как минимум сможете контролировать результат работы следующих шагов.
Шаг №1
Прежде всего убеждаемся, что у нас действительно проф-версия платформы, потому что для базовой версии платформы внешнее подключение к базам работать и не должно (это ограничение платформы).
Чтобы понять какая у нас платформа (базовая или проф) выполним вот этот пункт.
Если лицензия на платформу у нас всё же не проф, а базовая, то все остальные шаги не имеют смысла. Внешнее подключение к базам у нас работать не будет (из-за ограничений платформы). Ничего не остаётся, кроме как настроить базы вот так.
Шаг №2
Далее пробуем запустить обновлятор с правами администратора.
Если у вас включён UAC, то добиться этого можно, нажав на ярлыке обновлятора правой кнопкой, и выбрав вариант «Запуск от имени администратора».
Шаг №3
В 32-битной версии ОС пробуем выполнить команду
В 64-битной версии ОС команда будет такой:
— для регистрации 64-битной платформы 1С:
— для регистрации 32-битной платформы 1С:
Эти команды запускаем от имени пользователя с правами администратора. А при включённом UAC, запускаем cmd через «Запуск от имени администратора», либо через такой же запуск написанного батника.
Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr. dll, запустив ту же команду вызова regsvr32 с ключом /u
Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше.
Шаг №4
Похоже, что у обновлятора не получается зарегистрировать COM компоненту из-за настроек безопасности на вашем сервере.
В этом случае:
После этого обновлятор должен смочь самостоятельно регистрировать компоненты всех версий платформ, а не только той, которую мы прописали в компоненте.
Шаг №5
Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).
Шаг №6
Шаг №7
Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Ошибка regsvr32 «Не удалось загрузить модуль»: как исправить сбой простейшими методами?
В большинстве своем с ошибкой regsvr32 «Не удалось загрузить модуль» сталкиваются геймеры, устанавливающие на свои компьютеры неофициальные копии популярных игр, когда при взломе или обходе лицензирования необходимо регистрировать некоторые компоненты в виде динамических библиотек самостоятельно. Однако, как свидетельствуют отзывы пользователей в интернете, достаточно часто такую ситуацию можно наблюдать даже при работе с Creative Cloud от Adobe, не говоря уже о многочисленных программах, рассчитанных на обработку мультимедиа.
Для чего служит инструмент regsvr32?
Особо не вдаваясь в технические подробности, для рядовых пользователей стоит отметить, что инструментарий regsvr32 представляет собой специальное средство регистрации системных компонентов в ОС Windows всех последних поколений. Это касается так называемых OLE-объектов, в частности, элементов ActiveX и любых других динамических библиотек формата DLL.
Такие объекты иногда бывает недостаточно просто скопировать в системную папку, поскольку операционная система с ними просто так работать не сможет. Именно поэтому для Windows (чтобы она их «увидела») нужно добавить сведения о скопированной библиотеке. Но, как уже было сказано выше, зачастую вместо регистрации пользователь получает ошибку regsvr32 «Не удалось загрузить модуль». Это может происходить по совершенно разным причинам, которые зависят и от самих регистрируемых компонентов, и от разрядности операционной системы, и даже от неправильных действий самого пользователя.
Ошибка regsvr32 «Не удалось загрузить модуль»: устранение проблемы простейшим методом
Если кто не знает, регистрация любого компонента в системе с использованием инструмента regsvr32 выполняется либо через командную строку, либо через консоль «Выполнить», но первый вариант намного более предпочтителен. Все регистрируемые библиотеки помещаются в специальные каталоги. В случае с Windows 32 бита конечной локацией является папка System32, а в 64-битных ОС библиотеки могут содержаться и вышеуказанном каталоге, и в директории SysWOW64. Но и командной строкой не все так просто. Вполне возможно, что пользователь получает сообщение об ошибке regsvr32 «Не удалось загрузить модуль» только по той причине, что консоль запущена без наличия соответствующих прав на выполнение некоторых операций. Таким образом, и командую строку необходимо запускать исключительно от имени администратора.
В Windows 7 и ниже для этого следует отметить соответствующий пункт при вводе команды cmd в меню «Выполнить», в восьмой и десятой модификациях можно использовать соответствующий пункт из меню ПКМ на кнопке «Пуск», а общим решением для всех последних версий Windows является запуск новой задачи с администраторским приоритетом из «Диспетчера задач».
Дополнительная методика регистрации библиотек
Несмотря на наличие нужных прав при входе в систему под администраторской регистрацией или описанным выше запуском командной консоли, ошибка regsvr32 «Не удалось загрузить модуль» может появляться еще и потому, что в 64-разрядной системе библиотека не была помещена в каталог SysWOW64.
Просто скопируйте регистрируемый компонент из директории System32 в указанную локацию, а затем выполните команду регистрации «%systemroot%\SysWoW64\regsvr32» (без кавычек), через пробел указав полный путь к нужной библиотеке.
Устранение сбоя regsvr32 «Не удалось загрузить модуль» (msvcp110.dll на компьютере отсутствует)
В случае с библиотеками msvcp (причем не только с номером 110) сбои при регистрации в большинстве случаев свидетельствуют об отсутствии или нарушениях в работе специальной платформы MS Visual C++. В этой ситуации необходимо обратить внимание на то, какая именно версия платформы необходима для работы данных компонентов.
После этого ее можно инсталлировать в режиме восстановления даже через стандартный раздел программ и компонентов (кнопка «Изменить»). Иногда можно поступить и проще, загрузив с официального ресурса Microsoft оригинальные библиотеки, после чего зарегистрировать их вышеописанными методами, либо полностью переустановить всю платформу. При этом перед установкой желательно скачать официальный дистрибутив, удалить существующую версию, а только потом выполнить «чистую» установку.
Ошибка 2147221164 0x80040154 класс не зарегистрирован 1C 8.3
При установке популярной программы бухгалтерского учёта «1С» (версии 8.3) или обновления программы с версии 8.2 на 8.3, а также запуска какой-либо соответствующей процедуры, юзер может получить сообщение «2147221164 0x80040154 класс не зарегистрирован», вызванное отсутствием регистрации класса. Данная ошибка может быть вызвана несоответствием версий 1С на сервере и клиентском ПК, а также отсутствием регистрации необходимого класса COMConnector (dll-библиотека comcntr. dll) в ОС Виндовс. В данном материале я расскажу о сути указанной дисфункции, а также поясню, как от неё избавиться.
Особенности возникшей дисфункции
Разбираемая мной ошибка 2147221164 0x80040154 в 1C обычно связана с соединением баз данных по COM-объекту, и может иметь несколько причин:
Разберёмся со способами решения возникшей проблемы. Их два.
Способ №1. Регистрируем необходимые библиотеки
Если на ПК 32-битная ОС, то будет необходимо запустить командную строку с админ. правами, и там набрать:
C:\Windows\System32\regsvr32 «C:\Program Files (x86)\1cv8\XXXXX\bin\comcntr. dll»
Вместо XXXXX будет нужно ввести номер вашей версии 1С, к примеру, это может быть 8.3.10.2252 или иная (пройдите по указанному пути, и просмотрите номер установленной у вас версии). После этого регистрация упомянутого dll будет завершена, и «Ошибка 2147221164 0x80040154 класс не зарегистрирован» должна исчезнуть.
Если на ПК 64-битная ОС, то данная строка должна выглядеть так:
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\ХХХХХ\bin\comcntr. dll»
Где ХХХХХ – номер вашей версии 1С
Способ №2. Создаём компоненты для исправления ошибки 2147221164 0x80040154
Заключение
Исправление проблем с незарегистрированными классами в 1С обычно решается с помощью двух способов, обозначенных мной выше. Наибольшую эффективность показал второй из перечисленных способов, потому рекомендую воспользоваться алгоритмом его реализации для исправления ошибки «2147221164 0x80040154 Класс не зарегистрирован» на вашем PC.
https://helpme1c. ru/obnovlyator-1s-reshenie-problem-s-com-bibliotekoj-dlya-vneshnego-podklyucheniya-k-baze
https://fb. ru/article/422209/oshibka-regsvr-ne-udalos-zagruzit-modul-kak-ispravit-sboy-prosteyshimi-metodami
https://easywebscripts. net/oshibki/oshibka-2147221164-0x80040154.php