Category : .Net | Author : Chtiwi Malek | First posted : 3/7/2012 | Updated : 11/27/2012
Tags : windows, isapi, x64, microsoft, iis
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine

Today I started migrating one of my clients website to a new 64 bits server (Windows server 2008 / IIS7), the website was previously hosted on a 32 bits server (Windows server 2003 / IIS6).

Everything went well, except that a page doing some xlsx “xcell files” parsing is returning an error:
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

I have already installed the Office 2007/2010 Jet drivers, but if you are having the same problem, the first thing to do is to install it:

If you’re still getting the same error like me, then you’ll have to allow the IIS application pool to run 32 bit applications :

Navigate to Server Manager > Roles > Web Server (IIS) > Internet Information Services (IIS) Manager, then right-click on your website’s Application Pool and click “Advanced Settings”:

Set the Enable  32-Bit Application to TRUE.
This should enable IIS to run 32-Bit Applications in a default x64 environment, but I was getting another error:

HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.

After testing and digging a little deeper, I found two solutions :

1/ Migrate the website from Classic mode to Integrated Pipeline mode, and IIS will be able to run 32-Bit Applications.

If your website has httpmodules and httphandlers the manual migration process is not easy, so I advise you to update your Visual studio, recompile your website and publish it:

Microsoft Visual Studio 2008 Shell (Integrated) Redistributable Package:
Microsoft Visual Studio 2010 Shell (Integrated) Redistributable Package:

2/ Activate the 32 bit .Net framework in the ISAPI and CGI restrictions list :

- Navigate to Server Manager > Roles > Web Server (IIS) > Internet Information Services (IIS) Manager, click on the server name, open the "ISAPI and CGI Restrictions" window and allow access to the 32 bit .Net framework :

that's all, everything should be running just fine.

+ Alternative solution, Migrate to a 64-bit compatible OLEDB Jet driver version :

About the author :
Malek Chtiwi is the man behind
34 years old full stack developer.
Loves technology; but also likes design, photography and composing music.
Comments & Opinions :
I had the error of connecting Access database with .NET application in my windows 64-bits PC and could solve it by following the grate advice available here.

Thanks a lot.
- by Jayanitha on 11/2/2012
help me out i tried downloading the files upgrading but stil geting same problem
- by tau machimane on 10/15/2014
this proble soluthi
thank you your solution
- by sanjay on 11/30/2014
thanks alot....
really helpful.... i was stuck here... even Microsoft blog was not able to understand problm and provide solution.... Thank you...
- by kapil on 3/31/2016
Thanks a lot
It was very useful to resolve my issue quickly
- by Sudheendra on 8/11/2016
good post
that is the feeling of an Epiphany: I don't just want to work hard, learn to enjoy. Otherwise I still busy don't know why
- by sakekws on 12/7/2017
only post helps me on 20 google serp, thank you.
- by syd on 7/24/2018
Leave a Comment:
Name :
Email : * will not be shown
Title :
Comment :