cancel
Showing results for 
Search instead for 
Did you mean: 

deploying crystal reports 8.5 - error in exporting to RTF & PDF

Former Member
0 Kudos

Hi guys. I'm at my wits end, trying to get a valid build of a legacy app running reports under Crystal 8.5 going.

I've scoured google for days, and I've tried almost everything people have suggested. At the moment I've got the installer working, it installs and registers all the crystal dll's that everyone says are needed. However, when I try and and export a report to RTF or PDF (other options like excel work fine), it simply dies, doing basically nothing. The save to disk dialog just closes and nothing happens. If I rename or delete crxf_rtf.dll, the program will crash or hang, indicating that this is the file responsible for exporting to rtf.

However, the only machine in our office that this will work on is one with a C:\Program Files\Seagate Software\crtslv.dll file.. Same kind of test indicates that on this machine, the above file is being used for exporting. So, where am I going wrong? It seems ludicrously difficult to find a straight, no-nonsense guide on how to deploy crystal reports 8.5; the official documentation doesn't even mention it! What is the easiest way to do this?

I have tried several third-party options ( http://www.fryan0911.com/2008/09/crystal-report-85-runtime-files.html ) like these..

Any ideas?

Ok so here's a further breakdown with some more information; hoping it might help someone to come up with an answer...

If I install a crystal "distributable", like the one linked above, and then install my project (with all crystal stuff turned off in the installer), everything works perfectly apart from exporting reports to rtf.

If I make my own installer, following the Runtime.hlp and the crpe32.dep, and put all dll's in the windows/system32 folder (apart from two, can't remember their names), I get two different errors, depending on the version of crpe32.dll I use.

One gives me "Error 20599: Cannot connect to SQL Server", whenever I try and run a report.

The other gives me "Error 20000: N", whenever I try and run a report.

Anything sound familiar here guys? I have dll dependency headache.

Again, more info - I just checked out the PC's already in deployment (we had to re-do in the installer for some changes, the guys who did it originally aren't around anymore), and here is a list of the dll's installed on the machine.. what deployment method would this point to? And how can I replicate it? I'm not sure if I grabbed all the required DLL's from the client machine, as it didn't seem to follow the Crystal 8.5 deployment instructions, I could have easily have missed some? So I can't just use what I've got to create an installer and hope that it works...

"C:\Windows\Crystal\P2LIFMX.dll"

"C:\Windows\Crystal\p2lora7.dll"

"C:\Windows\Crystal\P2lsql.dll"

"C:\Windows\Crystal\P2lsyb10.dll"

"C:\Windows\Crystal\p2sacl.dll"

"C:\Windows\Crystal\p2sexsr.dll"

"C:\Windows\Crystal\p2sfs.dll"

"C:\Windows\Crystal\p2sifmx.dll"

"C:\Windows\Crystal\p2smapi.dll"

"C:\Windows\Crystal\p2sNote.dll"

"C:\Windows\Crystal\p2sora7.dll"

"C:\Windows\Crystal\p2soutlk.dll"

"C:\Windows\Crystal\p2srepl.dll"

"C:\Windows\Crystal\p2ssql.dll"

"C:\Windows\Crystal\p2ssyb10.dll"

"C:\Windows\Crystal\p2strack.dll"

"C:\Windows\Crystal\p2bbde.dll"

"C:\Windows\Crystal\p2bxbse.dll"

"C:\Windows\Crystal\P2ldb2.dll"

"C:\Windows\System32\crviewer.dll"

"C:\Windows\System32\crxlat32.dll"

"C:\Windows\System32\CRXML15.DLL"

"C:\Windows\System32\CRXML15R.DLL"

"C:\Windows\System32\CRXML15S.DLL"

"C:\Windows\System32\CRxmlx07.dll"

"C:\Windows\System32\CRxmlx07r.dll"

"C:\Windows\System32\crypt32.dll"

"C:\Windows\System32\cryptdlg.dll"

"C:\Windows\System32\cryptdll.dll"

"C:\Windows\System32\cryptext.dll"

"C:\Windows\System32\cryptnet.dll"

"C:\Windows\System32\cryptsvc.dll"

"C:\Windows\System32\cryptui.dll"

"C:\Windows\System32\Crystl32.OCX"

"C:\Windows\System32\cscdll.dll"

"C:\Windows\System32\cpeaut32.dll"

"C:\Windows\System32\craxdrt.dll"

"C:\Windows\System32\Crbas14.dll"

"C:\Windows\System32\CRBAS15.DLL"

"C:\Windows\System32\CRBAS15R.DLL"

