views:

730

answers:

2

I have a .net windows service that has a crystal report viewer on it. when it polls the db and finds live orders, it will send a report to a printer on the network. this is windows2003 server 64bit. I have installed the msi on the 64bit server found in my visual studio install: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5\CRRedist2008_x64.msi. I get this error too many times. maybe 3 or 4 times a day or more. I do have to admit it was a project originally coded in vb6 and cr8.5. I finally upgraded to vs2003 and eventually 64bit .net 2.0 and it's crapping all over the place. with each upgrade it has been failing worse and worse. never have I been so penalized for upgrading...

  1. should I create a new windows service rather than using the project that went through the upgrade wizard to vs2008??

  2. do you think there is conflict with the msi from the 32bit version of crystal running on the same server for my 1.1 web applications? yes, iis6 is running in 32 bit mode temporarily... it is an old report, but I did upgrade it to 10.5. help!

here's the stack dump:

Default Exception:CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80004005): The Report Application Server failed 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.ReportDocument.Load(String filename) at PickTicketServer.PickTicketServer.PrintPickTicket(Int64 INlngOrderID, Boolean INblnPickOrPack, Int64 INlngCompanyID)

A: 

Does the user that you are running under have access privileges to the printer? That could cause this error.

Ed Swangren
no, it runs under a proper account. It will spit out 100 orders and then totally fry on me. it's either db deadlock or timer in win service is overloapping; i.e., timer1.enable=false isn't keeping it off and I getting multiple reads and sends, although doubtful, or lastly, I am thinking 32bit vs 64bit installs of crystal msi. I have been in 64bit hell for a year now. getting 1.1 framework running on 64 bit win2k3 is painful.
Paul
A: 

You're not clearing your objects on memory, the it crash, try to dispose the object after you used.

katty ross