Click here to Skip to main content
15,742,619 members
Please Sign up or sign in to vote.
4.57/5 (6 votes)
before, I run a visual studio express 2008 version on 32bit, now I move it to 64bit, and it gives the following error:
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine

someone says that OLEDB 4 is not supported or compatible with 64bit.

then someones suggests change the target platform from any CPU to x86, unfortuantely, in visual studio express version, no such choice.

anyone has some suggestion?

by the way, I found microsoft intends to fool us.
Updated 9-May-21 23:39pm

You can set VB.Net 2008 to compile x86. Menu Tools, Options, select Progects And Solutions, check the show advanced build configurations. Now in the Build Menu you will be able to go to the Cofig Manager and set output to x86.
Share this answer
YOGESH GANGWAR 28-Aug-14 12:37pm    
I have Visual Studio 2010 installed on my system. I also face the same problem i.e. "The Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.". After setting output to x86 in place of x64, the problem gets resolved.
shailendrasingh031 5-Aug-15 15:47pm    
This worked for me as well .. supperb ..
I use two different machines for my automated testing. One is 64-bit Windows 7 and one is 32-bit Windows 7. Both run VS2010 Ultimate using an Access 2010 database for storing and retrieving the input data used by the scripts. My project (common to both machines) uses Provider .NET Framework Data Provider for OLE DB, so my database connection string is this...

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\...

Never had any problem with either machine.
Share this answer
I had this same problem occur all of a sudden and it wasn't a "Jet" problem as it previously worked, and then stopped working. As it turned out, the application pool that the site was running under had "Enable 32-bit applications" changed to "False". When I changed back to "True", the OleDb error went away.
Share this answer
Fiberspace 31-Mar-15 2:04am    
That worked for me too!!
pankaj023 20-Jul-16 10:30am    
On a new server install the driver form[^]

Then in IIS application pool do this
As it turned out, the application pool that the site was running under had "Enable 32-bit applications" changed to "False". When I changed back to "True", the OleDb error went away.
Member 12059722 25-Apr-17 9:13am    
Works great !!!!!
Member 10316958 22-Mar-19 3:25am    
Nice Solution Sir ....Thank You
lucasdaquina 22-Nov-19 14:39pm    
Worked for me too! Thanks a lot.
The Microsoft.Jet.OLEDB.4.0 provider is not registered on the local machine

Amphis Customer is designed to work on 32 or 64 bit PCs running Windows XP, Windows Vista, Windows 7 or Windows 8 Pro, but on Windows XP 64 bit (and possibly other operating systems) it is possible that some of the Microsoft OLEDB DLLs have not been registered.

The Solution No. 1. :-p

The solution is to manually register those DLLs.

go to Start->Run and type cmd
this starts the Command Prompt
(also available from Start->Programs->Accessories->Command Prompt)

type cd .. and press return
type cd .. and press return again (keep doing this until the prompt shows :\> )

now you need to go to a special folder which might be c:\windows\system32 or it might be c:\winnt\system32 or it might be c:\windows\sysWOW64
try typing each of these eg
cd c:\windows\sysWOW64
(if it says The system cannot find the path specified, try the next one)
cd c:\windows\system32
cd c:\winnt\system32
when one of those doesn't cause an error, stop, you've found the correct folder.

now you need to register the OLE DB 4.0 DLLs by typing these commands and pressing return after each

regsvr32 Msjetoledb40.dll
regsvr32 Msjet40.dll
regsvr32 Mswstr10.dll
regsvr32 Msjter40.dll
regsvr32 Msjint40.dll

Solution No. 2 :p

To resolve this issue open the project in Visual Studio then:

1. From the solution explorer right-click your project then click Properties
2. Click the Build tab
3. Change Platform target from: Any CPU to x86
4. Re-build your solution

By Shishir Kumar
Research Nilman Team (RNT)
Share this answer
Richard C Bishop 9-Aug-13 11:40am    
Nice solution. The second one did the trick for me.
1suresh 28-Aug-13 15:30pm    
It saved my time and really worked.. thanks for tht..
rambabujalli 17-Nov-13 11:19am    
The second solution worked for me,
thanks a lot dear
Member 10496240 5-Jan-14 23:29pm    
thank you it works..
Member 10504327 10-Jan-14 18:36pm    
It works! :D
There is indeed no 64 bit version of Jet - and no plans (apparently) to produce one.

You might be able to use the ACE 64 bit driver:[^] - but I have no idea how that would work if you need to go back to Jet for your 32 bit apps.

However, you may be able to switch the project to 32bit in the Express version (I haven't tried and don't have 2008 installed in any flavour anymore) - there is a thread here that talks about it:[^]

Maybe it's time to scrap Access databases altogether, bite the bullet and go for SQL server instead?
Share this answer
ACE requires Access runtime engine, I think, whereas if a Jet solution can be contrived, there is no requirement to have Access present on the local machine, since Jet (used to) come with Windows.

Thus I would hope that Solutions 1 and 2 continue to work for a long, long time. If not, my solution road map will probably suffer great harm.

I don't know of anything that works with minimal licenses like Excel & Jet solutions, with ADO as the connectivity library and JRO as the database management library.

I am still looking, it seems critical to stay on top of this rather then get left for dead by MS.

Bill Benson
Share this answer
Share this answer

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

  Print Answers RSS

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900