64-битная ОС Windows 2008 и 32-битные COM EXE - PullRequest
1 голос
/ 04 апреля 2011

получая ошибку COM при попытке запустить 32-битный OOP COM exe в 64-битной ОС.

Ошибка загрузки библиотеки типов / DLL. (Исключение из HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

Если у меня есть скомпилированный 32-битный EXE, который читает реестр для GUID, как мне решить эту проблему?

Дэвид Д

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Это, вероятно, проблема с регистрацией.Библиотека типов используется, когда вы используете стандартный маршаллер для сервера вне процесса.Который использует информацию из библиотеки типов, чтобы выяснить, как правильно сериализовать аргументы вызова функции.На 64-битном компьютере библиотека типов должна быть зарегистрирована в ключе HKLM / Software / Wow6432Node / Classes / Typelib.На него ссылается ключ TypeLib в ключе реестра для интерфейса, подраздел HKLM / Software / Wow6432Node / Classes / Interface.

Используйте утилиту ProcMon SysInternals, чтобы посмотреть, где она ищет, обратитесь к поставщику сервераили автор для поддержки установщика.

0 голосов
/ 20 апреля 2011

Нашел ответ ... Решения .NET, которые у меня были, были настроены на «Любой процессор».Как только я изменил его на x86 ... это решило проблему.

...