Rip's Domain

Using Dependency Walker

Posted in TechSupport, Uncategorized, Windows by rip747 on May 23, 2009

If there’s one tool I have completely fell in love with it’s Dependency Walker (DW). DW is a tool that let’s you see what a file, in many cases DLLs, depends on in order to get them to run or register.

Case in point, just yesterday I was trying to get Office 2003 SP 3 installed on our intern’s computer. No matter what I did, I was getting the dreaded 1904: Cannot Register MSRCLR40.dll error and it was driving me insane. Now according to Microsoft and other sourcesI found on the net, this is a problem with not having the latest MDAC installed for XP (2.81 sp1), however I checked (by following Microsoft’s instructions) and I did have the latest MDAC installed. In any case, I reinstalled the latest MDAC, rebooted, tried the installation again and got the same thing. Dammit!

At this point, I knew that I could be downloading and installing different things all day, so I opted to run a repair on Microsoft Office and see what that did. Wouldn’t you know, I got the 1904 error during the repair, go fig. Now I’m screwed. I ran out of options the net handed me, so that’s when I decided to download DW and give this magical life saver a run.

As I mentioned above, DW is a stand alone tool that let’s you select a file and shows you which other files (or modules) the file needs in order to run or, in our case, register. It’s extremely easy to use and understand.

The first thing you need to do is download and unzip the latest version of DW. As of this writing it’s 2.2.

After you have it unzipped, open up the folder and double click the depends.exe file. Once DW loads up, all you need to do is click File -> Open and select the file that you DW to inspect (for this example I selected MSRCLR40.dll that was in c:\windows\system32 on my machine).


Is that cool or what? As you can see from the screen shot above, DW will show you all of the files that MSRCLR40.dll needs in order to work. Now if there are any files that are missing from your machine, they will show up in RED at the very top of the list (I have everything this file needs, so I don’t have any errors). Once you have your list of files that you need, all you need to do is to either download the files from the internet or copy them from another machine and copy them to the appropriate place. Then just hit View -> Refresh (or F5) and see if everything is OK. Don’t worry about any delay-load dependency module errors you might get since these module aren’t loaded until you actually try to run or register the file.

In the case of my intern’s computer, DW told me that the machine didn’t have MSJET40.dll, MSJINT40.dll and MSJTER40.dll. I managed to copy these from my work machine, however you can download them from Microsoft. After that I went to a command prompt and ran:

regsvr32 c:\windows\system32\msrclr40.dll

The file registered successfully and I finally got Office 2003 SP 3 installed!

Using a tool like DW from the get go can save you hours of searching the internet and trying different solutions until you find the magical one that fixes your problem. I find that in the world of tech support this tool is invaluble and hopefully you will too.


3 Responses

Subscribe to comments with RSS.

  1. Roy Bean said, on May 23, 2009 at 3:01 pm

    You can also use the “Full Paths”, “Select All”, and
    “Copy File Name” functions in the Module List Panel to create a .BAT file that copies all required .DRV .DLL .IME .EXE and other files required to run the program to the install folder and create a PORTABLE version.

  2. rip747 said, on May 23, 2009 at 3:30 pm

    awesome hint!

  3. Top Posts « said, on May 25, 2009 at 8:17 pm

    […] Using Dependency Walker If there’s one tool I have completely fell in love with it’s Dependency Walker (DW). DW is a tool that […] […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: