Link to home
Start Free TrialLog in
Avatar of Knut Hunstad
Knut HunstadFlag for Norway

asked on

Deployment of legacy CRPE application

I have a legacy application using crpe-calls and .rpt-files for ages. On my new PC, I needed to update this application with new fields in lots of reports. My PC had never had CR installed previously and when trying to install my "CR9 update" version, it told my license was expired! So I downloaded a CR XI trial version to see if it works. After updating all SPs etc. I got this working with my application!

Happily, I updated all the necessary reports and made an installation package with the exact same files I had before, only updating the ones that were newer from CR XI (like crpe32.dll). Then I realized that the install didn't work...

After around 10 hours of looking through everything I could find on the topic, I finally got the installation itself to work, only now my PEOpenEngine call fails! So I feel I am very close, but don't have any clue of what to do next!

Could it be a matter of licensing? Do I need to install some sort of "runtime license" on PCs without full CR XI? Or have they deviously restricted the dlls in the trial version of CR XI to not to be distributable (without telling so)?

I have looked through the migration document on migrating from crpe to RAS, but that wasn't by far as helpful as I had hoped. It doesn't seem very likely that I will get that working within a few hours. And installing an old version of CR is no longer an option, since I have spent hours updating the reports and they can't be opened with the last version of the application.

So please note that I am _not_ looking for arguments about why I should migrate etc., I will reward points for those helping me get the new CR XI rpt-files to be opened with the crpe-calls in my application after installing in a previously non-CR environment (I test with VMWare, so it's like a totally "fresh" Windows XP PC)!
Avatar of Knut Hunstad
Knut Hunstad
Flag of Norway image

ASKER

After installing, here are the CR-related files (installed directly in the programs directory), think this should be sufficient:

2003-03-18  20:05            89.088 atl71.dll
2005-12-28  01:16         9.371.648 crpe32.dll
2004-12-07  23:18           117.248 crtslv.dll
2005-11-01  00:21           102.400 crxf_html.dll
2005-08-04  02:28           434.176 crxf_pdf.dll
2005-12-06  00:39           495.616 crxf_rtf.dll
2004-12-07  23:10           258.048 crxf_wordw.dll
2005-11-21  00:18           851.968 crxf_xls.dll
2004-03-24  10:56            24.576 Crxlat32.dll
2004-03-24  10:56           176.128 crxml18.dll
2004-03-24  10:56           847.324 Crystl32.OCX
2006-01-16  00:58         1.658.880 cslibu-2-0-0.dll
2004-12-07  22:32         1.261.568 cxlibw-2-6.dll
2004-12-07  23:02           708.608 ExportModeller.dll
2004-08-04  01:56           344.064 hnetcfg.dll
2004-03-24  10:56            17.920 implode.dll
2002-08-29  14:00           924.432 MFC40.dll
2004-08-04  01:56         1.028.096 mfc42.dll
2003-03-18  22:12         1.047.552 mfc71u.dll
2004-08-04  01:56         1.507.356 MSJet40.dll
2004-08-04  01:56           151.583 MSJInt40.dll
2004-08-04  01:56            53.279 MSJtEr40.dll
2004-08-04  01:56           241.693 MSJtEs40.dll
2000-05-22  16:58           166.600 MSMASK32.OCX
1998-06-23  00:00            84.000 MSOUTL32.OCX
2004-02-23  00:00         1.386.496 msvbvm60.dll
2004-10-07  20:40           348.160 msvcr71.dll
2004-08-04  01:56           343.040 msvcrt.dll
2002-08-29  14:00           253.952 msvcrt20.dll
2004-08-03  23:58            61.440 MSVCRT40.dll
2004-08-04  01:56            83.456 OlePro32.dll
1999-06-21  18:00            59.392 p2bbnd.dll
2004-03-24  10:56            94.208 p2bdao.dll
2004-03-24  10:56            53.248 p2ctdao.dll
2004-03-24  10:56            65.536 p2irdao.dll
2004-03-24  10:56           270.336 p2sodbc.dll
2005-08-04  02:24         2.603.520 pageObjectModel.dll
2005-10-16  23:41         1.247.232 ReportRenderer.dll
2004-12-07  23:12            39.424 u2ddisk.dll
2004-03-24  10:56            40.960 u2dmapi.dll
2004-12-07  23:12            86.016 u2fcr.dll
2004-03-24  10:56            36.864 u2fdif.dll
2004-03-24  10:56            45.056 u2fhtml.dll
2004-03-24  10:56            36.864 u2frec.dll
2004-03-24  10:56           122.880 u2frtf.dll
2004-03-24  10:56            36.864 u2fsepv.dll
2005-11-07  00:39           184.320 u2ftext.dll
2004-03-24  10:56            40.960 u2fwks.dll
2004-03-24  10:56           106.496 u2fwordw.dll
2004-03-24  10:57           212.992 u2fxls.dll
2006-01-10  00:24         1.714.176 webReporting.dll
2004-08-04  01:56           351.232 winhttp.dll
2004-08-04  01:56           359.936 wzcsvc.dll
ASKER CERTIFIED SOLUTION
Avatar of RickJ
RickJ

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
A very good tip! Because this was rather vague in the documentation, I have tried installing that manually (sometime last night), without success. I will repeat that procedure and give the result here ASAP.
Ok, I now added the following files:

crqe.dll
msvcp71.dll
libocasecurityw-1-6.dll
ebus-3-3-2-4.dll
etc-1-0-12-3.dll
libocahelperw-2-13.dll
fssl-1-2-1-1.dll
xerces-c_2_1_0.dll

which allowed me to register crqe.dll with regsvr32. Still the same error when running PEOpenEngine. I will try to see what error message I am getting...
I have now checked the error code and it is 512, with text: "Report engine not opened". Really helpful...
Avatar of RickJ
RickJ

I just read your question again..
You can not put your files in the program directory.
They need to be installed in the correct spot.
With Crystal 10 it is as follows.
C:\Program Files\Common Files\Crystal Decisions\2.5\bin
You should find a similar thing with your XI install.

Actually that is not quite correct... :)
You need a registry entry that tells crystal where to find the files.
If you look at you install it will be something like this..

