Subject RE: [firebird-support] Re: Multiple FB 2.0 servers and silent installs...
Author Jarrod Hollingworth
As you mentioned Windows I have the following comments.

> > 2) Is there anything special we need to do to make sure our version of
> > firebird.conf and the rest of the server support files is used? Does
> > FBServer.exe look in the startup directory first before looking into
> > the registry at the installed instance folder?
> (Yes - based on the fact that we have installed our own instance of
> Firebird and have not defined anything in DefaultInstance and get no
> errors...)

With the current source code all firebird 2 server instances* on Windows
determine the directory where firebird.conf is loaded according to the
following (in order):

1. Environment variable: FIREBIRD
2. Registry: HKLM\SOFTWARE\Firebird Project\Firebird
3. Parent directory of the firebird server exe*

* The embedded build determines number 3 as the directory where the EXE that
loaded the embedded server DLL is located and not its parent directory.

So the problem is that if you rely on rule number 3 (deploy your own
fbserver.exe, firebird.conf in its parent folder) then as soon as someone
installs a regular Firebird 1.5 or 2.0 installation the registry key in
number 2 is created and now ALL servers will use the SAME firebird.conf file
(and aliases.conf).

The firebird 2.0 code is better than 1.5 in that there is a new
un-documented (as far as I could see) command line parameter -s
<InstanceName> but unfortunately it is not used in step 2 above. At first
glance it looks like an easy fix/change to the source but I'd need to do
some testing to check initialization order (the Config object determines the
directory when the object is created and if it is created before the command
line args are parsed then it won't have the instance name yet).


Jarrod Hollingworth

* Are your projects profitable?
* Are you billing your customers accurately?
* Where do you or your staff spend their time?
### Complete Time Tracking ###
### EASY, ACCURATE and FLEXIBLE time tracking ###
### for single or multiple users. ###
### ###
* Buy Now * Risk free with our 30-day money-back guarantee.
* Download * Try it fully functional for 30 days.