Ошибка при регистрации компоненты comcntr при обновлении

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

Первым делом необходимо зарегистрировать DLL в системе

Regsvr32 «C:Program Files1cv88.3.7.1776bincomcntr.dll»

В случае, если не помогает — создаём коннектор руками:

•Заходим в Панель управления — Администрирование — Службы компонентов.

•Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.

•В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.

•Нажимаем «Далее».

•Выбираем «Создать новое приложение».

•Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

•На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

•Нажимаем «Готово».

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.

•Нажимаем «Далее».

•Выбираем «Установка новых компонентов».

•Выбираем файл <каталог 1С>bincomcntr.dll.

•Нажимаем «Далее» — «Готово».

•Переходим к ветке V83COMConnector.

•В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

•Нажимаем «ОК».

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

Оглавление

  • Как понять, что у нас проблемы с COM
  • Да, судя по тесту, у нас проблемы с COM
    • Шаг №0
    • Шаг №1
    • Шаг №2
    • Шаг №3
    • Шаг №4
    • Шаг №5
    • Шаг №6
    • Шаг №7

Обновлятор-1с в своей работе использует com-библиотеку от 1с для внешнего подключения к базам.

В большинстве случаев никаких проблем с этой библиотекой не наблюдается — обновлятор сам автоматически регистрирует и использует библиотеку нужной версии 1с, но изредка возникают случаи (в основном на серверных ОС), когда требуются «пляски с бубном».

Как понять, что у нас проблемы с COM

Для этого нажимаем кнопку «Проверить настройки» удерживая клавишу «Shift» на клавиатуре:

При нормальной работе COM отчёт будет примерно таким:

При проблемах же с COM возникнет вот такая или похожая ошибка:

Ещё может писать, что -то типа «Не удалось создать программное подключение к 1С«.

Да, судя по тесту, у нас проблемы с COM

Прежде всего, о какой именно библиотеке идёт речь? Эта библиотека comcntr.dll, которая находится в папке bin конкретной платформы 1с:

Эта библиотека устанавливается и автоматически регистрируется в системе при установке платформы.

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

regsvr32.exe "путь к папке bincomcntr.dll"

Итак, что мы можем предпринять?

Шаг №0

Обратите внимание на утилиту для отображения и регистрации библиотек RegDllView. При помощи неё вы как минимум сможете контролировать результат работы следующих шагов.

Шаг №1

Прежде всего убеждаемся, что у нас действительно проф-версия платформы, потому что для базовой версии платформы внешнее подключение к базам работать и не должно (это ограничение платформы).

Чтобы понять какая у нас платформа (базовая или проф) выполним вот этот пункт.

Если лицензия на платформу у нас всё же не проф, а базовая, то все остальные шаги не имеют смысла. Внешнее подключение к базам у нас работать не будет (из-за ограничений платформы). Ничего не остаётся, кроме как настроить базы вот так.

Шаг №2

Далее пробуем запустить обновлятор с правами администратора.

Если у вас включён UAC, то добиться этого можно, нажав на ярлыке обновлятора правой кнопкой, и выбрав вариант «Запуск от имени администратора».

Далее выбираем базу и нажимаем кнопку «Проверить настройки». Если ошибка пропала и больше не воспроизводится даже при обычном запуске обновлятора (без прав администратора) — поздравляю, проблема решена. Если нет — идём дальше.

Шаг №3

В 32-битной версии ОС пробуем выполнить команду

regsvr32 "путь к папке bincomcntr.dll"

В 64-битной версии ОС команда будет такой:

— для регистрации 64-битной платформы 1С:

regsvr32 "путь к папке bincomcntr.dll"

— для регистрации 32-битной платформы 1С:

C:WindowsSysWOW64regsvr32 "путь к папке bincomcntr.dll"

Эти команды запускаем от имени пользователя с правами администратора. А при включённом UAC, запускаем cmd через «Запуск от имени администратора», либо через такой же запуск написанного батника.

Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше.

