Skip to Content
author's profile photo Former Member
Former Member

Proper upgrade from CR XI R2 to CR 2008


I have a question regarding the automatic updates that takes place when Crystal Reports is upgraded to a newer version.

I have developed a web application using Visual Studio 2005 and Crystal Reports XI R2.

Working fine.

I upgraded to Crystal Reports 2008 in my development environment. Then Service Pack 1 (SP1)

Also working (almost) fine, except that some CR issues still not seem to be fixed. See [thread|].

More customers are requesting my product, so I have another development environment too, on another network for easier debugging.

There I have Visual Studio 2005 and downloaded Crystal Reports 2008 - evaluation lisence until

we have the recently bought version delivered.

So I just copied my Visual Studio files from the other platform over, in order to be able to debug. Then I ran into the following exception:

"The type initializer for CrystalDecision.CrystalReports.Engine.ReportDocument threw an exception"

Turned out it was this line that caused the error:

rptDoc = New CrystalDecisions.CrystalReports.Engine.ReportDocument()

The inner exception stated:

"An error occurred creating the configuration section handler for businessObjects/crystalReports/reportMappings: 
Could not load file or assembly 'CrystalDecisions.Shared, Version=11.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. 
The system cannot find the file specified. (C:\Development\PIMReports\web.config line 8)"

This leads me to look in the web.config file, where I see two distinct sections of interest:

1: (Which is "line 8" - ref. the message above)

    <sectionGroup name="businessObjects">
      <sectionGroup name="crystalReports">
        <section name="reportMappings" 
                 CrystalDecisions.Shared, Version=11.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, 

2: (The lowest entry is the most interesting)

		<compilation debug="true" strict="true" explicit="true">
				<add assembly="System.Windows.Forms, Version=, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="CrystalDecisions.Enterprise.Framework, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.Enterprise.InfoStore, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.ReportSource, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.Enterprise.Desktop.Report, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.CrystalReports.Engine, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.ReportAppServer.ReportDefModel, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
				<add assembly="CrystalDecisions.Shared, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></assemblies></compilation>

It seems that section 2 has been automatically updated but not section 1.

In section 1 we see a reference to CrystalDecisions.Shared, Version=11.5.3700.0

but in section 2 there is a reference to CrystalDecisions.Shared, Version=12.0.2000.0

On the old platform I have both CR XI R2 and CR 2008 SP1 so there it works.

On the new platform there is no CrystalDecisions.Shared, Version=11.5.3700.0 and hence (I believe) the

"The type initializer for CrystalDecision.CrystalReports.Engine.ReportDocument threw an exception"

Now, finally, the questions 😊

1: Overall, what should I do to fix this?

Option 1: Change the web.config so it always refers to CrystalDecisions.Shared, Version=12.0.2000.0

Option 2: Copy the CrystalDecisions.Shared, Version=11.5.3700.0 to the new platform

(I would think Option 1 is best, for example because of the "or one of its dependencies" part of the exception message).

2: Could this be the reason I don't get the DisplayString formula to work? Ref. [thread|].

3: Is it a way to manually trigger the algorithm that do the automatic upgrade after a product upgrade?

Thank you

- Kjell Arne

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Dec 23, 2008 at 12:45 PM


    I would suggest you to follow few steps-(when ever you upgrade CR).

    1. Remove all the references related to CR

    2. Delete CR viewer from the Visual studio environment and again add it.

    3. Add references again.

    About the reference pointing to CR XI R2 in your project -

    Remove CR.shared reference and add the 12.0.**, in your project.

    Check web.config again for the version.

    Hope this will help!!



    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.