www.destructor.de
This article describes how to run Firebird based applications on Windows with the absolute minimum client installation required.
Your application needs access to the Firebird client library, fbclient.dll. The easiest way to do this is to put fbclient.dll in the same directory as your application's .exe file. You will find the original fbclient.dll in the bin\ subdirectory of your Firebird installation.
The Firebird developers use Microsoft Visual Studio to compile Firebird on Windows and they chose to compile fbclient.dll so it requires the Visual Studio runtime DLLs. Depending on the Firebird version used, these runtime DLLs have different names. The runtime DLLs are delivered together with Firebird so you don't have to download them from Microsoft.
As Windows (and Microsoft Office) itself also uses these runtime DLLs, quite often the users already have the required runtime DLLs installed on their system. However, you can not rely on this so it's safer to just deliver the runtime DLLs together with the fbclient.dll.
Make sure you use the correct 32 bit or 64 bit version of fbclient.dll. When your application is a 32 bit application, you need the corresponding 32 bit fbclient.dll – even when your application runs on a 64 bit machine. You can find the fbclient.dll in the Zip release package of Firebird.
That's it. Easy :-)
If you want to be 100 % correct, you should also copy IDPLicence.txt and IPLicence.txt to your client folder (especially when you deliver your application to customers).
Firebird Version | Required Files |
---|---|
Firebird 1.5 | msvcp60.dll msvcrt.dll |
Firebird 2.0 | msvcp71.dll msvcr71.dll |
Firebird 2.1, Firebird 2.5 |
Microsoft.VC80.CRT.manifest msvcp80.dll msvcr80.dll These files are updated automatically by the Windows Update Service. But only when they are "installed properly", which means they must be installed to the Windows Side-by-Side folder (usually Windows\WinSxS). The Firebird Windows Setup tool already does this. You can also use the MS Visual Studio runtime installer (vccrt8_Win32.msi), which comes in the system32\ subdirectory of the Firebird Zip distributable. This one, however, requires MSI 3.0. So the whole stuff results in Yet Another Microsoft Installation Nightmare. The easiest way to get these files is to download the Firebird Windows Zip Kit (e.g. Firebird-2.1.3.18185-0_Win32.zip), you will find them there in the bin\ subdirectory. |
Nothing. There's really nothing you'll have to do to the Registry on the client computer.
Nothing. There's really nothing you'll have to write to Window's system directories.
Yes!
You can put your application (.exe, fbclient.dll and MS runtimes) to a shared folder somewhere on the network. People just start your application and can directly connect to a Firebird database, without the need to install or configure anything on their local computer. No Registry settings, no Alias configuration. Just start the application. Isn't that great?
A "normal" InterBase access library uses gds32.dll as the client library. Firebird's client library is named fbclient.dll. When you use IbObjects (www.ibobjects.com), you can set another client library name.
IB_Constants.IBO_GDS32 := 'fbclient.dll';
Set the ClientLibrary property of your TIbcConnection instance to the name of the fbclient.dll library
before opening the database:
MyConnection.ClientLibrary := 'fbclient.dll';
You can specify the complete path and filename for fbclient.dll. When you just specify fbclient.dll without a path, the Windows Dynamic-Link Library Search Order will apply.
Stefan Heymann, 2004-04-11
Last revision 2013-01-20
This documentation is licensed under (choose your favorite): GPL, LGPL, CC, IDPL, GFDL, BSD, (did I forget one?)