Solved

How to check what program libraries are trying to opened  a .exe program ???

Posted on 2011-02-19
5
1,067 Views
Last Modified: 2012-05-11
Hi EXPERTS!      

I have made my VB6 application – standard EXE which is referenced to the other program libraries – some are public, some are made from me. In my computer the application is working fine. Now I have problem that when I start the application on deployment computers I get error:

Run-time error 403
Class does not support automation or does not support expected interface.

Error is getting in start of application and I do not see any of my programming screen at all.
It is clear that problem is in a library which is missed in deploy computer, but can I have some options to get some details info for error like CLSID 28762836823 couldn’t be find or even better to get name of library which make problems ? May be with some hacking tool I can open application and review what recourse try to access and to find where is fail ???

I’m VERY experienced with this area as from 10 years I works with VB6 and ActiveX components included to make the installation programs. But now situation is far  more complex and application is not done by me, I have all it code but couldn’t deal with it. Please help!

0
Comment
Question by:dvplayltd
[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
  • 2
  • 2
5 Comments
 
LVL 11

Accepted Solution

by:
kbirecki earned 500 total points
ID: 34933582
I don't know of a tool that will tell you what libraries are being called in a compiled application, but for myself, in these situations, I go back to plain vanilla - basic-basic environment for testing.  It's possibly a library not correctly installed on the target system.  Try this: Create a new project with nothing but the external library(ies) and make the most basic of code that will call the library.  Verify it works on your system and just copy the compiled executable to your target machine.  Test it there.  

This will tell you the following:  Since you don't have any of your code included, you're able to verify the library is installed.  If it works, your library(ies) are installed correctly; if not, they are not correctly installed.  Focus first on that.  One you know your library(ies) work(s), then move on to adding your code and test again.

The goal is to try basics first, then change one thing at a time, troubleshooting each step.  In my case (a very controlled environment), I have a common set of libraries I use in a number of VB6 apps I use around our office computers, and I have a standard base app that simply includes all the libraries I need, and a simple interface that allows me to verify they work.  Then when I deploy a new app or new version, all I have to distribute is the .exe.  If it doesn't work, I can focus on the libraries.

Hope that helps.
0
 
LVL 16

Expert Comment

by:sjklein42
ID: 34933596
Not sure if this will show you everything you need, but try running Microsoft's ProcessExplorer on your development machine and see what files (DLLs, etc) your app is loading.

Great program:

http://technet.microsoft.com/en-us/sysinternals/bb896653
0
 

Author Closing Comment

by:dvplayltd
ID: 34933777
10x for help ! Due to your offer I made some tests test and I find DLL which actually do the problems !

Thanks again!!!
0
 
LVL 11

Expert Comment

by:kbirecki
ID: 34933780
Glad it helped!
0
 

Author Comment

by:dvplayltd
ID: 34936051
Dear kbirecki

First – THANKS AGAIN for your help !!! As I say I have created on my own about 20 ActiveX and OCX controls, separated from this in every my project I have usually about 10-15 additional libraries which I use, so I’m very deep in practice of using ActiveX . But this time I lose almost 24 hours before I get solution, due to you offer.
I want to share what was problem here.

Problems was with one of created by me with Vb6 ActiveX component. While I detect which one is due to you offer I understand that problem is not in my code, but somewhere in binary CLSID. So I do this – copy this DLL project in the new VB project, change his name and compile this new. While do compile I get this error message:
Programmatic ID string too long 'item'. The Programmatic ID must be 39 characters or less.

Then I reduce the name of project ID , compile again, reference this new ActiveX in my project and was able to start application! What is very strange is that the problem ActiveX was created and compiled in Win XP without problem, but now it is compiled in Win7.
In fact, problem was in errors in CLSID for one of the class, but in binary level and without any warring ..very hard to detect what is going on!
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

726 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