Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Jet Ole DB 4.0 not registered 64-bt Win 2008

5.00/5 (3 votes)
1 Aug 2011CPOL 56.2K  
When running an ASP.NET application under 64-bit Win7/2008 you get jet 4.0 not registered error
I lost some time this morning due to this exception:

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

My scenario is that I have migrated a asp.net website from an aging Windows 2003 bit server to a spanky new Windows 2008 64-bit effort. The app uses Jet Ole DB 4.0 to read uploaded Excel spreadsheets and move the contents to our database.

I checked c:\window\SysWoW64 and there they are msjetoledb40.dll msjet40.dll etc, so Jet 4.0. Odd. It turns out that IIS7 disables 32-bit applications by default, you need to enable them through the app-pool settings. Instructions (and where I got the solution from!) here:
nkadesign blog windows 2008 the microsoftjetoledb40 provider is not registered on the localmachine/[^]

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)