This remains the most discussed topic on forums. Users are prone to errors while deploying web application, one of them being:
"Please install appropriate Crystal Reports Redistributable (CRRedist*.msi) that contains the version of the crystal reports runtime (x86,x64 or Itanium) that is required."
Hence, before deploying the application, there are few things which should be considered. Few of them are listed below:
- Crystal Reports v. 9.1 to 12.x VS .NET Runtime Distribution & Supported Operating Systems.
- Crystal Reports Support of 64-bit Operating Systems.
Crystal Reports XI release 2 (version 11.5) and Crystal Reports 2008 (version 12.1.x) support 64 bit Operating systems (32 bit mode only). The .Net applications (created using VS2005 & VS2008) which use the reports designed in Crystal Reports XI R2 or Crystal Reports 2008 should target 32 bit mode only.
Following are the steps to run the application in 32 bit mode on a 64 bit environment.
On development machine, inside visual studio solution explorer
- Right click on project > Go to Properties.
- Go to compile properties.
- Select the 'Platform' dropdown box.
- Click on x86.
- Create a setup package of your project.
On production machine or web server
- Install appropriate runtimes on the 64 bit server and run the setup package created.
- Go to the IIS on server, right click on the application pool which is being used by the application, then go to 'Basic Properties'.
- Select the dropdown 'Managed Pipeline Mode' > Select 'Classic' & click OK.
- Go to the Advanced settings of the same Application Pool.
- Set the property 'Run in 32 bit mode' to TRUE.
- Set the property 'Managed Pipeline Mode' to CLASSIC.
- Run the application.
There are certain dependencies which Crystal Reports runtimes has. We may have to apply following on the production machine before installing runtimes and setup package.
- Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.
- Visual C++ 2005 SP1 Redistributable Package.
The bundled version of Crystal Reports which comes with Visual Studio, (for e.g. Crystal Reports Basic for Visual Studio 2005 (CR 10.2) and Crystal Reports Basic for Visual Studio 2008 (CR 10.5)) has 64 bit runtime. Hence, we don’t need to make any changes as mentioned above. We have a new version released recently known as CRVS2010 (CR 13.x). It also has 64 bit runtime (msi only). More can be found about CRVS2010 here.
Another thing that can be kept in mind is, there are no 64 bit msm files for any version of Crystal Reports. This can be concluded from one of the Production release for CRVS2010: Couple of Questions regarding Merge module. It is planned to move away from msm runtime distribution and use msi files exclusively.
I believe this blog would be helpful while deploying the web application on server.