Subject Re: [ib-support] Windows Installer for Firebird
Author Paul Schmidt
On 2 Mar 2002 at 18:13, Paul Klink wrote:

> Hi,
>
> Our company has developed a desktop application which uses Firebird as
> its local database. (The application is NOT client/server. However
> we decided to use Firebird for its capabilities.)

You might want to think about this, suppose a customer wants to run copies on 4
different PC's and colaborate on the data, the idea that you could make one
machine a server, and have the other 3 use it, can be a big selling feature, and
could mean selling multiple licences. The ability for the customer to install FB
server on an existing WinNT, Win2K, Linux, Solaris, HP/UX, AIX, FreeBSD or Mac
OS-X (apologies to any platform I missed) server machine and pointing the
workstations to the server, extends your market, without requiring a large time-
investment on your part. Hint, you add a couple of registry entries, to identify the
server and database path.

> We are now looking at the installation of the application. Our
> installation obviously needs to include a minimal Firebird client and
> server installation - preferably occuring silently in the background.
> We are targetting all Win32 platforms.
>
> Our preference is to use Windows Installer (something like Wise for
> Windows Installer). Are there any Merge Modules for this around
> already? Or should we develop our own installation by copying the
> other installation scripts (Inno Setup etc.).

There are really only a couple of components that you need, gds32.dll and some
registry entries regarding the current version stuff. Unless you need the high
powered features of Wise or Installshield, Inno seems to work well and the scripts
are available on line (or they are supposed to be).

> Also it is possible that some of our customers will already have
> Interbase installed (maybe for other applications). We would not want
> to affect their existing Interbase installation. How do we make
> Firebird and Interbase run side by side? Or should we just use the
> existing Interbase installation (we use Delphi DBExpress to access the
> database)?

You can't, there are two problems, one is the above named gds32.dll, this file needs
to be overwritten in order to install Firebird. You could simply overwrite this file,
except for one small problem, the ambiguous field bug, which Firebird fixes, but
Interbase doesn't (so far). The problem is this:

Suppose you have two tables, each has a field called X, and as part of a multi-table
join, you join the two tables, and include the field X but without specifying which one
you want. The engine can not guarantee that each time you run the same SQL you
will always get the same one.

The firebird team, decided, after asking users and developers, that this situation
should return an error, so that it can be caught during the debug stage, rather then
waiting until you find out six months into production that a result has been wrong
most of the time. Borland has not yet fixed this error, in Interbase AFAIK.

So, how does this relate, old Interbase SQL could have ambiguous fields, that
Firebird will catch, but Interbase will not. You need to warn customers who have old
Interbase installations, of this fact.

IMNSHO ambiguous fields, are a sign of sloppy SQL programming, I was one of the
ones who voted to post an error, because even the best programmer may not know
every field on every table, especially when you have tables with over 100 fields, and
there are over 100 tables.



























> Any help and suggestions would be appreciated.
>
> Thanks
> Paul Klink
> Paritech
>
>
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~--> Tiny Wireless Camera under $80! Order Now!
> FREE VCR Commander! Click Here - Only 1 Day Left!
> http://us.click.yahoo.com/nuyOHD/7.PDAA/yigFAA/67folB/TM
> ---------------------------------------------------------------------~
> ->
>
> To unsubscribe from this group, send an email to:
> ib-support-unsubscribe@egroups.com
>
>
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>
>

Paul Schmidt
Tricat Technologies
paul@...
www.tricattechnologies.com