Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package?
Files Required in Installation Package? Files Required in Installation Package?
Files Required in Installation Package?
Go Back  Xtreme Visual Basic Talk > > > Files Required in Installation Package?


Reply
 
Thread Tools Display Modes
  #1  
Old 09-09-2013, 01:55 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Question Files Required in Installation Package?


I am finally completing a project that is written in VB6 but with a dll which I have written in VC++ 6.0. So:

1. When I compile my project in the normal way to give me an exe file, is the dll incorporated inside the exe file or do I need to make separate reference to it when doing the installation package?

2. I appreciate that I need to ensure that users have access to relevant VB6 runtime files which are inside VBRun60sp6.exe (as discussed here: http://support.microsoft.com/kb/290887). I assume I need to do the same thing with VC++ 6.0 using Vcredist.exe? (as discussed here: http://support.microsoft.com/kb/259403). Or are they maybe already incorporated when I compile?

Many thanks
Bob
.
Reply With Quote
  #2  
Old 09-09-2013, 03:25 AM
dilettante's Avatar
dilettanteFiles Required in Installation Package? dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

I have no idea why you'd expect external libraries to be somehow incorporated magically into a client EXE that uses them.

The VB6 runtimes are included as part of Windows in any supported OS (Win XP SP3 still has a few months of support left) and in many earlier versions of Windows as well.

Dumping the two packages at the links you provided is not how you deploy applications. The MS KB articles make that pretty clear. What you propose is quite a mess.


Best practices for deploying Visual Basic 6.0 applications is old but covers the basics for simple applications deployed using the deprecated PDW instead of Windows Installer technologies.
Reply With Quote
  #3  
Old 09-09-2013, 04:12 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Default

Firstly, thanks for your help, as always!

Quote:
Originally Posted by dilettante View Post
I have no idea why you'd expect external libraries to be somehow incorporated magically into a client EXE that uses them.
Well, I didn't but Advanced Installer, which I am using, did not highlight my dll as being required and I thought it was just possible that it was already inside my exe file! By magic.

Quote:
Originally Posted by dilettante View Post
The VB6 runtimes are included as part of Windows in any supported OS (Win XP SP3 still has a few months of support left) and in many earlier versions of Windows as well.
Actually, that surprises me as I have read people complaining that they have missing VB6 run time files when they try to run a VB6 application but maybe that is a historical thing?

Quote:
Originally Posted by dilettante View Post
Dumping the two packages at the links you provided is not how you deploy applications. The MS KB articles make that pretty clear. What you propose is quite a mess.
Advanced Installer has a prerequisites section which you can tick and that automatically incorporates run time files for VB6 and/or VC++ 6.0 etc. Presumably it only adds them if they are not in the OS already so I guess it is a sort of failsafe mechanism. Or maybe not.

I am trying to get this right as I have no wish to cause damage either on installation or if a user uninstalls.
.
Reply With Quote
  #4  
Old 09-09-2013, 09:28 AM
dilettante's Avatar
dilettanteFiles Required in Installation Package? dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

These "Advanced" or "Ultimate" or "Superlative (with Retsyn)" products kill me. Don't fall for the marketing hype. None of them can read your mind or do your thinking for you.

It doesn't have any idea that you are using your C++ DLL, since you are using Declare statements instead of having created and referenced a type library. Your program uses a form of late binding to call the DLL's functions and there is no info in your EXE or VBP that a packaging utility can find to tell it that you are using the DLL.

You probably even failed to create a DEP file for the DLL which would contain things like version info, where to deploy the DLL, and what its subdependencies are (such as the VC6 runtime libraries). So even if you tell Whizbang Setup that your program needs this DLL, it will be missing other information it needs for packaging and deployment.

Since you have chosen a rather oddball product to use for packaging you won't find much help with use of it in the VB6 community. Have you tried asking in its product support forums?
Reply With Quote
  #5  
Old 09-10-2013, 04:10 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Default

Quote:
Originally Posted by dilettante View Post
These "Advanced" or "Ultimate" or "Superlative (with Retsyn)" products kill me.

Since you have chosen a rather oddball product to use for packaging you won't find much help with use of it in the VB6 community. Have you tried asking in its product support forums?
Well, I used it because a distinguished and erudite member of this community suggested it may be worth trying. See:

http://www.xtremevbtalk.com/showpost...35&postcount=5

They do have a community forum but not much help on VB6 stuff

Anyway, thank you for your observations, which as, always were very helpful
Bob
.
Reply With Quote
  #6  
Old 09-10-2013, 09:33 PM
dilettante's Avatar
dilettanteFiles Required in Installation Package? dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

Well you have a good point, I should be more careful to phrase suggestions so they don't appear to be endorsements. It sounds as if you have found out that it doesn't have many VB6 users. That's really too bad, because it definately leaves you hanging.

You will need to tell your packaging tool to include your VC DLL because it has no way to detect that it is used.

You'd also need to include any of your DLL's dependencies that are not present in a normal user's Windows machine. The VC runtime might not be one of those though, since most of those only needed to be deployed when you targeted an OS prior to VS 6.0's release. That means anything after Win98SE should already have them, and in most cases even updated Win95 machines would.

So in fact many Win95 machines would already have all of the runtimes for both VB6 and VC6. Anything from Win2K SP4 onward has all of these runtime files updated via Windows Update, so you never need to deploy them to 21st Century PCs.

Hopefully this packaging tool will have no trouble identifying and including any VB6 OCXs your program uses. Those leave clear "footprints" in both the VBP file and your compiled EXE, so whether it relies on one file or the other it ought to take care of things for those OCX files.


You are right that packaged setups often include runtime libraries in case they need to be deployed to some machines. You need to be able to rely on your P&D tool to be smart enough to avoid overwriting newer versions that might already be in place. Without knowing more about the one you are using though I can't say how it will behave.

Last edited by dilettante; 09-10-2013 at 09:39 PM.
Reply With Quote
  #7  
Old 09-12-2013, 02:27 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Default

Quote:
Originally Posted by dilettante View Post
It sounds as if you have found out that it doesn't have many VB6 users. That's really too bad, because it definately leaves you hanging.
The way the AI forum works is that the punters ask the questions and the AI staff reply. It seems rare for individual users to help - unlike this forum. I am not using Innosetup because of comments from you and others that it can cause problems by removing required DLLs when people uninstall

Quote:
Originally Posted by dilettante View Post
You will need to tell your packaging tool to include your VC DLL because it has no way to detect that it is used.
Noted

Quote:
Originally Posted by dilettante View Post
You'd also need to include any of your DLL's dependencies that are not present in a normal user's Windows machine.
Noted

Quote:
Originally Posted by dilettante View Post
The VC runtime might not be one of those though, since most of those only needed to be deployed when you targeted an OS prior to VS 6.0's release. That means anything after Win98SE should already have them, and in most cases even updated Win95 machines would. So in fact many Win95 machines would already have all of the runtimes for both VB6 and VC6. Anything from Win2K SP4 onward has all of these runtime files updated via Windows Update, so you never need to deploy them to 21st Century PCs.
Yes. After a lot of digging I discovered this but it does not seem to be generally broadcast to the world. There is a huge amount of stuff talking about runtime files but virtually nothing saying that in 2013 you can just forget it. The benefits of including the VB6 and VC++ runtimes (if any) is outweighed by the costs in terms of package size and possible complications - the bigger it is the more the chance of a screw up. This really is a cost benefit anlysis.

Quote:
Originally Posted by dilettante View Post
Hopefully this packaging tool will have no trouble identifying and including any VB6 OCXs your program uses. Those leave clear "footprints" in both the VBP file and your compiled EXE, so whether it relies on one file or the other it ought to take care of things for those OCX files.
Yes, it does that.

One last thing, it is apparent from looking around that scrrun.dll causes a lot of trouble and I have decided to leave that out. So, my package is pretty stripped down. Just exe, my dll and some ocx files. Simples.

Thank you once again
Bob
.
Reply With Quote
  #8  
Old 09-12-2013, 08:19 AM
dilettante's Avatar
dilettanteFiles Required in Installation Package? dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

Well scrrun.dll was never deployable as a naked DLL. Even in early times it was installed as part of a suite of related files, but for ages it has been part of the OS.

The danger in trying to deploy any of these runtime files is that overwriting a working one with an incorrect or old one outweighs the possible advantages of doing so. Later versions of Windows have added features to try to prevent or repair such mistakes to protect users from bad installers.

Most of these issues are covered in 15 years of MS KB articles every developer is responsible for being familiar with. Perhaps that's unrealistic, but I'm not sure what else Microsoft could do.

This might be why they aren't shedding many tears over the obstacles to casual programming that began in Windows 8. It isn't just VB6 programmers, it's everyone. I don't think they see any benefit in exerting any extra effort helping the small guy anymore.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Advertisement:





Free Publications
The ASP.NET 2.0 Anthology
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview. Learn the most practical features and best approaches for ASP.NET.
subscribe
Programmers Heaven C# School Book -Free 338 Page eBook
The Programmers Heaven C# School book covers the .NET framework and the C# language.
subscribe
Build Your Own ASP.NET 3.5 Web Site Using C# & VB, 3rd Edition - Free 219 Page Preview!
This comprehensive step-by-step guide will help get your database-driven ASP.NET web site up and running in no time..
subscribe
Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package? Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package? Files Required in Installation Package?
Files Required in Installation Package?
Files Required in Installation Package?
 
Files Required in Installation Package?
Files Required in Installation Package?
 
-->