Не удаётся разрегистрировать comcntr.dll

1. slicem 9 18.01.23 10:40 Сейчас в теме
Сабж.
В очередной раз, при обновлении платформы налетел на расхождение версий комконнектора на сервере и локально.
Проблема в том, что непонятно где хранится уже зареганая в винде длл. Т.е. я сейчас хочу элементарно разрегать её и получить сообщение в 1С класс не зарегистрирован. Чтобу убедиться, что старой длл нет.
Вот только это не удаётся.
Самого файла физически нет на компе. Я срыл все платформы и поставил новую. - Пишет, что у меня старая версия.
Сделал поиск файла comcntr.dll - его физически нигде нет, кроме нового. Сделал поиск по реестру - старого там нет, никаких ссылок на него либо какой-либо безликий нет. Только на новый.
Кэш 1С снес.
Не помогло - при попытке соединиться пишет, что у меня старая версия:

"Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты 'comcntr' (8.3.20.1674) отличается от версии корневого модуля 'core83' (8.3.20.2184)"

Где?! Где винда/1с хранят этот 1674 и записи о нём?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. solodovnikov.84 11 18.01.23 12:09 Сейчас в теме
(1)База где вертится на сервере?Там и коннектор должен быть.Библиотека располагается все в платформе клиента на той машине, где вертится база. C:\Program Files (x86)\1cv8\8.3.20.2180\bin\comcntr.dll

После обновы платформы библиотеку лучше всего зарегистрировать в регистре через команду regsvr32 под админом, а потом уже заменить в компаненте службы компанентов. Опять же на той же машине, где вертится база.
11. Sashares 35 18.01.23 12:38 Сейчас в теме
(1)Так зарегистрируйте нужную версию, чистка старой версии ничем не поможет.
2. user5300 1046 18.01.23 11:08 Сейчас в теме
В службе компонентов не смотрели ? Панель управления - Администрирование - Служба компонентов
3. slicem 9 18.01.23 12:07 Сейчас в теме
(2.) Не смотрел. Смотрю сейчас, спасибо.
Пока не удаётся найти. В оснастке нет поиска, а глазами ничего похожего на comcntr или comconnector я пока не увидел. Большрй раздел.
5. solodovnikov.84 11 18.01.23 12:12 Сейчас в теме
(3)Там, как правило не много.
Прикрепленные файлы:
user1706724; JLaikova; +2 Ответить
6. slicem 9 18.01.23 12:16 Сейчас в теме
(4) база на сервере.
стандартные решения с regsvr23 и wow64 под админом уже пробовались. Сервер упорно видит старую библиотеку, и вот на удалении старой я и начал удивляться. Ожидал, что либо не даст удалить старый файл, либо разрегает. Однако файл стёрся, а инфа о нём, а возможно и какая-то скрытая его копия нет. Его даже не разрегаешь сейчас regsvr32 /u C:\Program Files (x86)\1cv8\8.3.20.1674\bin\comcntr.dll за физическим отсутствием.
8. solodovnikov.84 11 18.01.23 12:21 Сейчас в теме
(6) Через команду вы просто регистрируете библиотеку в регистре. Это не подключение к конектору. Это просто регистрация.
7. slicem 9 18.01.23 12:19 Сейчас в теме
(5) А! Вон оно как должно выглядеть. Спасибо, буду знать.
Не, у меня этой ветки нет.
9. solodovnikov.84 11 18.01.23 12:21 Сейчас в теме
(7)На локальной тоже такая ветка. Панель управления\Все элементы панели управления\Администрирование

Может у вас не админские права.
Прикрепленные файлы:
17. AlexGoldT 18.01.23 13:12 Сейчас в теме
(7) Эта ветка обычно не нужна - достаточно просто регистрировать dll. У меня на сервере ее нет - стандартные обращения с dll работают. Поддержка так же писала что не нужно заморачиваться с созданием COM+
Скачайте утилиту regdllview - довольно удобно смотреть что установлено и откуда...
https://www.nirsoft.net/utils/registered_dll_view.html
d4rkmesa; user1706724; native-api; +3 Ответить
10. slicem 9 18.01.23 12:25 Сейчас в теме
(8) я понимаю. Соединение я осуществляю уже в 1С обработкой. И она(1С) утверждает, что версия компоненты старая.
(9) Ветки нет ни на локальной ни на сервере. запускаю с админскими правами.
12. solodovnikov.84 11 18.01.23 12:51 Сейчас в теме
(10)Какая у вас операционка?
13. slicem 9 18.01.23 12:51 Сейчас в теме
(11) Я думаю, это взамосвязанные события. Если я смогу разрегать старую, то смогу зарегать и новую. На текущий момент, несмотря на успешные сообщения о регистрации новой, видится старая. Проблема, предположительно, как раз в том, под каким пользователем и с какими правами регается новая.
14. solodovnikov.84 11 18.01.23 12:52 Сейчас в теме
15. slicem 9 18.01.23 12:55 Сейчас в теме
В общем, ответ найден.
Это не баг, это "фича".

Использование COM-объекта

Код ошибки: 10233626
Код(ы) обращения: HL-378672
Статус: Отклонена Зарегистрирована: 24.08.2021
Продукт: "Технологическая платформа"

