?
Solved

VB runtime files

Posted on 2000-03-19
22
Medium Priority
?
181 Views
Last Modified: 2010-05-02
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.
0
Comment
Question by:castleinfo
[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
  • 7
  • 7
  • 4
  • +3
22 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2633370
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
 
LVL 14

Expert Comment

by:wsh2
ID: 2633438
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633456
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2633550
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633574
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
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2633596
I'm sure not. Unregister MSVBVM60.dll and launch one of your app.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633604
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633610
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
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2633628
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633655
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2633666
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
 

Expert Comment

by:ocsscott
ID: 2640779
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
 

Author Comment

by:castleinfo
ID: 2644121
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
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2644131
When speaking of the files
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2644435
Error 429 means that one of the component can't be accessed because it is not registered!
0
 

Author Comment

by:castleinfo
ID: 2650381
Sorry, I tried this and it won't work 'cause DAO3.5 isn't registered etc.
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2783301
No can do.
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 2785731
GivenRandy,

Please change your answer to a comment since you didn't bring anything new on what we already said!
0
 

Author Comment

by:castleinfo
ID: 2787506
Rejected for obvious reasons...

Does Delphi have this problem ? I heard that it produces static exe's ?
0
 
LVL 9

Expert Comment

by:GivenRandy
ID: 2787956
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
 
LVL 70

Accepted Solution

by:
Éric Moreau earned 300 total points
ID: 2788270
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
 

Author Comment

by:castleinfo
ID: 2788687
OK I think I'll try delphi... no harm in learning a new language...
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…
Suggested Courses
Course of the Month13 days, 8 hours left to enroll

801 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