Dan Kelly
Dan Kelly

Reputation: 2702

Delphi applications cannot connect to MySQL on Windows 11

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

  1. The applications are correctly finding and loading the supplied libmysql.dll file in the EXE directory

  2. 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.

  3. The Windows 10 version makes no attempt to load libmysqld

Upvotes: 0

Views: 307

Answers (1)

Dan Kelly
Dan Kelly

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

Related Questions