Using devart assembly in the MSI installer

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
slaxman
Posts: 51
Joined: Wed 16 Sep 2009 20:09
Location: United States

Using devart assembly in the MSI installer

Post by slaxman » Tue 19 Oct 2010 21:35

We are using 'Installshield' to create MSI installer. There are ways to query the DB using the script support in 'InstallShield'. But that would require oracle client. So the motivation is to use 'dotconnect for Oracle' in direct mode to run queries during install. This is simple as long as the queries can be packaged in a managed dll(called custom action), which I see as no big deal. Now the real qn. is how do we set up the license for this custom action dll. Should the 'Licenses.config' file contain the Windows Installer executable 'Msiexec.exe' since it is the calling program that uses the dotconnect internally?

thanks

slaxman

StanislavK
Devart Team
Posts: 1710
Joined: Thu 03 Dec 2009 10:48

Post by StanislavK » Wed 20 Oct 2010 11:50

Yes, Msiexec.exe should be specified in licenses.config. Provided that any other executables are used during installation and refer to this assembly, they should be listed in licenses.config as well.

Feel free to contact us if you encounter any problems with implementing this scenario.

slaxman
Posts: 51
Joined: Wed 16 Sep 2009 20:09
Location: United States

adding the provider factory

Post by slaxman » Wed 20 Oct 2010 19:39

we'd like to use the Factory pattern for creating connections. Since we can't change the config file for MsiExec, I am hoping that having the following entry it in our assembly's config file will work. Please confirm.
-------






StanislavK
Devart Team
Posts: 1710
Joined: Thu 03 Dec 2009 10:48

Post by StanislavK » Thu 21 Oct 2010 09:20

The DbProviderFactories entry should be added either to machine.config or to app.config of the application; provider factories specified in the configuration file of the assembly will be ignored by the executable file. We can only recommend you to directly create Devart.Data.Oracle.OracleProviderFactory instead of using DbProviderFactories.GetFactory("Devart.Data.Oracle").

Post Reply