First I have both 11 and 12 oracle client on my machine. But when i try to use 11g version of oracle.dataacess.dll .
I already remove a 12c register on regedit and stop service and machince.config related. but the program was throw "Unable to load oraops12.dll..".
Which path that oracle.dataacess find a config for dll? Why did it still try to load oraops12 not oraops11.
Thank you in advance.
There is a policy file in your GAC that is using the "bindingRedirect" tag
Policy.2.112.Oracle.DataAccess.config
Do a search for the file (I use Agent Ransack) then edit it.
The contents of the file look like this
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/>
<bindingRedirect oldVersion="2.112.2.0-2.112.9999.9999" newVersion="2.121.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
For some reason, if you install Oracle 12, then try and uninstall it (even using gacutil.exe /u), the binding redirect is left in.
On my machine, it was in C:\Windows\assembly\GAC_32\Policy.2.112.Oracle.DataAccess\2.121.2.0__89b483f429c47342\Policy.2.112.Oracle.DataAccess.config
It is inaccessible via explorer, use agent ransack to track it down, then right click it and open it in an editor.