"The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I haven't touched my program for about a month, suddenly, I go to add the completed Help File to the program (which works fine at my college), but then when I get home, the program won't start. The following lines:
Properties=;Mode=Share Deny None;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet_
OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False"
frmData.Connection1.Open()
result in the following error:
{System.InvalidOperationException}
[System.InvalidOperationException]: {System.InvalidOperationException}
HelpLink: Nothing
InnerException: {System.Data.OleDb.OleDbException}
Message: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Source: "System.Data"
StackTrace: " at System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr)
at System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString constr)
at System.Data.OleDb.OleDbConnection.Open()
at Expenses_Program.frmMain.InitDatabase() in C:\Data\Adam\School Work\A2-Level\Computing\A2 Coursework\Expenses Program\frmMain.vb:line 198"
TargetSite: {System.Reflection.RuntimeMethodInfo}
I tried to reinstall Jet 4.0 SP8 - but it said I have a newer service pack than the one I was trying to install. Then I tried reinstalling Microsoft Office, which also did not help. Since I haven't touched my program except for this help file (which merely required the addition of the Microsoft Word 11.0 Object Library reference), I assume it's a problem with Office or Jet itself.
Anyone got any ideas as to how to fix this problem?
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
try creating a new project, and add an oledbconnection object component to your form from the data tab in the toolbox.
in the properties window, click the dropdown for the ConnectionString property and select <new connection...>
When the data link properties come up, click on the first tab (provider) and select Jet 4.0 provider.. continue through the rest of the 4 tabs and see if you can establish a connection this way.
This will at least help to narrow down your problem.
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
This is a different system than what you programmed on, correct? I think the message is pretty clear. Just search for the Microsoft Jet drivers and install them, as this system seems to not have it?
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
gigemboy, this is THE SAME SYSTEM that I wrote the program on. It already has Office 2003 and Jet 4.0 because when I try to install Jet 4.0 SP8, it says I already have a newer version (the Windows XP SP2 Version) - see my first post.
kleinma, I tried that, but after adding the OLEDB Connection, when I choose "New Connection..." in the "Connection String" box, nothing happens. I'm sure the wizard is meant to come up from what I remember, but nothing happens at all.
If I choose from an existing one, and then put "OELDBConnection1.Open" in the Form_Load subroutine, I get the same error message as before (Jet 4.0 not regsitered...).
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
That link is just the Jet 4.0 SP8 download, which doesn't install because it's older than my current version. This is really weird...I really don't want to reinstall the OS, if anyone has any other ideas, I'm all ears.
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I don't really know what else to tell you.. something sounds royaly screwed up.
The ONLY other thing I can think for you to try.. (other than a full reinstall) is to see if you can maybe uninstall SP2 for XP, and then reinstall it?
SP2 installs data access components.. and a reinstall of the service pack may overwrite any messed up files or registry entries.
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I was going to reinstall SP2 originally, but it's a slipstreamed install
I tried typing this in the Run box: "regsvr32 C:\WINDOWS\system32\msjetoledb40.dll" and I got this error message:
DllRegisterServer in C:\WINDOWS\system32\msjetoledb40.dll failed.
The return code was: 0x80004005
So I was thinking maybe this file is corrupt? Is there anywhere that I can get a version of this file that I need (Jet 4.0 SP8) that is definately working? Perhaps someone can upload their version of this file if they know it is working and they have Windows XP SP2?
College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
Posts
4,495
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I just tried registering the jet dll, and it was registered successfully. Try uninstalling and reinstalling jet (or replace the dll somehow), as that dll seems to be the problem (like it says on the original message )
Now try to install that.. it should let you. If it gives you a message that its already installed, then run it again with a /uninstall command line param. (see pic)
then once you have uninstalled it.. reboot and reinstall it.
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I just tried registering the jet dll, and it was registered successfully. Try uninstalling and reinstalling jet (or replace the dll somehow), as that dll seems to be the problem (like it says on the original message )
That's the whole problem though - it can't just be reinstalled. I tried downloading a version of the DLL that wouldn't register on the internet, but that didn't help either, so it can't just be that specific DLL.
kleinma, thanks for the tip but it did not work. If I try to install it, I get the same message as before (a newer Service Pack was found on your system). When I tried the Uninstall parameter, it said "You cannot uninstall, since an unisntall for KB837001 has not been created."
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
No, because there is NO download for XP SP2's version of Jet 4.0 SP8, therefore there is NO way to reinstall it without reinstalling SP2 or XP without directly copying the files and registering them manually I guess.
This applies to MDAC aswell - even if the files are removed from Sytem32, the install files still say that the version I have newer than the version I'm trying to install.
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Nah it doesn't. It says "Access Denied" midway through the install (with no other info).
I'm gonna try a repair install and then a full reinstall of XP if that doesn't work. Unfortunately I haven't got any backup HDD big enough to store my data so I can't reformat (which would be the best course of action IMO).
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
what about trying it in safe mode? Im just throwing out ideas though
well I would imagine you maybe have a DVD burner or at least a CD burner? you could at least backup a good amount of YOUR data (ie, non program files) and then just reinstall your apps.
It sucks if it comes down to a reinstall, but sometimes that is what ends up happening...
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I tried to reinstall Windows XP on top of the current copy (to keep programs in tact) and it kept stopping at about 70% through the "Installing Devices" part (it wasn't frozes, per say,since the little green boxes in the bottom-right hand corner were still animated, but there was no HDD activity for like an hour). That install of XP must've had serious problems that I didn't know about...
So, in the end I just took the HDD to another PC, deleted anything in the Program Files and Windows folders and only kept my Data folder in tact. I then did a completely new install of XP SP2 (slipstreamed again), and everything is working now.
I forgot how fast XP is when it's fresh
It's a shame we couldn't figure out what the problem was specifically, but it's fixed now. Thanks for all the advice/help!
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I've been getting the same error and have been trying to figure it out for the last few hours. I orginally wrote my app in VS.Net 2001 and moved to 2005. I just rewrote the line - exactly the same and it works. Know this sounds strange, the commented line below doesn't work but the one below does. I tried both several times and everytime the top (old) doesn't work and the new line does.
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
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
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
I'm getting the 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine'
Error message on Windows 7 64-Bit i have set my program to compile in 32Bit (x86), and if i run it through Visual Studio it works fine BUT, if i build the solution and try running it from the standalone executable it comes up with the above error, any ideas why this is happening?
Thanks
Re: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Originally Posted by pedders
I'm getting the 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine'
Error message on Windows 7 64-Bit i have set my program to compile in 32Bit (x86), and if i run it through Visual Studio it works fine BUT, if i build the solution and try running it from the standalone executable it comes up with the above error, any ideas why this is happening?
Thanks
Peter
Set the platform target property to 'X86' for your VB or C# projects that have references to COM components.
For C# Projects:
1. Right click the project in the solution explorer and open 'properties'
2. Choose the Build tab
3. Set the Platform Target property to 'X86'
For VB Projects:
1. Right click the project in the solution explorer and open 'properties'
2. Choose the Compile tab
3. Press the Advanced Compile Options... button
4. Set the Target CPU property to 'X86'
Express Editions:
The VB and C# Express products do not expose the Target property inside the development environment. You will need to carefully modify the project file using a text or XML editor.
1. Close the project and/or solution
2. Select Open File from the File menu
3. Navigate to the project directory, and highlight the project file
4. Press the Open button, the project file should open in the XML editor
5. Locate the first <PropertyGroup> section and add the following line:
<PlatformTarget>x86</PlatformTarget>
1. Save the project file
2. Reopen the project and/or solution using Open Project/Solution from the File menu
3. Continue with development, debugging, and testing
Alternatively, if the application is targeted to 64-bit platforms, you can ensure that the COM controls added to the application have 64-bit equivalents on the development and deployment computers.