The Oracle.DataAccess.dll assembly is installed as follows:
NET Framework 1.x
ORACLE_BASE\ORACLE_HOME\odp.net\bin\1.x directory
NET Framework 2.0
ORACLE_BASE\ORACLE_HOME\odp.net\bin\2.x directory
Documentation and the readme.txt file are installed in the ORACLE_BASE\ORACLE_HOME\ODP.NET\doc directory.
Samples are provided in the ORACLE_BASE\ORACLE_HOME\ODP.NET\Samples directory.
Upon installation, ODP.NET creates entries for configuration and tracing within the Windows Registry. Configuration and tracing registry values apply across all ODP.NET applications running in that Oracle client installation. Individual ODP.NET applications can override some of these values by configuring them within the ODP.NET application itself (for example, FetchSize). The ODP.NET registry values are located under: HKLM\Software\Oracle\ODP.NET\version\.
There is one key for .NET Framework 1.x and one key for .NET Framework 2.0 and higher.
The DllPath registry value is used to indicate the directory that contains dependent unmanaged DLLs.
The Oracle.DataAccess.dll searches for dependent unmanaged DLLs (such as Oracle Client) in the following order:
Directory of the application/executable.
Directory specified by:
HKEY_LOCAL_ MACHINE\Software\Oracle\ODP.NET\version\DllPath
Directories specified by the PATH environment variable.
Upon installation of ODP.NET, the DllPath registry value of type REG_SZ is set to the ORACLE_BASE\ORACLE_HOME\bin directory where the corresponding dependent DLLs are installed.
To enforce the usage of Oracle.DataAccess.dll assembly with the correct version of its unmanaged DLLs, an exception is raised if Oracle.DataAccess.dll notices it has loaded a mismatched version of a dependent unmanaged DLL.