Installers for Liberty BASIC - User Reviews

by Members of the Liberty BASIC Community


One way to make a program appear very professional is to distribute it with an installation program. An installer unzips and installs the program and its associated files on the user's computer. It can do other things as well, such as adding the program shortcut to the user's Start Menu, placing an icon on the user's desktop or automatically running a readme file when the installation is complete. There are many applications available that create installation programs. Some are freeware, some are shareware and there are some commerical products. One review includes an installer written in Liberty BASIC.

The Reviews Here are reviews of the installers listed. The reviews have been submitted by members of the Liberty BASIC online community. Thanks to all who participated!

The Installers This is a list of freeware and shareware installation programs.


InnoSetup Review by Norman

After a bit of research, I chose InnoSetup. My first impression was that it looked far too complicated for me to understand. However, I decided to try to set up an installer file for one of my programs. I soon realised that the wizard would probably make it easier than I had anticipated, but I immediately hit a problem. My program was using some images which were located inside a sub-folder,inside my main folder. The installer kept creating these images inside the new main folder. After many attempts, I decided that I would have to get my hands dirty and manually alter the .iss file to ensure that the program created everything in its right folder. Finally, I got it right. I still have one reservation, however. The shortcut (produced on the desktop) does not work. It cannot find the .tkn file. Apparently, this can only be overcome by specifying complete paths within the LB coding. I feel that this would be a problem if people decided to install to a different directory to the default one. Maybe I am wrong about this but the above are just the views of someone who has very little knowledge in these things.

Norman


Several Reviews by Gary, AKA tooanalytical

My favorites among the ones I have tried are:

YES, I have ONLY tried creating installers for Liberty BASIC created programs.

tooanalytical


Setup2Go Review by Alyce Watson

This program is freeware and it is very easy to use. There is an optional wizard to guide you through the process, then you can customize the installation if you want to. The various features are presented in a tab-type option dialog, so you can access them easily. Setup2Go gives you the option to add your app to the Start Menu, add a desktop icon, automatically view the readme file on installation, etc. It compiles your program and installation into a single EXE file for distribution. The installation looks very professional. I've used it for several Liberty BASIC programs and I recommend it.


Several Reviews by Scott Bannon

