By Ben Higgins
A common misconception about deploying a Crystal Reports application written in ASP.NET is that the remote server must have the Crystal Reports .NET server components installed. The only thing to keep in mind is that you must purchase a licensed copy of Crystal Reports from Business Objects (www.businessobjects.com) in order to deploy your application to a remote server. The license for the version that comes shipped with Visual Studio .NET is just for evaluation and only works on the local development machine.
The issue that developers run into is how the Crystal Reports Developer tool is installed on the development machine. When installed, the developer tool installs the server components into the following directory:
C:\Program Files\Common Files\Crystal Decisions\2.5\managed
From there, the components are registered into the local machine's Global Assembly Cache (GAC) located in C:\windows\assembly. If you are using Visual Studio .NET to develop your application, then you reference the Crystal Decision classes from the GAC. This is fine when you run the application on the local machine. But when you deploy the application to the remote server by default you will get an error because the Crystal Decision components are not registered in the remote servers' GAC. Here is how you work around this issue:
For all of the classes your application references you need to go to the above Common Files directory and copy the matching DLL files to your application bin folder. The bin folder is located in the root of your Visual Studio .NET application. Once you have copied the DLLs, remove any old references from your Visual Studio .NET application. You will find this setting in "Solution Explorer" under "References". Right click any "CrystalDecisions.*" reference and select remove. Then right click on "Reference" and select "Add Reference…". Click "Browse", the default directory should be your application's root, double click the bin directory. Select the Crystal Decisions components and click "Open" then "OK". Recompile your application then upload it to the remote application. Make sure you upload all of the contents of the bin folder.
With the steps above you should not have any issues deploying your Crystal Reports application built with Visual Studio .NET. If you are still using classic ASP to generate your Crystal Reports then the components still have to be registered on the server. Either use the Installation CD or extract the components and manually register the components on the web server using regsvr32.exe or a COM+ package. You can find additional support information at http://www.businessobjects.com/support/default.asp.
Ben Higgins is a support specialist with ORCS Web - a company that provides managed hosting services for clients who develop and deploy their applications on Microsoft Windows platforms.