How can I deploy a .NET application that uses ODAC without installing the whole component to the user?

ghz 1years ago ⋅ 9500 views

Question

I have written a C# application that connects to an Oracle 10g database. Using Oracle Data Access Component 11.2 "ODAC", it works perfectly on my machine.

And now I want to deploy the application and install it in another "clean machine" that has the .NET Framework only! And I don't want to install the whole ODAC component to the user!

How could I do that? I have tried to include all the necessary DLL files to my bin folder, like:

  • oci.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • oraocci11.dll
  • oraociicus11.dll
  • OraOps11w.dll
  • msvcr71.dll

But still it didn't work. What should I do to solve this problem?


Answer

I'm not sure whether your concern is about having to install the Oracle client in addition to the ~50 MB ODAC install or just the standalone ODAC.

If the concern is about having to install the Oracle client and the ODAC, you can use the [Oracle Instant Client](http://www.oracle.com/technetwork/database/features/instant- client/index-100365.html)? That's the smallest footprint method for installing the Oracle client. You'll also need the ODAC xcopy supplement.

If your concern is just the ODAC install, I don't think there is a smaller footprint available.