83.COMConnector класс не зарегистрирован comcntr.dll
После unregister можно посмотреть, остались ли упоминания comcntr.dll:
|
1 |
reg query HKCR /f comcntr.dll /s |
Если что-то осталось — это просто строки в реестре, но без рабочей регистрации COM (обычно не критично, но можно удалить уже вручную, если точно понимаешь, что делаешь).
|
1 2 |
regsvr32.exe /u comcntr.dll regsvr32.exe comcntr.dll |
Проверка через обычный PowerShell (64-битный):
|
1 2 3 4 5 6 7 8 |
try { Write-Host "Пробую создать V83.COMConnector..." -ForegroundColor Cyan $com = New-Object -ComObject "V83.COMConnector" Write-Host "OK: COMConnector создан: $($com.GetType().FullName)" -ForegroundColor Green } catch { Write-Host "ОШИБКА: $($_.Exception.Message)" -ForegroundColor Red } |
Как правильно
Поставь СТРУЮ платформу (если была снесена) на которой была прошлая регистрация модуля, далее regsvr32 /u с путем к СТАРОМУ файлу, после уже просто regsvr32 с путем к НОВОМУ файлу! Соответственно необходимо чтобы ранее зарегистрированный файл присутствовал.
В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
32-разрядная версия — %systemroot%\SysWoW64\regsvr32.exe (c:\Windows\SysWoW64\)
|
1 2 |
c:\Windows\SysWoW64\regsvr32.exe /u "C:\Program Files\1cv8\8.3.18.1334\bin\comcntr.dll" c:\Windows\SysWoW64\regsvr32.exe /u "C:\Program Files\1cv8\8.3.19.1467\bin\comcntr.dll" |
64-разрядная версия — %systemroot%\System32\regsvr32.exe (c:\Windows\System32\)
|
1 2 3 |
regsvr32 /u "C:\Program Files\1cv8\8.3.24.1667\bin\comcntr.dll" regsvr32 /u "C:\Program Files\1cv8\8.3.27.1859\bin\comcntr.dll" regsvr32 "C:\Program Files\1cv8\8.3.27.1859\bin\comcntr.dll" |
Вариант пересоздания вручную
Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): “Класс не зарегистрирован” или “Недопустимая строка с указанием класса”.
Первым делом необходимо зарегистрировать DLL в системе
|
1 |
Regsvr32 "C:\Program Files\1cv8\8.3.7.1776\bin\comcntr.dll" |
В случае, если не помогает – создаём коннектор руками:
- Заходим в Панель управления – Администрирование – Службы компонентов.
- Переходим к ветке Компьютеры – Мой компьютер – Приложения COM+.
- В контекстном меню выбираем Создать – Приложение. Откроется Мастер установки приложений COM+.
- Нажимаем “Далее”.
- Выбираем “Создать новое приложение”.
- Вводим имя “V83COMConnector”. Устанавливаем переключатель “Серверное приложение”. Нажимаем “Далее”.
- На следующем шаге устанавливаем “Текущий пользователь”. Нажимаем “Далее”.
- Нажимаем “Готово”.
- В появившейся ветке V83COMConnector переходим к подветке Компоненты.
- В контекстном меню выбираем Создать – Компонент. Откроется Мастер установки компонентов COM+.
- Нажимаем “Далее”.
- Выбираем “Установка новых компонентов”.
- Выбираем файл <каталог 1С>\bin\comcntr.dll.
- Нажимаем “Далее” – “Готово”.
- Переходим к ветке V83COMConnector.
- В контекстном меню выбираем “Свойства”. В открывшемся окне переходим на вкладку «Безопасность».
- Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку “Применить политику программных ограничений”. Устанавливаем Уровень ограничений – “Неограниченный”.
- Нажимаем “ОК”.
Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.
Решение от поддержки 1С
Проверьте наличие корректной версии библиотеки comcntr.dll в реестре Windows.
Для этого в реестре (regedit.exe, запускаем из под учетной записью с администраторскими правами) ищем по всему дереву «comcntr.dll».
Если библиотека зарегистрирована, то будет найдено несколько ключей.
Если несколько версий платформ установлено на рабочей станции, то количество результатов поиска увеличится пропорционально.
В значении ключа реестра указан путь к компоненте (или версия платформы).
Если версии отличаются, то получим ошибку
«Отличается версия comcntr.dll (8.3.x.хх) отверсии корневого модуля core83(8.3.y.yy).
Если библиотека вообще не зарегистрирована, то –
получим ошибку «Недопустимая строка с указанием класса…».
Если зарегистрирована библиотека НЕ ТОЙ версии:
Запускаем командную строку (cmd.exe) от имени администратора (в случае клиент-серверной версии – от имени того пользователя, под которым запускается агент сервера) для разрегистрации,
Выполняем разрегистрацию с параметром /u
regsvr32 /u c:\program files (x86)\1cv8\НЕ_ТА_ВЕРСИЯ\bin\comcntr.dll
или для 64 разр версии
regsvr32 /u c:\program files\1cv8\НЕ_ТА_ВЕРСИЯ\bin\comcntr.dll
Запускаем regedit.cmd
–
проверяем, что поиск comcntr.dll начиная с корня дерева не выдает результатов (либо выдает только о библиотеки из версии платформы 8.3, если таковая установлена).
Выполняем regsvr32 c:\program files(x86)\1cv8\.НУЖНАЯ_ВЕРСИЯ\bin\comcntr.dll
или соответственно для 64 раз версии
В regedit проверяем, что поиск возвращает нужную версию библиотеки.
для клиент-серверной версии :
– Убедитесь, что пользователь, от имени которого запущен 1С:Сервер Предприятия (например, usr1cv8) имеет права на чтение этого каталога, его подкаталогов и выше лежащего каталога.
– Проверьте, не зарегистрирован ли V8.COMConnector в COM+ (Start/ Settings/ Control Panel/ Administrative Tools/ Component Services/ Computers/ My Computer/ COM+ Applications)?
Регистрация в COM+ имеет смысл, если используется сервер 1С:Предприятия и V8.COMConnector разной разрядности или версии. При этом требуются дополнительные настройки прав. Если разрядность и версия совпадают, то удалите регистрацию V8.COMConnector из COM+ и повторите регистрацию при помощи regsvr32
2025-08-25 решение
Лет 7 назад начались проблемы.
Делал:
в каталоге с comcntr.dll – C:\Program Files\1cv8\<номер версии>\bin
с правами админа regsvr32 comcntr.dll /U, потом – regsvr32 comcntr.dll.
Позже стало помогать:
C:\Windows\SysWOW64\regsvr32.exe “C:\Program Files\<номер версии>\bin\comcntr.dll” /U
C:\Windows\SysWOW64\regsvr32.exe “C:\Program Files\<номер версии>\bin\comcntr.dll”
2024-08-19
1. дистрибутив 1C 64bit full – кроме сервера и веб компонентов
2. дистрибутив 1C server 64bit +com +web – ОТ ИМЕНИ АДМИНИСТРАТОРА.
больше ничего, все работает
2025-08-25 ничего не помогло,
ни redsvr32, ни ручная установка приложения COM+, ни запуск дистрибутива с правами администратора, ни полное удаление и установка сервера 1с….
Проблему решил следующим образом – на сервере:
– Appwiz.cpl – от имени администратора – 1с сервер-изменить-COM-connectоr удалить;
– regedit – удалил все содержащее comcntr.dll ( удалил разделы CLSID и InproсServer, V83connector, V83connector.1…)
– Appwiz.cpl – от имени администратора – 1С сервер – изменить – COM-connectоr установить со всеми компонентами
Сервер 1С не останавливал.
!!! Запуск дистрибутива с правами админа не предлагает изменить состав установленных компонентов.
Установка-удаление программ из панели инструментов не регистрирует компоненты.
Полная переустановка оставляет мусор в реестре.
Помогло только – Appwiz.cpl – от имени администратора, ручная чистка реестра! и Appwiz.cpl – от имени администратора.
Слава творцам дистрибутивов из фирмы 1С!
еще советы
Пару раз столкнулся, не мог зарегистрировать COMConnector, все методы перепробовал не помогло. Где прочитал не помню, создаёшь еще одного пользователя windows с правами администратора и регистрируешь comcntrl.dll и работает регистрация под всеми пользователями.
не помню где, но такое уже расписано, просто регистрируешь, не “V83.COMConnector”, а “V839.COMConnector”