cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Reports for VS 2005 won't register on Windows 7 64 bit

Former Member
0 Kudos

I am trying to install a VS 2005 app with Crystal Reports for .NET 2.0 on a Windows 7 64 bit OS. The install pack uses the CrystalReportsRedist2005_x86.msm merge module. During the installation several of the Crystal Reports DLLs do not register. The problem I am encountering is almost identical to an issue the was fixed in CR for VS 2005 SP1. The ReadMe doc for SP1 describes the problem as:

"Description: When installing a customized Setup project with the Crystal Reports for Visual Studio 2005 merge modules (.msm) on Vista, several COM components fail to register.

e.g. "Module C:\Program Files\Common Files\Business Objects\2.7\bin\ExportModeller.dll failed to register. HRESULT -2147010895. Contact your support personnel." If you run the setup.exe again and select repair, the installation will go on without any error, and the component can be registered. "

But, even after I do a repair (no errors are displayed duriing the repair) I still get an error when the app tries to launch the CR viewer. The error I get is:

"An error has occurred while attempting to load Crystal Reports runtime.

Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly."

I have installed the CR for VS 2005 SP1 and still get the same errors.

Does anyone know what would be causing this?

Thanks for your help!

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

What is the version of the assembly crystaldecisions.crystalreports.engine.dll referenced in your project?

Also, you are using the 32 bit runtime. Was the app compiled as 32 bit? E.g.; do not use any cpu.

Ludek

Follow us on Twitter http://twitter.com/SAPCRNetSup

Former Member
0 Kudos

The crystaldecisions.crystalreports.engine.dll version referenced in the project is 10.2.3600.0 (runtime version v2.0.50727)

Yes, I am using the 32 bit runtime and it was compiled as a 32 bit app.

Thanks,

Galen

former_member183750
Active Contributor
0 Kudos

OK. So the runtime checks out, so let's look at the other part of the error:

Crystal Reports registry key permissions are insufficient

