|
Требуется регистрация COM.Connector вручную. Или есть другой выход ? | ☑ | ||
---|---|---|---|---|
0
ЧессМастер
16.06.20
✎
10:22
|
Всем доброе время суток !
Ситуация следующая. Рабочая машина Win10 64 разрядная. Установлена платформа 8.3.8.2322 32 разрядная (64 разрядной версии у этой платформы нет, она появилась только с версии 8.3.9.2033). Регистрация comcntr.dll проведена командой C:\Windows\SysWOW64\regsvr32 "C:\Program Files (x86)\1cv8\8.3.8.2322\bin\comcntr.dll" Но при создании V83.COMConnector тем не менее валится ошибка "класс не зарегистрирован". При использовании на этой же машине релиза 8.3.15.1830 и COM объекта этой же версии все работало отлично - на машине стояли релизы и 64 бит и 32 бит, comcntr.dll от обоих релизов были зарегистрированы. Сейчас релиз 8.3.15.1830 удален, регистрация comcntr.dll от этого релиза снята. Как я понимаю проблема в следующем - поскольку версия виды машины 64 бит, то при создании COM объекта используется 64 битная версия 1С (и соответственно требуется регистрация comcntr.dll именно от 64 битной версии платформы). Но проблема в том что у версии 8.3.8.2322 64 битной версии нет. Можно ли как то решить эту проблему ? Поднимать версию плтформы на хотя бы версию 8.3.9.2033 (где есть 64 битный клиент) проблемно в связи с большим количеством работающих пользователей и тем чт это рабочий сервер. |
|||
1
D_E_S_131
16.06.20
✎
10:37
|
Так вроде же нельзя иметь одновременно 2 зарегистрированных comcntr.dll от разных версий.
|
|||
2
sitex
naïve
16.06.20
✎
10:40
|
(0) Проблему решить отказаться от Com.
|
|||
3
ЧессМастер
16.06.20
✎
11:04
|
(1) У меня одна зарегистрирована компонента.
Просто под версией 8.3.15.1830 проблем при использовании с COM не было а при 8.3.8.2322 они есть. Когда потребовалась компонента для 8.3.8.2322 я регистрацию от 8.3.15.1830 снял. |
|||
4
ptiz
16.06.20
✎
11:07
|
(0) "поскольку версия виды машины 64 бит, то при создании COM объекта используется 64 битная версия 1С" - нет! Просто ты, видимо, вызываешь создание COM-объекта из 64-битного приложения.
|
|||
5
ChMikle
16.06.20
✎
11:07
|
Можно, на инфостате статья была. Схожая ситуация была , админ 2 создал и все летает
|
|||
6
ChMikle
16.06.20
✎
11:13
|
||||
7
mikecool
16.06.20
✎
11:16
|
в реестре емнип две ветки для 32 и 64 бит
|
|||
8
ЧессМастер
16.06.20
✎
11:21
|
(4) "Просто ты, видимо, вызываешь создание COM-объекта из 64-битного приложения"
Я в 1С работаю 32 битным клиентом 8.3.8.2322. 64 битного его нет. Вызываю создание COM - получаю ошибку что класс не зарегистрирован. При том что comcntr.dll от релиза 8.3.8.2322 зарегистрирована. Когда надо было создать COM при работе на релизе 8.3.15.1830 таких проблем не было. При том что на машине стояло два релиза 8.3.15.1830 (32 и 64 битный), comcntr.dll от обоих были зарегистрированы. |
|||
9
ЧессМастер
16.06.20
✎
11:22
|
Сисадмин попытался создать регистрацию вручную. Не получилось. Написали письмо в 1С следующего содержания :
"Мы с помощью компоненты V83.Connect пытаемся получить данный из другой базы и нам выдает ошибку «-2147221164(0x80040154): Класс не зарегистрирован». Успешная регистрация через команду «regsvr32 "C:\Program Files (x86)\1cv8\8.3.8.2322\bin\comcntr.dll"» результата не дает. В интернете пишут что нужно зарегистрировать компонент вручную через оснастку «Служба компонентов», но в свойствах приложения COM+ (V83COMConnector) во вкладке безопасность мне не дает установить галочку «Применить политику программных ограничений – Уровень ограничений неограниченный», пишет «У вас нет разрешений на выполнение запрошенного действия…» Я это делаю с правами доменного администратора. Не могу понять где установить права". |
|||
10
ptiz
16.06.20
✎
11:29
|
(8) "Вызываю создание COM" - так ОТКУДА вызываешь? Где создаешь объект, в какой программе?
|
|||
11
VladZ
16.06.20
✎
11:43
|
Выход есть: отказаться от Com.
|
|||
12
ChMikle
16.06.20
✎
11:48
|
(9) статью почитайте
|
|||
13
ЧессМастер
16.06.20
✎
12:15
|
(10) На клиенте. Который 8.3.8.2322.
|
|||
14
ptiz
16.06.20
✎
12:31
|
(13) Если код создания ком-объекта выполняется на 32-разрядном клиенте, то проблем быть не должно. Если объект создается на сервере 1С - смотри и регистрацию компоненты на сервере.
|
|||
15
d4rkmesa
16.06.20
✎
13:52
|
(6) Это работает только с отдельными платформами, например, с 8.3.12 и 8.3.15 не сработало, т.к. они разные dll тянут. Правильный совет в (2) .
|
|||
16
ЧессМастер
16.06.20
✎
15:01
|
(14) "Если код создания ком-объекта выполняется на 32-разрядном клиенте, то проблем быть не должно"
А они есть. Самое странное что при использовании 8.3.15.1830 таких проблем (ошибка при создании COM на толстом клиента) не было. А на 8.3.8.2322 они есть. |
|||
17
ЧессМастер
16.06.20
✎
15:08
|
(14) "Если объект создается на сервере 1С - смотри и регистрацию компоненты на сервере"
А на сервере этот файл comcntr.dll есть только в 32 битном варианте (поскольку 64 разрядный появился только с 8.3.9.2033). Ты хочешь сказать этот фокус сработает - вызов с клиента серверного модуля где будет создан COM объект ? |
|||
18
ЧессМастер
16.06.20
✎
16:00
|
(14) Сделал серверный модуль. Создание COMConnector делаю в функции этого модуля.
На сервере comcntr.dll зарегистрирована. Та же самая ошибка. Такое впечатление что это просто глюки релиза 8.3.8.2322 Ну не может быть так чтобы на одном релизе все работает а на другом нет при любых плясках с бубномм . |
|||
19
ChMikle
17.06.20
✎
09:03
|
(15) после этой статьи работало 8.3.9. и 8.3.16 :)
|
|||
20
Franchiser
гуру
17.06.20
✎
09:41
|
(19) сейчас проверил, а если по нормальному только 1 комконнектор регистрировать, то должно что либо быть в com+? В реестре инфа есть, а в компонентах приложения ничего про v8 com connector нет, есть только в dcom про v8 application.
|
|||
21
ЧессМастер
17.06.20
✎
12:21
|
(19) Пробовали то что написано в этой статье - не получилось.
|
|||
22
ChMikle
17.06.20
✎
12:24
|
(21) посмотрите , там 2 коннектора создают и при подключении выбирают , у нас тоже по началу не получалось . Но у меня админ - профессионал, он если взялся , то сделает .К сожалению, подробности не знаю , у нас Бит-Аренда , она поддерживает графику только не выше 8.3.9 и бух-ия на 8.3.16 . так что дело за вашим администратором
|
|||
23
ЧессМастер
17.06.20
✎
12:30
|
(22) Можешь подсказать почему при 8.3.8.2322 эта схема не работает, а при 8.3.15.1830 работает ?
Винда 64 разрядная требует для создания COM объекта в обязательном порядке наличия на машине 64 разрядной платформы ? И по причине того что в 8.3.8.2322 64 разрядного клиента нет (он появился только с 8.3.9) эти проблемы и выскакивают. |
|||
24
ChMikle
17.06.20
✎
12:44
|
(23) не могу , я так глубоко не копаю , но если запускается платформа 8.3.8.2322 на этом сервере , то способ должен быть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |