on 2008 Aug 14 2:55 PM
I'm working on an project that requires me to upgrade an existing Crystal Reports .NET 1.1 applications to .NET 2.0 using VS2005 Professional. The conversion process runs smoothly, and the application works properly on my local machine, but when I deploy the application to a remote test server, there are many errors when trying to create the required reports. The test server is a Windows 2003 Server, with both .NET 1.1 and .NET 2.0 installed. Also, I installed CRRedist2005_x86.msi on the server.
Following is a snapshot of the error produced:
Event Type: Error
Event Source: ASP.NET 2.0.50727.0
Event Category: None
Event ID: 1334
Description:
An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/1330659977/Root
Process ID: 5248
Exception: System.TypeInitializationException
Message: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
StackTrace: at CrystalDecisions.CrystalReports.Engine.ReportDocument.Finalize()
InnerException: System.IO.FileNotFoundException
Message: Retrieving the COM class factory for component with CLSID {11BD5260-15B6-412D-80DB-12BB60B8FE50} failed due to the following error: 8007007e.
StackTrace: at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
On the web page, the following exception is visible:
The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
I'm guessing it has something to do with the fact that the version of Crystal Reports on the server is 9.1.5000.0, and the application being deployed uses 10.2.3600.0, but cannot find any viable solution to the situation.
Any help would be greatly appreciated as I'm EXTREMELY confused. Thanks.
You stated you deployed the CRRedist2005_x86.msi which should install the 10.2 assemblys.
Were you logged on as the administrator?
If you check in the GAC (windows\assembly) do you see only the 9.1 references for the crystal files or do you see both 9.1 and 10.2?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, Christopher;
There must be something missing. Can you try building a setup package using the merge modules instead:
https://smpdl.sap-ag.de/~sapidp/012002523100005853292008E/cr_net_2005_mm_mlb_x86.zip
Instructions are contained within.
Regards,
Jonathan
During installation, it's installing in a drive that I don't want it to install into, in a non-existent directory "Default Web Site", and I'm getting multiple errors:
"Module \Program Files\Business Objects\2.7\bin\ExportModeller.dll failed to register." among other dll's.
I built it as a web project, should I have made it a regular application? Are there other setting in VS2005 that I should know about in order to install this in the proper place, and to get these files to register?
Thanks in advance.
Christopher
Hi, Christopher;
The application is web based, correct?
There are options you can set in the VB setup project to deploy the project to a different Web location, but that has no impact on where the Crystal Reports files will be installed. If you ignore past the errors, does the install proceed?
Regards,
Jonathan
Along with Jonathan's suggestion I would request you to check your application's bin folder and make sure that there is no older dlls of Crystal mainly CrystalDecicions.Web/Windows,
CrystalDecisions.Shared and
CrystalDecisions.CrystalReports.Engine
If they exist just remove them form the folder and put in any other location outside the application just to make sure that the application do not use them.
Hope that helps!
AG.
Here we go...
The web.config file doesn't even reference Crystal Reports...at least I can see where it would.
When the application was built on my local machine, I referenced the CR dll's, I didn't copy them into the bin folder.
Lastly, IIS is in 2.0 version for this application.
I should also mention that there are other applications that were built with VS.NET 2003, CR IX, that are on the web server which, once I installed the distributable file, would not work.
This project must be converted to .NET 2.0, so I can't undo the changes.
If your web.config file doesn't reference Crystal Reports assemblies then there is something wrong with your project. There is a chance you might not be using the runtime files you think you are using. You'll need to find out what runtime files your application has loaded on your development and production systems.
You can find out this info by using a utility called [modules|https://smpdl.sap-ag.de/~sapidp/012002523100006252802008E/modules.zip] from our download site.
Run this while your application is executing and look at the w3wp.exe or aspnet_wp.exe processes. You'll want to see what version of CrystalDecisions.xxx.dll are loaded. If you find anything but 10.2 files then you aren't using what you expected.
Here is an example of a web.config file from a new project using Crystal Reports for Visual Studio .NET 2005.
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true">
<assemblies>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></assemblies></compilation>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<httpHandlers><add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></httpHandlers></system.web>
</configuration>
Tried to reconfigure the web.config file with your suggestions...no luck, same error.
I un-installed the Redist_X86 files, removed the web.config entries, re-ran the web app. and received this exception: Could not load file or assembly 'CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
When I had the Redis_X86 installed, I received this error:
Message: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
StackTrace: at CrystalDecisions.CrystalReports.Engine.ReportDocument.Finalize()
After running the merge file project, I still received the same error. Also, during the installation process of the merge file project, 19 dll's could not be registered.
After changing the web.config file to add the new assemblies and httphandler, I was receiving the same error.
This is very frustrating. It shouldn't be this difficult.
Any other suggestions?
For some reason, CR 10.2 is
The production version is .NET 1.1, and the test (so far) is 2.0. Even the 1.1 version assembly section in the web.config file doesn't reference any CR assemblies.
When the application is being built in VS2005, and I add a .NET reference, where in the built project is this information? I have many references that I've added, but aren't in the web.config file.
Yes. You would look in the web.config file for the references. If you don't see Crystal files included there it is wrong. You will end up in the situation you are in now where the project picks up whatever it finds. Which is why I think you are in this mess.
Create a new web project on your dev system and add the Crystal Report viewer to a web form. Then look at the web.config file and you'll see <add assembly> tags for CrystalDecisions.
User | Count |
---|---|
65 | |
8 | |
8 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.