Имя: Пароль:
1C
 
Загрузка внутрипроцессорного сервера 1С V83COMConnector TYPE_E_CANTLOADLIBRARY
0 rowvg
 
naïve
03.07.20
09:03
Из программы на C# работаю с 1С посредством их внутрипроцессорного COM сервера. На одном компьютере с Windows 7 загрузка сервера не происходит, выбрасывается исключение со следующим описанием:
Ошибка при загрузке библиотеки. (Исключение из HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

Активацию сервера делаю так:

typeOfOblect = Type.GetTypeFromProgID("V83.COMConnector");
connectorInstance = (IV8COMConnector)Activator.CreateInstance(typeOfOblect);
comConnection = typeOfOblect.InvokeMember("Connect", INVOKE_METHOD, null, connectorInstance, new object[] { connectionString1C });

Исключение выбрасывается на второй строке: connectorInstance = (IV8COMConnector)Activator.CreateInstance(typeOfOblect);
Проект компилируется строго под x86

Подскажите, пожалуйста, в каком направлении искать ошибку?
1 Волшебник
 
модератор
03.07.20
09:04
правильно typeOfObject
2 rowvg
 
naïve
03.07.20
09:07
(1) Это просто опечатка

(0) Забыл добавить, что на клиентском компьютере установлена 64 битная ось
3 rowvg
 
naïve
03.07.20
09:09
2+ Я создал обертку в виде COM+ приложения - не помогло
4 rowvg
 
naïve
03.07.20
09:11
3+ Заменил comcmtr.dll с другого компьютера где все работает - то же самое
5 rowvg
 
naïve
03.07.20
09:21
COM+ дает более развернутую информацию об ошибке: Невозможно привести COM-объект типа "System._ComObject" к интерфейсному типу "V83.IV8COMConnector". Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID "{BA4E52BD-DCB2-4BF7-BB29-84C1CA456A8F}" возвратил следующую ошибку: Ошибка при загрузке библиотеки. (Исключение из HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
6 rowvg
 
naïve
03.07.20
09:30
Может быть все дело в заглушке, через которую управляемый код работает с 1С COM сервером? Может быть windows 7 не содержит нужной dll?