I have created serveral crystal reports (in version 2008) and a single C# console application in VS2008 which basically creates the ReportDocument object, loads the report and either exports or prints it.
CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
rptDoc.Load(sParamDOC); //sParamDOC being the report name to process passed in via command line argument
On a server (windows server 2003) that is only accessed via remote desktop connection I have installed crystal reports redist 3.3 and copied the program and reports over. Everything was working great.
I discovered that when the users ran my program it was taking a long time to execute. I put in some code to debug where the performance hit was and realised that when I logged in and ran the program it runs everything in a reasonable time (less than 20 secs), creating the ReportDocument and loading the report takes seconds and the rest of the time is processing the report.
When anybody else logs in it takes about 1 minute to create the ReportDocument and another minute to load the document then continues to take longer to process the report. Times do vary a little but I've seen it take up to 4+ minutes.
I first assumed it had something to do with security as I'm an administrator so I created a fake user giving it admin priviledges and it still runs slow logged in with this user. It only seems to be quick for me.
I also tried changing the security mode of terminal services to 'relaxed security' as it is being called from an old legacy app. This has no effect either.
I've tried posting on the SAP Crystal Report forum but haven't had a reply from them.
I hope somebody can give me some pointers as where to look next because I feel a little stuck at the moment.