Solved

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

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
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…
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…

747 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

8 Experts available now in Live!

Get 1:1 Help Now