Joe Shapiro

I have a 32bit application built on vb.net2003 that uses the bundled crystal reports.

It installs and runs flawlessly on XP platforms.

when I install it on Vista Business (x64), the app runs fine, but any attempt to generate a report (that is, to instantiate a derived report class, as in, "dim rpt as new rptWhataver") results in

Cannot find KeycodeV2.dll, or invalid keycode.

CrystalDecisions.CrystalReports.Engine.InternalException: Cannot find KeycodeV2.dll, or invalid keycode.
at . F(String , EngineExceptionErrorID
at . B(String , Int32 )
at CrystalDecisions.CrystalReports.Engine.ReportDocument. ;()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.InternalInit()
at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
at CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()

keycodev2.dll is in fact present, and the app was built properly with the keycode property.
again, this app, and the reports work fine in about 1000 locations around the world on XP, win2k, and (gasp!) win98se. Anybody have a suggestion or work-around

Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll


I would think that this might have issues. First running a 32 bit app on a 64 bit system. Second, running under an OS that was just released and not tested with may also have problems. That error may actually have something to do with the registry, which may act differently between Vista and previous versions of Windows. You may want to try running regmon to see if it is having any permission issues there.

Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll

Joe Shapiro

Thanks, Mewdied.

Update: same exact problem on Vista Business x86

In both cases, I can eventually get it working by:

  • Installing my app
  • installing crystal service pack (install fails)
  • copying msvcr71.dll to the service pack folder
  • changing permissions on the registry keys for crystal
  • re-running the crystal service pack setup
  • completely uninstalling my app
  • re-installing my app.
  • I should say that there is still some mystery in the exact sequence and necessity of each of the above steps.

Of course, I was hoping for a more end-user-friendly procedure to give my customers, as this is a shrink-wrap commerical app.

I was also hoping to hear of other developers' experience in this, as I CANT be the only one having this issue.


Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll

V S Hari

Hi Joe,

Don't worry, u are not the only one who face this problem!! I too have the same problem. I have a Win application which is developed using VS.Net2003 and crystal report 9. I have installed this in windows xp, 2000 etc. It is working fine every where. Two days back i have installed it in a vista machine. Everything working fine except reports. When i try to view the report, I am getting a

"Cannot find KeycodeV2.dll, or invalid keycode" error.

The full error message is :

Cannot find KeycodeV2.dll, or invalid keycode

Source : CrystalDecisions.CrystalReports.Engine

Stack : at .F(String  , EngineExceptionErrorID )

at .B(String , Int32 )

at CrystalDecisions.CrystalReports.Engine.ReportDocument.;()

at CrystalDecisions.CrystalReports.Engine.ReportDocument.InternalInit()

at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()

Anybody have any idea on this


Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll


Well I just painfully went through each step that Joe mentioned but still get the same error. I have searched the net and cant find any other help on this exact problem, though many people seem to be having it.

Its no wonder that companies are throwing out Vista and painstakingly finding XP drivers for their new machines...

Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll

Zeeshan Umar

THis error comes when you have not entered keycode during the setup creation.

First you have to download merge module which i think you have already downloaded ( )

Add the merge module in your setup project.Next you have to take properties of that mergemodule file added in your file list in setup project and rightclick on this file and select properties.on the top of property window there is an expandble property (i think dynamic properties) expand that and enter the CD-Key in keycode field.

YOu can get your cd key by clicking on hepl->About of VS 2005 IDE

On some new versions of crystal reports property field name is differnet but you can easily guess it by looking at the properties.

Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll

Martin Marconcini

*THIS* error has got nothing to do with not adding the Merge Modules and/or the correct keycode. This is a Vista incompatibility. If you read his post, you'd notice that he clearly states that the setup file is correctly working under 2000 and XP (heck, even win98se!).

Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll


Hi there,

After struggling for 3 days I managed to fix the problem by installing the following onto the Client's Vista Business Machine in this order:

1) Microsoft .NET Framework 1.1 Service Pack 1 found at: familyid=a8f5654f-088e-40b2-bbdb-a83353618b38&displaylang=en

2) .NET Framework 1.1 Service Pack 1 SYSTEM.WEB.DLL and MSCOREE.DLL Security Update for Windows Vista found at: FamilyId=7EEA368D-7B82-4583-8537-30351718A4E9&displaylang=en

Hope this helps!


Re: Crystal Reports for Visual Studio VS.Net2003 + Vista64 = keycodev2.dll



i have the same problem in a windows application development whit visual studio 2003 + CR9 , i prove by installing the service pack but dont work in windows vista . any other idea i have vista basic..thanks