Я дорабатываю заявку, которая скоро будет отправлена на проверку программы Windows Logo. Одно из требований - совместимость с x64. В частности, Crystal Reports 2008 должен работать под x64.
Моя проблема в том, что Crystal Reports basic 2008 (тот, который входит в состав Visual Studio 2008) не имеет модулей слияния и должен быть установлен с помощью предоставленных установщиков .msi. Они предлагают отдельные установщики для x86 и x64.
Итак, как мне обнаружить x86 и x64 во время установки, а затем запустить соответствующий Crystal msi? Возможно ли это без модулей слияния?
РЕДАКТИРОВАТЬ:
Этот:
IF PROCESSOR_ARCHITECTURE == x86 AND
PROCESSOR_ARCHITEW6432 NOT DEFINED THEN
// OS is 32bit
ELSE
// OS is 64bit
END IF
вроде подскажет как это обнаружить (спасибо MicSim). Но как мне сделать это в MSI? Это настраиваемое действие? И тогда как мне запустить разные требуемые msi для отчетов кристалла x32 и x64?
А почему под WOW64 не работает установщик кристаллов x86? Вам необходимо установить x64 Crystal для работы с вашим приложением WOW64 x86. Раздражающий...
РЕДАКТИРОВАТЬ 2:
Итак, определение x86 / x64, похоже, рассматривается здесь. А как насчет ручного запуска выбранного вами MSI-файла?
Ответ 1 · рейтинг 8 · Kevin Kibler
Самый простой способ обнаружить 64-разрядную операционную систему - использовать свойство VersionNT64. Это свойство можно использовать в условиях для компонентов или настраиваемых действий (например, условие Not VersionNT64 будет истинным только для 32-разрядных операционных систем).
Что касается установки других пакетов MSI во время вашей установки, это немного сложнее. Установщик Windows позволяет одновременно запускать Execute Sequence только один MSI. Это означает, что вы должны либо установить свой Crystal Reports MSI во время последовательности пользовательского интерфейса, используя настраиваемое действие (будьте осторожны, если вы сделаете это, последовательность пользовательского интерфейса будет пропущена, если MSI работать в автоматическом режиме), или создайте какую-нибудь программу начальной загрузки, которая будет последовательно запускать как Crystal Reports MSI, так и вашу собственную.
Я никогда не создавал свой собственный загрузчик, но InstallShield имеет программу загрузчика, встроенную в их setup.exe; они называют пакеты, установленные таким образом, предпосылками.
Ответ 4 · Andrew Shepherd
Согласно На этом форуме Crystal Reports теперь включает модуль слияния для Visual Studio 2008.
HREF = https://smpdl.sap-ag.de/~sapidp/012002523100005986132008E/cr10_net_mm.zip
Изменить (от автора): оказалось, что это не работает для Crystal Reports, поставляемого в комплекте с Visual Studio 2008.