Если этот шаг не помог — идём дальше.

Шаг №4

Похоже, что у обновлятора не получается зарегистрировать COM компоненту из-за настроек безопасности на вашем сервере.
В этом случае:

  1. Заходим в Панель управления — Администрирование — Службы компонентов.
  2. Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  3. В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  4. Нажимаем «Далее».
  5. Выбираем «Создать новое приложение».
  6. Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  7. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  8. Нажимаем «Готово».
  9. В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  10. В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  11. Нажимаем «Далее».
  12. Выбираем «Установка новых компонентов».
  13. Выбираем файл <каталог 1С>bincomcntr.dll.
  14. Нажимаем «Далее» — «Готово».
  15. Переходим к ветке V83COMConnector.
  16. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  18. Нажимаем «ОК».

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

Шаг №5

Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).

Шаг №6

Если проблема начала возникать сразу после обновления платформы 1с, то вероятнее всего новой версии платформы 1с не хватает какого-нибудь сервиспака или обновления для вашей операционной системы. Поэтому если есть возможность — ставим их все, если нет — действуем выборочно согласно этой ссылке.

Шаг №7

Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.

Наверняка есть и другие экзотические случаи о которых я пока не знаю — пожалуйста, пишите о них мне на почту helpme1c.box@gmail.com, чтобы я смог дополнить эту статью.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Алексей Герзанов aka Gerzoid 11.12.2022 2 мин

Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

После установки новой версии платформы на сервер, я столкнулся с ошибкой вызова конструктора (COMObject) при обновлении конфигурации.

Причина ошибки обычно кроется в незарегистрированной библиотеке ComConnector (comcntr.dll), которая используется для управления подключениями к информационной базе на сервере 1С:Предприятие.

Текст ошибки при обновлении конфигурации на сервере

«Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса»

Раньше я регистрировал библиотеку вручную:

  1. Нажимаем кнопки Win + R.
  2. В окне вводим команду:
    regsvr32 "C:Program Files1cv88.3.xx.xxxxbincomcntr.dll"
    
  3. Нажимаем Ок.

Но в текущей ситуации я получал ошибку:

Текст ошибки при регистрации comcntr.dll

Не удалось загрузить модуль “comcntr.dll». Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с  этим двоичным файлом или зависимыми DLL-файлами.

Не найден указанный модуль.

Поэтому предлагаю надежный и главное легкий способ регистрации библиотеки comcntr.dll:

  1. Откройте каталог с установленной платформой C:Program Files1cv88.3.xx.xxxxbin. В директории найдите файл RegMSC.cmd (он регистрирует утилиту администрирования сервера).
  2. Щелкните правой кнопкой мыши на файле и выберите Изменить.
  3. Замените в тексте слово radmin.dll на comcntr.dll.
  4. Сохраните наш новый файл в каталог платформы, все в той же папке C:Program Files1cv88.3.xx.xxxxbin, назвав его как угодно, например, RegCOM.cmd и запустите его от имени администратора.

    Или можете скачать файл RegCOM.cmd с нашего сайта, переместить в каталог C:Program Files1cv88.3.xx.xxxxbin и запустить от имени администратора.

  5. Библиотека будет успешно зарегистрирована.
  6. Повторите попытку обновления конфигурации.

Алексей Герзанов aka Gerzoid

Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

Первым делом необходимо зарегистрировать DLL в системе

Regsvr32 «C:Program Files1cv88.3.7.1776bincomcntr.dll»

В случае, если не помогает — создаём коннектор руками:

•Заходим в Панель управления — Администрирование — Службы компонентов.

•Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.

•В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.

•Нажимаем «Далее».

•Выбираем «Создать новое приложение».

•Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

•На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

•Нажимаем «Готово».

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.

•Нажимаем «Далее».

•Выбираем «Установка новых компонентов».

•Выбираем файл <каталог 1С>bincomcntr.dll.

