|Subject||RE: [firebird-support] Deploying Multiple Applications That Use Firebird 2.5 Embedded Databases.|
>> Suppose I have three applications MyPasswordManager, MyToolManagerAt 11:27 AM 17/08/2011, Leyne, Sean wrote:
>> and MyMovieManager that each use a Firebird 2.5 Embedded database.
>> Now lets say that I have a customer who bought and installed all three of my
>> applications on the same machine.
>> What happens when this customer has all three of these applications running
>> on her computer at the same time?
>What do you want to happen?Actually, with v.2.5, you can separate the embedded Firebird components from the application components when you deploy. If you wish to have the three applications all use the same Firebird components, you can do so with 2.5, by deploying fbembed.dll and all the Firebird stuff into a common location *apart* from the application executable. Set the RootDirectory in firebird.conf to be the path to where fbembed.dll is.
>Since the apps are written by you and you are using the embedded engine, you have some choices. For example you could offer a central security repository which would share user profiles amongst your apps. In that case, the security/profile manager should be deployed as a separate element, otherwise you would not be able to upgrade the embedded engine without updating all of the applications at the same time.
>> Will this cause any issues?
>As long as you place the DLLs in the same folder the application EXEs and *not* a shared/common path (like System32) you will be fine.
Of course, the application must load fbembed.dll from its actual location instead of expecting it to be in its own directory...but, once it has done so, fbembed.dll (or fbclient.dll, if you have to rename it) knows where to find all the other bits.
Unfortunately, this information was omitted from the installation chapter of the initial v.2.5 release notes but it is included in the forthcoming v.2.5.1 notes.