HOW TO: FIX ERROR - "the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine"
The problem arises when you have your application compiled for AnyCPU Platform, you are running on a 64bit system and the installed ADO.NET provider (Microsoft ACE.OLEDB.12.0) is the 32bit version. Fig. 1 To resolve the issue, you need 64-bit Windows along with 64-bit MS Office. And download and install " Microsoft Access Database Engine 2010 Redistributable" from here: http://www.microsoft.com/en-us/download/details.aspx?id=13255 Another option is to deinstall the 32bit version and install the 64bit version of ACE from here and then run you application as AnyCPU on 64bit systems. But this could be a nightmare for your deployment scenarios But wait, there is a simple workaround to resolve the issue. The simplest workaround is to change the Target Platform of your 64-bit application to 32-bit through Visual Studio menu BUILD -> Configuration Manager -> Active Solution Platform -> x86 Fig. 2 Fig. 3 ...