comcntr.dll проблемы регистрации

1. AlexGoldT 29.06.24 12:40 Сейчас в теме
Забодался с регистрацией comcntr.dll. Хоть не обновляй платформу
Windows10 64 Сервер мини (64)
При обновлении платформы (сейчас менял 8.3.25.1257 на 8.3.25.1286) опять выдает ошибку
"-2147221164(0x80040154): Класс не зарегистрирован" при попытки проверки синхронизации баз (Бухгалтерия и Зарплата)

Не погу понять систему что не так боишься сделать шаг влево-вправо - обновляешь по инструкции - останавливаем сервер 1С мини, ставим обновление, удаляем регистрацию старой dll, регистрируем новую - стоит удалить после этого старую платформу - получаем ошибку.
Опять удаляем регистрацию и заново регистрируем dll - ошибка при проверки синхронизации...

C:\Windows\SysWOW64\regsvr32 "C:\Program Files\1cv8\8.3.25.1286\bin\comcntr.dll"

RegDllView все показывает нормально - все зарегистрировано.

Может кто подскажет где копать и как проверить регистрацию?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 29.06.24 13:20 Сейчас в теме
(1)
C:\Windows\SysWOW64\regsvr32

это регистрация 32 бит компоненты в 64 бит ОС. Для 64 бит в System32 (как бы это не звучало).
VyacheslavShilov; +1 Ответить
4. karamazoff 118 29.06.24 13:25 Сейчас в теме
(2)это никак и не звучит, все отлично регится через regsvr32 "C:\Program Files\1cv8\8.3.19.1726\bin\comcntr.dll" только нужен запуск от имени Администратора
lefthander; +1 Ответить
5. spacecraft 29.06.24 13:29 Сейчас в теме
(4)
это никак и не звучит, все отлично регится через regsvr32

А теперь попробуй уточнить, откуда вызывается regsvr32 без указания пути.
Вот никак не пойму, ты просто невнимателен или просто не понимаешь?
6. AlexGoldT 29.06.24 13:43 Сейчас в теме
(2)
это регистрация 32 бит компоненты в 64 бит ОС. Для 64 бит в System32 (как бы это не звучало).

Нужно как-то иначе регистрировать?
Все время пользовался https://helpf.pro/faq/view/1825.htm - там неверная информация?

Сейчас интереснее все происходит - не уходит регистрация comcntr.dll прошлой версии:
Поставил обе платформы Выдает ошибку:
Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты 'comcntr' (8.3.25.1257) отличается от версии корневого модуля 'core83' (8.3.25.1286)

Попытки вручную разрегистрировать и заново зарегистрировать ситуацию не меняет
Пробую запускать regsvr32 и из System32 и из SysWOW64

Смотрю реестр - там .1286 Откуда 1С берет регистрацию на .1257? Может не там смотрю?
Смотрю какая ветка реестра в утилите RegDllView у данной dll
7. spacecraft 29.06.24 14:03 Сейчас в теме
(6)
Все время пользовался https://helpf.pro/faq/view/1825.htm - там неверная информация?

Там нужно понимать о какой битности идет речь. Там про битность сервера (ОС), а не 1С.
Регистрация 32 бит 1С на 64 бит ОС (Операционной системы).

Для регистрации 64 бит компоненты на 64 ОС используется:
C:\Windows\System32\regsvr32 "C:\Program Files\1cv8\8.3.25.1286\bin\comcntr.dll"
или просто
regsvr32 "C:\Program Files\1cv8\8.3.25.1286\bin\comcntr.dll"
так как папка System32 указана в переменной среды Path, как %SystemRoot%\system32
соответственно найдется regsrv32 в этой папке.
VyacheslavShilov; +1 Ответить
8. AlexGoldT 29.06.24 15:06 Сейчас в теме
(7) так все у меня 64 и операционка и платформа и сервер мини.
В моей ситуации имеет разницу откуда запускать regsvr32.exe - из System32 или из SysWOW64?

