Drago, William wrote:
>
> I did look at Installer.cs, but I'm not knowledgeable enough to
> understand what it's doing.
>

It modifies the registry and several .NET configuration files in
order to "install" the ADO.NET provider for System.Data.SQLite.

>
> I noticed "what-if" mode and maybe now I'm not so averse to
> running the setups.
>

That feature is dual purpose:  1) For being able to test the tool
without making any system changes and 2) Permitting end-users to
see what system changes would be made by the tool without actually
making any system changes.

>
> Back to my question... Some Windows applications claim to work
> with any database as long as you choose the appropriate
> "provider" from the drop down list. On my computer the providers
> listed are:
>

I suspect this is the list of ADO.NET providers managed by the .NET
Framework itself, via one of the aforementioned configuration files.

In that case, the installer tool is what you are looking for.  It
is possible to run the tool in such a way that it will only modify
those configuration files and nothing else.  Although, now that I
think about it, I think putting the System.Data.SQLite assembly in
the GAC may also be required for this.

Offhand, I'm not sure exactly what command line arguments you'll
need; however, they are all handled by the FromArgs() method.
They all set various fields of that class in order to alter the
behavior of the actual installation phase.  Here are some
(untested) command line arguments to try (all on one line):

        -install true -wow64 true -installFlags
        "CoreGlobalAssemblyCache DbProviderFactory"
        -tracePriority Lowest -verbose true -noCompact true
        -noNetFx20 true -noNetFx35 true -noNetFx45 true
        -noNetFx451 true -noNetFx452 true -noNetFx46 true
        -noNetFx461 true -noVs2005 true -noVs2008 true
        -noVs2012 true -noVs2013 true -noVs2015 true
        -confirm true

I've purposely omitted the -whatIf option from the above example
command line.  However, it would be required, with a value of
"false", if you actually wanted to make changes to the system.

--
Joe Mistachkin

Reply via email to