Я использую InstallShield Limited Edition для создания установщика (setup.exe) для своего проекта. Для моего проекта требуется распространяемый пакет Microsoft Visual C ++ 2010 (x86), и я хочу включить этот распространяемый файл в свой файл setup.exe. Я делаю это в представлении «Распространяемые компоненты» в моем проекте InstallShield - просто выбирая распространяемый пакет Microsoft Visual C ++ 2010 (x86) в качестве компонента Prerequisite InstallShield и устанавливая для него свойство «Извлечь из Setup.exe».
Я решил протестировать свой setup.exe на Windows XP и Win7. Для этого я удалил распространяемый компонент Microsoft Visual C ++ 2010 из этих ящиков (через Панель управления-> Удалить программу) и попытался установить свое приложение. Мой ожидаемый результат - перед установкой моего проекта будет установлен c ++ redist.
Но у меня разные результаты: у меня нет проблем с установкой на XP: сначала он установил c ++ redist, а затем мое приложение. Работает как надо! Но когда я запустил setup.exe в окне Win7, он не установил c ++ redist - он установил только мое приложение. Кто-нибудь может это объяснить?
Кстати, распространяемый пакет Microsoft Visual C ++ 2010 (x86) имел размер ~ 11 МБ и версию 10.0.40219 на моем компьютере с Win7 до того, как я его удалил. Теперь я скачал его отсюда http://www.microsoft.com/en-us/download/details.aspx?id=5555, установлен вручную и ... Я вижу, что теперь у него версия 10.0.30319 и размер всего ~ 918 кб. Итак, мне снова интересно, что происходит?