On 06.06.2021 at 07:06, 'Hugo Larson' via firebird-support wrote:
> Tomasz,
> I checked and all these DLL exists in my Windows XP installation.
>
Fortunately, I dug out one of my old XP VM images and was able to do
some sniffing around with ProcMon from sysinternals (version 3.10, which
works on XP, is still available from webarchive).
It turns out vcruntime140.dll is to blame. It tries do load a DLL named
api-ms-win-crt-runtime-l1-1-0.dll (from a couple of default locations).
This dll is not present in XP by default. I've got this DLL in my Win10
machine, but this is my dev machine, with full Visual Studio and Win10
SDK installation, so that's no proof, it is still possible this DLL
would be missing in a fresh install of Win10, so in fact the same
problem actually may occur in other versions of Windows as well. I've
checked a few Win10 machines at my disposal and they all contain this
DLL, but none of them is a "fresh install" - it might have been
installed with other software.
Since vcruntime140.dll is a part of Visual C++ Runtime for Visual Studio
2015, I downloaded and installed VC redist 2015 package
(
https://www.microsoft.com/en-us/download/details.aspx?id=48145) in my
XP VM and it seemed it solved the problem. I was able to run FB instance
via firebird -a (the tray icon appeared and I was able to check the
server version). However, I was not able to create a new database from
isql, nor to use gbak to restore the db from a backup (in both cases
getting an error message saying "this function is not supported by this
version of the operating system"). However, that might have been caused
by some FB4 misconfiguration on my side (or, to be honest, a total lack
of such - I just unpacked the FB4 32-bit zip archive and started to play
with it).
So, my advice is: install VC++ 2015 runtime, install and configure FB4
according to the manual, and test if it works. It kind of partially
worked for me ;), but this error message about system version doesn't
look good.
Or maybe just stick with your current version of FB on XP (it won't stop
working, will it?) and migrate after your legacy XP users finally upgrade.
If someone could verify if api-ms-win-crt-runtime-l1-1-0.dll is present
in Win10 by default, it would be nice to know. If it doesn't, it might
be necessary to install VC2015 redist package together with FB4 to run
the server (regardless of the Windows version).
Sorry my letter ended up so long, I was kind of "writing while doing" :)
regards
Tomasz
p.s. Apart from api-ms-win-crt-runtime-l1-1-0.dll, vcruntime140.dll has
a bunch of other api-ms-win-crt-xxx-l1-1-0.dll dependencies (xxx =
string, heap, stdio, convert, math, time, utility, filesystem, environment).