Back a few years ago, before Microsoft Office 2010, life was a little easier for developers: Office was 32-bit, period.
As you know our days just got a little more complicated since that with Microsoft Office 2010, users can also install a 64-bit native version of Office as well.
This means to us developers that our 32-bit applications using an OLEDB Provider to connect to Excel or Access files might not work anymore since the 32-bit provider might not exist on a 64-bit Office 2010 installation.
In such cases, even though the user has a valid installation of Microsoft Office 2010 installed on his machine, your application might get an error as:
The ‘Microsoft.ACE.OLEDB.12.0′ provider is not registered on the local machine.
Well to address such problems Microsoft released a new redistributable named the “Microsoft Access Database Engine 2010 Redistributable”. This redistributable provides a 32-bit or a 64-bit version of the Microsoft ACE OLEDB Provider which can be downloaded here:
So if as a developer you have a 32-bit application using this OLEDB provider on a machine with a 64-bit installation of Office 2010 (such as the CodeFluent Entities Access Importer), you’ll need to install the 32-bit version of the provider.
Launching the install of a Microsoft ACE OLEDB Provider on a machine with an Office install other than the current one (e.g. 32 on 64) will cause the install to fail. To have it run properly you need to launch it from a command line with the “/passive” argument specified.
To install the Microsoft ACE OLEDB Provider 32-bit on a machine running Office 2010 64-bit:
$> AccessDatabaseEngine.exe /passive
To install the Microsoft ACE OLEDB Provider 64-bit on a machine running Office 2010 32-bit:
$> AccessDatabaseEngine_X64.exe /passive
Hope this helps,