Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
Posted on 2012-09-06
I am getting the above error on an application after upgrading to Windows 7. Here is what happened.
Had an older computer running Windows XP with MS Office 2010 installed on it. This computer also had a custom program that was written in VS 2008 running on the computer that utilized an Access database. The computer died and was replaced with a new computer that is running Windows 7. I reinstalled the custom program successfully (i.e. no errors during install) however when the program is started and tries to connect to the database I get the error "Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine".
I have spent many hours searching google for the error and found a link to download the driver from the "Microsoft Access Database Engine 2010 Redistributable". I downloaded and installed the 32 bit version of the driver because my version of Office 2010 is the 32 bit version. The install was successful (i.e. no errors during installation) however the error still exists when I run the custom program.
I installed the custom program on two other computers running Windows 7 but they had MS Office 2007 installed. In both cases, the custom program installed and worked successfully.
I found another link that suggested recompiling my custom program specifically for an X86 CPU instead of Any CPU which is the default in VS 2008. I did this and it still didn't work.
So based on what I have done so far, the problem seems to be with the combination of Windows 7 and MS Office 2010. Can anyone please help me resolve this problem? I have been working on this since Tuesday with no success! I appreciate any and all help!!