Я использую сторонние библиотеки, которые я получил задолго до выхода KB2465367. Мой компьютер для разработки был обновлен до KB2465367, поэтому все генерируемые мной двоичные файлы теперь, похоже, зависят от 8.0.50727.5592 CRT (версия CRT 2465367).
Теперь, когда я хочу развернуть это приложение, я использую модуль слияния 8.0 CRT (также обновленный 2465367). Это устанавливает 8.0.50727.5592 версии библиотек MSVC (например, msvcrt80.dll).
Но, когда я запускаю свое приложение на компьютере, на котором никогда не была установлена среда выполнения VC, он жалуется на «Это приложение не удалось запустить из-за неправильной конфигурации приложения. Повторная установка приложения может решить эту проблему». Я проследил это до системной записи в журнале событий: «Сгенерировать контекст активации не удалось для C: \ Program Files \ MyCompany \ MyApp.exe. Справочное сообщение об ошибке: Операция успешно завершена». под источником "SideBySide".
Конечно, это обновление в основном означало, что я мертв в воде.
Как мне продолжить отсюда? Нужно ли моим клиентам устанавливать версию CRT 8.0.50608.0 после установки моего приложения, потому что сторонним библиотекам нужно 8.0.50608.0, а MSM, который я использовал, не включал его?
В моих обстоятельствах я использую Как: установить распространяемый Visual C ++ вместе с программой установки , которая описывает использование только одного MSM. Рекомендуется также использовать политику MSM для перенаправления любых библиотек DLL, зависящих от более старых версий среды выполнения.
Смотри также http://lynk.at/jlqsKx