Tests with MSVC8 runtimes and Firebird 2.1.1
For all those who followed this thread, I will sum up what we have
found out:
Up until FB 2.0 it was possible to deliver a Firebird Client or a
Firebird Embedded Server by just copying the files like fbclient.dll
or fbembed.dll (and a few others) together with the MS VC Runtimes
(msv*.dll) into one folder.
Starting with MSVC8 (which is used by Firebird 2.1) and Windows XP,
just having the MSVC files in the same directory is not sufficient any
more. They have to be “installed correctly”. I don’t know what that
means exactly, but in effect it means they have to somehow be
magically teleported to the Windows\WinSxS directory where they get
funny names.
As this takes the simplicy out of Firebird Client/Embedded
installations it is considered a problem by many. Having to touch the
Windows system folders is something that can not be done in a lot of
situations, like installing a demo version of a Firebird application.
The MSVC8 runtimes consist of the files:
– Microsoft.VC80.CRT.manifest
– msvcp80.dll
– msvcr80.dll
Test Environment
—————-
The situation gets better with newer XP Service Packs and Windows
Vista, where the MSVC8 runtimes are already installed. So I have set
up a clean Year 2002 Windows XP without any ServicePack or Patch/Fix
at all in a Virtual Machine.
Embedded Firebird 2.1.1
———————–
An Embedded Firebird installation using the files that you get when
you just use the files from the official Firebird 2.1.1 download does
NOT work. Windows is unable to load fbembed.dll.
When you replace the Embedded Server files with the files that Vlad
and Dmitry provided here
everything is fine.
Conclusion: Using the files from the download link above you can use
Embedded Firebird with all Windows versions.
Firebird Client 2.1.1
———————
fbclient.dll is somehow magically compiled in a way where it is
sufficient to have the MSVC8 runtime in the same folder.
There is one exception: When the folder is on a UNC path, the Windows
Loader has problems to load the fbclient DLL.
Workaround: When you map the network path using a drive letter, it
works.
This problem is gone with XP ServicePack 1 and later.
Conclusion
———-
Firebird 2.1.1 can be installed by just copying files and without
touching the Windows system folders. For Embedded installations,
replace the respective files by the files from the above link.
For old XP systems, install the latest ServicePack or map your network
shares as a drive letter.
A Chistmas Wish to the Developers
———————————
Do unto the 2.1.2 DLLs what you have done unto the files in the above
link.