Reputation: 2702
We currently have a large number of Delphi applications that communicate with a MySQL 8 server, which we cannot get to work on Windows 11. They currently connect correctly on Windows 10.
The applications are all distributed with the libmysql.dll
in the same folder as the executable along with an FDConnectionDefs.ini
defining the connections.
As I understand it, as the applications are compiled as 32-bit applications, they need to use the 32-bit MySQL driver, which the 5.7.37 version is the last available. When we try to run any of the applications we get the error:
Cannot load vendor library [...libmysql]. The specified module cannot be found
along with a hint to:
check PATH or EXE directories and x86 bitness.
We get the same error, but with the correct path, if we include an FDDrivers.ini
in the EXE folder.
FDAdministrator exhibits the same error if we copy it to the target machine with the same DLL and INI files in its folder.
Edit Following suggestions we have tested with ProcMon and found the following
The applications are correctly finding and loading the supplied libmysql.dll file in the EXE directory
The Windows 11 version is failing on trying to load libmysqld.dll
in addition to the libmysql.dll
. This is what is causing the error message.
The Windows 10 version makes no attempt to load libmysqld
Upvotes: 0
Views: 307
Reputation: 2702
It turns out that the issue is the version of the Visual Studio Redistributable that we had installed. The latest x86 redistributatle, that we had installed, does not work.
However the 2013 version does work. I will try the 2015 version as suggested by @re0sless
Upvotes: 0