Аннотация
В этой статье обсуждаются возможности для развертывания приложений Visual Studio .NET с использованием автономной версии Crystal Reports XI для работы как с Visual Studio 2002, так и с Visual Studio 2003. Описывается работа как с объединенными модулями, так и интерактивными установочными пакетами.
Введение
Crystal Reports XI расширяет возможности генерации отчетов Crystal Reports на платформу Microsoft .NET. Вы можете использовать Crystal Reports Designer в Visual Studio .NET (VS .NET) для создания нового или модификации уже имеющегося отчета Crystal.
Вы можете хранить отчет на локальном компьютере, или опубликовать его с использованием Report Web Service на web-сервере. В зависимости от того, разрабатываете ли вы Windows или web-приложение, вы можете работать с отчетом либо с помощью Windows Forms Viewer, либо с помощью Web Forms Viewer.
Включение отчетов в приложения .NET
При добавлении отчетов в Windows-приложения .NET или в web-приложения, по умолчанию они добавляются к приложению как встроенный ресурс. Это означает, что отчет будет скомпилирован в манифесте сборки, и не будет загружаться из отдельного файла отчета (.RPT).
Работа с отчетом в качестве встроенного ресурса позволяет поставлять и разворачивать приложения .NET без отдельной поставки файлов отчетов. Преимущество заключается в отсутствии для приложения необходимости в развертывании внешних файлов отчетов, поэтому конечные пользователи не могут их модифицировать. Но имеется и недостаток - если отчет необходимо модифицировать, придется перекомпилировать все приложение и снова развернуть его для сохранения изменений в отчете.
Для предотвращения компиляции отчетов в манифест сборки в качестве встроенного ресурса, используйте следующие шаги:
- После добавления отчета в проект, выделите отчет в окне .NET Solution Explorer.
- В окне Properties измените свойство Build Action с Embedded Resource на None.
При использовании вышеуказанных шагов отчет не будет скомпилирован в манифест сборки, таким образом, отчет будет загружаться с жесткого диска. Отчеты могут быть загружены с диска с помощью указания файлового пути, с использованием метода Load объекта ReportDocument.
При развертывании приложений, не имеющих встроенных файлов отчетов, это файлы должны быть вручную добавлены при настройке проекта. Преимущество хранения отчетов вне сборки заключается в том, что отчеты могут быть легко модифицированы и повторно развернуты без необходимости в перекомпиляции и развертывании всей сборки. Недостаток заключается в том, что жестко заданные типы объектов не могут быть использованы в приложении, а отчеты должны загружаться с жесткого диска.
Обзор методов развертывания
Существует два метода развертывания runtime-файлов Crystal Reports XI на целевом компьютере:
- Использование модулей слияния (merge modules)
- Использование интерактивной установки (также известной как "неограниченной" (redistributable) или серверной установки)
В обоих сценариях устанавливаются одни и те же файлы, тем не менее, методы развертывания отличаются. Модули слияния предназначены тем разработчикам, которые хотят включить runtime-файлы Crystal Reports вместе с установочным пакетом в сопутствующее приложение. Интерактивная установка предназначена для тех, кто хочет просто развернуть эти файлы на серверном компьютере в качестве автономной задачи.
Развертывание с использованием модулей слияния
Компоненты, предназначенные для добавления в настройку проектов для поставки и развертывания приложений Crystal Reports 10, включают:
- Файлы отчетов (.RPT)
- Модули слияния Crystal Reports
Файлы отчетов (.RPT)
Файлы отчетов (.RPT) следует поставлять при развертывании приложений .NET. Способ развертывания файлов отчетов зависит от имеющихся потребностей и архитектуры приложения.
Модули слияния Crystal Reports
Модули слияния, которые необходимо добавлять в настройку проекта, устанавливаются с Crystal Reports XI в каталог C:\Program Files\Common Files\Merge Modules. Обновленные версии модулей слияния можно найти на сайте технической поддержки Business Objects по следующему адресу.
Поиск файла:
crxi_net_merge_modules.zip
Предшествующие версии Crystal Reports для развертывания отчетов требовали включения трех или более модулей в настройку проекта. Для Crystal Reports XI, необходимо включить только один файл слияния, при этом второй является опциональным:
- Crystal11_NET_EmbeddedReporting.msm
- CrystalReports11_maps.msm (опционально)
Crystal11_NET_EmbeddedReporting.msm
Этот модуль слияния содержит элементы управления CrystalReportViewer, SDK-сборки Crystal Reports .NET, SDK-сборки RAS, ядро обработки отчетов, компоненты базы данных и компоненты экспорта. Этот модуль слияния всегда требуется для приложений Crystal Reports XI .NET.
Запустите на выполнение файл модуля слияния (.MSI) на компьютере, где вы разворачиваете приложение, и при появлении приглашения введите ключевой код Crystal Reports XI.
CrystalReports11_Maps.msm
Этот модуль слияния используется для инсталляции файлов, требуемых для отображения в отчетах географических карт. Этот модуль слияния требуется только в том случае, если в отчет включена картографическая информация.
Развертывание с использованием интерактивной установки
Интерактивная установка может выполняться только при работе с полной версией Crystal Reports XI редакций Developer или Server.
При развертывании web-приложения, или при развертывании Windows-приложений на одном и том же компьютере, рекомендуется, чтобы зависимости (dependencies) Crystal были установлены отдельно. Этот пакет WindowsIinstaller находится в C:\Program Files\Common Files\Merge Modules - и имеет название CrystalReports11_NET_EmbeddedInstall.msi. Обновленные версии установочного пакета можно найти на сайте технической поддержки Business Objects по следующему адресу: http://support.businessobjects.com/search
Поиск файла:
crXI_net_server_install.zip
Запустите на выполнение установочный файл (.MSI) на компьютере, где вы разворачиваете приложение, и при появлении приглашения введите ключевой код Crystal Reports XI.
Получение и добавление ключевого кода
Когда модуль слияния Сrystal11_NET_EmbeddedReporting.msm добавляется в настройку проекта, то его свойство Keycode требует введения ключевого кода. Этот ключевой код высылается по электронной почте при регистрации продукта. Это ключевой код также может быть найден в меню справки Visual Studio.NET, для это нужно щелкнуть по пункту About Microsoft Development Environment. Это ключевой код указан в разворачивающемся списке с перечислением установленных продуктов: Installed Products.
Состоящий из 23 цифр ключевой код должен быть введен в свойство LicenseKey модуля слияния Crystal11_NET_EmbeddedReporting.msm.
Развертывание Web-приложений ASP.NET
В следующей процедуре предполагается, что у вас уже есть web-приложение или приложение web-сервисов, готовое для использования. Для развертывания Web-приложений ASP .NET с использованием модулей слияния Crystal Reports XI:
- В VS .NET, откройте ваше web-приложение и в меню View щелкните Solution Explorer. Находясь в Solution Explorer, щелкните правой клавишей мыши по вашему web-приложению, затем щелкните по Add и затем - по New Project.
- Появится диалоговое окно добавления нового проекта Add New Project. Щелкните по Setup and Deployment Projects на левой панели и затем по Web Setup Project на правой панели. Щелкните OK.
- Находясь в Solution Explorer, щелкните правой клавишей мыши по Web Setup Project, затем щелкните по Add и затем - по Project Output.
- Появится диалоговое окно Add Project Output Group. При нажатой клавише Ctrl щелкните по Primary Output и по Content Files. Щелкните OK.
После добавления в проект Primary Output, будут добавлены некоторые обнаруженные зависимости.
Зависимости dotnetfxredist_x86_enu.msm и dotnetcrystalreports.msm должны быть удалены, если они все еще присутствуют. Для исключения этих файлов, в Solution Explorer щелкните правой клавишей мыши по файлу и затем по Exclude.
- В Solution Explorer, щелкните правой клавишей мыши на WebSetup и выберите Add, затем щелкните на Merge Module.
- Появится диалоговое окно Add Modules (добавление модулей). Щелкните на модуле слияния Crystal11_NET_EmbeddedReporting.msm, а затем по Open для добавления его в ваш проект. Щелкните OK.
Примечание: При развертывании web-приложения, использующего набор данных ADO .NET, вам необходимо также включить два дополнительных модуля слияния, указанных выше в разделе "Runtime".
- Находясь в вашем проекте WebSetup, щелкните по модулю слияния Crystal11_NET_EmbeddedReporting.msm для отображения свойств.
- Раскройте список MergeModuleProperties и введите действительный ключевой код в окно свойств Keycode. Дополнительная информация приведена в разделе "Ключевой код".
Данный шаг является обязательным при развертывании Crystal Reports для приложений Visual Studio.NET.
Вы можете провести пользовательскую настройку вашей инсталляции, исключив ненужную базу данных и файлы экспорта. Обратитесь к разделу "Пользовательская настройка вашей инсталляции".
Для создания вашей настройки Web-проекта, выделите и щелкните правой клавишей мыши по вашему пакету развертывания (WebSetup1) в Solution Explorer, затем щелкните по Build. Теперь вы готовы к развертыванию вашего Web-приложения ASP.NET.
Развертывание приложения Windows
В следующей процедуре предполагается, что у вас уже есть Windows-приложение, готовое для использования. Для развертывания Windows-приложения с использованием модулей слияния:
- В VS .NET, откройте ваше web-приложение и затем щелкните по меню View в Solution Explorer. В Solution Explorer, щелкните правой кнопкой мыши по вашему Windows-приложению, щелкните по Add и затем по New Project.
- Появится диалоговое окно добавления нового проекта Add New Project. Щелкните по Setup and Deployment Projects на левой панели и затем - по Setup Project на правой панели. Щелкните OK.
- Находясь в Solution Explorer, щелкните правой кнопкой по Setup Project, затем Add и затем щелкните по Project Output.
- Появится диалоговое окно Add Project Output Group. При нажатой клавише Ctrl щелкните по Primary Output и по Content Files. Щелкните OK.
После добавления в проект Primary Output будут добавлены некоторые обнаруженные зависимости. Зависимости dotnetfxredist_x86_enu.msm и dotnetcrystalreports.msm должны быть удалены, если они все еще присутствуют. Для исключения этих файлов, в Solution Explorer щелкните правой кнопкой мыши по файлу и затем щелкните по Exclude.
- Находясь в Solution Explorer, щелкните правой кнопкой мыши по Setup Project и выберите Add, затем щелкните по Merge Module.
- Появится диалоговое окно Add Modules (добавление модулей). Щелкните по модулю слияния Crystal11_NET_EmbeddedReporting.msm и затем по Open для добавления этого файла в ваш проект. Щелкните OK.
Примечание: Если вы развертываете Windows-приложение, использующее набор данных ADO.NET, вам необходимо также включить два дополнительных модуля слияния, указанных выше в разделе "Runtime".
- Находясь в вашем Setup Project, щелкните по модулю слияния Crystal11_NET_EmbeddedReporting.msm для отображения свойств.
- Раскройте список MergeModuleProperties и введите действительный ключевой код в окно свойств Keycode. Дополнительная информация приведена в разделе "Ключевой код".
Данный шаг является обязательным при развертывании Crystal Reports для приложений Visual Studio .NET.
- Для создания вашей настройки Web-проекта, выделите и щелкните правой клавишей мыши по вашему пакету развертывания (setup1) в Solution Explorer, затем щелкните по Build. Теперь вы готовы к развертыванию вашего Windows-приложения.
Пользовательская настройка вашей инсталляции
В Crystal Reports 11 и в Visual Studio .NET, модуль слияния Crystal11_NET_EmbeddedReporting.msm позволяет вам указывать установочные опции для драйверов баз данных, драйверов экспорта и виртуального IIS-каталога crystalreportviewers11.
По умолчанию, все это устанавливается с Crystal11_NET_EmbeddedReporting.msm.
Выберите, какие драйвера баз данных нужно устанавливать
- В вашем проекта развертывания щелкните по Crystal11_NET_EmbeddedReporting.msm и в окне Property, разверните список MergeModuleProperties.
- Установите значение для определенного драйвера равным 1, для включения этого драйвера в ваш проект развертывания.
- Установите значение для определенного драйвера равным 0, для исключения этого драйвера из вашего проекта развертывания.
Название свойства для драйверов баз данных |
Описание |
InstallACT |
Драйвер базы данных Crystal Reports для баз данных ACT. |
InstallBTRIEVE |
Драйвер базы данных Crystal Reports для баз данных Pervasive. |
InstallCDO32 |
Драйвер базы данных Crystal Data Object. |
InstallCRDB_ADO |
Драйвер базы данных Crystal Reports для объектов данных Microsoft ActiveX / OLE DB. |
InstallCRDB_ADOPLUS |
Драйвер базы данных Crystal Reports для Microsoft ADO.NET. |
InstallCRDB_CDO |
Драйвер базы данных Crystal Reports для объектов данных Crystal. |
InstallCRDB_COM |
Драйвер базы данных Crystal Reports для провайдера данных COM. |
InstallCRDB_DATASET |
Драйвер базы данных Crystal Reports для провайдера DataSet. |
InstallCRDB_ODBC |
Драйвер базы данных Crystal Reports для ODBC. |
InstallCRDB_ORACLE |
Драйвер базы данных Crystal Reports для Oracle. |
InstallCRDB_QUERY |
Драйвер базы данных Crystal Reports для данных запросов. |
InstallDAO |
Драйвер базы данных Crystal Reports для объектов Microsoft Data Access Objects. |
InstallFIELDDEF |
Драйвер базы данных Crystal Reports для определения полей. |
InstallFILESYSTEM |
Драйвер базы данных Crystal Reports для данных файловой системы. |
InstallIBM_DB2 |
Драйвер базы данных Crystal Reports для сервера DB2. |
InstallINFORMIX |
Драйвер базы данных Crystal Reports для сервера Informix Online. |
InstallP2BBDE |
Драйвер базы данных Crystal Reports для IDAPI. |
InstallP2BXBSE |
Драйвер базы данных Crystal Reports для xBase. |
InstallP2IXBSE_DLL |
Физическая библиотека DLL Crystal Reports для xBase. |
InstallP2SACL |
Драйвер базы данных Crystal Reports для Public Folder ACL. |
InstallP2SEVT |
Драйвер базы данных Crystal Reports для журнала регистрации событий NT. |
InstallP2SEXSR |
Драйвер базы данных Crystal Reports для Exchange Server Admin. |
InstallP2SMAPI |
Драйвер базы данных Crystal Reports для Exchange. Папки и адресная книга. |
InstallP2SMSIIS |
Драйвер базы данных Crystal Reports для журнальных файлов IIS. |
InstallP2SOUTLK |
Драйвер базы данных Crystal Reports для данных Outlook. |
InstallP2SREPL |
Драйвер базы данных Crystal Reports для Exchange Public Folder Replica. |
InstallP2STRACK |
Драйвер базы данных Crystal Reports для журнала отслеживания сообщений Exchange Server. |
InstallP2SWBLG |
Драйвер базы данных Crystal Reports для журнальных файлов Web. |
InstallSYBASE |
Драйвер базы данных Crystal Reports для Sybase. |
Выберите, какой драйвер экспорта следует установить
- Находясь в вашем проекте развертывания, щелкните по Crystal11_NET_EmbeddedReporting.msm и в окне Property, разверните список MergeModuleProperties.
- Установите значение для определенного драйвера равным 1, для включения этого драйвера в ваш проект развертывания.
- Установите значение для определенного драйвера равным 0, для исключения этого драйвера из вашего проекта развертывания.
Название свойства для драйверов экспорта |
Описание |
InstallU2DMAPI |
Драйвер экспорта Crystal Reports для формата экспорта MAPI. |
InstallU2DNOTES |
Драйвер экспорта Crystal Reports для формата экспорта Lotus Notes Database Destination. |
InstallU2DVIM |
Драйвер экспорта Crystal Reports для формата экспорта Lotus Notes Mail. |
InstallU2FCR |
Драйвер экспорта Crystal Reports для формата экспорта отчетов (Report). |
InstallU2FHTML |
Драйвер экспорта Crystal Reports для формата экспорта HTML 4.0. |
InstallU2ODBC |
Драйвер экспорта Crystal Reports для формата экспорта ODBC. |
InstallU2FPDF |
Драйвер экспорта Crystal Reports для экспорта в формате PDF. |
InstallU2FREC |
Драйвер экспорта Crystal Reports для формата экспорта в виде записей (Records). |
InstallU2FRTF |
Драйвер экспорта Crystal Reports для формата экспорта Rich Text (rtf). |
InstallU2SEPV |
Драйвер экспорта Crystal Reports для формата значений с разделителями. |
InstallU2FTEXT |
Драйвер экспорта Crystal Reports для текстового формата экспорта. |
InstallU2FXLS |
Драйвер экспорта Crystal Reports для формата экспорта Excel. |
InstallU2FXML |
Драйвер экспорта Crystal Reports для формата экспорта XML. |
Выберите, куда следует установить программы просмотра Crystal
- Находясь в вашем проекте развертывания, щелкните по Crystal11_NET_EmbeddedReporting.msm и в окне Property, разверните список MergeModuleProperties.
- Установите значение свойства равным 1, для включения инсталляции crystalreportviewers11 виртуального каталога IIS в ваш проект развертывания.
- Установите значение свойства равным 0, для исключения инсталляции crystalreportviewers11 виртуального каталога IIS в ваш проект развертывания.
Название свойства для установки виртуального каталога |
Описание |
InstallViewerVirtualDir |
Свойство для контроля того, где именно будет установлен виртуальный каталог IIS crystalreportviewers11. |
Развертывание файлов среды выполнения
.NET Framework
Так как проекты, созданные в VS.NET относятся к .NET Framework, то Framework должна также поставляться и устанавливаться на целевом компьютере. Когда создается настройка проекта, то обычно Framework автоматически не включается. Имеется несколько способов поставки Framework. За дальнейшей информацией обратитесь на следующий сайт: http://msdn.microsoft.com/netframework/downloads/framework1_1/
ADO.NET
Если какой-либо из файлов отчетов использует объекты баз данных ADO .NET, вам потребуется включить следующие два объединенных модуля:
- Для VS .NET 2002, используйте VC_CRT.msm и VC_STL.msm
- Для VS .NET 2003, используйте VC_User_CRT71_RTL_X86_---.msm и VC_User_STL71_RTL_X86_--- .msm. Эти два объединенных модуля требуются по причине того, что драйвер базы данных, Crdb_adoplus.dll, является зависимым от следующих файлов, которые устанавливают объединенные модули:
- Для VS .NET 2002 - Msvcr70.dll и Msvcp70.dll
- Для VS .NET 2003 - Msvcr71.dll и Msvcp71.dll
Примечание: Файлы от этих объединенных модулей должны быть доступны для приложения. Они должны быть указаны либо в системном пути, либо находится в каталоге приложения. Рекомендуется, чтобы эти файлы были установлены в каталоге приложения. Если эти файлы недоступны приложению, то при попытке обработки отчетов появятся ошибки времени выполнения.
Информацию описаний keycode-ошибок можно искать по следующему адресу:
- c2010681 - Сообщение об ошибке: "Invalid or missing Keycodev2.dll", выдаваемое при развертывании приложений .NET
- c2012716 - Сообщение об ошибке: "... job failed because a free license could not be obtained..."
- c2011205 - Сообщение об ошибке: "Cannot find keycodev2.dll or invalid keycode", выдаваемое в VS .NET
Ссылки по теме