Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 сен 2021, 06:07

Не регистрируется comcntr.dll при использовании нестандартного IP порта

Автор mnike1c, 13 мар 2017, 13:39

0 Пользователей и 1 гость просматривают эту тему.

mnike1c

Да тема в гугле поднималась десятки раз и я всё сдесяток раз переустанавливал всё, что только можно по мануалам и выполнял команду регистрации dll, но не получается. На стандартном порте работает код зареганной dll, на не стандартном нет. Нигде не видел упоминания о том, чтобы кто-то регистрировал библиотеку при работе на портах, отличных от 1541.

У меня стоит 2 разные 1с-ки и я хочу зарегистрировать comcntr.dll для той, которая работает на нестандартном порте.
Мне нужен совет о том, что возможно дополнительно нужно где-то настроить в таком случае или получить от знатоков подтверждение, что нет связи с портом и я просто что-то другое не так делаю. Помогите пожалуйста. Сижу в нерабочее время по вечерам и пытаюсь настроить, пока все offline.

Детально зачем мне это нужно:
1) Была на сервере 8.3.6.2390 на стандартном порте самописная конфигурация и с ней работает сотня клиентов со своими компами. Заставлять их всех менять версию невозможно. Обновлять эту конфигурацию или двигать её порт невероятно затратно будет. И уж тем более сделать это одновременно.
2) Возникла желание перевести в серверный вариант файловую бухгалтерию и она потребовала 1с поновее. Пришлось поставить 8.3.9.2170 на другой порт и в другую директорию, чтобы 1с-ки друг другу не мешались. Настроить их параллельную работу удалось на отлично. (Повесил второй сервис на порты -regport 1741 -port 1740 -range 1760:1791) Старые клиенты не заметили изменений. Бухгалтерией пользуются пару человек и им тоже вышло настроить на клиентских машинах одновременный доступ к двум конфигурациям. В общем двигать 8.3.9.2170 на другие порты и возиться с компами пользователей 8.3.9.2170 я могу.
3) Возникло желание воспользоваться плюшками COM-соединения и делать запрос к данным бухгалтерии из самописной конфигурации и там их отображать. Сам работоспособный запрос на файловой версии уже есть, но в серверном варианте проблема в строчке КоннекторCOM = Новый COMОбъект("V83.COMConnector");

Причём сообщение ошибки различается в зависимости от того зарегистрирована ли dll-ка или нет.
regsvr32 /u "C:\Program Files (x86)\1cv8_buhg\8.3.9.2170\bin\comcntr.dll" - разрегистрировал. ошибка "класс не зарегистрирован". Аналогично при 8.3.6.2390. Всё логично
regsvr32 "C:\Program Files (x86)\1cv8_buhg\8.3.9.2170\bin\comcntr.dll" - зарегистрировал. ошибка "недопустимое имя класса". при этом для 8.3.6.2390 аналогичная команда делает V83.COMConnector работоспособным (Можно посмотреть кодом список подключённых к 8.3.6.2390 базе юзеров. При подключении к бухгалтерии будет ошибка, что разные версии клиента и сервера.)

При любой команде командная строка пишет, что класс успешно зарегистрирован. Пробовал параметры /n /i:user, пробовал от имени администратора и при отключении сервиса 1с перед выполнением команды - не помогло.
ps
На сервере 64битная винда и SQL, но обе 1с-ки стоят 32-битные, поэтому COM+ оболочка не нужна, но можно попробовать 64битную поставить специально
Может строчка "V83.COMConnector" для версии 8.3.9.2170 как-то по другому пишется?
Конечно было бы не плохо, чтобы были зарегистрированны 8.3.6.2390 и 8.3.9.2170 одновременно, но это видимо не возможно.

Рейтинг@Mail.ru Rambler's Top100

Поиск