Error 800a0e7a "Provider_cannot_be_found" on IIS7 when using Enable32bitAppOnWin64Issue
When using Enable32bitAppOnWin64 to run 32-bit applications or components on the x64 edition of Windows Server 2008 the following error may be seen in the IIS logs when creating an ODBC connection in a classic ASP:
YYYY-MM-DD HH:MM:SS 192.168.1.100 GET /page.asp |20|800a0e7a|Provider_cannot_be_found._It_may_not_be_properly_installed. 80 - 192.168.1.100 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+WOW64;+SLCC1;+.NET+CLR+2.0.50727) 500 0 0 0 Example ASP Code:
ResolutionThis is because the OLEDB Provider is a native x64 application and is registered with the native x64 registry (HKEY_LOCAL_MACHINE\SOFTWARE), where as the 32-bit IIS worker process (w3wp.exe *32) is using the WoW64 redirected registry (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node).
To resolve the issue either install the 32-bit version of the OLEDB Provider, or disable Enable32bitAppOnWin64. Further Information Windows Server 2003 SP1 enables WOW64 compatibility for 32-bit Web applications in IIS 6.0 http://support.microsoft.com/kb/895976 Registry Redirector http://msdn.microsoft.com/en-us/library/aa384232.aspx The Microsoft OLE DB Provider for Jet and the Microsoft Access ODBC driver are available in 32-bit versions only http://support.microsoft.com/kb/957570 Products
Microsoft Internet Information Services 7.0
Created: 2nd June 2009 |