"C:\Windows\System32\Crdb214.dll"

"C:\Windows\System32\credssp.dll"

"C:\Windows\System32\credui.dll"

"C:\Windows\System32\Crgup14.dll"

"C:\Windows\System32\CRiadx07.dll"

"C:\Windows\System32\CRiadx07r.dll"

"C:\Windows\System32\Crinf14.dll"

"C:\Windows\System32\Crinf914.dll"

"C:\Windows\System32\Cror714.dll"

"C:\Windows\System32\Cror814.dll"

"C:\Windows\System32\crpaig32.dll"

"C:\Windows\System32\Crpaig80.dll"

"C:\Windows\System32\crpe32.dll"

"C:\Windows\System32\Crsyb14.dll"

"C:\Windows\System32\crtdll.dll"

"C:\Windows\System32\Crutl14.dll"

"C:\Windows\System32\CRUTL15.DLL"

"C:\Windows\System32\CRUTL15R.DLL"

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

So, the 1st problem is, from your info I can not tell what SDK the app is using. Your runtime runs the gamut of all the possible SDKs; "C:\Windows\System32\Crystl32.OCX";, "C:\Windows\System32\cpeaut32.dll";, "C:\Windows\System32\craxdrt.dll";, crpe32.dll. E.g.; the app mint be using the ocx, the cpeaut, craxdrt (rdc), crpe32 (print engine apis).

