I have a client who is running an application through Citrix that uses Crystal Reports, and the application is erroring out when trying to load a report, ONLY when the user does not have anything mapped as their C:\ drive.
The default setup at this client was to have a P: drive as the main drive, and a Q: data drive for the users when they log into the Citrix box.
When the users were tried to launch the application with this setup, they got the following error:
System.Exception: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80004005): The system cannot find the path specified. System.Exception: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80004005): The system cannot find the path specified. at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() --- End of inner exception stack trace --- at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) at CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob) at CrystalDecisions.CrystalReports.Engine.ReportClass.Load()
If we have a drive mapped to C:\ for the user, the issue goes away. I've looked through the Crystal Reports engine code, and with an embedded report in a .NET application (as is the case here) Crystal Reports writes the embedded report out to the temp directory before reading it back in again. The failure seems to be either with reading or writing that temporary file.
Anyone run into this before, or seen a solution?