Skip to Content
May 25, 2022 at 10:38 PM

Load Report Failed when setting the CrystalDecisions.Windows.Forms.CrystalReportViewer.ReportSource

300 Views Last edit May 26, 2022 at 02:18 PM 2 rev

I have a .NET 4.6.2 Windows Forms based application, Visual Studio 2022 which allows a user to run several Crystal Reports.

This Windows form based application runs on the Windows 10/11 Desktop.

Each time a report is run, the following steps are performed.

There is a function called ConfigureCrystalReports

private string ConfigureCrystalReports()


_oReportDoc = new ReportDocument();



_oReportDoc.ExportToDisk(ExportFormatType.CrystalReport, _sTmpReportPath);





Once ConfigureCrystalReports returns

a form which I will call ReportViewerControl is created. The forms wraps the CrystalDecisions.Windows.Forms.CrystalReportViewer.

Each time this ReportViewerControl is created, a CrystalDecisions.Windows.Forms.CrystalReportViewer is created and then the ReportSource is set to the path _sTmpReportPath which represents the path to the exported report file.

oReportViewerCtrl = new ReportViewerControl();


public partial class ReportViewerControl : UserTabbedDocument


public ReportViewerControl()


InitializeComponent(); // this will create the instance of the CrystalDecisions.Windows.Forms.CrystalReportViewer


public void SetViewerReport(string tmpReportPath)


crystalReportViewer.Error += CrystalReportViewer_Error;

crystalReportViewer.ReportSource = tmpReportPath;


private void CrystalReportViewer_Error(object source, CrystalDecisions.Windows.Forms.ExceptionEventArgs e)


string exceptionMsg = e.Exception.ToString();

string innerException = e.Exception.InnerException.ToString();



So I was on a much earlier release of the Crystal Framework but could always run report multiple reports without issues.

Now after I run 2-3 reports, when the line of code crystalReportViewer.ReportSource = tmpReportPath;

is executed, CrystalReportViewer_Error is called and the information in exceptionMsg and innerException is

CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException: The document is being opened.

at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)

at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)

at CrystalDecisions.ReportAppServer.ReportClientDocumentWrappe

To give more back on the overall look and feel of the Window in which the reports are display, every report has a tab. So you can run consecutive reports and each report

gets its own tab with a parent window. This was working find before the upgrade to the SP32 release.