Я разработал 64-битную DLL-библиотеку с использованием C ++ и Visual Studio 2008, и я пытаюсь зарегистрировать ее на целевой машине с помощью 'regsvr32.exe'. Я проверил файл манифеста, и в нем четко указано, какая версия CRT необходима:
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' />
Когда я пытаюсь зарегистрировать файл, я всегда получаю параллельное сообщение об ошибке, в котором говорится, что настройки приложения неверны и что я должен переустановить его.
Ошибка журнала: создание контекста активации
Ошибка ... Ссылка на сообщение об ошибке:
ссылка на сборку не установлена
в вашей системе.
На целевом компьютере установлена 64-разрядная версия Windows Xp Professional. Я попытался установить соответствующий распространяемый пакет VC ++ (VC ++ 2008 Redist x86 и x64 ), создать установку и включить соответствующий модуль слияния (microsoft_vc90_crt_x86_x64). msm), установите все распространяемые пакеты VC ++ и т. д. Независимо от того, что установлено, оно всегда будет неудачным.
Если я проверяю наличие зависимых файлов, и они правильно расположены в папке WinSxS, но если я запускаю Dependency Walker для этого файла, он также будет жаловаться, что файлы из CRT VC9 не могут быть найдены.
Если я соберу файл для 32-битной версии, он будет правильно зарегистрирован в 32-битной ОС. У меня заканчиваются идеи, поэтому любая помощь очень ценится.
Спасибо
Адриан.
РЕДАКТИРОВАТЬ * Воспроизводится только на Win XP 64, все отлично работает на Windows 7 64 бит.