HKEY_LOCAL_MACHINE>>SOFTWARE>>Crystal Decisions>>10>>Crystal Reports
And the key you are after is CommonFiles.
Where ever you point this to is where the files need to be installed.
The default location is as I said before.
C:\Program Files\Common Files\Crystal Decisions\2.5\bin

Please note that paths listed are for 10 not XI. They may be slightly different.
Thanks again for trying, but this one really is not simple!

I tried what you suggested, but that still isn't enough to make it work! I have now copied all registry entries from HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects and edited them accordingly to the files on the installation PC. Still the same error!

I have also tried installing the full version and then deleting c:\program files\Business Objects. That works! So now I nead to narrow this down to "where is the difference"... I am still not quite sure that there is no hidden "licensing" that happens during installation.

Suggestions still welcome!
After first refusing to help, I was able to persuade Business Objects to help me with this as one of the two free support cases you get when bying Crystal Reports! They pointed me to this excellent utility: http://support.businessobjects.com/communityCS/FilesAndUpdates/modules.zip.asp, which is very useful when you have an application working somewhere, but not on another PC. A few hours of dll-fiddling later, I finally was able to create a deployment to use my old crpe-application with rpt-files updated with CR XI! Without a single registry entry needed! But mind you, this is on my own risk, it is not supported anymore...

RickJ, I will award you a B for your efforts, beeing extremely delighted to finally have gotten through. You _do_ need crqe.dll, but FYI, you do _not_ need to install to the standard placement. I install everything to the application directory as before and it works fine. At least if you have this directory in your path, I haven't tried without.

For the benefit of anyone who wants to try this, here is the list of CR-related files I now am installing, which makes this tick:

<file dst="mfc71u.dll" src="%CrystalReportsLegacy%\mfc71u.dll"/>
<file dst="msvcr71.dll" src="%CrystalReportsLegacy%\msvcr71.dll"/>
<file dst="msvcrt.dll" src="%CrystalReportsLegacy%\msvcrt.dll"/>
<file dst="atl71.dll" src="%CrystalReportsLegacy%\atl71.dll"/>
<file dst="winhttp.dll" flags="reg_server" src="%CrystalReportsLegacy%\winhttp.dll"/>
<file dst="hnetcfg.dll" flags="reg_server" src="%CrystalReportsLegacy%\hnetcfg.dll"/>
<file dst="wzcsvc.dll" src="%CrystalReportsLegacy%\wzcsvc.dll"/>
<file dst="crdb_dao.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crdb_dao.dll"/>
<file dst="crpe32.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crpe32.dll"/>
<file dst="crqe.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\crqe.dll"/>
<file dst="cslibu-2-0-0.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\cslibu-2-0-0.dll"/>
<file dst="ebus-3-3-2-4.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\ebus-3-3-2-4.dll"/>
<file dst="etc-1-0-12-3.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\etc-1-0-12-3.dll"/>
<file dst="fssl-1-2-1-1.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\fssl-1-2-1-1.dll"/>
<file dst="libOCAHelperw-2-13.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\libOCAHelperw-2-13.dll"/>
<file dst="libOCASecurityw-1-6.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\libOCASecurityw-1-6.dll"/>
<file dst="xerces-c_2_1_0.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\xerces-c_2_1_0.dll"/>
<file dst="u2ddisk.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\u2ddisk.dll"/>
<file dst="prompt.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\prompt.dll"/>
<file dst="querybuilder.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\querybuilder.dll"/>
<file dst="crxf_html.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crxf_html.dll"/>
<file dst="crxf_pdf.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crxf_pdf.dll"/>
<file dst="crxf_rtf.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crxf_rtf.dll"/>
<file dst="crxf_wordw.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crxf_wordw.dll"/>
<file dst="crxf_xls.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\crxf_xls.dll"/>
<file dst="cxlibw-2-6.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\cxlibw-2-6.dll"/>
<file dst="objectfactory.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\objectfactory.dll"/>
<file dst="ReportRenderer.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\ReportRenderer.dll"/>
<file dst="saxserialize.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\saxserialize.dll"/>
<file dst="ufmanager.dll" flags="no_version,dont_ask" src="%CrystalReportsLegacy%\ufmanager.dll"/>
<file dst="pageObjectModel.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\pageObjectModel.dll"/>
<file dst="Crystl32.OCX" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\Crystl32.OCX"/>
<file dst="ExportModeller.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\ExportModeller.dll"/>
<file dst="crtslv.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\crtslv.dll"/>
<file dst="webReporting.dll" flags="no_version,reg_server,dont_ask" src="%CrystalReportsLegacy%\webReporting.dll"/>

I copied all of the files to a "Legacy" directory, so I know I have them in a safe place for next time...
Thanks khun,
I am glad you solved your problem.
I hope I helped in some way.

Rick.