Я создал установщик с Visual Studio 2010 Version 10.0.40.219.1 SP1 Rel. Мое приложение построено/скомпилировано для x86 и требует библиотеки времени исполнения VС++. Таким образом, проект установки сконфигурирован с использованием библиотек времени исполнения VС++ в качестве предварительного условия.
Каждый раз, когда я запускаю установщик, я получаю всплывающее окно "Следующие компоненты будут установлены на вашем компьютере". "Visual С++ 2010 Runtime Libraries (x86)". В первый раз он будет установлен как ожидается. Второй и последующие времена он спрашивает меня, нужно ли восстанавливать или удалять VС++ 2010.
Это всплывающее окно должно отображаться только один раз, в первый раз, когда обнаруживается, что VС++ распространяемый не установлен.
Кто-нибудь видел это? Кто-нибудь знает, как я могу это исправить?
Решение:
Ответ, который я принял, дал мне то, что мне нужно для решения проблемы. Вот подробности о том, что я сделал, чтобы исправить это, что было очень просто. Я редактировал файл:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\product.xml
В этом файле вы найдете следующее:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{6EE91C1A-A2E7-38CD-AEBB-3B900A4D8868}"/>
</InstallChecks>
Выше приведен неверный код продукта. Замените вышеописанный код продукта для распространяемого Visual С++ 2010 SP1 следующим образом:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/>
</InstallChecks>
Ссылка здесь показывает правильные коды продуктов для различных распространенных распространяемых VС++ 2010.