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 :
Malek Chtiwi is the man behind Codicode.com
34 years old, web & software full stack developer.
Loves technology; but also likes design, photography and composing music.