My Delphi XE8 app MyApp.exe
fails with EOleException
ErrorCode = -2147024770 {$8007007E},
Message = 'The specified module could not be found'
Source = 'Microsoft OLE DB Service Components'
which unfortunately doesn't give name of the incriminated module.
The exception is raised during the very first attempt to access Interbase XE7 via ADO and IBProvider, using ConnectionString
Provider=LCPI.IBProvider.3.Lite;
Password=masterkey;
Persist Security Info=True;
User ID=SYSDBA;
Data Source=AFGIR;
Location=localhost/IBXE7D:E:\DvpData\Test.ADO\IB_XE7\AFGIRG7.IBXE7;
ctype=UTF8;
ctype_user=ACP;
dialect=3;
auto_commit=True;
dbclient_library="C:\Program Files (x86)\Embarcadero\IBXE7D\bin\gds32.dll";
The same ConnectionString without dbclient_library
property (i.e. with default client library) leads to the same error.
The modules present in memory just before and just after IB access attempt are the same (according to Process Explorer), namely:
advapi32.dll Advanced Windows 32 Base API Microsoft Corporation C:\Windows\SysWOW64\advapi32.dll
apisetschema.dll ApiSet Schema DLL Microsoft Corporation C:\Windows\System32\apisetschema.dll
atl.dll ATL Module for Windows XP (Unicode) Microsoft Corporation C:\Windows\SysWOW64\atl.dll
bcrypt.dll Windows Cryptographic Primitives Library (Wow64) Microsoft Corporation C:\Windows\SysWOW64\bcrypt.dll
bcryptprimitives.dll Windows Cryptographic Primitives Library Microsoft Corporation C:\Windows\SysWOW64\bcryptprimitives.dll
clbcatq.dll COM+ Configuration Catalog Microsoft Corporation C:\Windows\SysWOW64\clbcatq.dll
comctl32.dll User Experience Controls Library Microsoft Corporation C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll
comctl32.dll User Experience Controls Library Microsoft Corporation C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
comctl32.dll.mui Common Controls Library Microsoft Corporation C:\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_en-us_020378a8991bbcc2\comctl32.dll.mui
comdlg32.dll Common Dialogs DLL Microsoft Corporation C:\Windows\SysWOW64\comdlg32.dll
comsvcs.dll COM+ Services Microsoft Corporation C:\Windows\SysWOW64\comsvcs.dll
cryptbase.dll Base cryptographic API DLL Microsoft Corporation C:\Windows\SysWOW64\cryptbase.dll
cryptsp.dll Cryptographic Service Provider API Microsoft Corporation C:\Windows\SysWOW64\cryptsp.dll
dwmapi.dll Microsoft Desktop Window Manager API Microsoft Corporation C:\Windows\SysWOW64\dwmapi.dll
gdi32.dll GDI Client DLL Microsoft Corporation C:\Windows\SysWOW64\gdi32.dll
GdiPlus.dll Microsoft GDI+ Microsoft Corporation C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80\GdiPlus.dll
MyApp.exe MyApplication(Srv) MyCompany E:\Dvp\Delphi16\MyAppSrv\MyApp.exe
imm32.dll Multi-User Windows IMM32 API Client DLL Microsoft Corporation C:\Windows\SysWOW64\imm32.dll
kernel32.dll Windows NT BASE API Client DLL Microsoft Corporation C:\Windows\SysWOW64\kernel32.dll
kernel32.dll.mui Windows NT BASE API Client DLL Microsoft Corporation C:\Windows\SysWOW64\en-US\kernel32.dll.mui
KernelBase.dll Windows NT BASE API Client DLL Microsoft Corporation C:\Windows\SysWOW64\KernelBase.dll
KernelBase.dll.mui Windows NT BASE API Client DLL Microsoft Corporation C:\Windows\SysWOW64\en-US\KernelBase.dll.mui
locale.nls C:\Windows\System32\locale.nls
lpk.dll Language Pack Microsoft Corporation C:\Windows\SysWOW64\lpk.dll
mpr.dll Multiple Provider Router DLL Microsoft Corporation C:\Windows\SysWOW64\mpr.dll
msado15.dll ActiveX Data Objects Microsoft Corporation C:\Program Files (x86)\Common Files\System\ado\msado15.dll
msctf.dll MSCTF Server DLL Microsoft Corporation C:\Windows\SysWOW64\msctf.dll
msdart.dll OLE DB Runtime Routines Microsoft Corporation C:\Windows\SysWOW64\msdart.dll
msvcrt.dll Windows NT CRT DLL Microsoft Corporation C:\Windows\SysWOW64\msvcrt.dll
ntdll.dll NT Layer DLL Microsoft Corporation C:\Windows\System32\ntdll.dll
ntdll.dll NT Layer DLL Microsoft Corporation C:\Windows\SysWOW64\ntdll.dll
ole32.dll Microsoft OLE for Windows Microsoft Corporation C:\Windows\SysWOW64\ole32.dll
oleaut32.dll Microsoft Corporation C:\Windows\SysWOW64\oleaut32.dll
oledb32.dll OLE DB Core Services Microsoft Corporation C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll
oledb32r.dll OLE DB Core Services Resources Microsoft Corporation C:\Program Files (x86)\Common Files\System\Ole DB\oledb32r.dll
oledb32r.dll.mui OLE DB Core Services Resources Microsoft Corporation C:\Program Files (x86)\Common Files\System\Ole DB\en-US\oledb32r.dll.mui
riched20.dll Rich Text Edit Control, v3.1 Microsoft Corporation C:\Windows\SysWOW64\riched20.dll
rpcrt4.dll Remote Procedure Call Runtime Microsoft Corporation C:\Windows\SysWOW64\rpcrt4.dll
RpcRtRemote.dll Remote RPC Extension Microsoft Corporation C:\Windows\SysWOW64\RpcRtRemote.dll
rsaenh.dll Microsoft Enhanced Cryptographic Provider Microsoft Corporation C:\Windows\SysWOW64\rsaenh.dll
sechost.dll Host for SCM/SDDL/LSA Lookup APIs Microsoft Corporation C:\Windows\SysWOW64\sechost.dll
shell32.dll Windows Shell Common Dll Microsoft Corporation C:\Windows\SysWOW64\shell32.dll
shlwapi.dll Shell Light-weight Utility Library Microsoft Corporation C:\Windows\SysWOW64\shlwapi.dll
SortDefault.nls C:\Windows\Globalization\Sorting\SortDefault.nls
sspicli.dll Security Support Provider Interface Microsoft Corporation C:\Windows\SysWOW64\sspicli.dll
StaticCache.dat C:\Windows\Fonts\StaticCache.dat
user32.dll Multi-User Windows USER API Client DLL Microsoft Corporation C:\Windows\SysWOW64\user32.dll
usp10.dll Uniscribe Unicode script processor Microsoft Corporation C:\Windows\SysWOW64\usp10.dll
uxtheme.dll Microsoft UxTheme Library Microsoft Corporation C:\Windows\SysWOW64\uxtheme.dll
version.dll Version Checking and File Installation Libraries Microsoft Corporation C:\Windows\SysWOW64\version.dll
winspool.drv Windows Spooler Driver Microsoft Corporation C:\Windows\SysWOW64\winspool.drv
winsta.dll Winstation Library Microsoft Corporation C:\Windows\SysWOW64\winsta.dll
wow64.dll Win32 Emulation on NT64 Microsoft Corporation C:\Windows\System32\wow64.dll
wow64cpu.dll AMD64 Wow64 CPU Microsoft Corporation C:\Windows\System32\wow64cpu.dll
wow64win.dll Wow64 Console and Win32 API Logging Microsoft Corporation C:\Windows\System32\wow64win.dll
wtsapi32.dll Windows Remote Desktop Session Host Server SDK APIs Microsoft Corporation C:\Windows\SysWOW64\wtsapi32.dll
MyApp.exe worked fine 3 weeks ago. Nothing, as far as I remember, was changed in the source since. I suspect rather a "collateral" incoherence of the system. Meanwhile, System File Checker finds no coherence violation and DependencyWalker don't give me any pertinent (for me) indication.
Q1. Have you any idea how to pinpoint the error cause?
Q2. Does there exist list of all DLLs related to Microsoft OLE DB Service Components, or better, a program checking their coherent presence on a system?
Kind regards, JK