•Нажимаем «Далее» — «Готово».

•Переходим к ветке V83COMConnector.

•В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

•Нажимаем «ОК».

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

У пользователей, работающих на 1С возникаем ошибка, связанная с файлом comcntr.dll. Оказывается, проблема заключается в особенности работы программы. Рассмотрим, как исправляется ошибка регистрации comcntr.dll.

Содержание

  1.  Что это такое
  2. Что предпринять
  3. Если переустановка не помогла
  4. Вывод

 Что это такое

Инсталлируя 1С, ОС регистрирует класс COMConnector. Файл comcntr.dll — компонент использующийся для предоставления доступа к информационной базе из внешней программы. Проблема не в библиотеке, а в особенностях работы ПО. Поэтому появляется на ОС Windows, которые поддерживают этот компонент.

Что предпринять

Так как проблема связана не с файлом, не нужно устанавливать заново библиотеку. Лучшее решение — переустановка программы. Удалите ее. Используйте утилиту CCleaner. Приложение удаляет вместе с файлами следы в реестре.
Установите ПО с лицензионного диска или дистрибутива.
Перезагрузите ПК. Проверьте, работу COM-компонента.

Если переустановка не помогла

Инсталлятор 1С может не зарегистрировать библиотеку. Причина до конца не выяснена. Что предпринять? Установите DLL-файл вручную. Нажмите «Win+X», далее:
Пропишите команду:

Если команда не сработала, запустите regsvr32 с ключом «/u».

Вывод

Мы рассмотрели, как исправить ошибку, связанную с работой COM-компонента. Используйте рекомендации, описанные выше, и ошибка возникать не будет.

  

21stas

10.03.19 — 16:31

При настройке синхронизации БП 3 и ЗУП 3.1 получаю ошибку:

http://joxi.ru/a2XYVRkU1N4LlA

При при ручной регистрации (под администратором) командой:

regsvr32.exe comcntr.dll

Скриншот ошибки

http://joxi.ru/Y2LDjJWC9REbR2

Windows Server 2012 Standard.

  

OldCondom

1 — 10.03.19 — 16:38

Что в ЖР сказано? Тоже не обнаружен по указанному пути?

  

21stas

2 — 10.03.19 — 20:02

Там подробностей никаких:

Ошибка при регистрации компоненты comcntr.

Код ошибки regsvr32: 3

http://joxi.ru/brRnDWRcJ0Owqr

  

SiAl-chel

3 — 10.03.19 — 22:48

  

OldCondom

4 — 10.03.19 — 23:28

Я только через службы как в (3) и делал. Геморроя с этими коннекторами не оберешься. Кстати компоненту можно расшарить.

  

Prog111

5 — 11.03.19 — 06:24

(0) Саму 1С под администратором запускал?

  

21stas

6 — 11.03.19 — 08:29

(3) Там первой строкой:

Первым делом необходимо зарегистрировать DLL в системе

Regsvr32 «C:Program Files1cv88.3.7.1776bincomcntr.dll»

А она у меня не регистрируется.

  

21stas

7 — 11.03.19 — 08:33

(5) Да

  

Cyberhawk

8 — 11.03.19 — 08:47

32б / 64б

  

21stas

9 — 11.03.19 — 09:58

  

RomanYS

10 — 11.03.19 — 10:01

(9) (6) А почему 1С-32 лежит в папке C:Program Files…?

А не в C:Program Files (x86)

  

21stas

11 — 11.03.19 — 11:18

У меня лежит в:

«c:Program Files (x86)1cv88.3.13.1513»

В (6) речь про инструкцию из (3)

  

Ёпрст

12 — 11.03.19 — 11:21

(0)

запускай cmd от имени администратора и там пиши это

c:windowssyswow64regsvr32.exe  «C:Program Files1cv88.3.7.1776bincomcntr.dll»

  

Kigo_Kigo

13 — 11.03.19 — 11:22

В батник заворачивай строки регистрации и запускай от имени админа

  

