Я создал установщик с Visual Studio 2010 версии 10.0.40.219.1 SP1 Rel. Мое приложение построено / скомпилировано для x86 и требует библиотеки времени выполнения VC ++. Таким образом, проект установки настраивается с библиотеками времени выполнения VC ++ в качестве предварительного условия.
Каждый раз, когда я запускаю установщик, я получаю всплывающее окно «Следующие компоненты будут установлены на вашем компьютере». Msgstr "Библиотеки времени выполнения Visual C ++ 2010 (x86)". Первый раз он устанавливается как ожидалось. Второй и последующие разы меня спрашивают, нужно ли восстанавливать или удалять VC ++ 2010.
Это всплывающее окно должно отображаться только один раз, при первом обнаружении, что распространяемый VC ++ не установлен.
Кто-нибудь видел это? Кто-нибудь знает, как я могу это исправить?
Решение:
Ответ, который я принял, дал мне то, что мне нужно было решить проблему. Вот подробности того, что я сделал, чтобы это исправить, что на самом деле было очень просто. Я отредактировал файл:
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>
Выше указан неправильный код продукта. Замените вышеуказанное на правильный код продукта для распространяемого пакета обновления 1 для Visual C ++ 2010 следующим образом:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/>
</InstallChecks>
Ссылка здесь показывает правильные коды продуктов для различных распространяемых VC ++ 2010.