У меня есть приложение C++, разработанное с использованием Visual Studio 2015, вместе с установщиком Wix и Burnstrapper Burn. Предыдущие версии приложения могли использовать модуль слияния Visual Studio для установки необходимых предварительных условий, но, похоже, это не вариант при использовании Visual Studio 2015 (см. Redistributables for deploying C++ exe developed with Visual Studio 2015 on Windows 7).Wix Burn vcredist
Следуя советам по этой ссылке, мы начали установку vcredist с Burn с использованием ExePackage с virtual = "yes". Это в основном работает отлично - у нас было несколько клиентов, у которых нет сбоев в установке из-за различных проблем с vcredist. До недавнего времени это были ошибки, которые должны были привести к сбою установки.
За последние несколько дней мы получили несколько отчетов об установке нашего установщика из-за того, что была установлена более новая версия распространяемого: vcredist с кодом ошибки 0x80070666, что приводит к сбою нашего загрузчика.
Мои вопросы:
- развертывает VCRedist "правильный" подход взять? (Предполагая, что нам нужен один установщик exe)
- Как мы можем определить, какая версия распространяемых компонентов (не обязательно в загрузочной загрузке, есть ли эта информация, хранящаяся в удобной для пользователя форме)?
- Существует ли более новая версия распространяемых материалов, которые мы должны распространять? (В настоящее время используется 14.0.23026). Это основано на версии Visual Studio, которая используется для компиляции или всегда должна распространять последнюю версию? (Текущая версия VS 14.0.23107.0)
- В качестве последнего средства можно определить код ошибки, возвращаемый из vcredist, и разрешить это значение для определения того, продолжается ли установка или не выполняется?
Удивительный ответ! Чтобы уточнить, наше неофициальное тестирование до сих пор не сталкивалось с какими-либо проблемами, используя новую версию распространяемых материалов для исполняемого файла, скомпилированную против более старой версии (то есть мы не обновлялись до версии 1 или 2 для Visual Studio 2015). Гарантируется ли это, или нам нужно обновить Visual Studio, прежде чем мы начнем отправлять новые распространяемые ресурсы? – Runt8
В моем тестировании я не обнаружил проблем с продуктом, созданным с использованием старой версии vcredist на компьютере с уже установленной версией vcredist. Однако нет никакой гарантии, что будущий выпуск vcredist не сломает что-то. Я имею тенденцию идти с последней версией vcredist, исходя из предположения, что последняя версия имеет самые последние ошибки и исправления безопасности и т. Д. – bradfordrg
есть раздел реестра, который можно прочитать, чтобы определить, какая версия установлена в данный момент, и использовать это как установить условие для exepackage? «InstallCondition» http://wixtoolset.org/documentation/manual/v3/xsd/wix/exepackage.html – tollgen