У меня неловкая ситуация, когда у меня есть 32-битная библиотека, которую необходимо использовать в приложении x64.Чтобы решить эту проблему, я создал приложение COM-сервера для связи между 32-битными и 64-битными процессами.
Все встроено в VS2005 под Windows 7, версия 8.0.50727.867
.Одна вещь, которую я заметил, заключается в том, что моя версия не совпадает с версией обновления SP1 (8.0.50727.762
).Я думаю, что это связано с обновлением Vista для VS2005, так как я не могу найти более позднюю версию Redist.
Он работает на моей машине разработчика, но не на моем Win7 x64 box.Ошибка, таким образом:
Не удалось создать контекст активации для «C: \ Program Files \ ScanScope \ Controller \ ACBarOmniServer.exe».Не удалось найти зависимую сборку Microsoft.VC80.CRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "8.0.50727.6195".Пожалуйста, используйте sxstrace.exe для подробной диагностики.
До этого я установил распространяемый пакет VS2005 C ++.Я попытался установить его снова, не повезло.Я порылся в своей папке Winsxs и, конечно же, версия отсутствует.
Когда я запускаю программу установки Redist из здесь , я получаю следующие версии CRT в моей папке sxs:
- 8.0.50727.42
- 8.0.50727.762
- 8.0.50727.4053
- 8.0.50727.4940
Конечно, мне нужна версия 8.0.50727.6195
.
Я установилвсе, что я могу связать статически (т. е. / MT, статическая ссылка на MFC, нет ссылки на ATL), но что-то еще зависит от динамической версии среды выполнения C.
Я использовал sxstrace без удачи.Я запускаю трассировку, запускаю программу, получаю ошибку, завершаю трассировку и анализирую ее в другой файл.Анализируемый файл полностью пуст.
Одна интересная вещь, на которую следует обратить внимание;Когда я запускаю установщик Redist на Win7, он завершается буквально через секунду или две и исчезает.Теперь я вижу, что он установлен в «Установка и удаление программ», и он добавляет папки в папку «sxs», но это показалось мне странным.
Если кто-то имеет опыт работы с этой помощью, был бы очень признателен.Если вам нужна какая-либо информация, которую я оставил, пожалуйста, дайте мне знать.