Kigo_Kigo

14 — 11.03.19 — 11:27

(12) Оно как бы и запускается от имини админа, но не срабатывает

  

Kigo_Kigo

15 — 11.03.19 — 11:29

Может кто то знает, пытаюсь сделать загрузку из 7.7 получаю

{Обработка.ПереносДанныхИзИнформационныхБаз1СПредприятия77.Форма.ФормаЗагрузкаИзИБ.Форма(985)}: Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован

и зарегистрировал и обертку из (3) сделал, куда копать?

  

НачинающийНик

16 — 11.03.19 — 11:41

http://catalog.mista.ru/public/197627/

Я в COM+ заворачивал, но одном компе только так взлетело.

  

НачинающийНик

17 — 11.03.19 — 11:43

Как раз такая же фигня с 32 и 64бит был разнобой

  

Cyberhawk

18 — 11.03.19 — 11:46

Обычно все решается установкой и контролем правильности оной нужного релиза платформы / коннектора.

Танцев с обертками давно уже не припомню чтоб прибегать к ним приходилось.

«Чтобы жить без 3.14здежу — делай все по чертежу» (с) :)

  

Cyberhawk

19 — 11.03.19 — 11:47

Не забывать перезагружать ОС после каждой манипуляции, т.к. иногда что-то в ней портится касательно СОМ / ДСОМ и лечится только перезагрузкой

  

21stas

20 — 11.03.19 — 13:05

(12) Регистрация прошла успешно:

http://joxi.ru/Vrweo4wFOZvdz2

Но 1С всё равно валит ту же ошибку.

Попробую ночью перезагрузить.

  

OldCondom

21 — 11.03.19 — 13:10

(20) Да шаманов вызови, к гадалке сходи и сверься с гороскопом. Не делать же, как предлагают, правильно?

2 дня возиться с элементарной фигней. Могешь!

  

21stas

22 — 11.03.19 — 14:36

(21) Я сделал, как в (12).

Какой ещё рецепт не сделал?

Я буду послушным подаваном.

При попытке обновления типовой базы 1С Зарплата и управление персоналом 3.1.6.38 (в пользовательском режиме из меню, а не из конфигуратора) выдается сообщение об ошибке: Ошибка при регистрации компоненты comcntr. Код ошибки regsvr32: 3. Подробности см. в журнале регистрации.

При этом неважно, что данная компонента уже зарегистирована. Обновление дальше не идет.

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

При обновлении 1С вылпается принудительно регистрация comcntr

C:UsersvasyaPicturesgs000063.png

 

Для этого используется процедура ОбщегоНазначенияКлиентСервер.ЗапуститьПрограмму, в которой видим:

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

После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.

Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:

Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса 
{ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(393)}:		COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // "V83.COMConnector"
{ОбщийМодуль.ОбщегоНазначения.Модуль(2830)}:	Возврат ОбщегоНазначенияСлужебныйКлиентСервер.УстановитьВнешнееСоединениеСБазой(Параметры, ПодключениеНедоступно, КраткоеОписаниеОшибки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(12564)}:		ЗаполнитьПараметрыПодключенияВнешнегоСоединения(СтруктураНастроек));
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1185)}:        РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта(
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1164)}:	Результат = ВнешнееСоединениеДляУзлаИнформационнойБазы(УзелИнформационнойБазы);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6701)}:	ВнешнееСоединение = ОбменДаннымиПовтИсп.ПолучитьВнешнееСоединениеДляУзлаИнформационнойБазы(
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3952)}:			ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}:		ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}:	Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1036)}:		ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:		ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса 
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Причины возникновения ошибки -2147221005(0x800401F3)

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

Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:

  • Пользователь использует устаревшую конфигурацию 1С;
  • Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
  • В системе не зарегистрирована библиотека comcntr.dll;
  • У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).

Обновление конфигурации до последней версии

Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.

Запускайте 1С с правами администратора

Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.

