Solved

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

Posted on 2011-02-19
5
1,061 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
  • 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
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…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

929 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

12 Experts available now in Live!

Get 1:1 Help Now