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-соединения оканчивается ошибкой
{Обработка.ОбменДаннымиXML.МодульОбъекта(15947)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
, то нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»
но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»
Затем перезайдите в 1С Предприятие и попробуйте установить COM-соединение снова.
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше
Запись опубликована в рубрике Настройка, Регламенты с метками com-соединение. Добавьте в закладки постоянную ссылку.
Как в Windows x32(x86)/x64 зарегистрировать компоненту com-соединения comcntr.dll 1С 8.
Ответ на данный вопрос актуален в контексте натройки обменов между базами 1С с помощью прямого подключения. Один из вариантов установки/регистрации компоненты com-соединения приведен на странице: Ошибка при вызове конструктора (COMObject) по причине: -2147221164(0x80040154): Класс не зарегистрирован На ней описан вариант установки компоненты при установке/переустановке компонентов платформы 1С: Предприятие из стандартного пакета установки. Но случается и так, что все-таки com-компонента по каким-то таинственным пирчинам все же не регистрируется при вышеуказанной операции.
На это есть альтернативный вариант с помощью командной строки операционной системы. Забегая немного вперед, и чтобы обезопасить себя от ошибок при регистрации com-компоненты comcntr.dll через командную строку, подобных приведенной на скрине
Чтобы избежать ошибки «Модуль comcntr.dll загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0x80070005» запускайте командную строку с правами администратора
А дальше уже все зависит от разрядности операционной системы, в которой Вы хотите зарегистрировать компоненту com-соединения 1C: Предприятия.
В системе с разрядностью x32(x86) для платформы 1С: Предприятие 8.2
C:Program Files (x86)1cv82<номер_релиза>bin> regsvr32 comcntr.dll
, где <номер_релиза> — номер текущего используемого релиза плафтормы 1С 8.
Для платформы 1С: Предприятие 8.3 командная строка для регистрации com-компоненты будет выглядеть примерно так:
C:Program Files (x86)1cv8<номер_релиза>bin> regsvr32 comcntr.dll
, на скрине, приведенном ниже в качестве прbмерf для случая регистрациb comcntr.dll в ОС x86 значение <номер_релиза> — «8.3.9.1818»
Теперь рассмотрим вариант для системы с разрядностью x64 для платформы 1С: Предприятие 8.2, альтернативный вариант:
C:WindowsSysWOW64>regsvr32 «C:Program Files (x86)1cv82<номер_релиза>bincomcntr.dll»
Для Windows x64 регистрация com-соединения 1С 8.3 платформы разрядности x64 может выглядеть так:
C:WindowsSysWOW64>regsvr32 «C:Program Files1cv8<номер_релиза>bincomcntr.dll»
ИЛИ как в примере для случая x64-разрядной операционной системы Windows
В том случае, если у Вас клиент-серверный вариант работы базы 1С 8, то необходимо зарегистрировать компоненту как на самом сервер, где установлен Агент сервера 1С:Предприятия, так и на рабочих местах на которых используется COM-соединение при подключении к базам (чаще всего при обмене между базами).
Так же на практике иногда требовалась перезагрузка рабочего компьютера. Но если сразу после успешной регистрации компоненты по приведенным выше инструкциям соединение отказывается работать, то лучше все-таки выполнить перезагрузку.
Если все-таки приведенный материал не помог, предлагается обратиться к альтернативным публикациям: Регистрация comcntr.dll-компоненты в 64-битной версии Microsoft Windows и Регистрация компоненты comcntr.dll для COM соединения с 1С 8 в 32-битной операционной системе
Оцените, оказалась ли эта публикация полезна для Вас?
© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
28-08-2017
Журавлев А.С.
(Сайт www.azhur-c.ru)
Назад
Данная библиотека используется Effector Saver для управления соединениями с информационной базой на сервере 1С предприятия. По идее программа установки 1С должна самостоятельно регистрировать библиотеку, но иногда этого по не происходит и пользователю необходимо зарегистрировать библиотеку самостоятельно.
Примеры сообщений об ошибках, которые указывают на необходимость провести регистрацию библиотеки пользователем самостоятельно:
- Ошибка отключения пользователей базы 1С, Недопустимая строка с указанием класса, ProgID: «V83.ComConnector»;
- Ошибка соединения с кластером 1С, Ошибка при загрузке библиотеки;
- Ошибка соединения с кластером 1С. Не найден указанный модуль, ProgID: «V83.ComConnector»;
- Ошибка соединения с кластером 1С, Отказано в доступе, ProgID: «V83.ComConnector»;
- Ошибка отключения пользователей базы 1С. Различаются версии клиента и сервера (8.3.18.1208 — 8.3.16.1296), клиентское приложение: COM-администратор (HRESULT=80004005).
Этап 1. Проверка и удаление альтернативной регистрации библиотеки как COM+.
Первое что необходимо сделать, это проверить наличие регистрации COM+ в службах компонентов и удалить ее. Для этого перейдите «Панель управления» — «Администрирование» — выберите «Службы компонентов».
В открывшемся окне «Службы компонентов» перейдите «Компьютеры» — «Мой компьютер» — из списка выберите «Приложения COM+».
Откройте V83COMConnector — папку «Компоненты». Удалите содержимое папки.
Этап 2. Отмена регистрации библиотек для всех установленных платформ 1С:Предприятия
Важно: проделайте отмену регистрации для всех платформ 1С:Предприятия, как новых, так и старых.
Если используете Effector Saver 4
Для удаления регистрации, откройте Effector Saver и перейдите «Сервис» — «Регистрация V83.COMConnector».
Нажмите «Отменить регистрацию».
Если команда выполнена успешно, то вы увидите вот такое уведомление.
Если используете Effector Saver 3
Для удаления регистрации, запустите командную строку от имени Администратора.
И выполните команды отмены регистрации библиотеки.
Команда выглядит, следующим образом: (измените путь на версию 1С установленную на вашем компьютере)
Если у вас 32 разрядная платформа
regsvr32 /u «C:Program Files (x86)1cv88.3.16.1148bincomcntr.dll»
Если у вас 64 разрядная платформа
regsvr32 /u «C:Program Files1cv88.3.16.1148bincomcntr.dll»
Если команда выполнена успешно, то вы увидите вот такое окно.
Повторите эту процедуру для каждой установленной версии 1С предприятия на данном компьютере.
Этап 3. Регистрация библиотеки comcntr.dll
Теперь, выполним регистрацию только одной, необходимой нам библиотеки comcntr.dll.
Если используете Effector Saver 4
В окне «Регистрация V83.COMConnector», нажмите «Регистрация».
Если команда выполнена успешно, то вы увидите вот такое уведомление.
Если используете Effector Saver 3
Для регистрации, запустите командную строку от имени Администратора, и выполните команду регистрации библиотеки.
Команда выглядит, следующим образом: (измените путь на нужную версию)
Если у вас 32 разрядная платформа
regsvr32 /i:user “C:Program Files (x86)1cv88.3.16.1148bincomcntr.dll”
Если у вас 64 разрядная платформа
regsvr32 /i:user “C:Program Files1cv88.3.16.1148bincomcntr.dll”
Если команда выполнена успешно, то вы увидите вот такое окно.
После регистрации библиотеки comcntr.dll рекомендуем перезагрузить компьютер.
Если данная инструкция не помогла, попробуйте зарегистрировать библиотеку как COM+, по материалу: «Решение проблемы «Недопустимая строка с указанием класса»».
Содержание:
1. Возможные проблемы с использованием функционала систем
2. Решение проблем с использованием командной строки сервера
1. Возможные проблемы с использованием функционала систем
После установки новой платформы 1С на серверных станциях со временем могут возникать проблемы с использованием функционала систем. К примеру, при использовании синхронизации потоков. Это связано с библиотекой comcntr.dll. При полной установке платформы 1С данная библиотека регистрируется в реестре автоматически, но при неполной установке платформы данную библиотеку необходимо зарегистрировать самостоятельно.
Зарегистрировать данную библиотеку необходимо на сервере, где находится база. Производить регистрацию библиотеки comcntr.dll необходимо под администраторскими правами. Запустить командную строку и прописать команду регистрации библиотеки в реестре.
2. Решение проблем с использованием командной строки сервера
Для 32-битной версии сервера в командной строке сервера вводится следующая команда: C:WindowsSystem32regsvr32 “ C:ProgramFiles(x86)1cv8[Версия новой установленной платформы]bincomcntr.dll” и нажать Enter.
При успешной регистрации на экране появится сообщение:
Для 64-битной версии сервера в командной строке сервера вводится немного другая команда: C:WindowsSysWOW64regsvr32 “C:ProgramFiles(x86)1cv8[Версия новой установленной платформы] bincomcntr.dll” и нажать Enter. При успешной регистрации на экране появится точно такое же сообщение, как и при регистрации в 32-битной версии сервера.
Но бывает, что команда введена правильно, но регистрация не проходит. Это связано с тем, что предыдущая версия данной библиотеки зарегистрирована. Для успешной регистрации новой библиотеки, необходимо удалить предыдущие версии.
Для этого необходимо ввести в командной строке команду деинсталяции. Для 32-битной версии сервера:
C:WindowsSystem32>regsvr32 «C:programfiles (x86)1cv8[Предыдущая версия платформы]bincomcntr.dll» /u.
Для 64-битной версии сервера команда следующая:
C:WindowsSysWOW64>regsvr32 «C:programfiles (x86)1cv8[Предыдущая версия платформы]bincomcntr.dll» /u
Специалист компании ООО «Кодерлайн»
Наталья Грэдинар.
Сначала зарегистрируем библиотеку comcntr.dll. Для этого запускаем cmd от имени администратора и выполним поочередно следующие команды:
cd C:Program Files (x86)1cv88.3.13.1690bin
regsvr32 comcntr.dll
Вместо «8.3.13.1690» — нужно подставить требуемую версию платформы
Или можно обойтись одной строкой команды:
regsvr32 "C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll"
Далее опишу полный процесс создания COM+ соединения
1. Запускаем оснастку «Службы компонентов» из папки Администрирование.
Пуск — Панель управления — Система и безопасность — Администрирование — Службы компонентов
или
win+R -> control userpasswords -> Службы компонентов
2. Раскрываем ветку «Службы компонентов» — компьютер — Приложения COM+
Создать — приложение
3. Откроется окно мастера установки приложений COM+. Ждем «Далее»
4. Выбираем «Создать новое приложение»
5. Вбиваем имя приложения. В моем примере — «v83COMConnector». Отмечаем чекбокс «Серверное приложение»
6. В следующем окне указывается учетная запись, от имени которой будет запускаться компонент. В моем примере я выбираю чекбокс «Текущий (вошедший в систему) пользователь
7. В следующем окне просто жмем «Далее»
8. На следующем шаге можно добавить пользователей, либо группу пользователей, которым необходимо предоставить права на запуск COM+ приложения (локальные/доменные — не важно)
9. Закрываем мастер кнопкой «Готово»
10. Теперь необходимо создать компонент. Возвращаемся к оснастке «Службы компонентов», раскрываем созданное COM+ приложение, встаем на ветку «Компоненты»
Создать — Компонент
11. Откроется окно «Мастера установки компонентов COM+». Жмем «Далее»
12. В следующем окне выбираем «Установка новых компонентов»
13. Теперь с помощью открывшегося окна проводника выберите ранее зарегистрированную библиотеку comcntr.dll, которая лежит в папке установленной 1С, в каталоге bin. В моем случае
C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll
«Enter» или кнопка «Открыть»
14. В следующем окне просто жмите «Далее»
15. Закрываем окно мастера кнопкой «Готово»
16. Раскройте ветку «Компоненты». Здесь вы должны увидеть созданный на предыдущем шаге компонент. Выделите его, нажмите ПКМ — Свойства
17. На вкладке «Безопасность» нужно отметить галочкой CreateOwner и нажать «ОК»
Компонента COM+ создана. COM+ приложение настроено!
Обновление версии компонента
Иногда необходимо зарегистрировать иную версию библиотеки comcntr.dll.
Для того, чтобы посмотреть текущую зарегистрированную версию, необходимо войти в свойства компонена V83.COMConnector (см п.16) данного руководства
На вкладке «Общие» будет прописан путь. В моем случае это версия 8.3.13.1690
Зарегистрировать другую версию библиотеки можно при помощи уже рассмотренной команды regsvr32
regsvr32 "C:Program Files (x86)1cv88.3.14.1565bincomcntr.dll"
Если в п.8 вы забыли указать пользователей или группы, кому необходимы права для запуска COM+ приложения, то добавить нужных пользователей можно так:
- Панель управления — Система и безопасность — Администрирование — Службы компонентов
- Раскрываем ветку: Приложения COM+ — v83COMConnector — Роли — CreateOwner
- ПКМ на разделе «Пользователи», «Создать — Пользователь»
- В открывшемся окне выбираем локального или доменного пользователя, либо группу
Оглавление
- Как понять, что у нас проблемы с 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 компоненту из-за настроек безопасности на вашем сервере.
В этом случае:
- Заходим в Панель управления — Администрирование — Службы компонентов.
- Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
- В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
- Нажимаем «Далее».
- Выбираем «Создать новое приложение».
- Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
- На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
- Нажимаем «Готово».
- В появившейся ветке V83COMConnector переходим к подветке Компоненты.
- В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
- Нажимаем «Далее».
- Выбираем «Установка новых компонентов».
- Выбираем файл <каталог 1С>bincomcntr.dll.
- Нажимаем «Далее» — «Готово».
- Переходим к ветке V83COMConnector.
- В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
- Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
- Нажимаем «ОК».
После этого обновлятор должен смочь самостоятельно регистрировать компоненты всех версий платформ, а не только той, которую мы прописали в компоненте.
Шаг №5
Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).
Шаг №6
Если проблема начала возникать сразу после обновления платформы 1с, то вероятнее всего новой версии платформы 1с не хватает какого-нибудь сервиспака или обновления для вашей операционной системы. Поэтому если есть возможность — ставим их все, если нет — действуем выборочно согласно этой ссылке.
Шаг №7
Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.
Наверняка есть и другие экзотические случаи о которых я пока не знаю — пожалуйста, пишите о них мне на почту helpme1c.box@gmail.com, чтобы я смог дополнить эту статью.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Если у вас установлена 64-разрядная версия платформы «1С:Предприятие», для корректной работы режима ComConnector нужно создать дополнительное COM-соединение.
- Зарегистрируйте компонент comcntr.dll.
- Остановите сервер 1С (рекомендуется, но не обязательно).
- Перейдите в раздел «Панель управления/Все элементы панели управления/Администрирование» и откройте «Службы компонентов».
- Кликните правой кнопкой мыши по «Приложения COM+» и выберите «Создать/Приложение».
- Пройдите «Мастер установки приложения COM+»:
- на втором шаге выберите «Создать новое приложение», введите название нового приложения, например «V82_COMConnector», и отметьте «Серверное приложение».
- на третьем шаге выберите «Указанный пользователь», введите логин и пароль, и добавьте роли приложения.
- на втором шаге выберите «Создать новое приложение», введите название нового приложения, например «V82_COMConnector», и отметьте «Серверное приложение».
-
Откройте «V82_COMConnector», кликните правой кнопкой мыши по «Компоненты» и выберите «Создать/Компонент».
- Запустите «Мастер установки компонентов COM+». На втором шаге выберите «Установка новых компонентов» и укажите путь к comcntr.dll.
- Нажмите правой кнопкой мыши по «V82_COMConnector» и выберите «Свойства».
- Снимите флаг в поле «Принудительная проверка доступа для приложения». Нажмите «ОК» чтобы сохранить настройки.
- Перезапустите сервер 1С.
Обратите внимание: Если учетные данные пользователя изменятся (смена логина или пароля, блокировка пользователя), подключение нужно будет перенастроить.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.