locked
VS 2010 w/Crystal 2010 v13.0.20000 - Issues on Clients Windows 7 64 bit machine

    Question

  • I am using Visual Studio 2010, created a Visual Basic Windows program.   This includes Crystal Reports 2010 with Service Pack 1.   When I install the program on Windows 7 machines 64 bit, I get  a "CrystalDecisions.CrystalReports.Engine.ReportDocument threw an exception" error.

    If I install the same program on a Windows 7 32 bit machine, everything works great.  To get around this problem, I had to change the references to the prior 10.5 2008 version.

    Doesn't SAP test this stuff?   Is there a way to use the new Crsytal with 64 bit Windows 7?

    Tuesday, May 31, 2011 4:37 PM

Answers

  • I agree with you completely. For what ever reason with the "powers that be" CR was not included with the VS 2010 install, I believe it was due to SAP not being ready to integrate into VS before it went GA and there may be other reasons also. So it did not go through the beta testing process of VS and things like this were not caught in the CR Beta testing and resolved before GA. Long story, but bottom line is this is a free product and SAP's Resources focused on the BusinessObjects Enterprise 4.0 product and ramp up process.

    As for the default setting within Projects that is a VS configuration question. When you create a new project you have the Option to select the destination Framework but not the bit version and VS assumes if you are using it on a 64 bit OS then AnyCPU is the default. There may be a way to change the New Default Project settings within VS but if not then nothing CR can do nothing to force the settings to change. Developing on a 32 bit OS it's not a problem.

    As for deploying, yes, if you are not going to set the platform and the app compiles for both then you do need to distribute both 32 and 64 bit runtime. I'm sure if you set your Project to x64 only then 32 bit redist is not required. And the downfall is you almost double your distribution size.

    Thanks again

    Don


    Don Williams
    Thursday, June 02, 2011 5:36 PM

All replies

  • Actually we do test this stuff.

    Set your Project to 64 bit only, Not AnyCPU. Then deploy just the 64 bit runtime.

    Thank you

    Don


    Don Williams
    Wednesday, June 01, 2011 4:45 AM
  • Hi Don,

    I understand the frustration Gary would be feeling. The whole point of 'Any CPU' is that that 32/64 bit issue is abstracted from the developer. What is the reason the compiler must know the target platform for managed code?

     

    Wednesday, June 01, 2011 10:44 AM
  • Hi Brett,

    I understand it also but it's not always our fault and until the reason is known it bugs me when anyone assumes why. I do the same thing as Gary when things don't work as expected.

    I don't know the exact reason but I believe it's the way MSIExec works. If it detects a 64 bit OS then it tries to install the 64 bit runtime only even if you have compiled your app to run in x86 mode only it obviously will fail to start, same is true for a 32 bit app that doesn't include the 32 runtime and only the 64 bit dependencies.

    I believe this is true for any program these days, when you go to any app support site you'll typically find a 32 and a 64 bit version, print drivers, video card drivers etc.... some are OS specific and some are platform specific and some are both.

    Crystal Reports runtime has dependencies on both depending on the starting point due to having to support 32 bit DB clients and printer drivers and at the same time handle the development in the .NET IDE which is 32 bit only and then distributing to a 64 bit OS. This is the first FULL version of CR where we support both platforms.

    I think it's just the way the 32 to 64 migration path is going, same as it was when we moved from 16 to 32 bit, separate stack of floppies to install from and double the amount.

    Thank you

    Don


    Don Williams
    Wednesday, June 01, 2011 1:46 PM
  • Actually we do test this stuff.

    Set your Project to 64 bit only, Not AnyCPU. Then deploy just the 64 bit runtime.

    Thank you

    Don


    Don Williams


    My project runs on Windows 7 32 bit and Windows 7 64 bit.  On the Publish screen under Prerequisits, I checked "SAP Crystal Report Runtime Engine for .NET Framework 4.0".  On 32 bit machines, the 32bit version in installed.  Program runs just fine.    On 64bit machines, the 64 bit version is installed and the program doesn't run Crystal reports. 

    Upon further investingation by visiting the SAP forums, that the 64 bit version has problems and won't run with a mixture of 64bit and 32bit DLL's.  What I had to do was MANUALLY install the 32bit Crystal Report Runtime Engine to get the program to work.

    It's too bad there isn't an option with Crystal to default to 32bit runtime.   Maybe more testing would have brought this problem to light.

     

     

    Wednesday, June 01, 2011 5:27 PM
  • I agree with you completely. For what ever reason with the "powers that be" CR was not included with the VS 2010 install, I believe it was due to SAP not being ready to integrate into VS before it went GA and there may be other reasons also. So it did not go through the beta testing process of VS and things like this were not caught in the CR Beta testing and resolved before GA. Long story, but bottom line is this is a free product and SAP's Resources focused on the BusinessObjects Enterprise 4.0 product and ramp up process.

    As for the default setting within Projects that is a VS configuration question. When you create a new project you have the Option to select the destination Framework but not the bit version and VS assumes if you are using it on a 64 bit OS then AnyCPU is the default. There may be a way to change the New Default Project settings within VS but if not then nothing CR can do nothing to force the settings to change. Developing on a 32 bit OS it's not a problem.

    As for deploying, yes, if you are not going to set the platform and the app compiles for both then you do need to distribute both 32 and 64 bit runtime. I'm sure if you set your Project to x64 only then 32 bit redist is not required. And the downfall is you almost double your distribution size.

    Thanks again

    Don


    Don Williams
    Thursday, June 02, 2011 5:36 PM
  • I'm having the same problem.  The first thing I tried was to recompile for 64 bit.

    Unfortunately the data for my crystal report comes from an Access database and apparently Visual Studio/ 64 bit Windows 7 will only talk to a Jet database if its compiled as 32 bit (x86).
    So I can either read data or produce a report? But not both?

    Come on guys, lifes hard enough without this!
    All I want to do is print a report, is there nothing I can use apart from crystal reports?
    I'm so desperate we are having to write our own report software to print it off with Word.

    John H

     

     

    Monday, June 27, 2011 10:51 AM
  • Hi John,

    Create a System DSN or OLE DB connection to Access then CR will work it no matter what the platform. Don't use the native Jet engine.

    Don


    Don Williams
    Monday, June 27, 2011 2:00 PM
  • Don,

    I've tried OLE DB but get the error
    microsoft.ace.oledb.12.0 provider is not registered on the local machine

    Everyone on google seems to suggest installing AccessDatabaseEngine_x64.exe
    But that will not run because we have Office 2007 installed on our PC's

    I do have one PC that it has started running on, but I've installed/uninstalled that many things on there, that I don't actually know what the cure was!

    Its a VB.net 2010 windows application, using Crystal Reports, linked to Access 2007 database on Windows 7 64 bit PC.
    Everything works fine on 32bit PC's

    Desperate....
    John

    • Proposed as answer by jonedhy Thursday, June 30, 2011 1:16 PM
    • Unproposed as answer by jonedhy Thursday, June 30, 2011 1:16 PM
    Thursday, June 30, 2011 10:59 AM
  • The answer seems to be to uninstall any 32 bit versions of Office whether its Office 2007 or 2010.
    Install AccessDatabaseEngine_x64.exe

    Reinstall Office.
    Then Access and Crystal Reports both work on the 64bit Windows 7.
    Thank you Microsoft, you've really excelled yourself this time!!
     

    Thursday, June 30, 2011 1:40 PM