Измените код программы

В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:

COMConnector = Новый COMObject(«V82.COMConnector»);

на строку:

COMConnector = Новый COMObject(«V83.COMConnector»);

После указанной замены проблема может быть решена.

Регистрация в системе компоненты comcntr.dll

Довольно часто ошибка возникает после обновления платформы, когда во время установки новой версии не регистрируется компонента comcntr.dll.

Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:

C:WindowsSysWOW64regsvr32 /u "c:Program Files1cv88.3.17.1851bincomcntr.dll" или C:WindowsSysWOW64regsvr32 /u "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"

Затем

C:WindowsSysWOW64regsvr32 "c:Program Files1cv88.3.17.1851bincomcntr.dll" или C:WindowsSysWOW64regsvr32 "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"

«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.

C:WindowsSysWOW64regsvr32

После регистрации библиотеки скорей всего синхронизация заработает.

Синхронизация данных ЗУП-БП

Последние статьи:

Оглавление

  • Как понять, что у нас проблемы с COM
  • Да, судя по тесту, у нас проблемы с COM
    • Шаг №0
    • Шаг №1
    • Шаг №2
    • Шаг №3
    • Шаг №4
    • Шаг №5
    • Шаг №6
    • Шаг №7

Обновлятор-1с в своей работе использует com-библиотеку от 1с для внешнего подключения к базам.

В большинстве случаев никаких проблем с этой библиотекой не наблюдается — обновлятор сам автоматически регистрирует и использует библиотеку нужной версии 1с, но изредка возникают случаи (в основном на серверных ОС), когда требуются «пляски с бубном».

Как понять, что у нас проблемы с COM

Для этого нажимаем кнопку «Проверить настройки» удерживая клавишу «Shift» на клавиатуре:

При нормальной работе COM отчёт будет примерно таким:

При проблемах же с COM возникнет вот такая или похожая ошибка:

Ещё может писать, что -то типа «Не удалось создать программное подключение к 1С«.

Да, судя по тесту, у нас проблемы с COM

Прежде всего, о какой именно библиотеке идёт речь? Эта библиотека comcntr.dll, которая находится в папке bin конкретной платформы 1с:

Эта библиотека устанавливается и автоматически регистрируется в системе при установке платформы.

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

regsvr32.exe "путь к папке bincomcntr.dll"

Итак, что мы можем предпринять?

Шаг №0

Обратите внимание на утилиту для отображения и регистрации библиотек RegDllView. При помощи неё вы как минимум сможете контролировать результат работы следующих шагов.

Шаг №1

Прежде всего убеждаемся, что у нас действительно проф-версия платформы, потому что для базовой версии платформы внешнее подключение к базам работать и не должно (это ограничение платформы).

Чтобы понять какая у нас платформа (базовая или проф) выполним вот этот пункт.

Если лицензия на платформу у нас всё же не проф, а базовая, то все остальные шаги не имеют смысла. Внешнее подключение к базам у нас работать не будет (из-за ограничений платформы). Ничего не остаётся, кроме как настроить базы вот так.

Шаг №2

Далее пробуем запустить обновлятор с правами администратора.

Если у вас включён UAC, то добиться этого можно, нажав на ярлыке обновлятора правой кнопкой, и выбрав вариант «Запуск от имени администратора».

Далее выбираем базу и нажимаем кнопку «Проверить настройки». Если ошибка пропала и больше не воспроизводится даже при обычном запуске обновлятора (без прав администратора) — поздравляю, проблема решена. Если нет — идём дальше.

Шаг №3

В 32-битной версии ОС пробуем выполнить команду

regsvr32 "путь к папке bincomcntr.dll"

В 64-битной версии ОС команда будет такой:

— для регистрации 64-битной платформы 1С:

regsvr32 "путь к папке bincomcntr.dll"

— для регистрации 32-битной платформы 1С:

C:WindowsSysWOW64regsvr32 "путь к папке bincomcntr.dll"