Download [Process Monitor|http://technet.microsoft.com/en-ca/sysinternals/bb896645.aspx] and see what it tells you re. permissions. Look for Access Denied messages in the ProcMon logs.

Ludek

Former Member
0 Kudos

I went through the Process monitor logs and did not find anything regarding "Access Denied".

The only thing that I saw was that during the CreateFileMapping operation for "C:\Program Files (x86)\Common Files\Business Objects\2.7\bin\ExportModeller.dll" the result was "FILE LOCKED WITH ONLY READERS". This is the first DLL that failes to register. After that I canceled the install

I created a log file during the install and this is what I got regarding this DLL:

Action 11:08:24: SelfRegModules. Registering modules

SelfRegModules: File: ExportModeller.dll, Folder: C:\Program Files (x86)\Common Files\Business Objects\2.7\bin\

CustomAction +ExportModeller.dll.DB481AA8_4496_4AA8_BA55_B972BCC311F8 returned actual error code -2147010895 (note this may not be 100% accurate if translation happened inside sandbox)

DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,

Error 1904. Module C:\Program Files (x86)\Common Files\Business Objects\2.7\bin\ExportModeller.dll failed to register. HRESULT -2147010895. Contact your support personnel.

MSI (s) (90:D8) [11:08:57:562]: Product: PROACT Maint .Net -- Error 1904. Module C:\Program Files (x86)\Common Files\Business Objects\2.7\bin\ExportModeller.dll failed to register. HRESULT -2147010895. Contact your support personnel.

Niether the Process Monitor log nor the Install log are much help to me. So, I am still open for suggestions what to do next.

Galen

former_member183750
Active Contributor
0 Kudos

Try to register the ExportModeller.dll manually. using regsvr32 (make sure you use the one from \Windows\syswow64). I suspect you'll get an error. Google the error reported by regsvr32 for possible solutions.

Alternatively, you can download the utility [Depends20|http://www.dependencywalker.com/], open the dll there and see what it tells you re. missing dependencies.

Ludek

Former Member
0 Kudos

Since this application installs and runs fine on Windows XP (32 bit) it didn't seem likely that it would be a dependancy issue.

Logged in as administrator I tried to manually register the DLL using regsvr32 and received an error that it failed to register. I was not able to find any info regarding the exact error code I got. But, I did find an article regarding Vista that pointed me, I think, in the right direction.

I launched the command prompt with "Run as Administrator" and tried to manually register the DLL. This time it registered just fine. As it tuns out, this is due to the UAC (User Account Control) in Windows 7. Applications have to tell the systaem they are running as administartor to do admin tasks.

I tried running the MSI from the command prompt with "Run as Adminstrator" but got the same error(s) as before. It Appears that it has to do with the CR merge module. The install pack has other DLLs that seem to register fine, it is just the ones in the merge module that fail.

Do you know if there is anything in the merge module that can be tweeked to get these DLLs to register/install?

Thanks,

Galen

Former Member
0 Kudos

Hi, Galen;

I just wanted to jump in here, and see if this is something we need to test here. Before I do however, can you tell me which version of our merge modules did you use to create your setup? Was it the ones installed with .NET 2005, or did you download from our web site? If you are not sure, can you provide the file names and sizes of the msm files?

Regards,

Jonathan

Former Member
0 Kudos

Hi Jonathan,

The merge module I am using, CrystalReportsRedist2005_x86.msm, I downloaded from your web site. The version number on it is 1.0, size is 25,145 KB and the date is 10/24/2007.

I applied 'Crystal Reports for Visual Studio 2005 SP1' but it does not appear that it modified the msm since the date stamp is still 2007.

Thanks,

Galen

Former Member
0 Kudos

Hi Jonathan,

I was just wondering if you had any further information regarding this issue.

Our company is moving to Windows 7 64 bit and I really need to get this application to install on that OS.

Thanks,

Galen

Former Member
0 Kudos

HI, Galen;

I'll try to have a look at this today.

Cheers,

Jonathan

Former Member
0 Kudos

Hi, Galen;

Well, I tried it here, using that exact merge module, and the setup installed perfectly for me, no errors at all.

When you installed, did you choose to install for Everyone, or Just Me?

Has the Windows 7 system been updated with the latest updates from Microsoft?

Best Regards,

Jonathan

Former Member
0 Kudos

Hi Jonathan,

Thanks for testing the install on your end.

On my install I am installing for Everyone. Or Win 7 environment has not had all of the latest MS patches applied.

Do you know if there is a specific patch that we should apply that may resolve this issue?

Also, when you built your package did you use Visual Studio installed or another tool such as InstallShield? Did you have User Access Control turned off?

Thanks,

Galen

Former Member
0 Kudos

Hi, Galen;

After some further testing today, on a cleaner Windows 7 system I got the error.

Installing the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) seems to resolve the issue. There seems to be something in that package we are dependant on, but I am not sure what that would be.

Download it from Microsoft:

http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f8564...

Regards,

Jonathan

Former Member
0 Kudos

Jonathan,

Installing the Microsoft Visual C++ 2005 SP1 Redistributable (x86) got my install to work with no errors.

But, when the app tries to open the CR Viewer I am getting the following error:

"An error has occurred while attempting to load Crystal Reports runtime.

Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly."

This is the same error, as mentioned in my original posting, that I got after running a repair on the application install.

Also, I did try adding the C++ merge modules, Microsoft_VC80_CRT_x86.msm and Microsoft_VC80_MFC_x86.msm, to my install pack. But, I still get the same errors during the install. So, the only way I am able to get it to install cleanly is to run the vcredist_x86.exe redistributable on the Win 7 PC prior to installing my app.

Any further help you can provide would be greatly appreciated.

Thanks,

Galen

Former Member
0 Kudos

Hi, Galen;

The simple .NET / Crystal Reports sample works fine for me. Be sure in .NET that you are setting the Target CPU to be x86, and not "any cpu".

Regards,

Jonathan

Former Member
0 Kudos

Hi Jonathan,

The target platform is set to x86. I think the error that I am getting now may be due to our Win 7 environment. I am working to resolve that issue and will update this thread.

At least it seems that I am making headway now.

Galen

Former Member
0 Kudos

Jonathan,

You were right. I did have the Target CPU set to 'Any CPU' for my VB project. But, I had the TargetPlatform set to x86 for my Installation project. So, that is where i got confused.

After setting the Target CPU to x86 on my VB project, the application runs just fine now.

Now all I have to do is figure out how to include that C++ SP with my installation.

Thanks for all your help!!

Galen

Former Member
0 Kudos

Hi, Galen;

I'm glad to hear you got it working, thank you for letting us know.

Have a good day,

Jonathan

Former Member
0 Kudos

Just a quick follow up...in case anyone is wondering.

The dependancy that in the C++ redistributable that 'CR for VS 2005' relies on is ALT.dll.

Even though I had the ALT.msm merge module included in my set-up project, CR was trying to register before ALT.dll was registered. Somehow the precedence is mixed up. My guess is that the dependency in the CR merge module is pointing to the wrong version, an old version, of the ATL.dll. So, ATL.dll from alt.msm is not getting registered before the CR dlls try to register. Again, that is just a guess.

In order to get around this issue, I had to use the bootstrapper to install the ATL.msm merg module as a prereq to my set-up project. Now everything works. But, I no longer have a neat single MSI setup (now a setup.exe and two msi).

Galen

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

I m also getting same problem. Can u help me?

Sharmila