Oracle ODT with only xcopy deployment / no installation
922593Apr 11 2012 — edited Apr 11 2012We are developing a client/server tool and are changing the DBMS from MSSQL to Oracle, keeping the Entity Framework in our DAL. The server is only x64 and prepare the data for the client which is a x86 Winform application. No ASP or web.dll stuff here, both server and client are indeed compiled with ".NET Framework 4 Client Profile".
Until now, we succeeded to install all third party components only with xcopy deployment, i.e. without installing them on every developer computer nor in the productive server.
The current challenge is to do so also with the Oracle ODT x64. We added the reference to Oracle.DataAccess.dll but the issue it to know which files are required by it, we get the exception
"Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies."
For the record, our server is a fully managed application, it takes about 8 MB of exe and dll files. It seems it is going to be 10 or 20 times more if we add the oracle components...
Until now, I have found the following article:
http://www.logicaltrinkets.com/wordpress/?p=232
http://stackoverflow.com/questions/923283/what-is-the-minimal-setup-required-to-deploy-a-net-application-with-oracle-clie
http://www.thebestcsharpprogrammerintheworld.com/blogs/connect-to-an-oracle-database-without-an-oracle-client.aspx
which deal with the 32bits version. I am trying to apply the recommendation with the x64 client.
I downloaded the ODAC112030Xcopy_x64.zip from http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
Is there any documentation or success story for this kind of deployment?
Which files are really required by Oracle.DataAccess.dll?
All sources seems to agreed of the following as a must:
OraOps11w.dll (directly referenced by Oracle.DataAccess.dll according to Reflector)
oci.dll
then either oraociicus11.dll from full install in light directory (43MB) or oraociei11.dll from Xcopy_x64 (137MB). The first one should be English only while the latter support multi languages.
Some recommend adding also the following files, although I am not sure if is very required:
orannzsbb11.dll
oraocci11.dll
ociw32.dll
I've added all of them in my start up project, as "existing items" to be copied to bin directory. The server and client are starting, let's see how it will react when we have our databases migrated...
What about the Oracle Service For Microsoft Transaction Server (OraMTS)? Is it used by the .NET transactions?
Edited by: Eric on Apr 11, 2012 8:48 PM