При использовании в коде конфигурации COM-объектов, входящих в состав платформы 1С:Предприятия и являющихся внутрипроцессными COM-серверами, например, V83.COMConnector, могут диагностироваться ошибки Версия компоненты 'компонента' (версия) отличается от версии корневого модуля 'core83' (версия) или -2147221164(0x80040154): Класс не зарегистрирован. При этом клиентское приложение может либо продолжить работу, либо аварийно завершить работу в зависимости от ситуации.
16. solodovnikov.84 11 18.01.23 13:06 Сейчас в теме
(15)И что это как то помогло пере зарегистрировать Коннектор? Вы же его вроде не нашли.
А ошибка которая тут приведена, она обычно записывается в логах винды. В принципе с регистрацией она ни как не связана.Просто могут быть вылеты.
18. VPanin56 548 18.01.23 14:09 Сейчас в теме
Сам где то нашел и с вами поделюсь,
Для регистрации COM dll-ки использую bat файл с таким содержанием

set version=8.3.20.2184
set x64=C:\Program Files\1cv8\%version%\bin\comcntr.dll
set x32=C:\Program Files (x86)\1cv8\%version%\bin\comcntr.dll
set reg64=%systemroot%\System32\regsvr32.exe
set reg32=%systemroot%\SysWoW64\regsvr32.exe

%reg64% /i /s "%x64%"
%reg64% /u /s "%x32%"
%reg64% /i /s "%x64%"
%reg32% /u /s "%x64%"
%reg64% /i /s "%x64%"
%reg32% /u /s "%x32%"
%reg64% /i "%x64%"
Показать


Запускаю его от имени Администратора и новая dll зарегистрирована.
Сбоев не было.
Прикрепленные файлы:
Reg_Comcntr.bat
business96; cleaner_it; user1006143; ulen; sibdemon; +5 Ответить
20. slicem 9 19.01.23 04:18 Сейчас в теме
(18) Спасибо, попробую.

P.S. Не помогло. Собсна вчитался - не удивительно, я в командной строке от имени админа тоже самое и делаю.
21. VPanin56 548 19.01.23 08:14 Сейчас в теме
(20)

Тогда посоветую выполнить переустановку Сервера 1С и сделать это из поставки Сервера, запустив от имени Администратора и отметить в компонентах Дополнительно - COM-соединение
Я так тоже ставил и COM сама новая зарегистрировалась, не пришлось батником пользоваться.
Прикрепленные файлы:
svetlitsky_sv; +1 Ответить
19. slicem 9 19.01.23 04:14 Сейчас в теме
(16) уходим ну другую платформу. несмотря на отсутствие записи в службе компонентов, на предыдущих платформах ком коннектор регался и работал.
22. slicem 9 19.01.23 08:16 Сейчас в теме
Вопрос закрыт. Перезапуск сервера решил. Обращение к коннектору выполнялось &на сервере в 64разрядном режиме, а там до перезапуска оставался в памяти старый ком коннектор.
ветка в службе компонентов так и не появилась, кстати, но всё работает.
23. user1109821 09.10.23 16:29 Сейчас в теме
(22)
Перезапуск сервера решил

Пробовал перезапуск сервера (Windows). Не помогло.
Пробовал перезапуск службы сервера 1С. Не помогло.
-
Помогло:
- останов службы сервера 1С;
- регистрация comcntr.dll;
- запуск службы сервера 1С.
24. user2047102 02.02.24 17:36 Сейчас в теме
(37) тоже вин10 (x64), делал те же манипуляции, у меня не регает.
При добавлении самой comcntr.dll он выдает ошибку типа.

Не удалось загрузить модуль "C:\Program Files (x86)\1cv8t\8.3.24.1342\bin\comcntr.dll".

Картинка ошибки.
25. user2047103 02.02.24 17:37 Сейчас в теме
(37) тоже вин10 (x64), делал те же манипуляции, у меня не регает.
При добавлении самой comcntr.dll он выдает ошибку типа.

Не удалось загрузить модуль "C:\Program Files (x86)\1cv8t\8.3.24.1342\bin\comcntr.dll".
Прикрепленные файлы:
26. arz 04.02.24 04:13 Сейчас в теме
Много лет пользуюсь данной инструкцией при регистрации на сервере или клиенте и проблем не было никогда. Сервер никогда не перезапускал.
//Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение –
//вводим имя «V83.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)
//2. В появившейся ветке V83COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов - C:\Program Files\1cv8\8.3.15.1830\bin\comcntr.dll
//3. Правой кнопкой по ветке V83COMConnector – Свойства – Безопасность – Снять галку «Принудительная проверка доступа для приложений»
//- Поставил галку «Применить политику программных ограничений» - Уровень ограничений «Неограниченный»
27. karamazoff 112 04.02.24 09:40 Сейчас в теме
она пишет какая версия, ее надо снести, затем запустить от имени админа по правой кнопке файл cmd содержание вот только свою версию и путь подставьте regsvr32 "C:\Program Files\1cv8\8.3.19.1726\bin\comcntr.dll"
28. muzipov 72 13.06.24 11:07 Сейчас в теме
Случай из практики.
Сервер с виндой 64 бит, платформа 64 бит, клиент 64 бит.
Новый COMОбъект("V83.COMConnector") &НаКлиенте работало, на &НаСервереБезКонтекста выдавало Invalid class string
До тех пор пока 64-битная DLL не была зарегана 32-битным регистратором reg32=%systemroot%\SysWoW64\regsvr32.exe
То есть вот так вот:
set version=8.3.20.2184
set x64=C:\Program Files\1cv8\%version%\bin\comcntr.dll
set x32=C:\Program Files\1cv8\%version%\bin\comcntr.dll
set reg64=%systemroot%\System32\regsvr32.exe
set reg32=%systemroot%\SysWoW64\regsvr32.exe

%reg64% /i /s "%x64%"
%reg64% /u /s "%x32%"
%reg64% /i /s "%x64%"
%reg32% /u /s "%x64%"
%reg64% /i /s "%x64%"
%reg32% /u /s "%x32%"
%reg64% /i "%x64%"
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот