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 22.214.171.124).
In our application directory the DLL version is 126.96.36.199.
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 !