Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Crystal Reports Runtime for VS on Windows 7 Throws an Error

It seems to be working fine on my development machine, or the Windows XP test machines, but I'm running into problems on the Windows 7 test machines.

enter image description here

After that, I get a normal crash error:

************** Exception Text **************
System.InvalidOperationException: An error occurred creating the form. See
Exception.InnerException for details.  The error is: The type initializer for
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> 
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: 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.

Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required.  Please go to http://www.businessobjects.com/support for more information.
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
   --- End of inner exception stack trace ---
   at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
   at CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()
   at Processing.LogTag..ctor()
   at Processing.frmPrint.InitializeComponent()
   at Processing.frmPrint..ctor()
   --- End of inner exception stack trace ---

Their website is of course a nightmare to find anything...

Note: It is Windows 7 64bit, but I'm already running the program in 32bit mode.

Update:

So I figured out that crystal reports has an issue where the x64 version doesn't have any initializers, and so trying to initialize it in my program is causing an error.
I have verified that if I uninstall the x64 version, and install the x86 32bit version, the program works fine. I've read that some people had sucess just running the program in 32bit mode, but for whatever reason that didn't work for me.

I'm leaving the question open for a little bit, in hopes that someone has figured out how to get it to initialize the 64 bit version, because that's what automatically installs from the click once setup.

like image 439
AndyD273 Avatar asked Jun 23 '11 20:06

AndyD273


3 Answers

The newest version of Crystal Reports for Visual Studio 2010 version 13.0.1 (x64) will work if the program is also run in x64 mode. This means that VS can be set to compile for Any CPU.

http://www.sdn.sap.com/irj/boc/support?rid=/webcontent/uuid/d01fdad8-44e5-2d10-61ad-9d2d4158f3a8

like image 191
AndyD273 Avatar answered Nov 20 '22 00:11

AndyD273


first change your platform target of your project as x86 then compile again and install this setup in your windows 7 64 bit pc (C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi) and try to open your reports.

like image 32
tdsoft Avatar answered Nov 20 '22 01:11

tdsoft


We fixed this issue by setting the application pool advanced setting Enable 32-Bit Applications to true

like image 20
Summit Avatar answered Nov 19 '22 23:11

Summit