Microsoft.Jet.OLEDB.4.0 provider is not registered...

Problem

You get this error when running your application:

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

Install the Microsoft Jet Engine

Install the Microsoft Jet Engine on your system.  The Microsoft Jet engine is used by Iron Speed Designer to communicate with its internal Microsoft Access database.  Review the following links to download the latest version of the Microsoft Jet 4.0 Database Engine.

How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine:

http://support.microsoft.com/default.aspx?scid=kb;en-us;239114

How to keep a Jet 4.0 database in top working condition:

http://support.microsoft.com/kb/303528

64-bit installation and operation

Microsoft IIS must be run in 32-bit mode when running applications using Microsoft Access.  This is a limitation of the Microsoft Jet OleDB driver.

Using Microsoft IIS 6

Microsoft does not provide a 64-bit version of Microsoft.Jet.OLEDB.4.0.  If you are running on a 64-bit machine, you must switch Microsoft IIS from 64-bit mode to 32-bit mode.

Step 1:  Run this command line:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

Step 2:  In Iron Speed Designer select:

Build, Re-register ASP.NET with IIS...

If you do not have Iron Speed Designer installed on the 64-bit system, then you can re-register ASP.NET using the command line version.  See Verifying the .NET Framework was Installed after Microsoft IIS for details.

Step 3:  Exit Iron Speed Designer, and reboot your system to make these changes take effect.

Please note: When running applications using Microsoft Access, Microsoft IIS can only be run in 32-bit mode.  This is a limitation of the Microsoft Jet OleDB driver.

Using Microsoft IIS 7

Your application is assigned to one of the application pools in IIS 7.  This application pool must have ‘Enable 32-Bit Applications’=True.  For example, when your application uses the Default Application Pool, you can verify its settings using the IIS Manger to do the following:

In the Connections pane, select your application:

Click ‘Advanced Settings’ and verify the application pool used by your application.

Then select that application pool in the connection pane:

Click ‘Advanced Settings’ and set ‘Enable 32-bit Applications’ to True.

See Also

Part VII:  Troubleshooting Applications

Application Will Not Run

Application Runs But No Data is Displayed

Application Error Messages