Crystal Reports Runtime for VS on Windows 7 Throws an Error

眉间皱痕 提交于 2020-01-13 02:44:12

问题


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.

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.


回答1:


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




回答2:


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.




回答3:


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




回答4:


This error could also occur if you are running a 64 bit desktop/server & you don't have a 64 bit runtime.You'll need to know which version of runtime to install. As always google is your best friend to search for locations of the runtime



来源:https://stackoverflow.com/questions/6460264/crystal-reports-runtime-for-vs-on-windows-7-throws-an-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!