6 Replies Latest reply: Nov 29, 2012 10:41 AM by 528081 RSS

    Creating a standalone .Net websetup including Oracle components

    528081
      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
          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
            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
              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
                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
                  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
                    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).