Эти команды запускаем от имени пользователя с правами администратора. А при включённом UAC, запускаем cmd через «Запуск от имени администратора», либо через такой же запуск написанного батника.

Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше.

Если этот шаг не помог — идём дальше.

Шаг №4

Похоже, что у обновлятора не получается зарегистрировать COM компоненту из-за настроек безопасности на вашем сервере.
В этом случае:

  1. Заходим в Панель управления — Администрирование — Службы компонентов.
  2. Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  3. В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  4. Нажимаем «Далее».
  5. Выбираем «Создать новое приложение».
  6. Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  7. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  8. Нажимаем «Готово».
  9. В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  10. В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  11. Нажимаем «Далее».
  12. Выбираем «Установка новых компонентов».
  13. Выбираем файл <каталог 1С>bincomcntr.dll.
  14. Нажимаем «Далее» — «Готово».
  15. Переходим к ветке V83COMConnector.
  16. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  18. Нажимаем «ОК».

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

Шаг №5

Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).

Шаг №6

Если проблема начала возникать сразу после обновления платформы 1с, то вероятнее всего новой версии платформы 1с не хватает какого-нибудь сервиспака или обновления для вашей операционной системы. Поэтому если есть возможность — ставим их все, если нет — действуем выборочно согласно этой ссылке.

Шаг №7

Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.

Наверняка есть и другие экзотические случаи о которых я пока не знаю — пожалуйста, пишите о них мне на почту helpme1c.box@gmail.com, чтобы я смог дополнить эту статью.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Алексей Герзанов aka Gerzoid 11.12.2022 2 мин

Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

После установки новой версии платформы на сервер, я столкнулся с ошибкой вызова конструктора (COMObject) при обновлении конфигурации.

Причина ошибки обычно кроется в незарегистрированной библиотеке ComConnector (comcntr.dll), которая используется для управления подключениями к информационной базе на сервере 1С:Предприятие.

Текст ошибки при обновлении конфигурации на сервере

«Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса»

Раньше я регистрировал библиотеку вручную:

  1. Нажимаем кнопки Win + R.
  2. В окне вводим команду:
    regsvr32 "C:Program Files1cv88.3.xx.xxxxbincomcntr.dll"
    
  3. Нажимаем Ок.

Но в текущей ситуации я получал ошибку:

Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

Текст ошибки при регистрации comcntr.dll

Не удалось загрузить модуль “comcntr.dll». Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с  этим двоичным файлом или зависимыми DLL-файлами.

Не найден указанный модуль.

Поэтому предлагаю надежный и главное легкий способ регистрации библиотеки comcntr.dll:

  1. Откройте каталог с установленной платформой C:Program Files1cv88.3.xx.xxxxbin. В директории найдите файл RegMSC.cmd (он регистрирует утилиту администрирования сервера).
  2. Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

  3. Щелкните правой кнопкой мыши на файле и выберите Изменить.

    Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

  4. Замените в тексте слово radmin.dll на comcntr.dll.

    Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

  5. Сохраните наш новый файл в каталог платформы, все в той же папке C:Program Files1cv88.3.xx.xxxxbin, назвав его как угодно, например, RegCOM.cmd и запустите его от имени администратора.

    Или можете скачать файл RegCOM.cmd с нашего сайта, переместить в каталог C:Program Files1cv88.3.xx.xxxxbin и запустить от имени администратора.

    Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

  6. Библиотека будет успешно зарегистрирована.

    Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

  7. Повторите попытку обновления конфигурации.

    Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере

Алексей Герзанов aka Gerzoid

Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

  • Ошибка при регистрации компоненты comcntr код ошибки regsvr32 13 не удалось подключиться к другой
  • Ошибка при рендере davinci resolve
  • Ошибка при регистрации компоненты comcntr код ошибки regsvr32 13 метод объекта не обнаружен
  • Ошибка при резервном копировании ватсап
  • Ошибка при регистрации компаньона twitch улица 2