Вопрос

Я завершаю работу над заявкой, которая вскоре будет отправлена ​​на проверку программы логотипа Windows.Одним из требований является совместимость с x64.В частности, Crystal Reports 2008 должен работать под управлением x64.

Моя проблема заключается в том, что базовая версия Crystal Reports 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 для отчетов Crystal x32 и x64?

А почему установщик кристалла x86 не работает под WOW64?Для работы с приложением WOW64 x86 вам необходимо установить x64 Crystal.Раздражающий...

РЕДАКТИРОВАТЬ 2:

Итак, обнаружение x86/x64, похоже, описано здесь.А как насчет ручного запуска MSI по вашему выбору?

Это было полезно?

Решение

Самый простой способ обнаружить 64-битную операционную систему — использовать команду ВерсияNT64 свойство.Это свойство можно использовать в условиях для компонентов или пользовательских действий (например.состояние Не версияNT64 будет верно только для 32-битных операционных систем).

Что касается установки других пакетов MSI во время установки, это немного сложнее.Установщик Windows позволит запускать только один MSI. Выполнить последовательность вовремя.Это означает, что вам необходимо либо установить Crystal Reports MSI во время Последовательность пользовательского интерфейса используя настраиваемое действие (будьте осторожны, если вы это сделаете, Последовательность пользовательского интерфейса пропускается, если MSI запускается в автоматическом режиме) или создайте какую-нибудь программу-загрузчик, которая будет последовательно запускать как MSI Crystal Reports, так и вашу собственную.

Я никогда не создавал свой собственный загрузчик, но у InstallShield есть программа-загрузчик, встроенная в их setup.exe;они называют пакеты, установленные таким образом предпосылки.

Другие советы

Просто погуглил:Если у вас есть проект MSI, вы можете проверить свойства, как описано. здесь.

Для получения дополнительной информации об обнаружении процесса и архитектуры ОС вы можете прочитать этот блог MSDN о «HOWTO:Определить битность процесса».

Вы можете активировать MSI Crystal Reports с помощью настраиваемого действия, которое выполняет [SystemFolder]msiexec.Просто укажите «/i [YourFolderWithCRMSI]msiname.msi» в качестве аргументов.

В соответствии с этот форум, Crystal Reports теперь включает модуль слияния для Visual Studio 2008.

ЧРЕФ=https://smpdl.sap-ag.de/~sapidp/012002523100005986132008E/cr10_net_mm.zip

Редактировать (от автора):Оказывается, это не работает для Crystal Reports, поставляемого в комплекте с Visual Studio 2008.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top