Use the [Modules|https://smpdl.sap-ag.de/~sapidp/012002523100006252802008E/modules.zip] utility to find out what dlls are loading on the computer that works. Then ensure that those same dlls are being installed on the runtime box - in the same directories. Also, make sure you are distributing the app on an OS that is supported by CR 8.5, E.g.; it more than likely will not work on WIN 7, Vista or Server 2008...

Also, see [this|https://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsReportDesignerComponentRuntimeDistribution-Versionspre8.0.xto12.0] wiki.

Umm, and yah - understanding the realities of the "real world", nevertheless it may be time to get with the times. You're only 10+ years behind the times so any help will be pretty hard to get.

Ludek

Edited by: Ludek Uher on Dec 6, 2010 7:11 AM

Former Member
0 Kudos

Yah, the real world.. If only we could - the project is being updated (tender has already been accepted by another company, will be done in a year), so this is just a fix to get it working for the last year of it's lifetime - hence the client doesn't want to update crystal.

So, report exporting (to RTF) works fine on the client machine, without the presence of crxf_rtf.dll - does this indicate anything? From everything I've read, that dll is required by crystal to export from the viewer to RTF. Also, the client does not have crtslv.dll or ExportModeller.dll...

Does that give you any ideas?

former_member183750
Active Contributor
0 Kudos

crxf.dll naming convention was started in CR 9. CR 8.5 and earlier, the naming convention was u2f.dll (e.g.; u2frtf.dll). CR8.5 and earlier would never, ever load a crxf*.dll. It has no idea these exist.

So, we're back to Modules and looking at the dlls loading on the working box to see what it is we're actually using. As I mentioned previously, we don't even know which SDK we're trying to configure here. In CR 8.5 the option would have been;

crpeauto.dll (Automation server)

craxdrt.dll / craxddrt.dll (Report Designer Component)

crstl32.ocx (OCX - I think sometimes called ActiveX)

crpe32.dll (Print Engine APIs)

Modules will tell you which of the above is loading by your app and it will tell you the versions of the dlls the app is loading.

Ludek

Former Member
0 Kudos

Ok... Did a modules run on the clients machine, got a difference file here of it against the process running here at work

[http://insightdesignstudio.com.au/jono/comparison.mdd]

So, most of the DLL's seem to be the same. Obviously 8.5 doesn't like Service Pack 3..

However it looks like compiling the project on SP3 and then trying to install it on a SP2 box doesn't work either? Does 8.5 only work with sp1?

And how come the modules utility shows that my box isn't running sqloledb.rll? this file exists and is in the same directory as the dll..

So at the moment all the installations we try, give us Error 20599: Cannot connect to SQL Server. Is this normal for 8.5 on xp3? I've installed and re-installed so many installers/third party runtimes/ etc that I think it's all a bit buggered on my dev machine now...

Edited by: jono_rogers on Dec 9, 2010 3:23 AM

Edited by: jono_rogers on Dec 9, 2010 3:29 AM

former_member183750
Active Contributor
0 Kudos

Wow. I've never seen an app load all 3 SDKs in one go. the RDC, Automation Server, OCS and print engine APIs all in one (?!)Who wrote this app?

Once again, I have not a clue as to what SDK you are using.

What Sp1, SP2, SP3? Do you have links to these?

Do you have any machine where this actually works?

1st place to start is with a working app - is there such a thing?

Next you want to know what SDK you are using.

Then you want to know what dlls to deploy.

Knowing the database connection type is good.

Knowing the version of the db client that works is good. But that depends on having an actual working app.

Do you have CR 8.5 designer and are you able to run and refresh the report there?

I'd recommend you stop doing what ever you are doing, answer the questions and wait until I get back. As it is, you're all over the place and by the time I have a chance to reply, you're 1000 miles out in the bushes on your own. So, please answer the questions above and wait...

Ludek

Former Member
0 Kudos

Wow. I've never seen an app load all 3 SDKs in one go. the RDC, Automation Server, OCS and print engine APIs all in one (?!)Who wrote this app?

Don't know - the app was written years ago.. It's all a bit messed up, i'm just the cleaner :S

Once again, I have not a clue as to what SDK you are using.

What Sp1, SP2, SP3? Do you have links to these?

By SP3, I meant Windows XP Service Pack 3, 2, 1 - I've read around the net that Crystal 8.5 exporting breaks when you install sp3, and I thought that perhaps my deployments were failing because they were compiled on a sp3 box?

There is also CR 8.5 Service Pack 3 - apparently it can make CR work on Vista/Win7?

http://resources.businessobjects.com/support/additional_downloads/service_packs/crystal_reports_en.a...

I have tried installing on dev machine, recompiling installer and running on test box - doesn't seem to help..

Do you have any machine where this actually works?

Yep, it's working on the clients machine - that is the one suffixed as "AA" in the linked difference file above

1st place to start is with a working app - is there such a thing? ^^

Next you want to know what SDK you are using.

Ok, so the VB6 app, under Project > References, lists : cpeaut32.dll

under Project > Components, lists: Crystl32.ocx

Is that any help?

Then you want to know what dlls to deploy.

Knowing the database connection type is good. - ODBC

Knowing the version of the db client that works is good. But that depends on having an actual working app.

Do you have CR 8.5 designer and are you able to run and refresh the report there?

Yep, I have 8.5 designer, and I can run and export the report fine.. But when I run MODULES on it, it's referencing C:\Program Files\Seagate Software\Shared\ExportModeller.dll & crtslv.dll.. Which don't exist on the client machine at this point in time..

I'd recommend you stop doing what ever you are doing, answer the questions and wait until I get back. As it is, you're all over the place and by the time I have a chance to reply, you're 1000 miles out in the bushes on your own. So, please answer the questions above and wait...

former_member183750
Active Contributor
0 Kudos

Sorry, two more questions;

Do you have the source code for this application?

Can you open it in VB 6 and build a new deployment project using the VB 6 Deployment and Packaging Wizard?

Ludek

Former Member
0 Kudos

Yes and Yes, but I've been using the Visual Studio installer app instead..

former_member183750
Active Contributor
0 Kudos

How do you determine what Dells to deploy? The VB 6 Deployment Wiz, uses .DEPT files - craxdrt.dep and crviewer.dep. Look at the content of those files and see if you can mimic that with the Visual Studio installer. Else, use the VB 6 Wiz.

Ludek

Former Member
0 Kudos

Ludek,

The first way I tried was to use the included deployment help that comes with CR 8.5; Runtime.hlp. It lists a whole heap of DLL's to include and where they should go. The second way I tried was through the .dep files, again including all DLL's and putting them in the correct spots. So pretty much exactly what you were saying - check out the .dep's and mimic it with the visual studio installer. Neither approach has given me any love at all - I simply get an error saying "Error 20599: Cannot connect to SQL Server", when I try and run a crystal report. However if I install a third-party product such as the one linked in the first post, it connects to the server fine, but won't load the RTF. Is this because it is using a different SDK?

However on both times I have been creating the installer on a machine with XP SP 3 - will this adversely affect things? Should I try building it on a machine with SP1 or 2?

Answers (1)

Answers (1)

0 Kudos

I know of others who used all 3 engines but in your case and .NET none of our components have ever been tested nor supported in .NET.

For the time it takes you to try to do this I suggest it would be much Quicker to simply update your app to use our .NET components and then you are on a supported platforms...

Good luck

Don

Former Member
0 Kudos

Thanks guys, finally managed to get it working.. in the end it was a combination of sloppy programming (old programmer had left two different connection strings in application, one for normal app, one for reports - even though both used the same ODBC connection - the reports one wasn't set correctly!), and just mind-numbing trial and error with different versions of dll's and so on in the installer.

Cheers for your help