Microsoft visual Studio 2008
Visual Basic Windows Forms Application
Crystal Reports 12.0.2000.0
Deploying on Windows Server 2003, Standard Edition
I have been having difficulty deploying a WindowsForms CrystalReports application that I developed. The specifics of my troubles all bottom out in the tangle of runtime and development redistribution files. It has taken some time for me to get to the point where I can see what is going on.
In order to save others from the pitfalls that I have encountered I wanted to give a short history.
I wrote a report.rpt that placed "Hello World!" in the header, no data, no dependencies. I created a simple application that instantiates a CRViewer and places a new report based on the input report in that viewer. Works great in house, and on most machines with the simple runtime.
My first crack at this application failed miserably on a Windows XP environment. When I launched the application nothing appeared to happen at all. This was disconcerting, but a check of the Event Viewer (Control Panel/Administrative Tools), revealed that the application was failing to load the form initialization. This was failing before my try catch block, which seems to be hitting other devs who have had troubles indicated on other forums. To get past this I removed the CrystalReportViewer widget from my actual windows form, and instead wiffled one into existence on the fly in my form load code:
Dim viewer As CrystalDecisions.Windows.Forms.CrystalReportViewer
Dim report As ReportDocument
viewer = New CrystalDecisions.Windows.Forms.CrystalReportViewer
report = New ReportDocument
Catch ex As ApplicationException
MessageBox.Show("Could not start viewer. "&ex.ToString(), "ApplicationException: ",MessageBoxButtons.OK ) End Try
This did not eliminate the trouble, but it did move the issue to inside an exception handler. What I learned from my handler is that there were missing assemblies from my installation. I began adding these assemblies into my installer one by one until I came to a working report. The missing bits were:
I then tried to reinstall the runtime library, as well as the runtime from my particular version of Visual Studio. I was able to remove the hand pulled libs from my deployment.
So, this brings me to the question: What should I do to create and deploy a simple application based on the CrystalReports development kit that I have purchased? What needs to be redistributed to the client's machine? Is there a common repository for licensed developers to get the missing bits? Is it expected that I have to install the VisualStudio redist and a machine specific runtime? Is there one thing that will get it done?
I am using CRRedist2008_x86.msi and Crystal2008.exe, this seems like too much...
Thanks in advance 😊