cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Server Error in '/' Application

Former Member
0 Likes
1,447

Hi,

I have been using Crystal reports since Visual Studio 2005 days with ASP.Net.

I moved over to Windows Server 2012 R2 where I installed version 13.0.15.1840, both SAP Crystal Reports runtime for .Net Framework (64 bit) and SAP Crystal Reports, version for Microsoft Visual Studio.

Everything works fine but every now and again I get the following error on the server:-

Retrieving the COM class factory for component with CLSID {4D.....} failed due to the following error: 800703fa Illegal operation attempt on a registry key that has been marked for deletion (Exception from HRESULT: 0x800703FA)


I am then required to restart the server.

Any help regarding this issue will be appreciated.


Accepted Solutions (1)

Accepted Solutions (1)

0 Likes

Moved your post tot he .NET forum.

Make sure you are closing and disposing of any objects including the report once the user session has been closed.

When the app stops working are you capturing any errors in the event logs or IIS logs?

What call is that error being generated on?

Don

Former Member
0 Likes

Hi Don,

  1. This is the code on all the pages that uses the Crystal Reports Viewer:-
    ReportDocument rpt = new ReportDocument();
    protected void CrystalReportViewer1_Unload(object sender, EventArgs e)
    {     
         rpt.Close();     
         rpt.Dispose();
    }

  2. I got this from the Application event viewer:-
    Exception type: COMException     Exception message: Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).    at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()

  3. The errors occurs when the user is trying to load the page.

Roy

0 Likes

So that would be when the viewer unloads in disposes of the report object.

Are you loading the report object in the Page_Init section or the Page_Load event?

Changes were made to follow industry standards and now you should be loading the report in the Page_Init section.

Possibly the report is still busy when that Viewer unload event is triggered.

Unfortunately we do not have a IsBusy API any more so no way to tell if the report is busy

If you move the close/dispose to the Page_Unload event does that work for you?

Try commenting out the rpt.dispose line, closing should dispose of the report object once it has be truely closed.

Don

Former Member
0 Likes

I am loading the report in the Page_Load event.

I will try your suggestion, although it is difficult to test as my setup will work for days and then just suddenly generate the error and I then have to restart the server to get it going again.

Roy

0 Likes

Also, Microsoft recommends cycling IIS weekly or more often.

MS doesn't handle memory fragementation at all, CR requires Contiguous memory space, Windows cannot defrag memory on the fly like UNIX type OS's can.

Only way to clean up memory fragmentation is to cycle IIS to release it all. Sometimes a reboot is even required.

Other than that make sure you are cleaning up as much as possible to release memory...

Don

Answers (1)

Answers (1)

Former Member
0 Likes

Hi Don,

I will try your recommendations.

Thanks for your help.

Roy