v81.comconnector класс не зарегистрирован #493745


#0 by ёпрстна
Есть сервер (ос Windows 7 х64) с установленными 1с 8.1 и 8.2. При попытке выполнить следующую процедуру в 8.2 &НаСервере КонецПроцедуры вылетает ошибка: {Форма.Форма.Форма}: Ошибка при вызове конструктора (COMОбъект) по причине: Класс не зарегистрирован. Попытки переустановить 1с 8.1 результата не дали. Если посмотреть в реестре, библиотека отвечающая за ком соединение 8.1 (сomcntr.dll) зарегистрирована. У кого есть какие мысли?
#1 by Aleksey_3
#2 by Aleksey_3
Объект V81.Application выполняется в рамках нового процесса 1cv8.exe. Объект V81.COMConnector является внутрипроцессным сервером. На удаленном компьютере нет процесса, в котором он может быть создан. Чтобы объект V81.COMConnector можно было создать на удаленном компьютере, регистрации компоненты comcntr.dll в COM утилитой regsvr32.exe недостаточно. Требуется выполнить регистрацию на удаленном компьютере компоненты comcntr.dll в качестве приложения COM+. Для этого:    * запустите утилиту Component Services;    * создайте пустое COM+ приложение с:          o Activation type - Server application;          o именем, например, V81_COMConnector;          o укажите имя пользователя Windows, от имени которого компонента будет запускаться специальный процесс dllhost.exe;    * в ветке Components добавьте новую компоненту comcntr.dll из каталога загрузочных модулей 1С:Предприятия. В результате при создании объекта V81.COMConnector на удаленном компьютере будет запущен специальный системный процесс dllhost.exe, и в нем будет создан объект V81.COMConnector.
#3 by ёпрстна
мне не нужно создавать v81.comconnector на удаленном компьютере. При попытке создать V81.Application вылетает ошибка : Интерфейс не поддерживается.
#4 by Живой Ископаемый
2 путь к сomcntr.dll в реестре - тот котрый нужен? она есть по этому пути?
#5 by hhhh
ну тогда пишите &НаКлиенте. Чего вы прикалываетесь?
#6 by ёпрстна
путь тот что надо, и длл там есть... нужно на сервере...
#7 by DmitrO
сервер 1С предприятия какой стоит? x64 или x86?
#8 by Живой Ископаемый
2 она той же сборки что и например rphost, той же разрядности?
#9 by ёпрстна
серв 8.2 х64
#10 by hhhh
имя сервера не задал COMОбъект (COMObject) По имени приложения Синтаксис: Новый COMОбъект(<Имя>, <ИмяСервера>) Параметры: Тип: Строка. ProgID класса COM, с которым он зарегистрирован в системе. Например, "Excel.Application". Тип: Строка. Имя компьютера, на котором надо создать указанный объект. Если параметр опущен, то создается на данном компьютере. Описание: Создает COM-объект внешнего приложения. Пример:
#11 by Aleksey_3
В качестве приложения COM+. она есть?
#12 by ёпрстна
на данный момент не могу посмотреть. Ну и что же делать если они будут разной сборки?
#13 by ёпрстна
В службах компонентов не нашел ничего похожего. как она там должна называться?
#14 by DmitrO
процесс сервера (а он у тебя x64) может использовать только 64-ный комконнектор (который должен быть зареген в соответствующем разделе реестра, там разные разделы на x64 и на x86), т.к. комконнектор работает в контексте вызывающего процесса. В составе x64-го дистрибутива сервера предприятия есть такой комконнектор, при установке он регится. А вот в составе обычного x86 дистрибутива идет 32-разрядный комконнектор. Если разрядность сервера и комконнектора разная, то можно будет работать только через COM+, как описано в .
#15 by DmitrO
+ при работе через COM+ пропадает изюм по скорости (он уже становится не InProc). Т.к. нужны затраты на маршалинг (межроцессное взаимодействие).
#16 by ёпрстна
(14,15) пасиб, буду пробовать
#17 by Живой Ископаемый
+ и теплый ламповый звук.. :) извините, не сдержался...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С