GetRecordInfoFromGuids () завершается ошибкой с TYPE_E_LIBNOTRurable

GetRecordInfoFromGuids () не удается с ошибкой TYPE_E_LIBNOTREGISTERED/-2147319779/0x8002801DL на виртуальной машине, но на моей машине разработки, она работает нормально:

HRESULT hr = GetRecordInfoFromGuids(rGuidTypeLib, 1, 0, 0, __uuidof(T), &pRecInfo);

В то же время я могу успешно создавать экземпляры COM-сервера, используя CoCreateInstance(), только эта функция не работает, поэтому она должна быть зарегистрирована.

Редактировать: Я подозреваю, что это может быть потому, что я указал неправильный uVerMajor а также uVerMinor, Как я могу проверить, какая версия действительно зарегистрирована на целевой машине?

1

Решение

Оказалось, это потому, что я регистрировал свой COM-сервер, но не библиотеку типов.

Я использовал это:

RegAsm.exe /codebase MyComServer.dll

Изменение его на это решило проблему:

RegAsm.exe /register /tlb:MyComServer.tlb /codebase MyComServer.dll
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]