Solved

VB5 EXE dependencies

Posted on 2000-02-14
21
993 Views
Last Modified: 2012-05-04
Is there a program that provides dependency information for compiled VB5 executables?  Ideally it would provide module name and GUID for each required activex DLL, OCX, etc.

Is there a program that comes with VB that I have missed?

I've tried a couple of shareware dependency programs but all they show for a VB5 exe is the main run-time library.

Barring the above (and to satisfy my curiousity) where can I find a detailed file format definition for a VB5 exe.
0
Comment
Question by:bhamilto
  • 8
  • 5
  • 2
  • +4
21 Comments
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 2521036
You have Depends.exe that comes with VB and can tell about much of the dependencies.
0
 
LVL 7

Expert Comment

by:kamall
ID: 2521045
You better use DLLShow that will detect all the dependency DLLs, OCxs, etc. for your EXE. You just have to run the EXE and you can see all its dependencies. A great advantage of DLLShow over Depends.exe is that DLLShow will show you DLLs, OCXs, etc. that are loaded at run-time. Depends.exe will not!
If you can't find it on the net, I can send it to you. Just comment me your e-mail.

Regards.
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 2521056
Can you post the web site address here?
0
 
LVL 7

Expert Comment

by:kamall
ID: 2521075
Unfortunately, the program does not mention any URL in the Help -> About menu. I got it from a friend two years ago and it is just an EXE (no setup). So, I can not figure out its origin (URL). However, you can easily make a search a find it.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2521210
Sorry for not being more specific.  DLLShow works fine for running processes, but I can't get this one to run.

When I try to start the program (one with many activeX DLL's and OCX's) I get the error:
"ActiveX component can't create object"
This usually means a component is missing or the wrong version.  I'm trying to track this down to find the missing/bad component(s). ( Thats why I asked for the exe file format as a last resort).

Can't find Depends.exe on the VB5 Pro main CD (including a CAB search).  Are you sure it comes with this version?

Thanks - Bob Hamilton

(P.S. A mid 99 version of DLLShow is available on ZDNet UK if you want upgrade).
0
 
LVL 7

Expert Comment

by:kamall
ID: 2521214
As far as I remember, Depends.exe comes with VB6 (not 5).
If you want, I can e-mail it to you (for the points :-)).
0
 
LVL 7

Expert Comment

by:kamall
ID: 2521221
Don't forget (as I said previously), depends.exe will not show you any of the DLLs or OCXs that are loaded at run-time. This is clarified within the depends.exe on-line help.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2521230
It sounds like Depends won't help either.  Anybody got any ideas?
0
 
LVL 6

Expert Comment

by:VBGuru
ID: 2521556
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2521744
VBGuru

Tried it.  Unless I missed something this only works for running processes (mine won't run).
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 14

Expert Comment

by:waty
ID: 2521860
I have added this functiunality in my VBIDEUtils addins.
If you want it (still in beta) send me a mail at waty.thierry@usa.net

It displays dependencies for DLL, OCX, EXE, VB projects....
0
 
LVL 13

Expert Comment

by:Mirkwood
ID: 2525248
goto www.sysinternals.com

THey have both a tool for win95 and winnt to show the dependencies and their versions.
(I think they are called Dllview and NTHandle)
0
 
LVL 7

Expert Comment

by:kamall
ID: 2525321
Mirkwood,
Didn't you read the comments before posting your answer???
Dllview and NTHandle are for running processes. He wants to figure out dependencies for an EXE that DOES NOT RUN.
Regards to all.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2525798
kamall said it all.
0
 
LVL 6

Expert Comment

by:VBGuru
ID: 2525894
bhamilto,
     I possible, send me(sirigere@email.com) that exe I will try to give you the list of dependency.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2525979
To VBGuru

Thanks for the offer but I'd prefer to find a way to do it myself.  This isn't the first time it has happened to me and probably won't be the last.  

I think it has something to do with installing then uninstalling a VB program which somehow screws up the registry or something.  (I believe I found a Microsoft bug report about the problem but it didn't help to find a fix).  The last time it happened VB was looking for a later version of comctl32.ocx which was fairly easy to determine and fix since it was very wide spread.

Thats the reason I also requested the file format for a VB exe.  I've been able to successfully search for GUID's in the binary for controls that I know are used by the exe.  Unfortunately I don't know all the OCX's and DLL's that are used.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2525987
Waty

Does your software work for non-running exe's?
0
 
LVL 14

Accepted Solution

by:
waty earned 100 total points
ID: 2526271
Yes, it does.
It checks the dependencies for EXE file, OCX, DLL, for VB source projects....

I have added this in my latest VBIDEUtils version (not yet released) and also a lot of new things :)

Send me a mail at waty.thierry@usa.net, and I will send you a beta version, just tell me if you want a VB5 or VB6 version.
0
 
LVL 3

Expert Comment

by:troywillmot
ID: 2529841
Try using a registry watcher, you can watch which values in the registry are read as it trys to load each activeX components and find the last one it load before it fails (or see the error result when it trys to read the key).

I think the program I use is called regmon (and should be available from download.com or winternals.com).

Even though the program fails to run this should still help you locate the specific component.

It won't of course work for non-activex components.
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2533134
troywillmot

Good idea - hadn't thought of this approach.  I already have Regmon so I will try it on the weekend (travelling at the moment).

Thanks - Bob Hamilton
0
 
LVL 2

Author Comment

by:bhamilto
ID: 2557196
Works great.  

Thanks - Bob Hamilton
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now