QuickInstaller: [http://www.1netavenue.com/repository2/]

AgInstaller: [http://www.agentix.org/]

SetupStream: [http://www.virtualzone.de/setupstream/]

ClickTeam InstallMaker: [http://www.clickteam.com/English/installmaker.php]

Spoon Installer: [http://www.dbpoweramp.com/developer-spoon-installer.htm]


An Installer Written In Liberty BASIC by Gordon Rahman

note: Gordon's installer is included in the zip archive with this newsletter

In a sense Installers are made to do just a few things:

You can think of other features like including of a menu program and possibilities to create an icon and so on. But I think that those features should stay standalone utilities.

You need an installer more often than you think. Every time you give a friend a LB program, you will have to give your friend some DLL and other files too if your friend doesn’t have a copy of LB already. That’s where the installer comes in handy. In a fact you even need DLL's to run your LB installer. Furthermore you need an installer if you write a program that uses other programs (BMP files and so on.)

Two of the four demands I mentioned earlier, were required for using my own Installer. I had written a program that needed to load many other files, in order to run properly. As I placed the whole bunch on a Cdrom, I needed an installer to do the pre processing, that is to copy all the files to the C drive and in the map a had prepared before.

The easiest way was to deliver my files in a zip file. This meant that the recipient had to have an unzip program in his possession or I had to send him the files in an executable zip format. Even if I did this right, there were lots of potholes to fall in. Nowaday nobody uses MSDOS anymore. In those (MSDOS) days, everybody knew how to work with the keyboard and PKUNZIP was the standard unzipping tool.

In my quest for an Installer I met with LB v2. I decided to give it a chance. Liberty Basic is easy enough to start programming the same night you download it. Unfortunately I run out of memory and had to buy a registered version.

I still know some working of MSDOS, so had my Liberty Basic executing a batch file in which a XCOPY command was embedded. After this I only had to copy the main executable files and readme textfiles to the Startmenu directory of windows and voila (French for behold). Until the day of today I haven’t manage to make the shortcut to execute the main file from the desktop. Although I found a proffesional installer (Installmaker) the same evening I downloaded Liberty Basic, I stucked with LB meanly because of the great community behind LB.

My installer:

It gives you the blue screen saying INSTALLER, with the typical window to choose the destination folder. Then it copies all your files from the source to the destination map. There is no authentic programming in my first program. Everything came from the examples that came with LB.

The first tryout was a copy with a batch file construction. I simply gave MSDOS the command to XCOPY (sub directories included) my files to the destination file. Later I found a routine (recursive programming) here at the forum to do this XCOPY in LB. Running a batch file always shows a MSDOS window (blackscreen).

My review:

I never used an Installer-maker. These are programs to build (or create) your Installer before you use them. Instead I wrote an Installer whereby I could easly change the listing to suit my purpose anytime that is needed. Of course I do this because I like to try to make my own programs. So I offer my listings to the LB community to complete them and to suit their needs.

The biggest challenge for the Installer-maker is that it has to provide you with a default for every window it will create. It has to give you step by step views of all the windows you are creating for the installer. If the Installer-maker asks for an icon to install it has to give some default icons. This is where some of the Installer-makers lack creativity. If you’re being asked to place a copyright text, the Installer-maker has to provide some good texts and templates first. You will have to receive whole maps filled with examples and templates with your Installer-maker, otherwise you’ll have to think a lot ahead before starting with the Installer-maker. You need to have an icon ready. You also need to think about the texts to place at several places and so on.

The Installer-maker will need a lot of sophisticated browsers to guide you through its templates and examples.


Reviews on Many Installers - by Bill Beasley

CreateInstall - A professionally created and supported installer. Seems to be full featured with easily used wizard for generating installation package. Will create CD based installations and allow personalized graphics be displayed during the installation procedure. Seemed to have the lowest overhead of any installers I reviewed. While the evaluation installation seems to be limited to 30 days, there appears to be no limitations of included features. The support website is well done and the support forum seems to be quite active. The $149 price reflects a bargain price for what appears to be a very useful tool. [http://www.gentee.com]

Nullsoft Scriptable Install System (NSIS) - This is an open source scriptable installer creator. Very flexible, full featured, user custom configurations, small footprint and efficient tightly coded performance. As with most script driven installation creators, this program isn't really for the novice. Installers created with this package operate as Virtual Machines with a full array of features. Completely Microsoft compatible and then some. I think this will probably be my installer creator of choice. [http://www.nullsoft.com/free/nsis/]

Install Maker - Of the three versions available, the Free version seems to be best suited to the novice Liberty Basic group. Fully functional with an advertisement screen included in the installation package, the free version should satisfy the basic installer needs. The registered version at $39 is a good buy, however I question the marketing plan in that registration seems to only remove the ad screen. While the install generation doesn't share the look-alike appearance of other installer creators, it does seem to be full featured. There is some tweaking and customization needed to personalize the installation package. Then the installation package seems to meet all required standards, does registry entry and directory structures, offers multilanguage support and has a well behaved uninstaller. I didn't find a need for the $99 priced Pro version. [http://www.clickteam.com/English/installmaker.php]

Inno Setup - The price is right. This FREE setup creator has been around a few years. The learning curve is a little steeper since some scripting is needed using the built-in IDE to fully personalize and customize the installer creation. There are a significant number of plug-ins, translations, editors, etc., available for this package. The web site is well organized and has good support through the FAQ and How-To sections. If you have the time to spend with doing a little learning, this program will do everything you need in creating an installation package. It's well worth the price. [http://www.jrsoftware.org/isinfo.php]

Installer2Go - Full and complete installer development package. Has a high learning curve but supports numerous add-ins to provide Microsoft certifiable installation setups. This would be the program of choice for the professional looking to package fully compatible Microsoft programs. Surprisingly, the price is free. [http://www.dev4pc.com/]

Setup2Go - By the same developers as Installer2Go, this is the basic version of an adequate installation packager. For those needing simple straight-forward, reliable installer packages with little learning overhead, this is a good choice. While not as robust as other SDS programs, it should serve the hobbyist quite well. Again, priced to sell at free. [http://www.dev4pc.com/]

Spoon Installer - Probably the easiest install creator in the bunch. While this package hasn't been updated in a year and a half, and it doesn't have all of the latest "expected" features, it still does a good job creating basic installers. Recommended for the novice who doesn't want to dedicate his life to learning installs. [http://www.dbpoweramp.com/developer-spoon-installer.htm]

Levent's SetupMaker - I didn't review this package. There were typical geocities script errors when trying to access the site. The splash page leads one to believe that the package was put together as a nuts and bolts personal program.[http://www.geocities.com/leventbbayar/tools.htm]

Quick Installer - A visual basic program which will require having the VB runtime modules on your machine or download another 2 meg file. Help file and setup files are in separate modules. As the program is still in beta, I didn't download it. [http://www.1netavenue.com/repository2/]

AGInstaller - A very powerful program. Be prepared to develop scripts for your package builds. This program is entirely script driven. The program seems to be well supported and dynamically fluid. There seems to be a revision about every 2 months. This program doesn't seem to be for the faint of heart or the novice. While I enjoyed the control available from a fully script driven program, it wouldn't be my first choice for a quickie package creation. [http://www.agentix.org/aginstaller.php]

HJ-Install - Another script driven installer generator package. This program is a work in progress and as such is missing some of the expected bells and whistles. This package is useful for the most basic of package creation. A more difficult learning curve for a reduced return in performance. This is not a "first" program and it hasn't reached "preferred" status for the more experienced user. It does have potential and is worthy of a subscription to the newsletter for update information. [http://www.freebyte.com/hjinstall/]

SetupStream - Freeware, licensed for commercial and non-commercial use. Looks like a very complete and flexible package. Excellent User's Manual, site support and forums. Capable of producing installation packages suitable to Web distribution or CD/DVD distribution. While the use of the program is wizard controlled, there's enough customizable features to satisfy even the geekiest control freak. Does registry and .ini file stuff and seems to be fully compatible with Microsoft standards. A recommended package for the novice and experienced programmer looking to distribute their programs in a professional manner. [http://www.virtualzone.de/setupstream/]

Freeman Installer - This program was declared freeware four years ago with support only being furnished to prior registered users. There appears to be both a 16 bit and 32 bit version of the program along with a patch needed for compatibility with windows OLE32. A brief view of the installer in operation seems to show that this program lacks the look and feel of current installers. This is probably not a good choice for for a novice programmer with more on his mind than patching programs. [http://netnet.net/~freeman/]

Setup Generator - No longer supported. Replaced with CreateInstall which is reviewed above. I didn't download it. [http://www.gentee.com/setupgen/index.htm]

Setup Generator Pro - This program is no longer supported. At $49 it's not a good investment. It is replaced with CreateInstall which is reviewed above. I didn't spend any time downloading or examining this package. [http://www.gentee.com/sgpro/index.htm]


Bloodshed Installer by Dave Thomas, aka TKNSoft

I'd like to tell about an installer I use. It is the Setup Tool which is part of the Bloodshed Dev-C++ compiler. I like it for the following reasons...

  1. You can create file 'Groups', each of which can be installed to a different directory.
  2. You have the option to display an EULA (End User License Agreement) which has to be agreed to for the software to be installed.
  3. The installer automatically includes multi-language support built into the installers you build.
  4. Option to reboot - or not - upon completion of the installation routine.
  5. Option to run the application upon completion of the installation routine.
  6. You can select from a blue, green, red or yellow gradient background for your installer.
  7. Ability to add keys to the registry.
  8. more features
  9. It's 100% FREE !

Visit [http://www.bloodshed.net] for more info.

Dave Thomas


Three Reviews by Brad Moore

Inno Setup Compiler is my preferred setup and packaging tool. It is extremely powerful and professional, yet it has a simple to use wizard which can shield you from the power and complexity.

Of course being a cheapskate such as I am, I really appreciate the price tag on Inno. Namely FREE. Just go to the website (mentioned in a moment) and download it and use it. It is that simple!

It is compatible with many programming languages, and again, Liberty Basic is no exception. It creates installation packages that can be run on any 32 bit version of windows, from 95 through XP.

I featured INNO Setup Compiler in an article I wrote a year ago or so called "Road to Release", which is available in its entirety in issue 99 [http://www.libertybasicuniversity.com/lbnews/nl99/index.htm], from the Liberty Basic Newsletter website. Since it includes downloads, I recommend that you get the zipfile that accompanies the issue [http://www.libertybasicuniversity.com/lbnews/nl099.zip]. Here is an excerpt from that article which explains the packaging of a project that we had just prepared for release. The package is a simple textfile reader called Liberty Basic Newsletter Reader (newsletters use to be simple text files). Here is that explanation:

The final step in preparing your application for release is packaging. There are many packaging tools available, and some are even free. My favorite free packaging tool is Inno Setup Compiler. It can be downloaded from the Inno website at: [http://www.jrsoftware.org/isinfo.php]

For the purpose of this article, I am going to presume that you have gone to jrsoftware's website and downloaded Inno Setup Compiler and installed it on your system. If you have been following along and doing the exercise as we go, you are ready to create an install script.

Inno Setup Compiler has a very strong packaging wizard, which can easily create a comprehensive and professional looking install in only a matter of minutes. Start the wizard by selecting the option to create a new script file using the Setup Wizard when you first launch Inno. The wizard will walk you through a couple pages that collect basic information about your application. Our application is called LBNR and it is version 2. The defaults are generally fine on the Application Directory page.

The heart of the Setup wizard is the Applications Files page. Navigate to the executable for our application and set it as the application main executable. This is the renamed runtime engine that should now have a custom icon and be called LBNR2.EXE - it is in the RELEASE folder. Next, click the Add Files button and browse to the RELEASE folder again and select ALL the files in that folder except the executable LBNR2.EXE (it is included in the field above). You can select all the files at once by clicking the first file in the file dialog window, then clicking the last file and holding the shift key down at the same time. To unselect the one file we do not want simply hold the control key down (it is labeled Ctrl) and click the LBNR2.EXE file. If you made a mistake, there are additional buttons to add and remove files.

The next page can be setup any way you prefer. It is nice to leave the options enabled that allow the user to change the various settings to meet their own requirements. In the following page called Application Documentation, you can link to text files that you wish to display to the user. If your program included release notes, you can display them in the installer and the user could read them when installing. This is also a great place to link the EULA that was created earlier. In the case of our project, click the browse button for the license file and browse to the RELEASE folder and link to the EULA.txt file.

Click next and finish to complete the creation of your install script. Inno will give you the option of compiling the script. Unless you plan to make manual changes to the install script, go ahead and compile now. You should now have a single executable installer that can be run on any Windows 95 or better system. If you have a second system somewhere, or have a friend who can help, run the setup program on the other machine. It should install a fully functional, stand-alone application. Remember - test your installation. If you have access to several different Operating Systems (Windows98, Windows ME, Windows XP, etc) it would be great to try your program out on all of them. I know this is rare, but getting friends together to test on their machines is a great alternative.

I have included my Inno Setup script in the project archive that is coming with newsletter #99, URL above. If you have installed Inno, you can look at it, although my directory structure will be different from yours, so you will probably not be able to use the script as is. Finally, the whole executable install is in the files area of the newsletter group in Yahoo. It was fairly large due to the size of the runtime files, and I did not want to send a file of that size along with the newsletter. If you followed along, you should already have a fully functional installation.

HJ Install is available FREE from Freebyte [http://www.freebyte.com/hjinstall/] and is a simple, yet powerful script driven installer that is compatible with programs written in many languages, including Liberty Basic.

HJ Install has been designed for use in the following environments: Windows 95, 98, ME, NT 4.0, 2000 and XP. The author states that the software was "created with Internet distributed, CD-Rom, single-floppy and multi-floppy installations in mind, but it can also be used in network situations and as a stand-alone scripting engine."

One of the huge advantages of HJInstall is its size. With the runtime and supporting files for Liberty Basic weighing in at just under two meg, you certainly do not want to add a bloated installer to your distribution. HJInstall adds a mere 138Kb to the final package. It also works with the simple DOS command line compression utility called compress.exe. When installing, any file that has been compressed with compress.exe will be automatically uncompressed. The compression utility is not the most efficient, but it was able to reduce the LB distribution files down from 1.92Mb to 1.42Mb. WinZip was able to shave another 300Kb from the distribution size using maximum compression, coming in at 1.13Mb.

As far as ease of use, HJInstall can be configured to install a whole distribution with one just one line of script. It is a script driven installer and does not have a script wizard, so you must write your scripts by hand. Most scripts tend to be very simple, so this is not as hard as it sounds. It does require you read much of the 22-page manual, but you would want to do that anyway - right?

I would consider HJInstall to be at the bottom of the ladder in complexity, best adapted to simple installations that do not require much more than displaying a few messages and copying some files. It is nice to see the author is always improving the product, but he also recognizes the niche it fits into and has resisted the urge to make it more than it is. What it is - is a simple, reliable, easy to use and generally very solid installer. The price is right, and at 152Kb for the package, the size is right too.

I would give this installer three disks out of five!

Green Eclipse Software [http://www.greenecplisesoftware.com] has a really wonderful product called Cab Explorer which will allow you to do as the name suggests - explore CAB files. But that is not all. It will allow you to change, add to and even create your own CAB files.

The huge advantage of a CAB file is size. CAB files seem to have about the best compression of any Windows based file compression technique. Now it is true that a CAB file is not an installation package. It needs more, like an installed engine and a script to drive the install. However Green Eclipse has added a new twist to CAB files with their tool: Executable, self extracting CAB files. Coupled with a simple install tool (like perhaps HJInstall) this would be able to create very small very simple to install packages. What's more, with a couple good instructions, or even a BAT file, you may not need any more than this very tool!

But that is only the beginning of the good news - because the CAB Explorer is FREE. That is right. Zero dollars. All you need to do is go to the website (here is a link directly to the CAB Explorer: http://www.greeneclipsesoftware.com/cabexplorer.html) and download it. It is a web download, so be aware, the first file you get is just the web download initializer.

The tool is compatible with all the 32 bit versions, but if your are using Windows 95, you are going to need to have the OSR2 release (the original will not cut it). I would recommend it for Windows 98 through XP easily. NT, Win2000 and XP users will need to install with an administrators account.

Since the tool is essentially a compression utility, it really does not care whether you are using it with documents, Liberty Basic projects or even you old Lotus 123 stuff. It will compress it all. So, used on its own just to compress a directory with your program and the LB runtime files, or used along with an installer, CAB Explorer can get the job done. With self extracting technology, you may not even need to have another installer driving the show - just let your users drag it, drop it, extract it and use it. What could be simpler?


NSIS Review by Alex Davies, aka theblazingicicle

I would like to do a review of NSIS.

NSIS consists of a help file and a compiler, but no GUI. You make your installer by writing a script, which is a text file that looks a bit like this:

; The name of the installer
Name "Power MP3 Organiser - Update Patch"

; The file to write
OutFile "PowerMP3Update.exe"

; The default installation directory
InstallDir "$PROGRAMFILES\Power MP3 Organiser"
; Registry key to check for directory (so if you install again, it will 
; overwrite the old one automatically)
InstallDirRegKey HKLM "SOFTWARE\Power MP3 Organiser" "Install_Dir"  

As you can see, the format is not entirely self explanitory, but the help file leads you through the process, and there are example scripts which are easy to adapt to your program.

Once you have made your script, the best thing about NSIS is that a simple right click and choose "compile installer" is all that is needed to complete your distribution. You can therefore change the files, plonk them in the filder with the script, and it will make a shiny new installer in a flash.

NSIS supports:

Now for the personal bit:

NSIS is wonderful and very professional for hardly any work. It is free (which is most often the deciding factor for me) and is made by the same people as winamp. If you look at the style of installer produced by NSIS, you will see that many professional titles use the powerful system.


Home

Game Tutorial

Pseudo Menubar

Binary Numbers

Designing Games

API Corner

JPEG.DLL

Graphics Text

Tip Corner

Installers

Demos

Submission Guide

Newsletter help

Index