The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
Scenario : you are trying to use this ACE OLEDB provider to programmatically import from an excel file in your ASP.Net 2.0 application running on Windows Server 2003 64 bit
What google / forums say: they tell you to change your target platform to x86 in VS 2008 and compile it, now unfortunately for a web app - you cannot do that. So we need to see some other means.
Some facts to know: IIS 6.0 does not have the capability to have different application pools running on different bits, whereas IIS 7.0 on Win 2008 Server brings in that capability. But here we are with IIS 6.0
ASP.Net 2.0 however supports both 32 bit and 64 bit and IIS 6.0 supports runing them in parallel.
This is what you need to do:
1. Enable 32bit on 64 bit App using the Adminutil script
2. Run Aspnet_regiis -i from the c:\windows\microsoft.net\framework folder - this represents 32 bit.
After that, your 32 bit ASP.Net code will run like a breeze.
SharePoint Central Admin and other sites might give an error after this : "Directory Listing Denied, This Virtual Directory does not allow contents to be listed"
In Home Directory of IIS --- Configuration I have added DLL location "c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" then it started working