Windows 7 x64/Windows 2008 : The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine.
There are times when the coexistence of 64 and 32 bit code on the same machine can cause all sorts of seemingly strange issues.
One of them just occurred to me while trying to run the ASPx demos from Developer Express, my main provider of .Net components (the best supplier I’ve ever been able to find).
I was getting the following error:![Server Manager](http://blog.nkadesign.com/wp-content/uploads/2008/10/sshot-6sm.png)
![Advanced Settings](http://blog.nkadesign.com/wp-content/uploads/2008/10/sshot-3.png)
One of them just occurred to me while trying to run the ASPx demos from Developer Express, my main provider of .Net components (the best supplier I’ve ever been able to find).
I was getting the following error:
The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine:
It may look otherwise, but this error is generally due to either of two thing:
- you don’t have Office 2007 Jet drivers installed
- or you are running a 32 bit application in a default x64 environment.
The first issue is easy to solve, just download the 2007 Office System Driver from Microsoft.
For the second one, the fix is easy enough:
- For Windows 2008: Navigate to Server Manager > Roles > Web Server (IIS) > Internet Information Services (IIS) Manager, then look under your machine name > Application Pool.
- For Windows 7: Navigate to Programs > Administrative Tools > Internet Information Services (IIS) Manager, then look under your machine name > Application Pool.
![Server Manager](http://blog.nkadesign.com/wp-content/uploads/2008/10/sshot-6sm.png)
Under there you can call the DefaultAppPool’s advanced settings to change Enable 32-Bits Applications
to True
:
![Advanced Settings](http://blog.nkadesign.com/wp-content/uploads/2008/10/sshot-3.png)