2012-01-24 3 views
0

У меня есть сторонний компонент «ArchestrA.MxAccess.dll» (который построен на x86 по corgflags) с 2-мя типами библиотек и имеет компьютер разработки (XP SP2 32-разрядный) с помощью Visual Studio 2008.Извлечение фабрики COM-класса для компонента с CLSID - 80040154

, когда я создания экземпляра класса в коде, он бросает COMException - 80040154.

следующие решения я пробовал: 1. regsvr32 DLL,, но она не может быть зарегистрировано. как «Точка входа не найдена». 2. Библиотеки типа Regtlib, успешно 3. regasm DLL, успешно. 4. Режим компилятора включен на x86. 5. CLSID, который имеет ошибку, имеет запись в реестре: HKCR \ CLSID \ и указывает на эту DLL.

Пожалуйста, помогите. Я ищу решение с 3 дней.

Дев.


regasm с кодовой базой делает запись с кодовой базой и указывает на имя файла. Это успешно. также зарегистрировали dll с использованием GACUtill, это успешно.

но Same Error подходит.

мой ProcMon не найдено записей в

"HKCR\CLSID\{c30...}\" 
<TreatAs>, <InprocServerX86>, <LocalServer32>, <APPID> 

и то же, как и в

"HKCU\Software\Classes\CLSID\{C30..}\". 

Только Доступен запись

1. {CLSID}\InProcServer\Default,Assembly,Class,codebase,RuntimeVersion 

2. {CLSID}\InProcServer\2.0.0.0\Default,Assembly,Class,codebase,RuntimeVersion 

runtimeVersion = v1.1.4322

является это значит Мне нужно установить 1.1 framework?

ответ

0

Ответы технической поддержки от WonderWare : Необходимо установить «Системную платформу».

так что это базовая аутентификация (проверка развертывания системной платформы и ее лицензии) перед инициализацией COM.

регистрация в GACUtil полезна. Иногда COM не регистрируется.

Еще раз спасибо.