VB runtime files

I have a small open source app I've compiled under VB6. I'd like it to be runable from a network share without installing dependancy files on the clients, it needs the jet database stuff as well for connecting to an access database in the same path. Is this possible ?
App is here : http://www.castleinfo.co.uk/stealth.php3
Thanks in Advance.
castleinfoAsked:
Who is Participating?
 
Éric MoreauConnect With a Mentor Senior .Net ConsultantCommented:
Delphi and C++ and possibly others are able to generate a EXE that is self-contained (means no dependency required).

Are you willing to learn a new language just no to distribute dependencies!

Also like oscscott told, http://www.bit-arts.com/ have a solution (that I didn't used - anybody did?).
0
 
Éric MoreauSenior .Net ConsultantCommented:
Sorry, but No it isn't!

Since VB doesn't support static linking, all the required files cannot be included in the EXE and then requires these files to be registred. The easiest way to register the required files is to build a setup package (with Package and Deployment wizard) and install it on user's PC.
0
 
wsh2Commented:
As long as your clients have either MicroSoft Binder or Internet Explorer to act as containers.... Convert your program to an ActiveX Document.

VB6 provides a wizard that is fairly straightforward. With the exception of a few form idiosynchrocies (eg. load/unloads have to be converted to show/hides).. most programs port straight over... <smile>.
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
You may put ALL the vb runtime required files into the same folder that the .EXE file, this should work.
App.Path is the first path dll's are looked up.
0
 
Éric MoreauSenior .Net ConsultantCommented:
angelIII,

You surely never tried it! It is impossible that it works if required files are not REGISTERED. Placing them in the same folder doesn't installs them.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
emoreau: I did try it!
FYI, if an application cannot find a dll in the registry, it looks to find it in the application path, and then in the directories specified in the PATH environment variable.
0
 
Éric MoreauSenior .Net ConsultantCommented:
I'm sure not. Unregister MSVBVM60.dll and launch one of your app.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
After i put MSVBVM60.dll and all the other dll into the path of the EXE it does work.
I did it (on a PC with no VB/OFFICE and so on), (smile) so if somebody has to try, it's you (wink) or castleinfo
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
To install all the files necessary, i used a standard Package Wizard, specifying for ALL the files the ($AppPath) Destination.
The only problems i had where thinks like ADO (not yet resolved).
0
 
Éric MoreauSenior .Net ConsultantCommented:
Deploying the package built with PDW (using Setup.EXE), copies and REGISTER files. Registering is more important than the location of the file.

Registering them place an entry in the Registry telling where to find the files.

What castleinfo wants is to start the app .exe without installing it. If the registry is not set with the components (vb run-times and others), the app won't start (error 429 will occur).
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
Making it clear, what i do is:
1) Write the app (obvious)
2) Compile the app (obvious)
3) Package the app (obvious)
After this step, there is a folder called Support in the setup folder.
4) Copy this complete folder onto your Server
5) launch your app from the client
6) It works (hurray)

emoreau: Grrr, i don't like Experts that don't try before critizising others (grin)

castleinfo:
you will naturally have to check all the dependencies of your project, and copy them to the folder. Things like ado will have to be installed whatsoever.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
emoreau:
FYI, even if a dll is registered lets say in the system32 folder, and another version of it is in the app.path folder, then that dll is used, ignoring completely the registry !!
Get back to your books if you don't believe, but registry has been added later to enable sharing of files.
Cursious enough, for Win2000 Microsoft recommends not to use System32 to locate your dll's (i think they got more problems with shared dlls than they thougt beforehand)
Greetings




0
 
ocsscottCommented:
There is a product called fusion that compiles all runtiles, dll and ocx's into 1 larger exe that just runs with no install.  the webiste for it is http://www.bit-arts.com/

it cost 199 i think but its great they have a 30 day demo on the site.
0
 
castleinfoAuthor Commented:
Hi thanks for all of your comments, I've been away for a couple of days hence the lack of response.

The app needs to connect to an access database therefore putting all the files in the source directory gives error 429 or similar.

Fusion sounds interesting but my product is opensource...

I think I'll stick with Vb5 as most machines have this dependancy installed allready.

The Active X thingy is that easy ?

0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
When speaking of the files
0
 
Éric MoreauSenior .Net ConsultantCommented:
Error 429 means that one of the component can't be accessed because it is not registered!
0
 
castleinfoAuthor Commented:
Sorry, I tried this and it won't work 'cause DAO3.5 isn't registered etc.
0
 
GivenRandyCommented:
No can do.
0
 
Éric MoreauSenior .Net ConsultantCommented:
GivenRandy,

Please change your answer to a comment since you didn't bring anything new on what we already said!
0
 
castleinfoAuthor Commented:
Rejected for obvious reasons...

Does Delphi have this problem ? I heard that it produces static exe's ?
0
 
GivenRandyCommented:
Thank you, emoreau.  I have been looking for any obnoxious (i.e., wrong) answers I may have posted.  Unfortunately, we do not have an easy way to find them (yet).  I can easily find questions I have asked or my answers that have been accepted, but I cannot find the ones that I answered but are pending without doing exhaustive guessing in the searches.

Again, thank you.  Sorry for the inconvenience.
0
 
castleinfoAuthor Commented:
OK I think I'll try delphi... no harm in learning a new language...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.