Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

VB5 EXE dependencies

Posted on 2000-02-14
21
Medium Priority
?
1,006 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 5
  • 2
  • +4
21 Comments
 
LVL 70

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 70

Expert Comment

by:Éric Moreau
ID: 2521056
Can you post the web site address here?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 
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 400 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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…
Suggested Courses

722 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