Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Создание предварительного условия Installshield как для 32-разрядной, так и для 64-разрядной версии

Автор вопроса: kuma DKОтветов: 1

Я добавляю коннектор MySQL ODBC в качестве предварительного условия в Installshield. Oracle предоставляет два отдельных MSI для 32-битной и 64-битной версии, и они не поддерживают кросс-архитектуру (32-64).

Я могу добавить оба этих модуля как два отдельных предварительных условия с двумя отдельными пользовательскими условиями для проверки точной архитектуры (win32 или win64).

когда я использовал оба этих предварительных условия в проекте установки, я не смог собрать его для 32-разрядной версии. Если я соберу его для 64-битной версии, установка будет поддерживать только 64-битные ПК.

Есть ли возможность добавить как 32-разрядные, так и 64-разрядные предварительные условия в одну установку, заставить ее работать на обеих платформах и позволить ему решить установить подходящую версию необходимого компонента.

предварительные условия, как показано ниже

User is running a particular OS -> Custom(Platform Id=Any, Major Version=10,Minor Version1, Service Packs=-,Product Type=Any, Platform Architecture=Win32, CSDVersion="", Build No=)

User is running a particular OS -> Custom(Platform Id=Any, Major Version=10,Minor Version1, Service Packs=-,Product Type=Any, Platform Architecture=Win64, CSDVersion="", Build No=)

PS: я использую премьер-версию Installshield 2015 (SP1) с VS2013.

Сообщение об ошибке, когда я пытался построить его или 32-битное:

error -5008: intel64 or amd64 must be specified in the template of the summary
  • Вы должны иметь возможность включить два предварительных условия, как вы описали, без необходимости ориентироваться на 64-разрядные системы. Можете ли вы уточнить, какую версию и выпуск InstallShield вы используете, а также какой тип проекта? Какую ошибку вы получаете, когда пытаетесь включить оба и собрать для 32-разрядной версии? Michael Urman 23.08.2016
  • пост @michael обновлен kuma DK 23.08.2016
  • Я не в состоянии проверить, что я думаю об ошибке 5008, но если это так, то она связана с 64-битными компонентами или файлами в самом проекте и не имеет ничего общего с вашими предварительными условиями. Вы получаете ту же ошибку, если отменяете предварительные условия? Если это так, разрешите это отдельно, и ваши предварительные условия должны быть в порядке. Michael Urman 24.08.2016
  • когда я использовал оба этих предварительных условия в проекте установки, я не смог собрать его для 32-разрядной версии. Если я соберу его для 64-битной версии, установка будет поддерживать только 64-битные ПК. kuma DK 24.08.2016
  • Итак, если вы создадите новый базовый проект MSI и добавите один файл и эти предварительные условия, вы получите ту же ошибку? Michael Urman 24.08.2016
  • Просто основной вопрос здесь @Kuma: Итак, вам нужен только один установщик, который работает как на 32-битной, так и на 64-битной ОС. Я правильно понимаю? И, как сказал Майкл, если у него отмечен какой-либо 64-битный компонент, то он не будет работать для 32-битной системы. Для этого вы можете добавить два выпуска на вкладке "Выпуск", и там вы можете создать 32-битные и 64-битные записи для отдельных сборок. Ajit Medhekar 31.08.2016

setup-project32bit-64bitinstallshieldprerequisites

Ответы

Ответ 1 · рейтинг 1 · Santhosh J

В представлении "Общая информация" в разделе "Поток сводной информации" задайте для свойства "Сводка шаблона" значение x64;1033. Примечание. Если вы живете в стране, где английский не является языком, вы будете использовать код языка, отличный от 1033.

Это гарантирует, что ваша установка 64-битная. В 64-битный установщик можно добавлять 32-битные компоненты.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы