Geeks With Blogs
Wil Peck Experience is something you get right after you need it.
Technorati Tags:

I recently ran into this issue when I tried to connect to an Microsoft Access database with a .NET application I had written.  In case you’ve ran into this issue on a .NET client application and you’re running on x64 you may need to change the Platform Target to x86 on the build tab your project properties in Visual Studio.  This will force your application to run in 32 bit mode.  IIRC MS has not and does not intend to build a 64 bit version of the OLEDB drivers which is what the error stems from.

Posted on Thursday, April 30, 2009 1:02 PM | Back to top


Comments on this post: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Thanks for the suggestion on this one. I have a C# method that uses OLEDB to read an Excel file (.xls) into a DataTable. It worked well on my development machine (x86) but when I tested it on our 64-bit uat box I got the Jet error. This could have taken hours to solve but your post helped me solve it in 5 minutes! Good start to the day!
Left by Nick Greiner on May 18, 2009 7:18 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Thanks for the tip. I have recently upgraded my dev machine to Vista 64bit, when I tried to run my apps which access OLEDB, they all failed. You saved me a lot of time troubleshooting or possibly going back to 32bit which I still think it may not be a very bad idea. I wonder if 64bit is more headache than it’s worth.
Left by Tony Arslan on Aug 21, 2009 10:00 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Glad I could help, I have been running 64 bit for a few months now and am glad I am just for the sheer fact I have 8GB of RAM :)

I haven't noticed any other problems related to running 64bit on my workstation. On my laptop however I have had some problems recognizing various hardware devices.
Left by Wil Peck on Aug 21, 2009 3:19 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
I am trying to do what you have suggested but I am unable to change the build platform in visual web developer 2008 express edition. it does not have any other option other than "Any CPU" in the Build configuration manager. Please help
Left by Anthony Bosco on Sep 16, 2009 3:06 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
@Anthony,
I am surprised that you cannot change the build platform in the express edition. Unfortunately I don't have time to download it and check it out myself. The compiler looks at the /platform: switch and uses its value, x86 in this case to build the assembly (csc.exe /platform:x86). Maybe you can specify x86 from the Build / Configuration Manager. Additionally you might do some checking around how you can specify compiler switches from MSBuild and just use MS Build directly to create your assembly. I did a couple of quick searches to see how to specify switches from Visual Web Developer but couldn't find any.
Left by Wil Peck on Sep 16, 2009 7:44 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
es un buen microsoft
Left by sergio gonzalez on Oct 03, 2009 10:21 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
IS GOOD MICROSOFT
Left by sergio gonzalez on Oct 03, 2009 10:23 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Connestion is not working
Left by T. Senthil Kumar on Oct 06, 2009 11:15 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Hi,
I am using Vista x64-based PC and got this error while it was working fine on the other PC with Vista x86-based PC.
For this open Your Project Properties > Compile > Advanced Compiler Settings (button at the bottom).

In the Advanced Compiler Settings dialog box change Target CPU: to x86. Save all your changes.
This worked for me.
Thank you
Left by Shivam Rajvansh on Dec 02, 2009 10:12 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Hi. My application is windows application. i am changing to target paltform to x86. when it run windows vista(64 Bit). the application has same error(The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.). what can i do resolve this issue?
Left by K.Prabakaran on Dec 16, 2009 9:15 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Can someone tell me how to change the target platform to x86.
Left by Jenarie on Jan 22, 2010 5:04 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
I recieve the error when I am deploying a SharePoint Sequential Workflow made in Visual Studio 2005 using MOSS SDK and Windows Workflow Extensions for Visual Studio 2005. When I change target CPU to x86 instead of x64 my workflow won't even run - which it does with x64 as the target CPU.
Left by Jakob Flygare on Feb 01, 2010 8:44 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
You cannot compile a class library into a the 32-bit assembly and use it in a 64-bit program in order for the assambly to act as a proxy that uses the Microsoft.Jet.OleDB.4.0 provider.
Left by Jakob Flygare on Feb 02, 2010 8:25 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Yea, that's correct. The assembly needs to run in WOW. That's why I sent you an email indicating you should configure your worker process to run in 32 bit mode.
Left by Wil Peck on Feb 02, 2010 10:26 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
WoW64 on IIS 6 is global meaning that it cannot be per apppool wheres on IIS 7 it can be per apppool.

The assembly cannot run in WoW64 - as you indicate - but can be compiled explicitly to 32-bit or 64-bit used a 32-bit or 64-bit worker process respectivly.

I.e., if I compile it to 32-bit I can use the Microsoft.Jet.OleDb.4.0 but in order to use the assembly I have to use a worker process in 32 bit mode.

In the case of IIS 7 a specific apppool can be configured to run in 32-bit mode or an entire IIS 6 has to run all its apppools in 32-bit.

In my case I use MOSS 2007 in 64-bit that runs on an IIS 6 and the workaround is to configure use af different IIS to run a webservice in a 32 bit apppool that uses the Microsoft.Jet.OleDb.4.0 and consuming this in a workflow run in 64-bit MOSS 2007.

If there is a better way pleases let me know. Wow64 is not an option.
Left by Jakob Flygare on Feb 02, 2010 12:18 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Thank you!!!
Left by Elio on Feb 03, 2010 10:26 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
microsoft.jet OLEDB 4.0 is not registered on the local computer
Can you help me to fix it.
Left by David England on Feb 15, 2010 1:46 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
@David England: Make sure the process is running as a 32 bit app from the task manager, if it isn't then follow the steps described in this post. You'll have to setup the project options to build 32 bit, if you just set the build configuration it will still build the application as a 64 bit app.
Left by wil peck on Feb 15, 2010 2:35 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Can you help me to fix it.
Left by Igor on Feb 18, 2010 12:51 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
isn't there another way than changing to a 32-bit ??
Left by greg on Mar 10, 2010 6:54 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
@greg Apparently not... http://connect.microsoft.com/VisualStudio/feedback/details/123311/win-xp-x64-jet-v4-0
Left by wil peck on Mar 10, 2010 8:08 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
Thank you Shivam! u just saved me a lot of time and a lot of grades!! i have to write an app in VB n i have 5 days to learn VB n write the app for a live project! Thank u sooo much!
Left by ifthi on Mar 30, 2010 2:25 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
You are welcome ifthi!
Left by Shivam Rajvansh on May 11, 2010 3:07 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
my dear bro,
i have a system with 64bit, i use VB.net and i connect my project of vb.net to ms access, when i run it. this error will display, how to fix my dear brothers. any
Left by Khalid on Aug 17, 2010 11:13 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
I know I am a little late to the party but you saved my literally hours with this tip. Thank you so much.
Left by Chris on Oct 25, 2010 12:11 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
oh,thank you for solutions))))
Left by Mike on Mar 08, 2011 3:57 AM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
I was not able to use a 32 bit compiled application since the SharePoint Server API I was using is 64 bit only.

To work around this problem you can also use the "Microsoft Access Database Engine 2010 Redistributable" as described in this post: [http://lawo.wordpress.com/2011/08/24/provider-is-not-registered/][1]


[1]: http://lawo.wordpress.com/2011/08/24/provider-is-not-registered/
Left by W0ut on Aug 24, 2011 1:47 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
I have the same problem i use win 8.1 64 bit and i use ms access 2013 as my database.please help
Left by Mac on Mar 18, 2014 8:41 PM

# re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Requesting Gravatar...
i tried everything but still it is not working, i had changed from anyCPU to 86x but still aint working and again tried downloading and installing jet40repl,AccessDatabaseEngine_x64
i tried all the solution that i came across online but its not working for me

PLEASE HELP PLEASE HELP , my project its due on friday of which is tomorrow
Left by Ras tau far i on Oct 16, 2014 12:00 AM

Your comment:
 (will show your gravatar)


Copyright © Wil Peck | Powered by: GeeksWithBlogs.net