Microsoft – x64 bit – Error – The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

Microsoft – x64 bit – Error – The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

Have this old .Net Application that use Microsoft.ACE.OLEDB to connect to disparate data sources.

It stopped working due to my newly assigned 64-bit Windows 7 OS.

And, so I searched for ways to get it back up:

  1. Installed “Microsoft Access Database Engine 2010 Redistributable” x32 from http://www.microsoft.com/download/en/details.aspx?id=13255
  2. Tried installing “Microsoft Access Database Engine 2010 Redistributable” x64, but no luck as I already have 32-bit MS Office 2010 installed
  3. Tried accessing 32-bit command shell (%windir%\SysWoW64\cmd.exe) as documented in How to Open and Run 32-bit Command Prompt in 64-bit (x64) Windows (http://www.tipandtrick.net/2008/how-to-open-and-run-32-bit-command-prompt-in-64-bit-x64-windows/)

Nothing worked until, went Goggling and I found the posted listed below:

  1. Recompiling the code and targeting 32-bit (C:\windows\Microsoft.NET\Framework\v4.0.30319\csc /target:exe /debug /reference:log4net.dll /out:newapp_x32.exe newapp.cs /main:newapp /platform:x86)

References:

  1. Microsoft.ACE.OLEDB.12.0 provider is not registered   (http://stackoverflow.com/questions/238625/microsoft-ace-oledb-12-0-provider-is-not-registered)

2 thoughts on “Microsoft – x64 bit – Error – The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

  1. Hi, well your solution is fine, thanks,
    but my problem is with an a pre-compiled application that i cant change neither recompile..
    any other suggestions, would be appreciatted…

    • Marck:

      I will suggest a couple of things:

      1) Proceed to “Microsoft Access Database Engine 2010 Redistributable” (http://www.microsoft.com/en-us/download/details.aspx?id=13255) and download the 64-bit driver. Try installing that 64-bit driver and make sure that it shows up as a 64-bit driver in “ODBC Manager” or when you create a UDL.

      2) You can also try the 32-bit Microsoft Access Database Driver from the same MS Web Site. In a 64-bit OS, access that manager via http://support.microsoft.com/kb/942976

      3) If my dated recollection is for once helpful it is probably that you might have to choose between installing one or the other – Either the 64-bit or the 32-bit

      4) One other area you might want to explore is whether your Application is running as a 32 or 64 bit App. While the App is running, access Task Manager. You will see *32 if it is running as a 32-bit App

      In an earlier, I tried patching together ways I gathered from the .Net to distinguish between 32 and 64-bit – https://danieladeniji.wordpress.com/2011/06/23/microsoft-windows-os-is-your-application-32-or-64-bit/

      Please let me know if this helpful. If not, if you post the Application name & version, I can look a bit further in my own LAB Environment.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s