We have several C# programs that are called thru out the day which in turn call crystal to print a particular report. It takes forever on the first load and then if you proceed to print more they are quicker. From what I read that is because each time you call the Load it has to load up some libraries (which ones would be nice to know ?), does it check to see if these are already loaded in memory? If so is there a way to keep these loaded in memory so we don't have this delay everytime. We tried creating a service to have the Crystal up and running, but that didn't seem to work or we did it incorrectly.