Installing Microsoft Office Data Connectivity Components

Pretend for a second that you are an application developer, developing in VB.Net, and you find yourself needing to work with an Office-based data file (like Access or Excel). So, you write your code, put together your connection string, and go to run your program. Maybe the program works on your workstation, maybe it doesn’t. The real problem is that the code bombs out when you run it on your web server. You get an error that looks like this:

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

Now what? Well, the error should be pretty clear to anyone working with OLEDB or ODBC connections. Whenever you go to make a connection to a database, using a database API to do so, you need to have the appropriate drivers installed. If you have the latest version of Office (2007+) installed, then you may already have the necessary drivers. If you don’t (and you really shouldn’t on a server), then you’ll need to separately install the drivers. They can be a bit hard to track down, but here is what I’ve found.

I’ve had good luck with these drivers on both Windows 7 64-Bit and Windows Server 2008 R2 (only comes in 64-Bit).

2007 Office System Driver: Data Connectivity Components

This will install the Office 2007 drivers. Since the Access and Excel file formats haven’t changed since 2007, these drivers work just fine with Office 2010.

Alternatively, you can try these drivers, but most find that they don’t work. They should, since they’re simply updated drivers, so something else must be going wrong. Perhaps other users aren’t installing the appropriate version? Regardless, the 2007 drivers work, so non-working 2010 drivers isn’t a critical problem.

Microsoft Access Database Engine 2010 Redistributable

You’ll be given the option to download both 32-Bit and 64-Bit 2010 drivers. Install whichever is appropriate for your system.

And with that, everything magically works!

Or not. Still getting the error, and just happen to be running a web app in IIS7? Well, then you’ve got one more step to take. In IIS7, find the Application Pool being used to run your web app, right-click on it and select Advanced Properties. The second option down is ‘Enable 32-Bit Applications’. Make sure this option is set to True, and your app should be good to go.

Finally, check for Windows Updates. You’re likely to find a few updates for the data connectivity drivers eagerly waiting to be installed.

And with that, everything magically works!


  • Vladimir Khomyakov

    Thank you! ^-))