Embedding Firebird 3.0X

With Firebird 3.0X releases there is no longer a separate install for embedded deployments.  In fact the guidance essentially is to use the ZIP package and customize it as desired.  If you want a minimal deployment, it’s difficult to know what files are absolutely necessary, unless you are very familiar with the project.

I recently had a need to distribute an application for testing, and didn’t want the users to have to install the Firebird server.  The target audience is also well suited to an embedded install, so I thought I would try it out.  With the help of ProcessMonitor and the aforementioned guidance documentation I discovered that the following files seem to be the bare requirements:

firebird.conf
databases.conf
plugins.conf
msvcr100.dll
msvcp100.dll
icuuc52.dll
icuin52.dll
icudt52l.dat
icudt52.dll
ib_util.dll
fbclient.dll
plugins\engine12.dll
plugins\fbtrace.dll

I am using Local DB access via FireDAC with Delphi 10.4 and tested this configuration by simply unzipping the files including my app, and the database into a Win7 VM and running it.  Firebird weighs in at about 16Mb where my app and it’s supporting DLLs are 40Mb with Debug info.

2 Responses to “Embedding Firebird 3.0X”

  1. Blake W. Says:

    >>
    With the help of ProcessMonitor and the aforementioned guidance documentation I discovered that the following files seem to be the bare requirements:
    <<

    Always read the docs regarding which files need to be deployed (or contact the developers on the forums), and avoid such detective work.

  2. Larry Hengen Says:

    @Blake,

    You actually quoted the sentence in which I indicated I read the documentation, which I found to be lacking, so rather than post on the developer forum and wait for a response which may or may not be forthcoming I did a little detective work. You’re welcome…

    I should have also mentioned that this is the file set for Windows since you so diligently read the article. Linux may of course be different.

Leave a Reply