Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Go Back  Xtreme Visual Basic Talk > > > Advice needed on Inno Setup or Alternatives


Reply
 
Thread Tools Display Modes
  #1  
Old 01-12-2013, 05:40 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Question Advice needed on Inno Setup or Alternatives


It is about 10 years since I have used Inno Setup to launch a VB6 project. So, some questions

1. Is this the easiest/best installation system around to launch a VB6 project onto an unsuspecting world (it will be freeware)?

2. Assuming it is still a sensible choice is there a handy guide to get me up to speed again?

Plus any other observations welcomed

Thank you in advance
Bob
.
Reply With Quote
  #2  
Old 01-12-2013, 07:12 AM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

1. No, and it never was.

I spend way too much time helping customers repair systems broken by "no no setups." Typically what happens is that "no no" doesn't update shared component usage counts or observe them at all. Then when the "no no" application gets uninstalled it unregisters and deletes the shared libraries.

This breaks other applications (like mine %@#$&!) and produces trouble calls. Worse yet, simply reinstalling these applications doesn't work sometimes because the libraries get deleted but the registration is left behind. This tells other installers they don't need to install the libraries.

This doesn't even begin to describe the problems from "no no" setups that try to deploy undeployables or overwrite current versions with ancient versions (no version checking).


It doesn't have to be this way, but way too many "no no" users blindly copy scripts they find in the street. And even those who know better often create their own "no no scripts" with flaws.

Frankly, "no no" should probably be treated as malware and rejected by security suites when such a setup is run.

To use it safely you need to be very knowledgeable and hypervigilent to prevent scripting errors. But in general just say no to no-no!
Reply With Quote
  #3  
Old 01-12-2013, 08:13 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
1. No, and it never was.[/I]
Eeek! So what installation method would you suggest?
.
Reply With Quote
  #4  
Old 01-12-2013, 08:59 AM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

The recommended approach is to create Windows Installer packages using a Microsoft Visual Studio or a 3rd party tool. In complex cases you supplement these with "bootstrap" programs that may have to install multiples packages in a "chained" mode but these are rare.

The PDW still works in very simple scenarios, and is almost always safer than the "no-no" in inexpert hands. "NSIS" and other scripted setup tools can be just as hazardous of course. These are called "legacy scripted installers" and Microsoft recommends not using them.
Reply With Quote
  #5  
Old 01-12-2013, 09:05 AM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

I have never used it, but I see http://www.advancedinstaller.com/ offers a freeware and a trial edition.

Or you might use the VSI 1.1 that replaced the PDW back in 1999 (no longer on the MS Downloads site though).
Reply With Quote
  #6  
Old 01-16-2013, 07:53 AM
bobcory's Avatar
bobcory bobcory is offline
Contributor
 
Join Date: Jun 2003
Location: NW UK
Posts: 454
Default

I have now downloaded the free version of Advanced Installer and I have to say it looks like a very comprehensive package. Very well documented with examples directly aimed at VB6.

You need to use the Installer --> Professional wizard (NOT the "Installer --> Visual Basic 6 Application" as that is pretty limited and does not do the job as far as i can see. Ironically, the "Installer --> Professional" wizard IS aimed at VB6 )

It is clear that Installation is a serious matter and I can see dozens of ways to produce a sloppy (if not dangerous) result

So, my question is this. How do I make sure my project will work on all the PC operating systems out there (I am not covering Apple)? Eg XP, Vista, Win 7 and 8 not to mention all the old Win OSs?

The only way I can see is to either recruit an army of willing victims or format a PC and install each OS and test it. Obviously, the PC needs to be a "clean machine" so after each test you would need to format the disk again, install the new OS and try again (and so on for some time)

And maybe do this on a few different machine configurations? So, half a dozen PCs and several OSs - starting to sound formidable?!

So, what is a reasonable route - this a freeware project and no money in it - just a labour of love? Apart from just hoping for the best ...
Bob
.
Reply With Quote
  #7  
Old 02-07-2013, 06:49 AM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

Many applications are simple enough (not relying on USB devices or special hardware) to do useful testing using VMs. Options include Virtual PC, VirtualBox, and others.

Of course you need OSs to install, and that can cost $$. Yet you can often find pre-built VHDs from Microsoft for basic testing (these are generally intended for IE testing) covering several common OSs.

https://www.microsoft.com/en-US/down....aspx?id=11575

Beyond that you'll need to license other OSs. Those old Win95 CDs can come in handy here!

Virtual PC has an "undo disk" feature that can be handy. When you shut down the VM you have the option of letting changes merge into the virtual hard drive, or discarding the changes. This helps you build a clean baseline and keep it clean without having to reinstall for every test.


If your dev machine is 32-bit you'll probably need one real 64-bit machine for at least basic install and test activities.
Reply With Quote
  #8  
Old 02-07-2013, 11:58 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
Many applications are simple enough (not relying on USB devices or special hardware) to do useful testing using VMs. Options include Virtual PC, VirtualBox, and others.
Thank you.

Just a few observations from my progress so far

All of the problems I have experienced so far have boiled down to:

1. Failing to grasp the subtleties of the installation package (in my case Advanced Installer Professional)

2. Code that works on my laptop but not on another because of simple coding errors (eg on my laptop I name my application "mystuff.exe" ie all lower case. But it installs elsewhere as "Mystuff.exe" ie Upper case first letter. So, when it checks whether my project handles a file extension it fails to find it. Yes, I know, really dumb but hard to find when all you have is an exe file (I put MsgBox everywhere - is there a better way?)

3. Problems with Registering ocx files (basically, I forgot to do it).

4. Problems with uninstall screwing up the Registry (which Dilettante pointed out at the top of this post is a real problem - "Then when the "no no" application gets uninstalled it unregisters and deletes the shared libraries."). I am still fighting this problem

Two weapons I have found useful in this fight

A. System Restore. To my shame, I have never bothered to use this but, if you have not bothered either, this is what it does:

System Restore is a component of Microsoft's Windows Me, Windows XP, Windows Vista and Windows 7, but not Windows 2000,[1] operating systems that allows for the rolling back of system files, registry keys, installed programs, etc., to a previous state in the event of system malfunction or failure.

Very handy, it does restore points automatically, or you can set them up manually if you are about to do something dodgy.

B. If you screw up WinSock and have no internet access, this is a very handy tool on Win XP

http://www.softpedia.com/get/Tweak/N...nSockFix.shtml

Totally free and no messing with registration

Hope this helps somebody else.

[edit] On the subject of ocx files, I have registered them all and installed them in the same folder as my exe file. Is this sensible - my thinking was that this would reduce the risk of overwriting files?
.
.

Last edited by bobcory; 02-07-2013 at 12:23 PM.
Reply With Quote
  #9  
Old 02-07-2013, 03:29 PM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

The only thing you ever want to put into your EXE's folder are read-only files private to your EXE. Shared libraries should never go there, that way leads directly to DLL Hell. Basically, if you didn't write the library yourself it's a shared library.

Read/write data should go into an application folder under ProgramData (CommonAppData).


As for some of the other issues, perhaps this isn't such an "Advanced" installer after all? Surely it will accept merge modules? Most if not all VB6 OCXs are provided to developers as merge modules that deal with the proper target folders, registration and uninstallation issues, making sure usage counts are managed, etc.

It ought to have a provision for properly defining file associations as well. I'm not sure where you're running into case-senstivity issues but it is hard to know what you are trying to do.

How the heck are you breaking winsock? You shouldn't be going anywhere near any of the plumbing it entails. Are you trying to deploy system libraries or something?


Packaging and deployment is not a trivial subject matter. That's why Microsoft provided the old PDW: to try to keep beginners from getting too destructive.

It's also why VS.Net Express editions only include the ClickOnce deployment option (too many casual VB6 plinkers had been causing DLL Hell to break loose to users' computers).
Reply With Quote
  #10  
Old 02-08-2013, 11:31 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
The only thing you ever want to put into your EXE's folder are read-only files private to your EXE. Shared libraries should never go there, that way leads directly to DLL Hell. Basically, if you didn't write the library yourself it's a shared library. Read/write data should go into an application folder under ProgramData (CommonAppData).
Noted

Quote:
As for some of the other issues, perhaps this isn't such an "Advanced" installer after all? Surely it will accept merge modules? Most if not all VB6 OCXs are provided to developers as merge modules that deal with the proper target folders, registration and uninstallation issues, making sure usage counts are managed, etc.
It does accept merge Modules but it is not clear (to me at any rate) exactly how you would use this facility

Quote:
It ought to have a provision for properly defining file associations as well.
Yes it does. The only reasons I have got involved in doing this in my application is so that the user is not hit with a whole series of file associations when he is installing. Having said that, I may well just use the facility as it is a whole lot easier than DIY

Quote:
How the heck are you breaking winsock? You shouldn't be going anywhere near any of the plumbing it entails. Are you trying to deploy system libraries or something?
Not sure why this is happening. I deploy mswinsck.ocx so maybe that is the problem. It may have a totally different cause - we have had a virus attack and Advanced Installer have just come back accepting that they have a program fault after I sent them a sample of my package. They react pretty quickly to queries and their English is very good (the company is based in Romania). Whether their package is any better or worse than others I am not qualified to comment on.

Quote:
Packaging and deployment is not a trivial subject matter
That is very apparent!

Thanks for your help, which as ever, is much appreciated
.
Reply With Quote
  #11  
Old 02-08-2013, 12:59 PM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

The mswinsck.ocx is not a system library and deploying it incorrectly can't "break winsock" in any meaningful sense (though you might break other applications that use this OCX if you goof badly).

As for VB6 merge modules, you need to obtain these from Microsoft. Try Merge Modules for Service Pack 6 for Visual Basic 6.0 and Visual C++ 6.0. Once you have those you'll have to read the docs for Advanced Installer to find out how to use them.
Reply With Quote
  #12  
Old 02-08-2013, 02:48 PM
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
The mswinsck.ocx is not a system library and deploying it incorrectly can't "break winsock" in any meaningful sense (though you might break other applications that use this OCX if you goof badly).
Currently, everything seems to be working normally ie I can install and uninstall without causing any apparent problems so maybe previous winsock problems had a different cause.

Quote:
As for VB6 merge modules, you need to obtain these from Microsoft. Try Merge Modules for Service Pack 6 for Visual Basic 6.0 and Visual C++ 6.0. Once you have those you'll have to read the docs for Advanced Installer to find out how to use them.
Yes, I did this and it expanded to some 44 msm files!

Advanced Installer has a Prerequisite Section and since I use VB6 and VC++ I have ticked those boxes and it then runs

"vbrun60sp5.exe" and "vcredist_x86.exe" at installation

So I guess this covers runtime files without using the msm files or maybe not?
.
Reply With Quote
  #13  
Old 03-05-2013, 04:07 PM
MichellEU MichellEU is offline
Newcomer
 
Join Date: Mar 2013
Posts: 4
Default

Quote:
Originally Posted by bobcory View Post
It is about 10 years since I have used Inno Setup to launch a VB6 project. So, some questions

1. Is this the easiest/best installation system around to launch a VB6 project onto an unsuspecting world (it will be freeware)?
I use Visual Installer for my installations, it handles VB6 applications quite well, but now I am in search for a setup tool that can handle .NET applications, and can install to the GAC. Can Inno Setup handle it, or should I look for another installation tool? What about Advanced Installer, that is mentioned in this thread?

Or are there other recommendations? I don't want it cost to much.
Reply With Quote
  #14  
Old 03-05-2013, 04:24 PM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

I have no idea what version of the VC runtimes vcredist_x86.exe deploys but it is probably wrong. Using vbrun60sp5.exe is entirely absurd because there is no reason ever to deploy anything older than SP6.

Any modern system (even XP SP3) should already have both of these sets of runtimes, in SP6 versions.

I am less impressed with this "Advanced" Installer every day.

Use msvbvm60.msm, don't use that hackish "vbrun..." thing which was never meant to be used for deployment purposes. Same with msvcrt.msm (and msvcirt.msm if you use the DL it contains) instead of that other kludge.
Reply With Quote
  #15  
Old 03-05-2013, 04:33 PM
dilettante's Avatar
dilettanteAdvice needed on Inno Setup or Alternatives dilettante is offline
Underclocked lifestyle

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

Quote:
Originally Posted by MichellEU View Post
I use Visual Installer for my installations, it handles VB6 applications quite well, but now I am in search for a setup tool that can handle .NET applications, and can install to the GAC. Can Inno Setup handle it, or should I look for another installation tool? What about Advanced Installer, that is mentioned in this thread?

Or are there other recommendations? I don't want it cost to much.
Asking in a VB forum about VB.Net probably won't do you a lot of good.

I do know that as of VS2012 Microsoft doesn't supply any installer at all anymore even in Pro and Enterprise. They tell you to go use WiX or else buy a 3rd party tool. WiX can depoy to the GAC.

See Mailbag: How can I install a file to the GAC and the local file system using WiX syntax?

That SamLogic Visual Installer 2012 appears to be yet another legacy scripted installer like "the no-no" (Inno) and probably presents many of the same hazards to the health of "victim" PCs you install onto. I cringe to think people are using it to deploy VB6 programs. One more source of service calls for my applications I guess. *groan*

I wish people would stop using these over simplified "magic bullet" tools to package applications. The results are often toxic to target systems.

Deployment isn't trivial any more than programming is. Take the time to learn to use a proper tool.
Reply With Quote
  #16  
Old 03-06-2013, 03:02 PM
MichellEU MichellEU is offline
Newcomer
 
Join Date: Mar 2013
Posts: 4
Default

Quote:
Originally Posted by dilettante View Post
Asking in a VB forum about VB.Net probably won't do you a lot of good.
You may be right. I will take a closer look in the .NET section of this forum and see if I find what I am looking for there. Or maybe ask again.

Thanks for the link to the information. I will take a closer look.

Quote:
Originally Posted by dilettante View Post
That SamLogic Visual Installer 2012 appears to be yet another legacy scripted installer like "the no-no" (Inno) and probably presents many of the same hazards to the health of "victim" PCs you install onto. I cringe to think people are using it to deploy VB6 programs. One more source of service calls for my applications I guess.
I have not had any problems (yet), but my setup projects are not so complex. I don't know what happens if I try to install more complex projects.
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
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
 
Advice needed on Inno Setup or Alternatives
Advice needed on Inno Setup or Alternatives
 
-->