How to repair broken dlls on Windows XP

April 8th, 2008 by Mr. Fanrastic

A few weeks ago, a security patch for Microsoft Office broke my copy of Microsoft Access. My initial calls with Microsoft went nowhere slowly. Finally, after spending more than eight hours on the phone with Microsoft over several days, I found a tech who knew what he was doing.

Let me rehash the problem before we get to the solution. When I tried to install Office, I would get the error, “Error 1904: Module C:\Program Files\System\Ole DB\MSRCLR40.DLL failed to register. HResult -2147023729. Contact your support personnel.” Attempting to manually register it via regsvr32 failed with an error complaining about illegal or unauthorized access to memory. If I tried to open a database in Access, I would get the error, “Unable to locate dll. The dynamic link library MSJET40.dll could not be located.”

Turns out the problem was due to some corrupt Windows dlls. Strangely it was the Office Deployment guy that figured this out and not the Windows XP support person. So how do you fix corrupt dlls without reinstalling Windows? Use the magical System File Checker utility by opening a command prompt and typing sfc /scannow.

This will take a few minutes and it’s a good idea to have your Windows CD handy so it can copy clean dlls from it when it needs to. Unfortunately the only feedback you get from the System File Checker is a progress bar. When it’s done it just disappears without telling you what it did. At this point you will want to reboot and download all the Windows updates all over again. But at least you will have solved your problem without wiping everything out, and, most importantly, you didn’t have to waste eight hours on the phone with Microsoft.

You can get a lot more info on System File Checker here.

Tags: , , ,

One Response

  1. Mike Allspach

    You are a life saver. This is exactly what I was looking for and it worked perfectly. THANKS for posting!!

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.