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

Я добавляю коннектор 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

person kuma DK    schedule 22.08.2016    source источник
comment
Вы должны иметь возможность включить два предварительных условия, как вы описали, без необходимости ориентироваться на 64-разрядные системы. Можете ли вы уточнить, какую версию и выпуск InstallShield вы используете, а также какой тип проекта? Какую ошибку вы получаете, когда пытаетесь включить оба и собрать для 32-разрядной версии?   -  person Michael Urman    schedule 23.08.2016
comment
пост @michael обновлен   -  person kuma DK    schedule 23.08.2016
comment
Я не в состоянии проверить, что я думаю об ошибке 5008, но если это так, то она связана с 64-битными компонентами или файлами в самом проекте и не имеет ничего общего с вашими предварительными условиями. Вы получаете ту же ошибку, если отменяете предварительные условия? Если это так, разрешите это отдельно, и ваши предварительные условия должны быть в порядке.   -  person Michael Urman    schedule 24.08.2016
comment
когда я использовал оба этих предварительных условия в проекте установки, я не смог собрать его для 32-разрядной версии. Если я соберу его для 64-битной версии, установка будет поддерживать только 64-битные ПК.   -  person kuma DK    schedule 24.08.2016
comment
Итак, если вы создадите новый базовый проект MSI и добавите один файл и эти предварительные условия, вы получите ту же ошибку?   -  person Michael Urman    schedule 24.08.2016
comment
Просто основной вопрос здесь @Kuma: Итак, вам нужен только один установщик, который работает как на 32-битной, так и на 64-битной ОС. Я правильно понимаю? И, как сказал Майкл, если у него отмечен какой-либо 64-битный компонент, то он не будет работать для 32-битной системы. Для этого вы можете добавить два выпуска на вкладке «Выпуск», и там вы можете создать 32-битные и 64-битные записи для отдельных сборок.   -  person Ajit Medhekar    schedule 31.08.2016


Ответы (1)


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

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

person Santhosh J    schedule 24.08.2016
comment
с этим параметром программа установки будет работать в 32-битной системе? - person kuma DK; 24.08.2016
comment
Нет. С этой настройкой установщик не будет работать в 32-битной системе. - person Ajit Medhekar; 31.08.2016