У меня есть приложение на C ++, разработанное с использованием Visual Studio 2015, а также установщик Wix и загрузчик Burn. Предыдущие версии приложения могли использовать модуль слияния Visual Studio для установки необходимых компонентов, но похоже, что это не вариант при использовании Visual Studio 2015 (см. Распространяемые компоненты для развертывания C ++ exe, разработанные с помощью Visual Studio 2015 в Windows 7).
Следуя совету в этой ссылке, мы начали установку vcredist с Burn, используя ExePackage с vital = "yes". В основном это отлично работает - у нас было несколько клиентов, у которых произошел сбой установки из-за различных проблем с vcredist. До недавнего времени это были ошибки, которые приводили к сбою установки.
За последние пару дней мы получили несколько сообщений о сбое нашего установщика из-за установки более новой версии распространяемого пакета: vcredist не работает с кодом ошибки 0x80070666, что приводит к сбою нашего загрузчика.
Мои вопросы:
- Развертывание vcredist - это «правильный» подход? (Предполагая, что нам нужен один установщик exe)
- Как мы можем узнать, какая версия распространяемых файлов установлена (не обязательно в загрузчике, хранится ли эта информация где-нибудь в читаемой пользователем форме)?
- Есть ли более новые версии распространяемых файлов, которые мы должны распространять? (В настоящее время используется 14.0.23026) Основано ли это на версии Visual Studio, которая используется для компиляции, или мы всегда должны распространять последнюю версию? (Текущая версия VS 14.0.23107.0)
- В крайнем случае, можно ли обнаружить код ошибки, возвращаемый vcredist, и позволить этому значению определять, будет ли установка продолжена или завершится ошибкой?