Пока уперся в невозможность удаления регистрации старого comcntr.dll
Нашел на форуме сообщение об аналогичной проблеме, но не смог найти решения...
9. spacecraft 29.06.24 16:05 Сейчас в теме
(8)
В моей ситуации имеет разницу откуда запускать regsvr32.exe - из System32 или из SysWOW64?

Есть разница.
Мне еще раз повторить?
в (7) есть вся нужная информация.
10. AlexGoldT 29.06.24 16:45 Сейчас в теме
(9) то что Вы говорите об использовании system32\regsrv32.exe - понятно, повторять не нужно...
Не очень понятно что произойдет "неверного" при использовании в моей ситуации sysWOW64\regsrv32.exe когда регистрируем эту dll так же из 64-х битной платформы...
С 2022г без проблем использовал именно sysWOW64\regsrv32.exe...
11. spacecraft 29.06.24 16:54 Сейчас в теме
(10)
Не очень понятно что произойдет "неверного" при использовании в моей ситуации sysWOW64\regsrv32.exe

тем, что regsrv32.exe 32 бит версия в sysWOW64.
https://support.microsoft.com/ru-ru/topic/использование-средства-regsvr32-и-устранение-неполадок-связанных-с-выводимыми-им-сообщениями-об-ошибках-a98d960a-7392-e6fe-d90a-3f4e0cb543e5
AlexGoldT; +1 Ответить
15. ybatiaev 59 05.07.24 23:39 Сейчас в теме
(11) не идёт регистрация ни с какого места (((( ХЕЛП!!!!!
14. ybatiaev 59 05.07.24 23:38 Сейчас в теме
(6)Доброй ночи! Удалось решить? Подскажите, у меня прям с этим беда (((
(9)
13. ybatiaev 59 05.07.24 23:36 Сейчас в теме
недавно ставил 8.3.
(2) ни с system32, ни с syswow64 не идёт и всё (((((((
не знаю уж что и делать. Все старые версии 1С сервера удалены. Агента перегагружал
Вот ещё. Раньше мы проверяли остановку и запуск служб компонентов, сейчас даже не найду перезапуск ((((
ХЕЛП!!!!!
3. karamazoff 118 29.06.24 13:23 Сейчас в теме
сталкивался на одном сервере, пока не удалил регистрацию через старую платформу, новая регится не хотела никак
12. muskul 01.07.24 01:52 Сейчас в теме
Не забывайте про 32 и 64 платформы.
16. ybatiaev 59 05.07.24 23:40 Сейчас в теме
(12) Доброй ночи! И Вам напишу. Пробовал с разных мест - не работает и всё ((((( Помогите советом
18. muskul 06.07.24 04:54 Сейчас в теме
(16)Если что то не получается. значит делаем все сначала. Банально может быть ставили новую платформу а вот обновить серверную частьзабыли поставить галочку. ну может же быть такое? может
17. ybatiaev 59 05.07.24 23:58 Сейчас в теме
Доброй ночи! Вам удалось решить проблему? Поделитесь решением... у меня не получается в первый раз за все 10 лет ((( измучался (((
Чувствую, что надо перезапустить службу компонентов. Это раньше помогало всегда. А теперь такого не нахожу вообще (
19. karamazoff 118 06.07.24 06:44 Сейчас в теме
(17)еще один бедолага... Поставить СТРУЮ платформу (если была снесена) на которой была прошлая регистрация модуля, даплее regsvr32 /u с нужным путем к файлу, после уже просто regsvr32 "C:\Program Files\1cv8\8.2219.1726\bin\comcntr.dll", на новую версию, выбрать свою, но первое действие необходимо! Соот-но необходимо чтобы ранее зарегистрированный файл присутствовал
VyacheslavShilov; +1 Ответить
20. ybatiaev 59 06.07.24 10:27 Сейчас в теме
(19) не помогло (((
даже на других серверах всё ок. Только на одном траблы (((
21. karamazoff 118 06.07.24 10:55 Сейчас в теме
(20)Тады ой, у меня за 15 лет такое случилось на 16 сервере, решилось, как написал. Дальше, наверное реестр ковырять, но не благодарное это дело
29. ybatiaev 59 07.07.24 23:52 Сейчас в теме
(21) в реестре поправил ((( зато всё заработало (
VyacheslavShilov; +1 Ответить
22. AlexGoldT 06.07.24 11:41 Сейчас в теме
Вот ответ поддержки 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
Показать

Я пока не пробовал. Свою проблему решил следующим образом - снес ВСЕ платформы 1С (каталоги не удалял) и заново поставил старую. Реестр проверил - там только ссылки на одну платформу. На дня попробую обновить платформу еще раз.
user1316759; VyacheslavShilov; +2 Ответить
23. AlexGoldT 06.07.24 19:04 Сейчас в теме
Попробовал поставить опять 1286 - совет поддержки ничего не дал.
Что делал - поставил 1286 (ошибка та же), разрегистрировал (dll) и 1257, и 1286 в результате реестр не очистился полностью - остались ветки с 1257. Зарегистрировал 1286 - веток добавилось.
Опять разрегистрировал и зарегистрировал 1286 - часть веток содержит 1257, часть 1286.
Идей нет. Все ветки свел в таблицу экселя - если у кого есть возможность - посмотрите какие векти у вас для клиент-сервера
Прикрепленные файлы:
Сравнение реестра регистрации dll.xlsx
24. karamazoff 118 06.07.24 20:24 Сейчас в теме
серверов как грязи, чаго конкретно искать?
25. AlexGoldT 06.07.24 20:31 Сейчас в теме
(24) в реестре имена веток где есть значение параметра comcntr.dll. Но только на серверах где ОДИН 1С-сервер (лучше конечно мини 64бит 8-) Просто интересно есть лишние ветки или нет...

Пока поступил тупо (возможно не правильно, но работает) - ручками по всем веткам реестра прошелся и поменял 1257 на 1268 у ссылок на comcntr.dll
Сейчас на сервере стоит одна только платформа 1268. Правда как ее менять на следующую когда выйдет новая - ХЗ
Хотелось бы найти правильное решение а не менять опять ссылку на dll
VyacheslavShilov; +1 Ответить
26. karamazoff 118 06.07.24 20:37 Сейчас в теме
ну вот на сервере, где пришлось сначала снимать старую регистрацию, потом ставить новую 14 ссылок в реестре, все ссылаются на нужную длл. Ключи в реестре все технические. Может вам их грохнуть? Вряд ли из за них винда ляжет.
27. AlexGoldT 06.07.24 20:47 Сейчас в теме
(26) Вот и у меня их 14. В них поменял ссылки - работает. Просто непонятно почему разрегистрация и новая регистрация менять только часть их. Чей глюк - Винды, 1С, антивирусника, моих каких-то действий неадекватных ранее.
Так же смущает почему деинсталяция 1С не грохает службу запуска сервера на этой платформе. Она так и остается в списке служб хоть и ссылается на пустую папку... Что-то держит чистку реестра...
28. karamazoff 118 06.07.24 21:58 Сейчас в теме
(27)1С криворукие давно и навсегда, но замены пока нет, приходится мирится... Я за БСП смертную казнь бы вернул...
30. Livsi 46 08.10.24 11:22 Сейчас в теме
(28) Извиняюсь, а чем БСП-то не угодила?
31. karamazoff 118 09.10.24 00:19 Сейчас в теме
(30) Тем, что она не дружелюбна в использовании, постоянно меняется (что максимально не удобно для доработок) и если ее внедряют во все типовухи, чегож ее не засунут в платформу и синтаксис помощник для адекватного использования. Вот этим всем.
Оставьте свое сообщение

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