Ошибка 2147221005 (0x800401F3) в 1С: недопустимая строка класса

Ошибка 2147221005 (0x800401F3) при вызове конструктора COMObject в 1С — незарегистрированная библиотека comcntr.dll. Надёжный способ регистрации через RegMSC.cmd.
1C

Ошибка 2147221005 (0x800401F3) в 1С возникает при вызове конструктора COMObject и означает «Недопустимая строка с указанием класса». Причина — незарегистрированная библиотека comcntr.dll (ComConnector), через которую 1С подключается к информационной базе на сервере. Чаще всего ошибка появляется после установки или обновления платформы 1С 8.3.

Что означает ошибка 2147221005 / 0x800401F3

Полный текст ошибки выглядит так:

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

Код 0x800401F3 — стандартный COM-код ошибки Windows, означающий CO_E_CLASSSTRING: система не может найти зарегистрированный COM-класс для создания объекта. В контексте 1С это означает, что библиотека comcntr.dll (ComConnector) не зарегистрирована в реестре Windows или зарегистрирована для другой версии платформы.

ComConnector используется когда внешняя программа или скрипт подключается к 1С через COM-интерфейс — например, при обновлении конфигурации через скрипт автоматического обновления, при интеграции с другими системами, или при работе обработок обмена данными.

Причины появления ошибки

  • Установка новой версии платформы 1С — новая версия устанавливается рядом со старой, но comcntr.dll новой версии не регистрируется автоматически
  • Обновление платформы — старая версия была удалена, новая установлена, но регистрация COM-библиотек не прошла
  • Установщик запускался без прав администратора — регистрация библиотек требует прав на запись в системный реестр
  • Повреждение реестра Windows — записи о ComConnector были удалены или повреждены
  • Несколько версий платформы — зарегистрирована comcntr.dll от другой версии 1С, а скрипт обращается к иной
  • Антивирус заблокировал регистрацию — некоторые антивирусы блокируют вызовы regsvr32

Способ 1: Регистрация comcntr.dll через regsvr32

Стандартный способ ручной регистрации COM-библиотеки:

  1. Нажмите Win + R, введите cmd, запустите командную строку от имени администратора.
  2. Узнайте точную версию установленной платформы. Откройте папку C:\Program Files\1cv8\ и найдите подпапку с номером версии вида 8.3.XX.XXXX.
  3. Выполните команду (подставьте реальный номер версии вместо 8.3.xx.xxxx):
    regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
  4. При успешной регистрации появится сообщение: «DllRegisterServer в comcntr.dll успешно выполнено».
  5. Повторите попытку обновления конфигурации или запустите скрипт, который вызывал ошибку.

Если команда вернула ошибку о том, что файл не найден — проверьте путь к папке с платформой. На серверных ОС путь может быть C:\Program Files (x86)\1cv8\....

Способ 2: Регистрация через файл RegCOM.cmd (рекомендуемый)

Если regsvr32 не помогает или возвращает ошибку «Не удалось загрузить модуль», используйте скрипт регистрации, основанный на штатном файле RegMSC.cmd:

  1. Откройте папку с установленной платформой:
    C:\Program Files\1cv8\8.3.xx.xxxx\bin

  2. Найдите файл RegMSC.cmd — он регистрирует утилиту администрирования сервера. Щёлкните по нему правой кнопкой и выберите Изменить.
  3. В тексте файла замените слово radmin.dll на comcntr.dll.
  4. Сохраните файл под новым именем, например RegCOM.cmd, в ту же папку bin.
  5. Щёлкните по RegCOM.cmd правой кнопкой и выберите Запустить от имени администратора.
  6. Библиотека будет успешно зарегистрирована.
  7. Повторите обновление конфигурации — ошибка должна исчезнуть.

Также можно скачать готовый файл RegCOM.cmd с нашего сайта, переместить его в папку C:\Program Files\1cv8\8.3.xx.xxxx\bin и запустить от имени администратора.

Способ 3: Перерегистрация через установщик платформы

Если предыдущие способы не помогли, переустановите платформу в режиме восстановления:

  1. Откройте Панель управления → Программы и компоненты.
  2. Найдите «1С:Предприятие 8.3» нужной версии, нажмите Изменить.
  3. В мастере установки выберите режим Восстановить.
  4. Дождитесь завершения — установщик перерегистрирует все COM-компоненты, включая comcntr.dll.
  5. После завершения проверьте регистрацию командой:
    regsvr32 /u "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
    regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"

Что делать, если ничего не помогло

  • Проверьте разрядность — на 64-битных серверах может потребоваться регистрация 32-битной версии библиотеки через C:\Windows\SysWOW64\regsvr32.exe:
    C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
  • Убедитесь, что путь верный — откройте папку bin платформы и убедитесь, что файл comcntr.dll там есть. Если файла нет — платформа установлена неполно.
  • Проверьте зависимостиcomcntr.dll может зависеть от других библиотек платформы. Запустите Dependency Walker или аналогичный инструмент для проверки зависимостей DLL.
  • Проверьте антивирус — временно отключите антивирус и повторите регистрацию. Если помогает, добавьте папку платформы 1С в исключения антивируса.
  • Журнал регистрации 1С — откройте Журнал регистрации (Администрирование → Журнал регистрации) и найдите записи с уровнем «Ошибка» в момент возникновения проблемы — они могут указать на дополнительные детали.
  • Если проблема остаётся — обратитесь в линию технической поддержки 1С (v8.1c.ru) или к специалисту по администрированию серверов 1С.

FAQ

Что такое comcntr.dll и зачем она нужна в 1С?

comcntr.dll — это библиотека ComConnector, которая реализует COM-интерфейс для подключения к серверу 1С:Предприятие из внешних программ. Через неё работают скрипты автоматического обновления, обработки обмена данными и интеграция 1С с другими системами.

Почему ошибка 0x800401F3 возникает после обновления платформы 1С?

При установке новой версии платформы файлы копируются в новую папку, но COM-регистрация выполняется не всегда корректно — особенно если установщик запускался без прав администратора или прерывался. Старая версия comcntr.dll могла быть удалена, а новая ещё не зарегистрирована.

Нужно ли регистрировать comcntr.dll при каждом обновлении платформы?

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

Ошибка 2147221005 возникает только в серверном режиме или и в файловом?

Чаще всего ошибка возникает при работе с сервером 1С:Предприятие. В файловом режиме COM-подключения через comcntr.dll тоже используются при внешних интеграциях, но реже. Если ошибка появляется в файловом режиме — проверьте регистрацию так же, как описано выше.

Какая версия платформы 1С актуальна для применения этого решения?

Решение применимо для всех актуальных версий платформы 8.3.x — от 8.3.20 до текущих 8.3.24+. Путь к файлам содержит номер конкретной версии, поэтому подставляйте актуальный номер из папки C:\Program Files\1cv8\.

Что означает код ошибки -2147221005 (знак минус)?

Отрицательное значение — это представление беззнакового HRESULT-кода 0x800401F3 в виде знакового целого числа. Это одно и то же значение, просто в разных форматах вывода. Ищите по любому из этих кодов — результат одинаковый.

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

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

Добавить комментарий

  1. kasper076

    Спасибо. Все заработало

    Ответить