I have an XCOPY application for deploying .NET using Oracle.DataAccess (ODP.NET). We also deploy the Oracle Instant client in the application directory. Everything is working fine, but I'm worried ..
From the Oracle ODP.NET FAQs:
Starting with ODP.NET 10.1.0.3, the Oracle installer will register the following publisher DLLs in the global assembly cache (GAC) to redirect 9.2, 10.1, and 10.2 of the ODP.NET application to use the latest installed version of ODP.NET: Policy.9.2.Oracle. DataAccess.dll and Policy.10.1.Oracle.DataAccess.dll
This means that on computers where Oracle ODP.NET is installed, the version in the GAC will be used, and not the one that I deploy with my application. And because of the publisher’s policy, this version may be new than the one I deploy with my application. Oracle.DataAccess requires that the Oracle client (Instant) also be deployed with my application. These are native Win32 libraries, so my version will be used.
Is it possible that Oracle can upgrade Oracle.DataAccess to a newer version that may not be compatible with the Oracle Instant Client deployed with my application? And thus, a violation of my application in the future.
This is problem? And can I avoid this? Without installing / uninstalling anything on the machine, can I override the Oracle Publishers policy to ensure that I am using the version of Oracle.Dataaccess that I am deploying xcopy with my application?
For this version of ODP.NET, which versions of Oracle Clients support it? Will new versions of Oracle.DataAccess support older versions of Oracle (Instant) Client.
source share