views:

60

answers:

1

Our software installer install firebird if it is not present on the system and, as we are pursuing Win certificate the uninstaller should remove it but, we want to make sure that even if it was the installer that put it there, if any new software is using it now with a new database, we would not remove it (Firebird).

The question is: Is it possible to query the server and ask what are the databases running on it? This is it so that we can decide, automatically if we can remove the database or not.

A few extra info: Our installer is Innosetup and it does a good job already - we just trying to make it smarter because of the "Developed by" or "Compatible with" windows logo.

+2  A: 

You can query server for other databases being connected through MON$ tables. Alas, it will work only if connection is active at the time of uninstaller execution.

I would recommend to install Firebird into custom directory and use custom port number. This way you can safely uninstall server later.

Andrei K.
Hi there - thanks for the answer and sorry if the bellow comment is too silly:I am trying to use the MON$ tables to check for other database but for example, the MON$DATABASE only shows only the actual database were the MON$ table reside.The closest I got to it is with MON$ATACHMENTS - when I have two connections it shows it... but for the same database.The other approach, installing Firebird on a custom directory we will be trying this. Thanks.
Ronaldo Junior
Yes. I'm wrong. Through MON$DATABASE you can see only your connection.
Andrei K.
I am accepting your answer on the second paragraph.We will need to change our installer - so that the Firebird installed is "our" firebird and then we can do whatever we need.
Ronaldo Junior