Генерация файлов .tlb в Windows 7 Pro 32-bit - PullRequest
0 голосов
/ 28 мая 2010

У меня есть C ++ DLL, которая импортирует файл .tlb, созданный в проекте C #. C ++ DLL - это библиотека-оболочка, содержащая функции, которые вызывают соответствующие функции C #.

Когда я вызываю функции C ++ на компьютере, на котором я создавал проекты, все работает хорошо. Но когда я копирую DLL и сгенерированные tlb-файлы на другой компьютер с той же точной версией Windows и установленными программами и вызываю функции C ++, это приводит к ошибке COM. Однако после перекомпиляции проектов на новом компьютере все снова работает.

Я уже проверил «Работа на всех компьютерах» для обоих проектов, но это продолжается. Что еще мне нужно сделать, чтобы библиотеки DLL работали на всех компьютерах?

1 Ответ

2 голосов
/ 28 мая 2010

HRESULT, который вы получите, будет иметь решающее значение для диагностики этого. Вынуждены угадать: вы запускали Regasm.exe на этом компьютере? Требуется сделать необходимые записи реестра, чтобы COM мог найти сервер. Это происходит автоматически при сборке в IDE.

...