Ошибка При установке Microsoft Visual C++ 2005 с пакетом обновления 1 (SP1) произошел сбой

Когда мы делаем обновления, мы только начали получать сообщение об ошибке выше. Тем не менее, если я перейти к папке PreReq (C:\ProductName\ISSetupPrerequisites\{AAEC4BE2-1C6B-45E0-B33D-0D657A05F292}) и запустите vcredist_x86.exe и перейдите в другую папку prereq (C:\ProductName\ISSetupPrerequisites\{8034C99E-3BC0-4E53-BC6E-02E3D8CF5378}) (в таком порядке) работает нормально и устанавливает. Я предполагаю, что один из них для C++ 2005, а другой для версии SP1, но я не уверен, какой именно.

Я предполагаю, что первый предназначен для первой версии, а второй - для SP1, потому что, если я установлю их в обратном порядке, произойдет сбой. Интересно, что ни один из них не выбран в качестве предварительного условия на вкладке "Распространяемые" в Installshield. Так что проблема может быть в том порядке, в котором он пытается их установить. Я даже не вижу C++ 2005 (не SP1) в списке распространяемых в IS, но по какой-то причине в выпуск включены два файла vcredist_x86.exe, и при запуске в правильном порядке (вне установки) они работают хорошо.

Так как я могу изменить порядок в установщике или просто заставить это работать? Я отменил все изменения в моем файле.ism до того, как это начало происходить, и это не помогло.

PS Я также разместил этот вопрос на форуме InstallShield.

1 ответ

Насколько я понимаю, нет причин устанавливать оба этих распространяемых пакета VC++ 2005. Вам, вероятно, нужен только новый.

Поскольку вы говорите, что они не проверены на вкладке Redistributables, это означает, что они, вероятно, автоматически добавляются InstallShield во время сборки. Это происходит из-за того, что для некоторых компонентов в .NET Scan at Build выбран параметр Зависимости и свойства. С этим параметром InstallShield сканирует файлы компонентов и пытается добавить все необходимые зависимости. Если вы знаете, какие зависимости нужны, вы можете отключить этот параметр, а затем самостоятельно выбрать необходимые зависимости на вкладке "Вторично распространяемые (или предварительные условия)".

В этих GUID нет ничего волшебного - это просто GUID, которые InstallShield использует в своих предопределенных предварительных условиях:

  • {8034C99E-3BC0-4E53-BC6E-02E3D8CF5378} является VC++ 2005 SP1 (x86)
  • {AAEC4BE2-1C6B-45E0-B33D-0D657A05F292} является VC++ 2005 SP1 Обновление безопасности MFC KB2538141 (x86)

Если необходимое условие не включено в InstallShield, вы можете определить свое собственное предварительное условие. Перейдите в Инструменты / Редактор предварительных требований.

Другие вопросы по тегам