This discussion is archived
6 Replies Latest reply: Nov 29, 2012 8:41 AM by 528081 RSS

Creating a standalone .Net websetup including Oracle components

528081 Newbie
Currently Being Moderated
Is it possible to create a completely self-contained installer that deploys all the Oracle files along with the application (i.e. the user doesn't need to install instant client, mess around with configuring path environment variables, etc.)? It seems from http://alderprogs.blogspot.com/2009/04/deploying-odpnet-with-oracle-instant.html and http://stackoverflow.com/q/70602/173225 that it should be possible.

What if as part of the installer, I need to test a connection string entered by the user? That seems to be the sticking point for me. Even after installing the instant client (from the x64 xcopy zip file using install.bat), the installer is not able to connect to the database.

And, the application is 64 bit only (we need the 64 bit Crystal Reports runtime), meaning I've got the 64 bit Oracle instant client installed. I suspect that might be the problem since the msiexec installer process is 32 bit.

Any suggestions?
  • 1. Re: Creating a standalone .Net websetup including Oracle components
    Tridus Journeyer
    Currently Being Moderated
    If it's possible to use it instead, take a look at the new managed client beta. That's a single .net assembly you include in the project, no Oracle installation required. It makes this type of scenario vastly easier (in fact we fixed this problem in a project just two days ago by using it).

    http://www.oracle.com/technetwork/database/windows/downloads/odpmbeta-1696432.html
  • 2. Re: Creating a standalone .Net websetup including Oracle components
    528081 Newbie
    Currently Being Moderated
    My understanding (and experience so far) is that I still need some other Oracle DLLs. My problem is that I need the 64 bit bits available at runtime and the 32 bit bits available during install.

    Also, it seems like I need to have a config file or .ora files, which is problematic during install. Is it not possible to specify the connection settings in code only?

    Is it really possible to include just the managed client asssembly, nothing else, and have things work? It's possible my previous issues were due to Oracle connectivity being missing during the install, but I've tried so many permutations that I don't remember exactly what went wrong yesterday.

    Edited by: colin_young on Nov 28, 2012 5:33 PM
  • 3. Re: Creating a standalone .Net websetup including Oracle components
    Tridus Journeyer
    Currently Being Moderated
    That's what the managed client is specifically for, yes. One assembly included in the project (using Copy Local = true), and you've got Oracle connectvity. No installations and no extra DLLs. You can put the connection info into your config file with the application, so no .ora files are needed either.

    It's by far the simplest way to solve this problem.
  • 4. Re: Creating a standalone .Net websetup including Oracle components
    528081 Newbie
    Currently Being Moderated
    Thanks.

    But, is the .config file required? I need to make the Oracle call during install, so there is no config file (and I can't figure out if it it possible to have one for a custom actions project).
  • 5. Re: Creating a standalone .Net websetup including Oracle components
    Tridus Journeyer
    Currently Being Moderated
    Don't know, I've never tried it without one.

    I also don't know if it's going to work during install, unless your installer is a .net application itself. You could refactor whatever you're doing during install to do in a post-install application startup instead, which would get around that.
  • 6. Re: Creating a standalone .Net websetup including Oracle components
    528081 Newbie
    Currently Being Moderated
    Thanks. It would be nice to get some official feedback or guidance on installing. The existing documentation (on all Oracle client distributions, not just this beta managed driver) could charitably be called confusing.

    I tested the install using the EZ Connect syntax and it doesn't work (the custom action in the installer is .Net code and has a reference to the managed provider).

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points