В настоящее время только две версии Crystal Reports изначально поддерживают выполнение в 64-разрядном режиме (Crystal Reports 10.5 и Crystal Reports 10.2). Приложения Crystal Reports XI Release 2 (версия 11.5) и Crystal Reports 2008 (версия 12.1.x) поддерживают 64-разрядные операционные системы, но только в 32-разрядном режиме.
В вопросе, какими версиями Crystal Reports (CR) поддерживаются 64-разрядные операционные системы, необходимо различать поддержку 64-разрядных операционных систем и поддержку выполнения в 64-разрядном режиме.
Применимо для : Приложения Crystal Reports и 64-разрядных версий Microsoft Windows 2003 Server и Microsoft Windows 2008 Server. Примечание. Операционная система Windows 2008 Server поддерживается только приложениями Crystal Reports Basic for Visual Studio 2008 (версия 10.5) и Crystal Reports 2008, SP 0 +, (версия 12.1.x).
Поддержка выполнения в 64-битовом режиме
В настоящее время единственные версии Crystal Reports, выполняющиеся в 64-разрядном режиме, это:
- Crystal Reports for Visual Studio .NET 2005 (версия 10.2)
- Crystal Reports basic for Visual Studio .NET 2008 (версия 10.5).
Эти версии включены в соответствующие версии Visual Studio .NET и поставляются как 64-разрядные файлы MSI и MSM для развертывания на 64-разрядных операционных системах. Расположения для загрузки файлов MSI и MSM можно найти на сайте SAP Wiki.
Примечание. Версии Crystal Reports, включенные в Visual Studio .NET, имеют ограниченный набор функциональных возможностей в части подключения баз данных и форматов экспорта.
Поддержка 64-битовых операционных систем
В таблице ниже указано, какие 32-разрядные версии Crystal Reports поддерживают различные версии 64-разрядных операционных систем (ОС).
Версии Crystal Reports |
Версия операционной системы |
XP 64 |
Vista 64 |
W2K3 64 |
W2K8 64 |
CR XI release 2 (11.5.x) |
Да |
Да |
Да |
Нет |
CR 2008 (CR 12.x) |
Да |
Да |
Да |
Да |
CR for Visual Studio .NET 2005 (10.2) |
Да |
Да |
Да |
Нет |
CR basic for Visual Studio .NET 2008 (10.5) |
Да |
Да |
Да |
Да |
Примечание. Полные версии Crystal Reports, более ранние, чем 11.5, 64-разрядные операционные системы не поддерживают.
Возможные сообщения об ошибках
Ниже приведен список (не исчерпывающий) возможных сообщений об ошибках при работе с Crystal Reports и 64-разрядными операционными системами. Тем не менее, обратитесь к разделу "Обсуждение и устранение неполадок" при появлении других сообщений об ошибках, которые могут произойти при работе с Crystal Reports и 64-разрядными операционными системами.
- " An error has occurred while attempting to load the Crystal Reports runtime. Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly ". (Произошла ошибка при попытке загрузить среду выполнения Crystal Reports. Недостаточны полномочия ключей реестра Crystal Reports, или неправильно установлена рабочая среда Crystal Reports.)
- " Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64 or Itanium) required... ". (Установите подходящий файл установки Crystal Reports (CRRedist*.msi), содержащий правильную версию необходимой среды выполнения Crystal Reports (x86, x64 или Itanium.)
- " The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception ". (Инициализатор типов для 'CrystalDecisions.CrystalReports.Engine.ReportDocument' вызвал исключение.)
- Method 'ISCREditableRTFExportFormatOptions_reserved5' on type 'CrystalDecisions.ReportAppServer.ReportDefModel.EditableRTFExportFormatOptionsClass' from assembly 'CrystalDecisions.ReportAppServer.ReportDefModel, Version=11.0.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' is overriding a method that has been overridden . (Метод 'ISCREditableRTFExportFormatOptions_reserved5' для типа 'CrystalDecisions.ReportAppServer.ReportDefModel.EditableRTFExportFormatOptionsClass' из сборки 'CrystalDecisions.ReportAppServer.ReportDefModel, Version=11.0.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' переопределяет метод, который уже был переопределен.)
Обсуждение и устранение неполадок
При выполнении Crystal Reports в 32-разрядном режиме в среде 64-разрядной ОС все клиенты баз данных и веб-серверы сторонних поставщиков также должны выполняться в 32-разрядном режиме. И наоборот, при выполнении 64-разрядного приложения Crystal Reports в среде 64-разрядной операционной системе все клиенты баз данных и веб-серверы сторонних поставщиков также должны выполняться в 64-разрядном режиме, в том числе приложение администрирования ODBC.
При подготовке к выполнению 32-разрядного приложения Crystal Reports к работе в среде 64-разрядной ОС необходимо скомпилировать проект в 32-разрядном режиме.
Для выполнения 32-разрядных версий Crystal Reports в среде 64-разрядной версии ОС Microsoft Windows 2003, сразу после развертывания приложения и рабочей среды Crystal Reports, необходимо выполнить следующие настройки:
1. Запустите выполнение служб Internet Information Services (IIS) в 32-разрядном режиме, выполнив в командном окне следующую строку:
Cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs setw3svc/AppPools/Enable32bitAppOnWin64 1
Примечание. Оставьте командное окно открытым, потому что оно понадобится еще раз.
Последним числом в строке выше должен включиться 32-разрядный режим.
2. Перезапустите службу IIS. Введите следующую команду в командное окно: " net stop w 3 svc / y & net start w 3 svc ". Команды NET STOP и NET START вынуждают службы IIS вновь считать реестр.
3. Перейдите в командном окне в папку Windows. Откройте папку Microsoft . Net \ Framework \ v 2.0.50727 .
4. Выполните команду aspnet _ regiis - i . Тем самым будет зарегистрирована 32-разрядная подсистема .NET.
5. Откройте диспетчер IS Manager (inetmgr) и удостоверьтесь, что приложение способно использовать ASP .NET framework версий 2.0.x.
Примечание. Все описанное выше требует, чтобы все приложения выполнялись только в 32-разрядном режиме. Если на сервере IIS выполняются другие приложения, которые должны выполняться в 64-разрядном режиме, то 32-разрядный проект Crystal Reports необходимо установить на другом сервере.
Crystal Reports и Microsoft Windows 2008 Server
В отличие от ОС Windows 2003 Server, ОС Windows 2008 Server позволяет выполнять службы IIS 7 как в 32-разрядном, так и в 64-разрядном режиме одновременно. ОС Windows 2008 Server имеет настройку пула приложений, позволяющую использовать 32-разрядный или 64-разрядный режим, и, таким образом, нет необходимости выполнять команды в командной строке.
Возможные сообщения об ошибках только в среде Windows 2008 Server
" NullReferenceException: Object reference not set to an instance of an object. " (NullReferenceException: Ссылка на объект не установлена как ссылка на экземпляр объекта)
" BOBJ is undefined ." (BOBJ не определен)
Изображения и диаграммы заменяются красным крестиком в средстве просмотра .NET webform DHTML viewer, если для просмотра используются службы IIS 7 в среде ОС Windows 2008 server.
Обсуждение и устранение неполадок
Исключение NullReferenceException обычно возникает, когда 32-разрядное приложение выполняется в 64-разрядном режиме. Проверьте, что при использовании 32-разрядной версии Crystal Reports ОС Windows 2003 Server выполняется в 32-разрядном режиме. При использовании ОС Windows 2008 Server пул приложений переключается на использование 32-разрядного режима.
Чтобы устранить ошибку BOBJ is Undefined в ОС Windows 2008 Server, переключите выполнение пула приложений на классический режим следующим образом:
1. В диспетчере IIS Manager выберите Application Pool и Basic Settings .
2. В меню Managed Pipeline Mode измените настройку Integrated Mode на Classic Mode .
Примечание. Следует иметь в виду, что возможны другие причины этой ошибки, и указанное выше решение проблемы относится конкретно к версии Crystal Reports XI Release 2, выполняющейся в 32-разрядном режиме в среде ОС Windows 2008 Server.
Причина отображения красного крестика в средстве просмотра .NET webform DHTML viewer - выполнение пула приложений в режиме Integrated Pipeline mode. Службы IIS 7 поддерживают два режима, классический и интегрированный. В классическом режиме изображения и диаграммы управляются с помощью параметра < httpHandlers > , который помещается в раздел < system . web > файла web . config приложения. В интегрированном режиме IIS 7 раздел < system . webServer > используется для определения значений < handlers > для раздела crystalImageHandler . Этот раздел может отсутствовать, если приложение перенесено из более ранних версий IIS.
Для решения проблемы с отсутствующим разделом crystalImageHandler запустите выполнение пула приложений в классическом режиме и определите раздел crystalImageHandler в разделе < system . web > файла web . config приложения (в классическом режиме раздел < system . webServer > игнорируется). Ниже приведен пример для веб-приложения Crystal Reports 2008:
Если для пула приложений необходимо использовать интегрированный режим, то необходимо определить заголовки в разделе <system.webServer> файла web.config приложения. Ниже приведен пример для веб-приложения Crystal Reports 2008:
Примечание. Следует иметь в виду, что возможны другие причины появления красных крестиков в средстве просмотра .NET webform DHTML viewer.
Подробнее о продуктах компании SAP Business Objects