views:

78

answers:

3

Hi All,

I am in the process of "detecting" (more like listing down) all of the dependencies of our application.

Currently, I am using depends.exe (Dependency Walker) to detect all of the file dependencies.

I was actually able to get pass all the error messages about missing files and dependencies. However, when launching the app, all I get is a crash without any messages at all.

On a "working" configuration/system, I was able to launch this app successfully. Killing a certain service will produce the "crashing" behavior. This leads me to the conclusion that SOMETHING on this service is needed by the App and this service is a dependency. However, depends.exe will not be able to "detect" this dependency.

My question is: Is there an application that can programmatically detect dependencies such as Database and Services?

Thanks!

+3  A: 

Dependency Walker cannot detect dependency on dynamically loaded DLLs. You could use Process Monitor to find which DLLs your program is actually tries to find.

Kirill V. Lyadvinsky
absolutely procmon is the way to attack this problem.don't forget it could be relying on registered COM objects and registry entries.
glob
Don't forget about the "Profile" command in Dependency Walker to see what DLLs loaded at runtime.
Zamboni
A: 

Depends on how you define "dependency". You can (using perhaps a hacked version of fabricate), identify the 'files' your application depends on (dlls etc.).

Noufal Ibrahim
A: 

You need PE Explorer and its Delay Import Viewer to view the list of the linked delay-load libraries.

Wylder
Won't those show up in depends.exe too?
Moron