SIBuilder: Installation Program Creator


Contents


Description

SIBuilder for Delphi (Small Installation program Builder) is a software installation program creator that creates a stand alone executable software installer with little overhead taken up by the installer. This makes the program ideal for creating a single, self-extracting installation program for distribution over the Internet. SIBuilder is part of the SI Tools suite of programs and libraies. The other programs are used to perform the installation and uninstallation of projects created with SIBuilder and are provided with SIBuilder.

To keep down the overhead required for the Installer and the optional uninstall program SIBuilder creates these programs as Windows console applications.

The user specifies the files to be installed which are compressed before being compiled into the installer. Different installation folders can be specified for various groups of files. The registry can be updated with the required keys and data. The installer can run one or more external programs can be run after the files have been copied and the installation completed. In-process COM servers and Delphi-generated out-of-process servers can be automatically registered.

An uninstall program can optionally be created and installed. If this is done the the installed program appears in Control Panel's "Add/Remove progams" applet and the installed program can be uninstalled from there. The un-installer optionally deletes files and folders that were installed and can tidy up the registry. It can also run other programs (before any deletion or registry tidying) and may unregister COM servers registered by the install program.

A license dialog box that can be displayed and the user can be required to accept the license before installation begins.

Information needed to create an installation project is entered using a wizard style interface. Project information can be stored in and read from .sip project files.

Project files can be opened via the File menu, by dragging and dropping them onto the Project Details page or by passing the file name to the program on the command line.

Note: SIBuilder uses 32 bit Borland Delphi to compile its install program (tested with versions 2, 3 and 4).


Compatibility

Borland Delphi 2,3 or 4 are required to compile the install program. (Delphi 5 & 6 may be suitable but SIBuilder has not been tested with them).

SIBuilder has been tested with Windows 98 and Windows 2000. All releases are compatible with Windows 98. Releases from and including 2.5.4 are compatible with Windows 2000.


Installation and removal

Installation

SIBuilder is provided in a self-extracting install program - SIBInst.exe. The installation program is a console application that executes in a terminal window. SIBuilder was in fact used to create its own installation program - so if the installation succeeds you know that SIBuilder works! SIBInst.exe may be distributed within a .zip file, along with ReadMe.txt. If this is the case, unzip the .zip file and then execute SIBInst.exe, after reading ReadMe.txt for further information.

To install the program into the default folder simply navigate in Explorer to where you downloaded SIBInst.exe and double click the file. The installer will open a console and will display its welcome message before pausing for you to enter an installation path. Either press return to accept the suggested path or enter the required path and press return. The license agreement will then be displayed. Click the Accept button to continue. Clicking Decline will abort the installation.

By default SIBuilder is installed into the PJSoft\SIBulder2 sub-folder of your Program Files folder, and most files are installed there or in sub-folders. Some files are also installed in a PJSoft sub-folder of the main Windows folder. Details of installed files and changes made to the registry are provided in the files File Manifest.html and Registry Entries.txt which are installed in the Docs sub-folder.

Source Code

The program's source code is not provided with this distribution. It is available for download from my website.

Removal

To uninstall SIBuilder use Control Panel's Add/Remove Programs applet.

To take care of uninstallation on behalf of Add/Remove programs SIBInst.exe installs a console based uninstall program (UnInstall.exe) into the root installation folder (PJSoft\SIBuilder2 in the Program Files folder by default). This program requires a data file - UnInstall.xml and a DLL - InstallLib.dll - which are also installed. Care should be taken not to move or delete these files as they are required by Add/Remove programs.

UnInstall.exe deletes most files and cleans the registry. However, UnInstall.exe can't delete itself. Once SIBuilder has been uninstalled it is safe to manually delete UnInstall.exe and the installation folder.


Known Issues

None outstanding.

Note 1: releases earlier than v2.5.4 were not compatible with Windows 2000. Similarly, uninstall programs created by releases earlier than v2.5.4 will not work under Windows 2000.

Note 2: releases earlier than v2.5.5 always used X:\Program Files when installing to the program files folder. From v2.5.5 the localised Program Files folder is used.


Update History

SITools 1.0 - Released 18/03/2000
SIBuilder.exe v1.0 of 09/03/2000
InstallLib.dll v1.0 of 09/03/2000
UnInstall.exe v1.0 of 09/03/2000
Install.exe v1.0 of 09/03/2000

SITools 1.1 - Released 04/04/2000
SIBuilder v1.1 of 04/04/2000
InstallLib.dll v1.0 of 09/03/2000
UnInstall.exe v1.0 of 09/03/2000
Install.exe v1.0 of 09/03/2000

SITools 1.1.1 - Released 15/07/2000
SIBuilder v1.1.1 of 15/07/2000
InstallLib.dll v1.0 of 09/03/2000
UnInstall.exe v1.0 of 09/03/2000
Install.exe v1.0 of 09/03/2000

SITools 1.1.2 - Released 29/07/2000
SIBuilder v1.1.2 of 29/07/2000
InstallLib.dll v1.0.1 of 29/07/2000
UnInstall.exe v1.0.1 of 29/07/2000
Install.exe v1.0 of 09/03/2000

SITools 2.0 - Released 07/09/2000
SIBuilder v2.0 of 04/09/2000
InstallLib.dll v2.0 of 04/09/2000
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0 of 04/09/2000
PJSoftUtils.dll v1.0 of 07/05/2000

SITools 2.0a - Released 13/09/2000
SIBuilder v2.0 of 04/09/2000
InstallLib.dll v2.0 of 04/09/2000
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0 of 04/09/2000
PJSoftUtils.dll v1.0 of 07/05/2000

SITools 2.1 - No public release
SIBuilder v2.1 of 20/12/2000
InstallLib.dll v2.0.1 of 20/12/2000
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.1 of 20/12/2000
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.2 - No public release
SIBuilder v2.2 of 24/12/2000
InstallLib.dll v2.1 of 24/12/2000
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.1 of 20/12/2000
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.3 - No public release
SIBuilder v2.3 of 29/12/2000
InstallLib.dll v2.2 of 29/12/2000
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.2 of 29/12/2000
RegCOMSvrs.dll v1.0 of 28/12/2000
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.4 - No public release
SIBuilder v2.4 of 06/01/2001
InstallLib.dll v2.2.1 of 06/01/2001
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.3 of 06/01/2001
RegCOMSvrs.dll v2.0 of 06/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5 - Released 21/01/2001
SIBuilder v2.5 of 21/01/2001
InstallLib.dll v2.3 of 21/01/2001
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.4 of 21/01/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5.1 - No Public Release
SIBuilder v2.5.1 of 25/06/2001
InstallLib.dll v2.3 of 21/01/2001
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.4 of 21/01/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5.2 - No Public Release
SIBuilder v2.5.2 of 25/06/2001
InstallLib.dll v2.3 of 21/01/2001
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.0.4 of 21/01/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5.3 - Released 28/06/2001
SIBuilder v2.5.2 of 25/06/2001
InstallLib.dll v2.4 of 28/06/2001
UnInstall.exe v2.0 of 04/09/2000
Install.exe v2.1 of 28/06/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5.4 - Released 16/09/2001
SIBuilder v2.5.3 of 15/09/2001
InstallLib.dll v2.4 of 28/06/2001
UnInstall.exe v2.0.1 of 15/09/2001
Install.exe v2.1 of 28/06/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.5.5 - Released 25/11/2001
SIBuilder v2.5.4 of 25/11/2001
InstallLib.dll v2.4.1 of 25/11/2001
UnInstall.exe v2.0.1 of 15/09/2001
Install.exe v2.1 of 28/06/2001
RegCOMSvrs.dll v3.0 of 20/01/2001
SITLicenseDlg.dll v1.0 of 21/01/2001
RegInProcSvr.exe v1.0 of 21/01/2001
PJSoftUtils.dll v1.1 of 29/10/2000

SITools 2.6 - Released 01/04/2002
SIBuilder v2.6 (build 15) of 01/04/2002
InstallLib.dll v2.5.(build 11) of 01/04/2002
UnInstall.exe v2.0.1 (build 5) of 01/04/2002
Install.exe v2.1 (build 8) of 01/04/2002
RegCOMSvrs.dll v3.0 (build 4) of 01/04/2002
SITLicenseDlg.dll v1.0 (build 2) of 01/04/2002
RegInProcSvr.exe v1.0 (build 2) of 01/04/2002
PJSoftUtils.dll v1.1 of 29/10/2000


License & Copyright

This suite of programs is copyright © 2000-2002 - PJSoft (P.D.Johnson), Llanarth, Wales, UK.

The program suite and source code (where supplied) is placed in the public domain. It may be freely copied and circulated on a not-for-profit basis providing that

By not-for-profit I mean that you may recover out of pocket expenses incurred in distributing the code, but you should not make any profit from this.

No warranty is made about the suitability of this software for any application. It is provided "as-is" and is used at your own risk.

The program requires a 32 bit version of Borland Delphi to be installed in order to create installation programs (tested with versions 2 to 4). The ZLib library provided with Borland Delphi 4 is used by SIBuilder for file compression. All registered trademarks are acknowledged.

If you discover any bugs in this implementation, or if you have any update suggestions, please contact me on peter.johnson@openlink.org.

Please do modify the source code for you own use providing it is not re-distributed (see above). I'd like to see any changes you make - I could incorporate them into future versions. Please notify me of changes on at the above e-mail address.


About the Author

I'm Peter Johnson - a hobbyist programmer living in Ceredigion in West Wales, UK. I write mainly in Delphi, but occasionally dabble in C, C++ and Java. My programs are available for download on my web-site: http://www.pjsoft.contactbox.co.uk/.

I can be contacted by e-mail on peter.johnson@openlink.org.