Subject AW: [firebird-support] Manual firebird installation
Author Steffen Heil
HI

> I want to use firebird as my database along with my application. The point
is that the end-user should not mess with the database, in fact it should be
completely transparent that the database was installed along with my
application. I develop and deploy on Win32 with Superserver.

So, use embedded server and you are fine. No need to setup the server, no
need for sysdba password mess, no need to start / stop the server, nothing.
No collisions with other firebird installations, no tcp/ip required at all,
no port problems.
It might even be a little faster, since no other connection can be involved
at all.

> 1. 'fbeserver -a' starts the server loading the tray icon control panel
also.

Right, that is what it is for. -a stands for application.

> I don't want that. I tried 'fbserver' without the -a switch. Looking in
process list the fbserver.exe was there.

I assume, this is simply service mode. (Though the service is not correctly
initialized by the service control manager, no port is bound and nothing
will work.)

> Starting again 'fbserver' I saw 2 instances of fbserver.exe in process
list.

Right, see above.

> Why does the server start without complaining that the port is already
bind?

I don't know in detail, how services work. But without -a, Firebird will NOT
start as application.

> How can I stop the fbserver instance when my application stops? The only
wai I found is by killing it mercilessly.

You could send a WM_CLOSE message to it's window, which is still a little
hard. There is no was to stop firebird.
Application mode was IMHO only developed to overcome the absence of real
services on windows 95/98/me. It is designed to start on windows startup and
shutdown on windows shutdown.

Embedded server is designed for what you need.
You should be able to use it in your applications, WITHOUT changing more
than one line of code. Simply replace the dll an use a suitable connection
string.
You could even give this as an option to your user, so that when more users
want to connect to the same database, they can still switch to super server.
(This is not possible with your use of super server, because shutting down
your application would stop firebird - killing all connections from other
users.)

Regards,
Steffen