Skip to Content
Former Member
Nov 03, 2009 at 09:49 AM

Crystal reports 8.5 runtime directories search order



We are deploying an application based on run-time crystal reports 8.5 SP3.

We connect to SqlServer via ODBC, using C++ API CRPE.H.

The runtime includes CRPE32. DLL + P2SODBC.DLL + Microsoft MDAC last version

Everything works fine, but we isolated a problem on a specific CITRIX server:

WINDOWS\CRYSTAL contains an old version of P2SODBC.DLL (version

In our application directory the DLL version is

We noticed that whatever system registery settings, CRPE32. DLL loads WINDOWS\CRYSTAL\P2SODBC.DLL instead of ours. (and before WINDOWS\SYSTEM32)

The best practice would be to remove that old DLL in WINDOWS\CRYSTAL but numerous applications on this server -could ?- be impacted.

Is there a workaround to force the runtime to load its DLLs from a specific place (best would be the directory from which the application loaded)?

Or, can we safely replace that old DLL with the new one without impact to other applications ?

It has taken weeks to isolate the source of our problem.

So, Thank you for your help !