05-28-2003, 07:01 PM
after i have installed my software on the host machine, i get this error on running the application:
The object invoked has disconnected from its clients
05-28-2003, 07:15 PM
i looked arnd and it says that this is a problem in the crystal reports dependency file Crystl32.dep...
problem is that i am not using crystal reports at all in my project...
it occurs in exactly the same manner as the error that i get...
plz help out...
05-28-2003, 08:35 PM
Even if you don't use any of the objects, you need to remove REFERENCES to it, and any of its ActiveX controls from your toolbox when you save/compile it. Please check your toolbox and References.
05-28-2003, 09:26 PM
in references i only have things that i need...but in the components box i have like manycomponents and a lot of them i am not using...that is why i think that wouldn't really make a difference...you think it would?
i havent even included them in my script file...
anyway ill try to get rid of all the redundant components...
05-28-2003, 09:56 PM
ok i just read someplace that including extra components could be dangerous cause the other comp might not have the dlls for em...but i think that's only if i place one of these controls on my forms...
aside from that i used inno setup for the setup...and the pd&w told me which dlls to send forward...
that's why i believe that it could be smth else...not an installation problem!
what do u think?
05-29-2003, 12:28 AM
Sounds like you've got reference issues or unwanted Axtive X controls in the toolbox - but not on the form.
In project properties on the Make Tab, there is the tick box at the bottom - "remove information about unused AxtiveX controls". This is probably unticked. Make sure that this is ticked and remove the unused activex controls (doesn't apply to the vb controls) from the toolbox. When you try to make your .exe file, you'll receive notification if there are still any unused .exes
However, if you're adding some ActiveX controls only at run-time and not at design time, you're going to have to have this box unticked.
Are you referencing any API's in code? maybe you are using a crystal report dll somewhere.
Also, go to the crystal reports web-site, they have a truly massive amount of help files in their support section. You may be able to find a reference there - also microsoft's support section has quite a few references to crystal report problems (I found out from numerous Dr Watson issues when Developing some complex reports).
05-29-2003, 12:51 AM
hey thanks daniam...
but i tried the suggestion given to me earlier where i had to remove all unused components and dlls...
i have basically not more than 4 or 5 of both...so that is in the clear...
now when i install on the nt machine i get the same error...and on an windows 95 machine i get a separate error:
Component 'shdocvw.dll' or one of its components not correctly registered: a file is missing or invalid...
so that makes me think that the problem basically lies someplace else and not in all this...
it's so frustrating...don't they have like cheap companies that would package your softwares for you... * * * * i would love to go for that option now...3 weeks in developing the project and now 1 week in trying to debug the installation errors...i just can't get it to run on other machines...
plz help before i give in and trash my computer...GUYS!!!
05-29-2003, 01:02 AM
consider also that the installation works on my computer perfectly...just like i want it to be...!
Which Deployment Package are you using?.
Try using INNOSetup www.innosetup.com
05-29-2003, 01:28 AM
i am using inno man...
i think that in some way it could be these two dlls...maybe i am not registering them in my installation...but not really my fault cause i don't know what's the flag to use with em...regserver or regtypelib...it's regserver actually but ive tried it and it doesn't work...
asycfilt.dll and msadox.dll
i donno...i think i am going nuts...can anyone suggest anything...my office ppl have been on my * * * for about a week now...and i tell them that the project is over...but i just can't pack it...
this is the silliest feature of vb...i don't wanna say it...but i am beginning to regret selecting vb6 in the first place! (oooops!)...i donno maybe vc++?
05-29-2003, 01:39 AM
This post was in
"Comment from AzraSound Date: 04/07/2003 08:06AM PDT
Everyone with Internet Explorer will have shdocvw.dll already installed. If they don't, you cannot just ship shdocvw.dll. In fact, DONT ship shdocvw.dll. See here for distribution of tihs requirement:
I haven't read the microsoft article... but maybe it's a case of installing internet explorer on the machines first.
05-29-2003, 01:47 AM
well both machines have IE...5.1 ahead as well...besides the weird thing is that the nt machine gives a different error than the 95 machine...that's why i think it's smth else...
how come there are no errors on install in my machine on which i developed it...
05-29-2003, 01:51 AM
Here's an idea.
Step 1. Why not insert statements that write into a debug file, before every major/relevant step of your software (these are the lines you would suspect to be in error).
Step 2. Recompile your project into an EXE file.
Step 3. Copy the new EXE file and overwrite the one on the deployment PC.
Step 4. Run the new EXE. Read your debug file and see at which point it stops/gets an error.
It is a slow process. But hey, you are sure to get where the error is/was. Hope that helped. :)
05-29-2003, 02:02 AM
i already have error catchers in my pgm...besides that like i said before that there are no errors in the exe file itself...and no errors occur in installation too...that's why it's kinda like saying that this problem is outta my league...:)
05-29-2003, 02:06 AM
"Starting with versions 3.x, Internet Explorer has shipped with an ActiveX control that you can use to add the functionality of a Web browser to your applications. This ActiveX control is called the WebBrowser control (also known as SHDOCVW.dll). If you want to use the WebBrowser control with your program, you must obtain a redistribution license and use the Internet Explorer installation routine to install the necessary files and registry entries.
The Internet Explorer installation routine installs a number of system files and registry entries in addition to the actual WebBrowser control. If all of the system files and registry entries are not installed correctly on the target machine by the setup program, the WebBrowser control either functions incorrectly or does not function at all.
In order to use and redistribute Internet Explorer, you must first sign a license and distribution agreement. You can find the license agreement from the Internet Explorer Administration Kit home page:
In essence, you can't just distribute that control with your application. You can deploy it without that file, if people have internet explorer, hopefully your program will work like a charm. Otherwise you'll have to sign the licence and distribution agreement indicated above and add the licence within your program.
With ActiveX controls, in the project properties of the general tab is a tick box called "require license key". This means that when a control is added to the controls collection it will require the appropriate licence key to be added to the licences collection.
the following is taken from the help file "Add Method (Licenses Collection)"
"When you deploy your control, the deployed application adds the license key to the Licenses collection before adding the control to the Controls collection. (Of course, the control must have been installed on the machine as well.)"
05-29-2003, 02:25 AM
hey thanks for the details reply Daniam...
tell me smth...activex are controls with ocx extensions or what? cause if not then ( i think they are :) ) then ya i have pretty many of those...but all i register into the system folder of the host computer...
besides that the only other thing that i have is a webbrowser control and again i have its dll registered...but what ill do now is that ill try to simplify my application by taking out most of these things ( a tedious task) and then check...maybe ill find out where the error lies...
another thing...i just noticed that my project is a standard exe...they have many different types of exes assigned there...u think i should declare exe depending on if they have activex controls?
guess i am on my lows now...
Thanks a lot though...
05-29-2003, 02:36 AM
ok i found the error...needless one...and i laughed crazy when i found it...got it after stripping the software out...
see i used a webbrowser control to load up this gif that i had...that had made the pgm dependent on the explorer thing...atleast i got it to run after installation now...
but i am still unsure and will tread this happy moment with caution...can anyone give me a good ideas on how to pay gifs inside the pgm...i have searched on this a lot on the forum...and the embedding in webbrowser control was the only practical idea that worked with brilliant effects...
or atleast how to register a webbrowser control?
thanks a zillion guys...!
05-29-2003, 05:09 PM
Try the GIF89a component (OCX). Its freely downloadable somewhere ...
Btw, with the reply I had earlier, I did not mean to imply that your program had errors. I simply said that it would tell you where the program stops and thus you can see which component causes the error.
05-29-2003, 05:28 PM
Try this one http://spazioinwind.libero.it/vbprogzone/activex/acx020.html
05-29-2003, 08:53 PM
thanks for ur reply...ya i actually did what you said in a way...the sad thing is that wasn't the only deal going wrong...now when the installation is complete on my computer...teh program runs...but anything that has anything to do with database connectivity (Access) thru ADO messes up and gives error 429: activeX component cannot connect to object...
maybe its because of mdac and dcom and jet not installing properly on the users system...but in any case...i just wanna break my computer's screen now...
ur dxanimatedgif idea is great...the gif viewer itself is not of such a good quality as the effect i was getting from the webbrowser control...but it's very much usable...thanks for that...
i have two questions here now:
1) what do you guys think is going on wrong with my pgm/installation
2) are there like places out there on the web where i can have my project setups to be made (hee hee)...
yup that's pretty much the state i have gotten to...
05-29-2003, 10:00 PM
here's smth that i have written out on another post...
i think its to do with mdac, dcom and jet engine...
although i have separately installed all of these components on the computer...or maybe its cause of teh ado i am using...
microsoft activex data objects 2.1
jet 4 sp6
now u tell me what is wrong...version or pgming or what...
anyway the connection line that i establish is using this:
sconn = "Provider = Microsoft.jet.oledb.4.0;Datasource = ..................
so what am i missing out on?
05-29-2003, 10:10 PM
"are there like places out there on the web where i can have my project setups to be made (hee hee)..."
There are a number of places on the net where you you can place a contract and people will bid on that contract.
I think you could probably get it done for under $200 US (maybe under $100 US).
Itmoonlighter is dedicated to IT, freelanceworkexchange isn't - so I'd go for Itmoonlighter. There are other websites that do this sort of stuff, so look around - search using "freelance work" +IT or something similar.
In response to one of the questions that you'd asked before.
Yes, ActiveX controls - or User Controls - have the OCX extension, these are the sorts of things that you put into the toolbox to work with. ActiveX dll's are library files (perfect for any functions that you want to use in different projects) and ActiveX documents are kind of like VB Forms that you can imbed in containers - web pages, desktop applications etc.
So the the thing with the OCX's is that you can protect your intellectual property by requiring licensing. When you compile your project, your forms and modules etc. are all compiled and not distributed on their own - whereas your OCX's and DLL's are, which means that they can be used in any program that has access to them. So microsoft put the licensing option into them - so if you put them in a project and try to distribute licenced OCX's without permission they won't work (they work fine within your vb projects - but they don't work when you try to distribute them). And No you don't have to declare your exe differently because it has ActiveX controls, a standard exe is fine.
I know how you feel about breaking the screen. To overcome some VB limitations (latest saga), I've tried to raise the bridge, tried to lower the water, tried to reroute the river etc. I've redone the same bit of work several times in differing ways and have been set back by about 6 weeks. Good luck!
05-30-2003, 09:59 AM
I have two questions for you:
What are the spec's on the WinNT machines your trying to run it on?
(Please tell me they are'nt 8086 clunky bricks.)
Will your program run properly on newer machines?
05-31-2003, 01:30 PM
the're not old machines...all p3...
ok i got the installation to work on another nt machine although i still got the error that i cannot register the msado15.dll which is the dll for the ado 2.5 reference...i cannot even register that manually...but strangely enuff the databse everything still works perfectly...
i cannot get it to run on the 95 machine...and also not on the others...
i am definitely not including smth in my script...
i went thru the pdw and got the setup file...and according to that i made my inno list...what do u think can be the problem...
this is the way i go thru it...i have the user install mdac then my pgm...is it the mdac version...?
plz help guys...
06-01-2003, 02:58 PM
The simplest solution may sometimes be the best solution. Try using P&DW that comes with your Visual Studio Tools installation, if you are having a hard time with InnoSetup or InstallShield.
06-01-2003, 06:46 PM
if i use the pdw it foesn't go past the first dll's copying...vb6stkit.dll
when i try not to include this it won't let me take this out of the installation...
well after a lot of trials i have made the installation work on the 95 machine...when i try to connect to the database i get the runtime error 430 now...
"Run-time error '430' : Class does not support Automation or does not
support expected interface."
this is what msdn says:
can anyone shed light on this?
06-03-2003, 01:01 PM
anyone thought of anything...still stuck on this...tried everything...
installed jet 4.0..mdac version 2.7 dcom etc etc...u name it...
07-16-2003, 06:41 PM
almost forgot what state i had gotten to there...
well i had solved the problem like a long time back...thanks a zillion for ur help...
i don't have any animated gifs in my program now...plus have this elaborate way of installing the application if it doesn't work on the first install...
there is an msdart32.dat file i think that the user has to run on the comp if the error: msdart32.dll not found occurs...this dat file simply copies msdart.dll and then renames the copied file to msdart32.dll and stores it in the system32 folder...
i have to install mdac and dcom in approriate cases...
suffice it to say...the installer works!
Thanks a lot again...