Copyright: Copyright © 1992-1995 Chapter One Dev. Ltd.
Citation: Copyright © 1992-1995 Chapter One Developments Ltd.


SETUP.EXE Help
 SETUP.EXE 5.0 Professional Edition Help

'The Original' Alternative Setup Bootstrap Program

Copyright © 1992-1995 Chapter One Developments Ltd.

Contents

 What is SETUP.EXE used for ?

 Product Support and Contact Information

   	 Change History

   	 The Standard Edition

   	 Registration Information

 Licence Agreement and Warranty Disclaimer

   	 Reference

   	 Use

SETUP.EXE is available in two editions - Standard (freeware) and Professional (shareware). You may evaluate this Professional Edition for as long as you wish but if you want to distribute an application using SETUP.EXE Professional then you must purchase the licensed version (registration).

Although SETUP.EXE was originally created for use with Microsoft's Visual Basic (to provide an advanced alternative to the SETUP.EXE supplied with that product) it can easily be used with other Windows development systems such as Borland's Delphi.

Revisons (since Version 4.6)

New topics are marked with [image] Updated topics are marked with


Reference
 SETUP.EXE 5.0 Professional Edition Help

'The Original' Alternative Setup Bootstrap Program

Copyright © 1992-1995 Chapter One Developments Ltd.

Contents

 What is SETUP.EXE used for ?

 Product Support and Contact Information

   	 Change History

   	 The Standard Edition

   	 Registration Information

 Licence Agreement and Warranty Disclaimer

   	 Reference

   	  SETUP.EXE Professional Edition Features

   	  SETUP.EXE Distribution Files

   	  Differences from the Microsoft Visual Basic 3.0-supplied version

   	  Compatibility with the Visual Basic 3.0 SetupWizard

      	  Differences from the Microsoft Visual Basic 4.0-supplied version

      	  Compatibility with the Visual Basic 4.0 SetupWizard

   	  Known Limitations

  Command Line Parameters

  Windows 3.0 Special Requirements

   	  File Version Checking

   	  Setup Log Contents

   	  Localisation

  Microsoft File Compression Utility (COMPRESS.EXE)

  Microsoft File Expansion Utility (EXPAND.EXE)

   	 Use

SETUP.EXE is available in two editions - Standard (freeware) and Professional (shareware). You may evaluate this Professional Edition for as long as you wish but if you want to distribute an application using SETUP.EXE Professional then you must purchase the licensed version (registration).

Although SETUP.EXE was originally created for use with Microsoft's Visual Basic (to provide an advanced alternative to the SETUP.EXE supplied with that product) it can easily be used with other Windows development systems such as Borland's Delphi.

Revisons (since Version 4.6)

New topics are marked with [image] Updated topics are marked with


Use
 SETUP.EXE 5.0 Professional Edition Help

'The Original' Alternative Setup Bootstrap Program

Copyright © 1992-1995 Chapter One Developments Ltd.

Contents

 What is SETUP.EXE used for ?

 Product Support and Contact Information

   	 Change History

   	 The Standard Edition

   	 Registration Information

 Licence Agreement and Warranty Disclaimer

   	 Reference

   	 Use

   	  How to use SETUP.EXE

   	  SETUP.INF file

   	  Example SETUP.INF file

SETUP.EXE is available in two editions - Standard (freeware) and Professional (shareware). You may evaluate this Professional Edition for as long as you wish but if you want to distribute an application using SETUP.EXE Professional then you must purchase the licensed version (registration).

Although SETUP.EXE was originally created for use with Microsoft's Visual Basic (to provide an advanced alternative to the SETUP.EXE supplied with that product) it can easily be used with other Windows development systems such as Borland's Delphi.

Revisons (since Version 4.6)

New topics are marked with [image] Updated topics are marked with


 SETUP.EXE Distribution Files

See Also

The following files should have been included in the distribution archive you received SETUP.EXE Professional in. If you pass on SETUP.EXE except as a bootstrap for your application then you must include all of these files in their original forms. They should always be stored (where possible) in a ZIP archive called PSETUP.ZIP, although this may be altered to include the version number if necessary, for example PSETUP50.ZIP.

  SETUP.EXE	The bootstrap program.

  SETUPEXE.HLP	This help file.

  SETUP.INF	An example INF file.

  SETUP.ICO	The icon used in SETUP.EXE.

  CTL3DV2.DL_	Microsoft 3D Window Controls library (used for optional 3D effects) in a compressed state ready for distribution.

  SETUP.BMP	Sample bitmap used in full dialog image example.

  COMPRESS.EXE	Microsoft File Compression Utility.

  EXPAND.EXE	Microsoft File Expansion Utility.

  README.TXT	General product and installation notes.

  REGISTER.TXT	Details on purchasing SETUP.EXE Professional.

  SOURCE.TXT	Details on purchasing SETUP.EXE Professional and Source Code.

  VENDOR.TXT	Information for disk vendors and BBS operators.

  VENDINFO.DIZ	Standard product information file for SETUP.EXE.

  FILE_ID.DIZ	Standard BBS description file for SETUP.EXE.

For details on how to obtain the latest version of SETUP.EXE see the Product Support topic.


AlsoDist

See Also

Product Support and Contact Information


 SETUP.EXE Standard Edition

The Standard Edition of SETUP.EXE is free - you may use this program without charge when distributing your own applications. It has all the features of this Professional Edition except for the following:

It does not have the 3d effects,

There is no bitmap or icon image support,

There is no automatic support for Visual Basic 3.0 and 4.0 SETUP.LST files,

You cannot specify where the Filen files will be installed on an individual basis,

You can only specify the top position of dialog messages instead of both the top and left positions.

There are not as many Setup Log details written for support purposes.

This Professional Edition is branded with your licensing details and your serial number upon registration.

The latest version of SETUP.EXE Standard Edition can always be found on:

  CompuServe in the MSBASIC forum with a file name of ASETUP.ZIP

  Internet at ftp.coast.net, directory /SimTel/win3/visbasic/ with a file name of ASETUP47.ZIP (new versions will have a different version number in the file name)

  World Wide Web (WWW) at http://webzone1.co.uk/www/chapter1 or http://194.72.60.96/www/chapter1


 What is SETUP.EXE used for ?

SETUP.EXE is the program which the user runs to install your application (as in A:\SETUP). It is designed to pre-install specific files (such as DLLs, VBXs and OCXs) which are used by a main Setup which performs the actual application installation. Once these files are installed SETUP.EXE will run the main Setup program, passing it any user command line parameters. It is sometimes referred to as a bootstrap program.

Your main Setup program (for example, normally called SETUP1.EXE for Microsoft Visual Basic developers) which provides the user with a nice friendly interface when installing your application (asks where to install the application on the user's hard disk, progress meters, configuration options, and such like) may require other files in order to run (depending on the language it has been written in). For example, if the main Setup program is written in Visual Basic 3.0 then it will also require VBRUNx00.DLL and more than likely SETUPKIT.DLL plus any VBXs it may use. If your application might be installed on Windows 3.0 machines it will also require VER.DLL and DDEML.DLL.

  If your main Setup program is run off the floppy disk all these files have to be present on it or somewhere in the user's Path (e.g. hard disk). If these files are not available from the Path then they must be on the floppy and then if Windows is still running when the installation is finished and the user removes the floppy disk the next application to run that needs these files will assume they are still on that floppy drive and Windows will put up an error message even though the files are in the System directory.

  The other issue is that all these files used by the Setup process waste a lot of disk space (for example, the base files for a standard Visual Basic Setup program amount to some 450k at least) when stored in a usable form on the floppy disk. If they were compressed you could fit that much more of your application on it instead. Of course, if they are compressed you can't run your main Setup program using them.

  The third point is that the installation process will run a lot slower from the floppy disk instead of the hard disk. However, this won't be such an issue if you are installing the application from a Network drive.

Hence a bootstrap program is used to copy (and optionally decompress) the files required for the installation process to the user's hard disk.


 Product Support and Contact Information

See Also

If you have any queries about using SETUP.EXE, or encounter problems which you believe may be software bugs, please contact us for assistance. Product support is free and unlimited.

Feedback and suggestions are very welcome - your contributions to SETUP.EXE's evolution will help ensure it meets your needs in the future.

The latest version of SETUP.EXE Professional can always be found on:

  CompuServe in the MSBASIC forum with a file name of PSETUP.ZIP

  Internet at ftp.coast.net, directory /SimTel/win3/visbasic/ with a file name of PSETUP50.ZIP (new versions will have a different version number in the file name)

  World Wide Web (WWW) at http://webzone1.co.uk/www/chapter1 or http://194.72.60.96/www/chapter1

The source code to SETUP.EXE Professional is also available.

	Mike Chapman, Chapter One Developments Ltd. 27 Gorse Drive, Smallfield, Surrey, RH6 9GJ, England. Fax: (44) 0 1342-844507 CompuServe: 100030,351 Internet: 100030.351@compuserve.com WWW: http://webzone1.co.uk/www/chapter1
Association of Shareware Professionals (ASP) Ombudsman Statement


AlsoProdSupport
See Also

SETUP.EXE Distribution Files

Registration Information


 Registration Information

Thank you for trying SETUP.EXE Professional !

You are invited to evaluate SETUP.EXE Professional for as long as you wish. However, if you want to use SETUP.EXE to distribute any applications then you must purchase the licensed version (registration).

The registration fee for the licensed version of SETUP.EXE Professional is US $15 (or just $10 through CompuServe). You can then use SETUP.EXE to distribute any number or type of applications. See the Ordering Information topic below for details.

The SETUP.EXE Professional source code may be purchased for personal and in-house use only. The US $25 cost (or $20 through CompuServe) includes a registered copy of SETUP.EXE Professional and the SETUP.EXE Standard Edition source code. SETUP.EXE is written in C and has been used with both Microsoft and Borland compilers. You may not distribute a competitive Setup bootstrapper.

Ordering Information

License Agreement & Warranty Disclaimer

What is Shareware ?

Why register?

You will be sent the very latest version of SETUP.EXE with no "Unregistered Setup" message in the dialog box and with your licensing details and serial number embedded within the EXE file.

You will be eligible for lifetime product support by Email, Fax, Mail and (for registered users only) Telephone.

You have access to free upgrades of future versions of SETUP.EXE.

All registered users will be notified of major upgrades and bug alerts.

You will receive a registered copy of the 32 bit version of SETUP.EXE for use with 32 bit Visual Basic 4.0 installations on Windows 95 and NT when it is released in 4Q95.

You are supporting the Shareware concept which allows us to continually enhance and support SETUP.EXE.

You are encouraged to pass a copy of the evaluation version of SETUP.EXE Professional on to your friends. Please encourage them to register their copy if they find that they can use it.


 What is Shareware ?

See Also

Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details -- some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee - if you don't use the product, you don't pay for it.

Please show your support for the Shareware concept by registering and paying for the Shareware you use. It's the registration fees you pay which allow us to support and continue to develop our products.


AlsoShareware
See Also

Registration Information

Association of Shareware Professionals (ASP)


 Ordering Information

Registration payment is welcome by Credit Cards, Cheque or through CompuServe.

For more information on the method of registration you prefer, please click on the applicable topic below.

Registered Copy:

Ordering by Credit Card (Fax, Telephone, Mail and CompuServe Email)

CompuServe Shareware Registration Database

Cheque Orders (Mail)

Registered Copy including Source Code:

You can also purchase the C language source code which includes a registered copy of SETUP.EXE Professional and the source code to SETUP.EXE Standard Edition.

Ordering by Credit Card (Fax, Telephone, Mail and CompuServe Email)

CompuServe Shareware Registration Database

Cheque Orders (Mail)

For further information or general inquiries please feel free to Fax or Email Chapter One Developments directly.


 Licence Agreement and Warranty Disclaimer

License Agreement

You should carefully read the following terms and conditions before using this software. Use of this software indicates your understanding and acceptance of the following terms and conditions. If you do not agree with them, do not use the software.

This program and the related documentation are copyright and protected by international copyright treaties and all other applicable national laws. The sole owner is Mike Chapman of Chapter One Developments Ltd.

Warranty Disclaimer

Users of SETUP.EXE must accept this disclaimer of warranty:

"SETUP.EXE is supplied as is. The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchant ability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of SETUP.EXE."


 Differences from the Microsoft Visual Basic 3.0-supplied version

See Also

A SETUP.EXE is provided with Visual Basic 3.0 in the SETUPKIT\KITFILES subdirectory but it differs from this alternative SETUP.EXE in a number of significant areas.

There have been a number of updates to the Microsoft-supplied SETUP.EXE (the update can be obtained from Microsoft and downloaded from CompuServe) and the latest version that was used for this comparison was 1.00.004 and dated 23 Aug 1993.

Microsoft-supplied	SETUP.EXE 5.0 Professional
Requires that all Visual Basic programs running be closed before the Setup process can commence. Your users may not know which applications are Visual Basic or not and may not want or be able to close them down anyway - they may even be running a VB frontend ! This is also of no use if you wish to call the Setup process from a VB application.	No restriction imposed.
Does not pass command-line arguments to the Visual Basic Setup program.	SETUP.EXE will pass any command-line arguments to the  Visual Basic Setup program SETUP1.EXE.
(No comparable features).	Developer-customisable Setup dialog box title, messages, size, background colour, border style, optional 3D effects, and ability to display bitmap or icon anywhere in dialog or replace whole dialog with bitmap.
(No comparable features).	Developer-customisable error messages so that, for example, you can inform the user of specific support procedures.
Will copy all files regardless of whether they are already on the user's hard disk although version checking is performed.	Provides three options for version checking. Default is Windows version information, another is by file dates, the last is to only install if it doesnt already exist.
Copies files to Windows and System directories only.	Can copy files to the Windows and System directories or can copy all the files (including the main Setup program) to a single temporary directory which is deleted after the main Setup program has closed. This directory can be developer-named or automatically generated.
(No comparable feature).	A Setup Log can be created of all the SETUP.EXE actions for support purposes. The log can have a developer-defined name.
Requires VER.DLL to be stored on the disk and in an uncompressed form or no installation will take place.	SETUP.EXE does need VER.DLL for it to install the files (in most cases) but all copies of Windows (except v3.0) provide it as standard so it is not mandatory for any version other than Windows 3.0. If you do require it then it can be compressed however.
Requires the more advanced version of LZEXPAND.DLL to be present on the user's hard disk. This file existed in an early form on Windows 3.0 machines and isn't compatible with this SETUP.EXE.	Works with the original Windows 3.0 LZEXPAND.DLL. This depends on the file version checking specified.
If there is not enough space on the user's hard disk to copy the pre-install files an error message is displayed informing the user that it could not copy a particular file.	If there is not enough space on the user's hard disk an error message is displayed informing the user of this fact and pointing out the disk space required before installation.
If a file cannot be installed (for example if it is in use) then the program halts for the user to abort the installation or retry.	Allows the user to make a further choice of skipping the file. The file can also be set to be skipped by the developer if it is in use.
Requires your Visual Basic Setup program SETUP1.EXE to be stored on the distribution disks with that name.	The Setup program can be stored with any name.
After installation the Visual Basic Setup program SETUP1.EXE is left in the user's Windows directory.	The main Setup program is automatically deleted by default after the installation.
Requires that any files that are compressed must be compressed with the /r switch to store the uncompressed file name.	Depends on the file version checking specified (but we recommend using /r).
The name of the INF file SETUP.LST is hard-coded.	The name of SETUP.EXE can be changed to something else (e.g. INSTALL.EXE) and the INF file will match this (e.g. INSTALL.INF).
The SETUP.LST file cannot contain anything other than a list of files to install.	The INF file uses standard INI file settings so that the main Visual Basic Setup program can use it for its own settings if required.
No icon.	Includes an icon within SETUP.EXE. This allows SETUP.EXE itself to be easily added to Program Manager without an icon having to be specified separately. (The icon can be modified using a resource compiler).
SETUP.EXE size: 19k	SETUP.EXE size: 23k


 Differences from the Microsoft Visual Basic 4.0-supplied version

See Also

A SETUP.EXE is provided with Visual Basic 4.0 in the SETUPKIT\KITFILES subdirectory but it differs from this alternative SETUP.EXE Standard Edition in a number of areas.

This Microsoft SETUP.EXE has been improved over the Microsoft Visual Basic 3.0 one. The latest version that was used for this comparison was the 16 bit 4.00.2422 and dated 15 Aug 1995.

Visual Basic 4.0 has a Setup Toolkit for 16 and 32 bit installations. The following comparison is with the 16 bit version.

Note: The VB 4.0 32 bit version is only used when installing 32 bit applications on Windows 95 and NT and includes support for registering applications, DLLs and OCXs and uninstalling the application. In 4Q95 a 32 bit version of SETUP.EXE Professional will be released which will include these features. Registered users will be sent this update for free. You can still use the 16 bit VB 4.0 and SETUP.EXE Professional to install 32 bit applications (including the main Setup program) - there will just be no uninstall log automatically created (you can modify the main Setup program to do this) and you will have to register the files as required in the main Setup program too. In order for SETUP.EXE Professional to work with the 32 bit main Setup program you will have to modify the code to continue running if it does not detect an uninstall log and application command line argument. By default it halts the installation.

Microsoft-supplied	SETUP.EXE 5.0 Professional
Does not pass command-line arguments to the Visual Basic Setup program.	SETUP.EXE will pass any command-line arguments to the  Visual Basic Setup program SETUP1.EXE.
(No comparable features).	Developer-customisable Setup dialog box title, messages, size, background colour, border style, optional 3D effects, and ability to display bitmap or icon anywhere in dialog or replace whole dialog with bitmap.
(No comparable features).	Developer-customisable error messages so that, for example, you can inform the user of specific support procedures.
Performs standard Windows file version checking. If the VB 4.0 SetupWizard is used, it uses SETUP.LST-embedded version details to avoid reading distribution disk. If versions do not match exactly, will read from distribution disk to determine anyway.	Provides three options for version checking. Default is Windows version information, another is by file dates, the last is to only install if it does not already exist. It has been timed at up to 1.5  times as fast as the VB 4.0 one when using the VB 4.0 SETUP.LST file in compatibility mode.
You can hard code a specific directory to copy certain files to but it will not be deleted after the installation.	Can copy files to the Windows and System directories or can copy all the files (including the main Setup program) to a single temporary directory which is deleted after the main Setup program has closed. This directory can be developer-named or automatically generated.
No comparable feature with the 16 bit version. The 32 bit version creates a log which is used by the uninstalling application.	A Setup Log can be created of all the SETUP.EXE actions for support purposes. The log can have a developer-defined name. It is not compatible with the 32 bit uninstalling application.
Sometimes announces that "Setup has run into a conflict with a running application. Please close all applications...". Currently unsure which files cause this.	SETUP.EXE will continue to install the application without having to close applications.
If a file cannot be installed (for example if it is in use) then the program halts for the user to abort the installation, retry or ignore the file.	SETUP.EXE has the option of preventing the user from ignoring (skipping the file). The file can also be set to be skipped by the developer if it is in use.
Can only be used on Windows 3.1 or higher (as can VB 4.0 applications).	SETUP.EXE can run on Windows 3.0.
SETUP.EXE size: 30k	SETUP.EXE size: 23k


AlsoDiff4
See Also

Compatibility with the Visual Basic 3.0 SetupWizard

Differences from the Microsoft Visual Basic 3.0-supplied version

Compatibility with the Visual Basic 4.0 SetupWizard

SETUP.EXE features


 Compatibility with the Visual Basic 4.0 SetupWizard

See Also

SETUP.EXE Professional Edition is automatically compatible with the Visual Basic 4.0 SetupWizard. To make use of it, each time you create distribution disks you will have to:

1. Run the SetupWizard as normal and create a distribution disk.

The SetupWizard will have created a SETUP.LST file which details which files have to be installed by the bootstrap (SETUP.EXE). You can use this file unchanged (see the VBCompatible setting) or you can specify individual Filen settings for each file as follows:

a. Examine the SETUP.LST file on the distribution disk - the section is [BootStrap].

b. Code the required main Setup program (SETUP1.EXE) file in the SETUP.INF SetupDistName setting.

c. The files to be installed are listed with File1, File2, etc. The comma ( , ) separated arguments that need to be noted are:

3rd	Name of the file as it is distributed.

4th	Name of the file to be installed as.

5th	Path - is either an actual path, or, preferably, a macro. $(WinSysPath) indicates the Windows System directory, $(WinPath) indicates the Windows directory.

For each one code a Filen entry in the SETUP.INF.

d. Delete the SETUP.LST file from the distribution disk.

2. Specify any configuration settings in a SETUP.INF file.

3. Copy the SETUP.INF file to the distribution disk.

To get this version of SETUP.EXE Professional to be automatically copied to the distribution disks change the SWDEPEND.INI file found in the Windows directory:

[SetupWiz]

BootStrap=setup.exe location

Where setup.exe location is the fully-qualified path and file name of SETUP.EXE. This change is only necessary once.


AlsoComp4
See Also

Compatibility with the Visual Basic 3.0 SetupWizard

SETUP.INF file


Resource Complier

A Resource Compiler is used to modify Windows resources within an EXE or DLL such as strings, icons and version information without having to recompile the files. It is also used to create the resource source files to be compiled . Examples include Microsoft's AppStudio, Borland's Resource Workshop, or Symantec's Resource Toolkit.


SETUP.LST

SETUP.LST is Microsoft's version of the SETUP.INF file. It lists all the files that Microsoft's SETUP.EXE should install. For Visual Basic 3.0 each line of the file is expected to be a file to be installed and so it cannot be used to store other settings which your main Setup program might use. In this case you would need another separate file. For Visual Basic 4.0 the main Setup program also uses this file for its settings and the file information is held in a similar manner to SETUP.EXE Professional with Filen settings.


SETUP.EXE

SETUP.EXE is the program which the user runs to install your application (as in A:\SETUP). It is designed to pre-install specific files (such as DLLs, VBXs and OCXs) which are used by a main Setup which performs the actual application installation. Once these files are installed SETUP.EXE will run the main Setup program, passing it any user command line parameters. It is sometimes referred to as a bootstrap program.


 Microsoft File Compression Utility (COMPRESS.EXE)

Compress (COMPRESS.EXE) is the DOS program which the developer uses to compress files in size to save space when distributing a software product. The resulting files are typically 25 to 45 percent smaller than the original files. These files can then be decompressed using APIs built into Windows in the LZEXPAND.DLL and VER.DLL files. The Microsoft File Expansion Utility (EXPAND.EXE) can be used to restore files previously compressed by the Compress utility from the DOS command line.

Command-line syntax for Compress is as follows:

compress [/?][/r] source destination

Following are command-line options and parameters for Compress:

/?	Displays information about how to use Compress.

/r	Specifies that compressed files should be renamed.

source	Specifies the source filename. The name can include a drive letter, a directory path, or both; and it can contain wildcards.

destination	Specifies the destination. This parameter can consist of a directory (with optional drive letter), a filename, or any combination of the two.

If the source parameter contains wildcards and the destination parameter does not specify only a directory, the /r option must be used.

If the destination parameter does not contain a filename, Compress uses the filename or filenames specified by the source parameter when Compress copies the file or files to the location specified by the destination parameter.

COMPRESS.EXE is included with Microsoft's Visual Basic but does not come with some other Windows development systems such as Borland's Delphi, hence its inclusion in this product.


 Microsoft File Expansion Utility (EXPAND.EXE)

Expand (EXPAND.EXE) is the DOS program that can be used to decompress files previously compressed by Compress (COMPRESS.EXE). Expand restores these files to their original sizes. It is generally included as part of a Setup distribution disk to allow a user to manually decompress files in the event of a Setup failure.

Command-line syntax for Expand is as follows:

expand [/?][/r] source destination

Following are command-line options and parameters for Expand:

/?	Displays information about how to use Expand.

/r	Specifies that compressed files should be renamed.

source	Specifies the source filename. The name can include a drive letter, a directory path, or both; and it can contain wildcards.

destination	Specifies the destination. This parameter can consist of a directory (with optional drive letter), a filename, or any combination of the two.

If the source parameter contains wildcards and the destination parameter does not specify only a directory, the /r option must be used.

If the destination parameter does not contain a filename, Expand uses the filename or filenames specified by the source parameter when Expand copies the file or files to the location specified by the destination parameter.

The following example shows how to create decompressed versions of all the files on drive A, writing them to a directory on drive C:

expand a:*.* c:\mydir

EXPAND.EXE is included with Microsoft's Visual Basic but does not come with some other Windows development systems such as Borland's Delphi, hence its inclusion in this product.


 SETUP.EXE Professional Edition Features

See Also

Setup Dialog Box Customisation Features

dialog title,

up to four horizontally centralised messages at specific horizontal and vertical positions,

three different dialog box styles,

dialog height and width,

dialog (and message boxes) can appear in full 3d or alternatively just the background colour can be forced to grey instead of the windows default,

a bitmap or icon can be displayed at any position in the dialog or it can replace the entire dialog in the manner of a splash screen.

File Installation Features

Provides standard Windows file version checking and also file date and time comparisons. If a file cannot be installed then, depending on the reason, the user has a choice of abort, retry or ignore. The developer can control whether the file is automatically skipped if it is in use and whether the user has the option to ignore files which fail to install.

It is automatically compatible with both the Visual Basic 3.0 and 4.0 SETUP.LST files - you do not have to manually specify in the SETUP.INF file which files SETUP.EXE copies allowing it to be completely compatible with the SetupWizards.

Any number of pre-install files may be specified in the SETUP.INF file.

All pre-install files may be compressed with Microsoft's COMPRESS.EXE.

Files can be installed to the Windows and System directories or to a temporary installation directory which is automatically created and then deleted after the main Setup program has closed. This directory can be developer-named or automatically generated. You can also specify where files are to be installed on an individual basis.

The main Setup program (for example, SETUP1.EXE) can be deleted after it had been used.

Optionally store the main Setup program on the distribution disk with a developer-specified file name and also copy it to the user's Windows directory with a different name.

Miscellaneous

Various developer-defined error messages by INF file settings.

Optional Setup Log for support purposes which details actions carried out during Setup.

SETUP.EXE can easily be renamed and the INF file will match the new name (e.g. INSTALL.EXE).

The INF file can be used by other programs like the main Setup program since it uses the standard INI file layout.

Passes all command-line arguments to main Setup program.

When used with a Visual Basic 3.0 main Setup program it allows the installation to proceed with other Visual Basic programs running.

When installing to a PC running a networked (shared) copy of Windows it will copy the pre-install files to the user's Windows directory instead of the networked System directory.

All text is stored in string tables for easy localisation through translation.

It is only approx. 23k in size.

It has been successfully used on Windows 3.x, Windows for Workgroups 3.1x, Windows 95, and Windows NT 3.x.


AlsoFeatures

See Also

Differences from the Microsoft Visual Basic 3.0-supplied version

Compatibility with the Visual Basic 3.0 SetupWizard

Differences from the Microsoft Visual Basic 4.0-supplied version

Compatibility with the Visual Basic 4.0 SetupWizard


 Change History

Version 5.0 Professional	1 Oct 1995

Optional 3d effects for the dialog box and all message boxes.

Image display supported for bitmaps and icons.

Now automatically compatible with both the Visual Basic 3.0 and 4.0 SETUP.LST files - you do not have to manually specify in the SETUP.INF file which files SETUP.EXE copies allowing it to be completely compatible with the SetupWizards.

Facility to define where Filen files should be installed.

Dialog messages can now specify a left position as well as a top position (NOTE this requires you to update existing SETUP.INF files that specify the DialogMessagen settings even if you won't be using the new left position feature).

Help file updated with Visual Basic 4.0 information.

Fully qualified file names now provided in Setup Log for all files.

Full command-line arguments always written to Setup Log instead of just when unable to launch the main Setup.

SETUP.EXE split into two editions - a Standard freeware edition and this Professional shareware one.

Registered license serial number and SETUP.EXE Edition type written to Setup Log.

Removed unneccessary FreeSpace setting.

Fix: if VER.DLL did not exist (on any version of Windows) a GPF would most likely occur. Now checks for VER.DLL regardless of which version of Windows and attempts install. If it fails it does not use version but date and time checking when installing files.

Fix: if source file did not exist but the destination file did then it would not note that there was an error and would skip the file.

Fix: resolved problem in some situations when a Temporary directory not used the main Setup program would not be able to read multiple disks. Thanks Scott Kalb.

Fix: fixed obscure problem starting main Setup program when running on Windows 3.10 without SHARE.EXE running. Thanks Michael Garlick.

Fix: can now delete the Temporary directory on NT - this was resolved by Michael Garlick's fix too.

Fix: if a Filen file name was 12 chars long and it was to be skipped if in use this would not happen.

Version 4.6	12 Aug 1995

Additionally detects if running on Windows NT or Windows 3.11 for Setup Log information and notes SETUP.EXE version number too.

ErrorMessageTempDir now has built-in default message.

When running on Windows 95 the background automatically uses the 3D colour.

Will run on 286 PCs now too.

Fix: Properly detects Windows 3.0 and does not require VER.DLL present in order to run.

Fix: Will now successfully delete the Temporary directory when running a multiple-disk setup.

Fix: If Windows dir is on any drive but C: now successfully deletes the Temporary directory.

Fix: If Windows dir is in the root directory of a drive the files will now be successfully installed. This fix also refers to all other paths used.

Updated documentation including help file.

World Wide Web and anonymous FTP sites available for support.

Version 4.5.1	21 Jun 1995

Dialog background colour defaults to system window backcolour instead of always white.

Writes DialogTitle to Setup Log.

Writes Windows & DOS versions to Setup Log.

Fix: Converts Windows dir to upper case to prevent problem with check for network copy when Windows was launched like "c:\windows\win".

Support for Windows 3.0 with Windows VER.DLL file version checking.

Version 4.5	12 Jun 1995

Option for a Setup Log with developer-defined file name.

Option to delete the main Setup program after it closes.

New style Setup icon.

Enhanced and updated help file.

Inclusion of COMPRESS.EXE and EXPAND.EXE for non-Visual Basic developers.

Source code can be purchased by methods other than through CompuServe.

Association of Shareware Professionals (ASP) accreditation.

Version 4.2.1	26 May 1995

Fix: when unable to launch main Setup it now closes SETUP.EXE.

Fix: when using a temp dir SETUP.EXE changes to that dir so that the files there are used before any in the path.

Version 4.2	9 Apr 1995

Temporary directory option for all files to be copied to.

Option not to provide a Skip button for file installation or free space problems.

Updated product so that it is does not appear to be Visual Basic-only.

Enhanced help file.

Version 4.1	30 Mar 1995

Fix: Resolved problem launching main Setup program on Windows NT.

Removed trailing space at end of installation path passed to main Setup program.

Enhanced launch error message.

Version 4.0	22 Mar 1995

Standard Windows file version checking implemented with fall-back to file dates (this is also a separate option). If the file is in use the developer can set it to be automatically skipped.

Standard fixed double border style with title bar implemented.

Command-line arguments now passed to main Visual Basic Setup program.

Default message, height and width modernised.

All text within the EXE (including references to the INI settings) have been moved to string resources which allow them to be easily translated into other languages for localised international versions. To modify these you can use a resource compiler.

The name of SETUP.EXE can be changed (for example to INSTALL.EXE) by just renaming it and the INF file name becomes the same (without the extension - e.g. INSTALL.INF).

New detailed custom error message for installation failures with user option to abort, retry or ignore.

If there is not enough space on the drive the user now has the option of abort, retry or ignore.

Overwrite setting for individual files removed (since proper version checking now provided).

Updated help file which no longer needs support DLL.

Source code made available.

Version 3.5	26 Apr 1994

INF file settings to specify up to 4 message lines which are automatically centred but have user-defined vertical positioning.

Settings to specify border style and back colour of the dialog.

Developer-defined error message text for different errors.

Setting to specify different file name for SETUP1.EXE on the distribution disk.

You can now force a file to be installed but it still doesn't perform any real version checking yet.

Version information for SETUP.EXE added along with an icon.

Improved help file with contents outline.

Minor changes to some message text.

Version 3.0.1	27 Oct 1993

Fix to allow it to run on Windows 3.0 machines.

Fix to allow it to correctly calculate the free disk space when Windows is launched from DOS in the style of "c:\windows\win".

Version 3.0	28 Aug 1993

Use INF file for customisable Setup dialog box title, message and size. Pre-installs any number of files and checks for required disk space. Is thus VB version independent.

Version 2.0	5 Feb 1993

Centralise Setup dialog box.

Change to copy VBRUN200.DLL instead of VBRUN100.DLL and also copy DDEML.DLL.

Version 1.01	1 Aug 1992

Pass install path to VB Setup program.

Version 1.0	15 Jul 1992

First public release.

Portions of this product were provided by Bob Feller and Microsoft.


 How to use SETUP.EXE

1.	Determine which DLLs and files your main Setup program (for example, SETUP1.EXE) requires to run.

For main Setup programs written in Visual Basic 3.0 this is likely to include VBRUNx00.DLL and SETUPKIT.DLL. It may also include some VBXs like THREED.VBX and if you have created one, your Setup help file. Visual Basic 4.0 has substantially more required files and we recommend using the SetupWizard to create your VB 4.0 distribution disks since it is a much improved product to the VB 3.0 one. You can then easily use SETUP.EXE Professional as the advanced bootstrap replacement (see the Compatibility with the VB 4.0 SetupWizard topic for details).

For main Setup programs written in Delphi this will be the main Setup program, CTL3DV2.DLL (if it uses 3D effects - you will require this anyway if SETUP.EXE uses 3D with the Dialog3d setting) and any DLL or VBX files used (plus BIVBX11.DLL if VBX files are used).

2.	Create your distribution disk. For Visual Basic developers this is as specified in the Visual Basic 3.0 and 4.0 on-line help (search on Setup Toolkit ). Earlier versions of VB describe the Setup Toolkit elsewhere. For Delphi developers it will depend on the main installation program you have written - what compression technique you have used. Check the DEPLOY.TXT file in the \DELPHI directory for details on what files are required for Delphi applications.

3.	Code the required configuration settings in the SETUP.INF text file.

4.	Copy SETUP.EXE and SETUP.INF to your distribution disk.

If your main Setup is Windows 3.0 compatible and might be installed on a Windows 3.0 machine then you may need to check out the Windows 3.0 Special Requirements topic.

If SETUP.EXE uses 3D effects then you will need to distribute CTL3DV2.DLL - see the Dialog3d setting for full distribution details.


 Windows 3.0 Special Requirements

If your main Setup program (for example, SETUP1.EXE) and your application are Windows 3.0 compatible (most applications are by default but quite a number of third party add-ons will only run on Windows 3.1 and above - in fact Visual Basic 4.0 will only create applications for Windows 3.1 and above) and if there is the possiblilty that it might be installed onto a Windows 3.0 machine then you must include VER.DLL on your distribution disk. VER.DLL was not part of that Windows version and is required for proper Windows file version checking. This file can be compressed but regardless has to be named VER.DL_.

You should not specify VER.DLL with a Filen setting since if SETUP.EXE detects that VER.DLL does not exist it will force an install of this file in order to be able to install the other files.

DDEML.DLL will probably also be required since this and  were not part of that version of Windows. This is required to perform DDE to the Windows Shell (such as Program Manager) in order to add icons. This should be specified in a Filen setting.


 Compatibility with the Visual Basic 3.0 SetupWizard

See Also

SETUP.EXE Professional is automatically compatible with the Visual Basic 3.0 SetupWizard. To make use of it, each time you create distribution disks you will have to:

1. Run the SetupWizard as normal and create a distribution disk.

The SetupWizard will have created a SETUP.LST file which details which files have to be installed by the bootstrap (SETUP.EXE). You can use this file unchanged (see the VBCompatible setting) or you can specify individual Filen settings for each file as follows:

a. Examine the SETUP.LST file on the distribution disk.

b. The first file listed is the name of the main Setup program to be run. Code this file in the SETUP.INF SetupDistName setting.

c. All the other files listed are the pre-installation files. For each one code a Filen entry in the SETUP.INF.

d. Delete the SETUP.LST file from the distribution disk.

2. Specify any configuration settings in a SETUP.INF file.

3. Copy the SETUP.INF file to the distribution disk.

To get SETUP.EXE Professional to be automatically copied to the distribution disks (instead of the Microsoft one) change the SETUPWIZ.INI file in the Windows directory:

[SETUPWIZ]

BOOTSTRAP=setup.exe location

Where setup.exe location is the fully-qualified path and file name of SETUP.EXE. This change is only necessary once.


AlsoDiff
See Also

Compatibility with the Visual Basic 3.0 SetupWizard

Differences from the Microsoft Visual Basic 4.0-supplied version

Compatibility with the Visual Basic 4.0 SetupWizard

SETUP.EXE features


AlsoComp
See Also

Compatibility with the Visual Basic 4.0 SetupWizard

SETUP.INF file


 SETUP.INF file

Example

SETUP.INF is a text file that lists all the files which SETUP.EXE pre-installs on the user's machine. It also contains various optional configuration settings for the initial Setup dialog box and installation features.

All the following SETUP.EXE settings appear under the [BootSetup] section heading:

DialogTitle=	SetupLogFile=
DialogMessagen=	DeleteSetup=
DialogWidth=	UseTempDir=
DialogHeight=	TempDir=
DialogColor=	ErrorMessageTempDir=
DialogStyle=	VersionCheck=
Dialog3d=	NoIgnore=
ImageFile=	ErrorMessageInstall=
SetupFileName=	ErrorMessageInstallOther=
SetupDistName=	VBCompatible=
ErrorMessageLaunch=	Filen=
SetupLog=
The SETUP.INF file name was chosen because most commercial Setup programs seem to use this name as a standard. Since the settings in SETUP.INF are coded in a standard INI format the file can also be used by the main Setup program (for example, SETUP1.EXE) for its own configuration options if necessary.

In some countries INSTALL.EXE is the more usual name for the bootstrapper (and companies like Lotus and Borland tend to use this too). You can simply rename SETUP.EXE to INSTALL.EXE (or anything you like) and the name that SETUP.EXE expects the INF file to be will correspondingly be changed - e.g. INSTALL.INF. If you wish to change the INF file extension to something else see the topic on Localisation.


 Example SETUP.INF file

See Also

[BootSetup]

DialogTitle=Loan Application Setup

DialogMessage1=Please wait...;-1;20

DialogMessage2=Initialising Setup;-1;40

DialogWidth=300

DialogHeight=150

DialogColor=0

DialogStyle=0

Dialog3d=1

ImageFile=SETUP.ICO;1;35;20

SetupFileName=SETLOAN.EXE

SetupDistName=SETLOAN.EX_

ErrorMessageLaunch=

SetupLog=1

SetupLogFile=SETLOAN.LOG

DeleteSetup=1

UseTempDir=1

TempDir=~SETLOAN

ErrorMessageTempDir=

VersionCheck=0

NoIgnore=1

ErrorMessageInstall=

ErrorMessageInstallOther=

VBCompatible=3

File1=VBRUN300.DLL

File2=SETUPKIT.DLL

File3=THREED.VBX;1

File4=SETUP.HLP;0;1


AlsoExample
See Also

SETUP.INF file


 ErrorMessageInstallOther setting

See Also

If SETUP.EXE is unable to install a file using Windows version checking then the following style message will be displayed and the installation will pause for user intervention:

The reason given after the file can be one of the following (see the File Version Checking topic for more details):

  Out of disk space on destination drive.

  File is in use.

  Drive is write-protected.

  General copying error.

The user then has the option of aborting the Setup, skipping this file or re-attempting the copy after taking rectifying action.

The Choose ABORT to cancel the Setup or IGNORE to skip this file text can be customised to include your own specific product support / instruction details as follows:

[BootSetup]

ErrorMessageInstallOther=error message

The error message can be any characters you like and up to 160 characters in length.

You can change the available buttons to RETRY and CANCEL by specifying the NoIgnore setting if you do not want the user to be able to skip the file.


AlsoErrorInsOther
See Also

SETUP.INF file

Dialog3d setting

ErrorMessageLaunch setting

SetupLog setting

NoIgnore setting

ErrorMessageInstall setting

File Version Checking

Localisation


 ErrorMessageLaunch setting

See Also

If SETUP.EXE is unable to run the main Setup program (for example, SETUP1.EXE) that is has just installed then the following message will be displayed and the installation pauses for user intervention:

The Installation Aborted text can be customised to include your own specific product support / instruction details as follows:

[BootSetup]

ErrorMessageLaunch=error message

The error message can be any characters you like and up to 160 characters in length. It will completely replace the Installation Aborted line.

Also provided for your support use is the DOS error number reason for the failure and the full path and file name of the file which was being launched. Theoretically, the DOS error number could be any of the following:

0	System was out of memory, executable file was corrupt, or relocations were invalid.

2	File was not found.

3	Path was not found.

5	Attempt was made to dynamically link to a task, or there was a sharing or network-protection error.

6	Library required separate data segments for each task.

8	There was insufficient memory to start the application.

10	Windows version was incorrect.

11	Executable file was invalid. Either it was not a Windows application or there was an error in the .EXE image.

12	Application was designed for a different operating system.

13	Application was designed for MS-DOS 4.0.

14	Type of executable file was unknown.

15	Attempt was made to load a real-mode application (developed for an earlier version of Windows).

16	Attempt was made to load a second instance of an executable file containing multiple data segments that were not marked read-only.

19	Attempt was made to load a compressed executable file. The file must be decompressed before it can be loaded.

20	Dynamic-link library (DLL) file was invalid. One of the DLLs required to run this application was corrupt.

21	Application requires Microsoft Windows 32-bit extensions.


AlsoErrorLaunch

See Also

SETUP.INF file

Dialog3d setting

SetupFileName setting

SetupDistName setting

SetupLog setting

ErrorMessageInstall setting

ErrorMessageInstallOther setting

Localisation


 ErrorMessageInstall setting

See Also

If a file cannot be found on the distribution disk or SETUP.EXE itself cannot be installed then the following message will be displayed and the installation process will stop:

The Installation Aborted text can be customised to include your own specific product support / instruction details as follows:

[BootSetup]

ErrorMessageInstall=error message

The error message can be any characters you like and up to 160 characters in length. It will completely replace the Installation Aborted line.


AlsoErrorInstall

See Also

SETUP.INF file

Dialog3d setting

SetupFileName setting

ErrorMessageLaunch setting

SetupLog setting

VersionCheck setting

Filen setting

ErrorMessageInstallOther setting

File Version Checking

Localisation


 SetupDistName setting

See Also

The SetupDistName setting specifies the name of the main Setup program (for example, SETUP1.EXE) as it is stored on the distribution disk. It is an optional setting and is coded in the SETUP.INF file as follows:

[BootSetup]

SetupDistName=name

The name has to be exactly as the file is stored on the disk but with no path, e.g. LOANSTP.EX_. If this setting is not specified then SETUP1.EX_ will be used instead.

The file does not have to be compressed. If you do compress it then you must use the COMPRESS.EXE program supplied with Visual Basic (and included with this product for users of other Windows development systems like Borland's Delphi).

You do not have to specify an underscore ( _ ) at the end of the extension but your file can still be compressed if you wish. SETUP.EXE will not care.

Note: If SETUP.EXE cannot find the above file on the distribution disk or it has a problem copying it then the following message will be displayed and the installation process will stop:

The Installation Aborted text can be customised using the ErrorMessageInstall setting.

When not using a temporary installation directory this file will be copied into the Windows directory even if another file of that name exists. In that case the existing one would be overwritten.


AlsoSetupDist

See Also

SETUP.INF file

SetupFileName setting

SetupLog setting

ErrorMessageInstall setting

Localisation


 DialogStyle setting

See Also

The Setup dialog box can have four different border styles:

  Double border with title bar

  Single border with title bar

  Double border with no title bar

  No border, no title bar (for use with your own specified bitmap)

[BootSetup]

DialogStyle=value

Where value is 0 for double border with title bar (which is the default), 1 for single border with title bar, 2 for double border and no title bar, or 3 for no border or title at all - this is used in conjunction with the ImageFile setting to display a splash screen-like bitmap which replaces the whole dialog box.

You can customise the message displayed using the DialogMessagen setting and the dialog box can also appear in 3D with the Dialog3d setting:


AlsoDialogStyle

See Also

SETUP.INF file

DialogTitle setting

DialogMessagen setting

DialogColor setting

Dialog3d setting

ImageFile setting


 DialogColor setting

See Also

The Setup dialog box background colour can be partially customised.

It can be set to either use the windows default or forced to the 3D colour which is generally grey [image] .

[BootSetup]

DialogColor=value

Where value is 0 for the windows default (which is the default) or 1 for 3D.

Except when running on Windows 95 the borders (DialogStyle setting) will not change to the 3D colour. To determine the 3D colour SETUP.EXE uses the current ButtonFace colour. When running on Windows 95 the DialogColor setting is ignored and the background is automatically set to the 3D colour.

Note: If internal 3D effects are used (the Dialog3d setting) then the background will be the 3D colour regardless of what this setting or the Windows background is defined as.


AlsoDialogColor

See Also

SETUP.INF file

DialogStyle setting

Dialog3d setting


 DialogTitle setting

See Also

The title bar text of the Setup dialog box can be customised.

To specify the title bar text code the following setting in the SETUP.INF file:

[BootSetup]

DialogTitle=text

Text can be any characters you like and up to 80 characters in length. If no DialogTitle setting is specified then the default text used will be Setup.

You may find you need to increase the width of the dialog box using the DialogWidth setting from its default if you want a particularly long title. You can skip display of a title by changing the DialogStyle setting.


AlsoDialogTitle
See Also

SETUP.INF file

DialogWidth setting

DialogStyle setting

Dialog3d setting


 DialogMessagen setting

See Also

You can specify up to four different lines of text to be displayed in the Setup dialog box.

To specify the message text code the following settings in the SETUP.INF file:

[BootSetup]

DialogMessagen=text ; left position; top position

DialogMessagen=text ; left position; top position

etc...

Where n is the number of the DialogMessagen setting, e.g. DialogMessage1, then DialogMessage2, etc. up to a maximum of 4. Text can be any characters you like and up to 60 characters in length (including the position details). Left position defines the horizontal position that Text will start at within the dialog box and is measured in pixels. Top position is the vertical position.

Text, left position, and top position must be separated by a semi-colon ( ; ) and that character cannot then be used in the actual message. If you want to specify a top position and you want centralised text you will need to specify a left position of -1.

If no DialogMessagen settings are specified then the default text used will be Starting Setup, please wait... horizontally centralised at a vertical position of 45 pixels.

You may find that you need to increase the width of the dialog box using the DialogWidth setting from its default if you want to display particularly long message.

Note: If you do not want any text displayed (for example if you are using your own bitmap which contains appropriate text - the ImageFile setting) simply specify DialogMessage1= with nothing after the = character.


 DialogWidth setting

See Also

The width of the Setup dialog box can be customised.

To specify a width code the following setting in the SETUP.INF file:

[BootSetup]

DialogWidth=width

The width is measured in pixels. If no DialogWidth setting is specified then the default width is 300 pixels.


AlsoDialogWidth
See Also

SETUP.INF file

DialogHeight setting

DialogStyle setting

Dialog3d setting


AlsoDialogHeight
See Also

SETUP.INF file

DialogWidth setting

DialogStyle setting

Dialog3d setting


 DialogHeight setting

See Also

The height of the Setup dialog box can be customised.

To specify a height code the following setting in the SETUP.INF file:

[BootSetup]

DialogHeight=height

The height is measured in pixels. If no DialogHeight setting is specified then the default height is 150 pixels.


 Dialog3d setting

See Also

The Setup dialog box and all messages boxes can have an optional 3D look to them:

[BootSetup]

Dialog3d=value

Where value is 1 for the 3D look or 0 for no 3D (which is the default).

If you use 3D then you must also distribute the file CTL3DV2.DLL (this file is provided in the archive you received SETUP.EXE in). You should not specify a Filen setting for it but it must be present on your distribution disk as CTL3DV2.DL_ (it can also be compressed). This file will be installed to the user's Windows System directory (or Windows directory if the System directory is networked). No Windows file version checking is carried out when installing this file except that it is only installed if it doesn't already exist.

Note: If you can be certain that you will only be installing your product on Windows 95 machines then you can ignore this setting and using CTL3DV2.DLL since the 3d effect is automatic on Windows 95 (in fact CTL3DV2.DLL turns itself off when it detects that operating system).


AlsoDialog3d

See Also

SETUP.INF file

DialogColor setting

DialogStyle setting

ImageFile setting

Filen setting

Setup Log Contents


 ImageFile setting

See Also

The Setup dialog box can have an icon or bitmap positioned anywhere within the dialog:

Alternatively,a bitmap can be used in place of the whole dialog box in conjunction with the DialogStyle setting.

[BootSetup]

ImageFile=name ; type ; left position ; top position

Example:

ImageFile=SETUP.ICO;1;19;35

Where name is the image file name with its file extension but no path. On the distribution disk this file's extension must end in an underscore ( _ ) as with the Filen settings but must be specified here with the actual character.

The type specifies whether this is a bitmap or an icon - use 0 for bitmap (the default), 1 for an icon.

The left and top positions define where the image is to be displayed in the dialog box in pixels. The default values are 0 and 0. If you want to position an icon to the left of the default text use values of 19 and 35 (as in the example above).

All the arguments must be separated with semi-colons ( ; ) and you cannot have blank arguments if you are specifying a later argument (e.g. SETUP.ICO; ; ;35).

If you want to have a splash screen-like bitmap which is used in place of the dialog box then specify the DialogStyle setting with a value of 3. You would also not bother with any arguments on this ImageFile setting (e.g. just define ImageFile=SETUP.BMP or whatever file).

Note: Only bitmaps can be used in such a manner and you will probably not want the default text (Starting Setup, please wait...) being displayed so specify the DialogMessagen setting like DialogMessage1= so that nothing is displayed.

Note: The image on the distribution disk can be compressed.


AlsoImageFile

See Also

SETUP.INF file

DialogStyle setting

Dialog3d setting

Setup Log Contents


 SetupFileName setting

See Also

The SetupFileName setting specifies the name to rename the main Setup program (for example, SETUP1.EXE) to when it is copied to either the user's Windows directory or the temporary installation directory. It is an optional setting and is coded in the SETUP.INF file as follows:

[BootSetup]

SetupFileName=name

The name has to have the file extension specified but no path, e.g. LOANSTP.EXE. If this setting is not specified then SETUP1.EXE will be used instead.

SETUP1.EXE must be stored on the distribution disk as SETUP1.EX_ (an underscore as the last character of the extension) unless you specify a different name in the SetupDistName setting.

Note: If SETUP.EXE cannot find SETUP1.EX_ (or the SetupDistName specified one) on the distribution disk or it has a problem copying it then the following message will be displayed and the installation process will stop:

The Installation Aborted text can be customised using the ErrorMessageInstall setting.

When not using a temporary installation directory this file will be copied into the Windows directory even if another file of that name exists. In that case the existing one would be overwritten.


AlsoDialogSetup
See Also

SETUP.INF file

SetupDistName setting

SetupLog setting

ErrorMessageInstall setting

Filen setting

File Version Checking

Localisation


SETUP1.EXE

For Visual Basic developers SETUP1.EXE is the default name of the Visual Basic Setup program which actually performs the task of installing your application onto the user's machine. Other development environments may refer to this differently. This file is copied to the user's machine by SETUP.EXE. It does not have to be copied as SETUP1.EXE or stored on the distribution disk with that name either; specify the SetupFileName and SetupDistName settings as required.


AlsoDialogFree
See Also

SETUP.INF file

SetupFileName setting

SetupLog setting

ErrorMessageFreeSpace setting

Filen setting

Localisation


 Filen setting

See Also

The Filen setting specifies the name of a pre-install file to copy to the user's hard disk before the main Setup program (for example, SETUP1.EXE) is run. Any DLLs, VBXs or OCXs which your Setup program uses must be specified (you may also have a help file youve created for the Setup too).

Note: SETUP.EXE Professional can automatically read the Visual Basic 3.0 and 4.0 SETUP.LST files created by the SetupWizards  - so you do not have to manually specify Filen settings unless you wish to.

You can have any number of these Filen settings and they are coded in the SETUP.INF file as follows:

[BootSetup]

Filen=name

Filen=name

etc...

Where n is the number of the Filen setting, e.g. File1, then File2, File3, etc. The name has to have the file extension specified but no path, e.g. VBRUN300.DLL.

You can specify two further optional arguments on each Filen setting:

[BootSetup]

Filen=name ; skipinuse ; location

Example:

File1=VBRUN300.DLL;1;0

Where skipinuse is 0 if the user should be notified if a file that should be installed (because it is newer) cannot because it is in use (this is the default) or 1 if the copy and notification of this file should be skipped. See the file version checking topic for more details.

Location specifies where this particular file should be installed:

0	The Windows System directory (or Windows directory if on a network) or the Temporary directory if used. This is the default.

1	Wherever the main Setup program (for example, SETUP1.EXE) is installed (this is either the Windows directory or the Temporary directroy if used).

2	The Windows System directory (or Windows directory if on a network).

Using the above you could have all Setup-related files installed to a Temporary directory with shareable files like VBRUN300.DLL, THREED.VBX installed to the System directory.

The actual file must be stored on the distribution disk with the last character of the extension as an underscore ( _ ), e.g. VBRUN300.DL_. Remember that the Filen setting has to have the full name (without the underscore).

Note: The file does not have to be compressed. If you do not compress the file it must still have the last character of the extension as an underscore (_).

If you do compress the files then you must use the COMPRESS.EXE program (supplied with Visual Basic and included with this product for users of other Windows development systems such as Borland's Delphi).

Note: If you use a Temporary directory (the UseTempDir setting) then you are currently limited to a maximum of 20 Filen settings.

Note: If you have specified using 3D effects (the Dialog3d setting) then you need CTL3DV2.DLL on the distribution disk (as CTL3DV2.DL_) but you should not specify a Filen setting for it - SETUP.EXE installs it automatically if required. If your app being distributed or your main Setup is written in Delphi and uses 3d effects (which requires CTL3DV2.DLL) and you have not specified 3D effects for SETUP.EXE with the Dialog3d setting you will need to specify CTL3DV2.DLL explicitly with a Filen setting as normal.

Note: If your app could be installed on a Windows 3.0 PC (or on any Windows that does not have VER.DLL) then you will need to distribute VER.DLL but you should not specify a Filen setting for it - if SETUP.EXE finds that VER.DLL does not exist it will attempt to install it automatically. See the Windows 3.0 Special Requirements topic for more details. SETUP.EXE checks that VER.DLL exists in either the Windows System or the Windows directory on all versions of Windows. If it fails to install the file then Windows file version checking is cancelled and standard file date and time checking is used instead.

If a file is specified which SETUP.EXE cannot find it on the distribution disk or has a problem copying it then the following message will be displayed noting the problem file and the installation process will stop:

The Installation Aborted text can be customised using the ErrorMessageInstall setting.


AlsoDialogFile
See Also

SETUP.INF file

SetupFileName setting

SetupLog setting

VersionCheck setting

ErrorMessageInstallOther setting

VBCompatible setting

File Version Checking

Localisation


 Localisation

What do you do when you want to distribute a non-English language version of your product?

SETUP.EXE allows you to specify your own error message details but you also need to translate all the other text references too.

To allow you to modify these all of the text references are stored within the SETUP.EXE program in string tables. You can easily translate (or just change) them to anything you like using a resource compiler or editor.

Also stored in string tables are all the INF file setting names so these can also be modified.

In some countries INSTALL.EXE is the more usual name for the bootstrapper (and companies like Lotus and Borland tend to use this too). You can simply rename SETUP.EXE to INSTALL.EXE (or anything you like) and the name that SETUP.EXE expects the INF file to be will correspondingly be changed - e.g. INSTALL.INF. If you wish to change the INF file extension to something else then you will need to change the string table resource INI_INF.

String Table Details:

Resource Id	String Details	Max Length	Description
DEF_MSG	"Starting Setup, please wait...;45"	60	The default message displayed in the Setup dialog box. See the DialogMessagen setting.
DEF_TITLE	"Setup"	80	The default title of the Setup dialog box. See the DialogTitle setting.
DEF_DIST	"SETUP1.EX_"	12	The default distribution name for the main Setup program. See the SetupDistName setting.
DEF_FILE	"SETUP1.EXE"	12	The default name for the main Setup program to be installed as. See the SetupFileName setting.
DEF_LOGFILE	"SETUPEXE.INI"	12	The default name for the Setup Log file. See the SetupLogFile setting.
ERR_SETUP	"Setup Error"	50	The title used in error message dialog boxes.
ERR_ABORT	"Installation Aborted."	60	Used in the ErrorMessageInstall,ErrorMessageLaunch and ErrorMessageFreeSpace messages.
ERR_LOCATE	, "Unable to locate source file: "	60	Used in the ErrorMessageInstall message.
ERR_LAUNCH	"Error launching Setup file: "	60	Used in the ErrorMessageLaunch message.
ERR_INSTALL	"Unable to install file: "	60	Used in the ErrorMessageInstallOther message.
ERR_INUSE	"This file is in use. Please close down the application which is using this file and choose RETRY."	200	Used in the ErrorMessageInstallOther message.
ERR_OUTOFDISK	"Out of disk space on the destination drive. Please free up some space and choose RETRY."	200	As above.
ERR_TO	" to"	15	As above.
ERR_INSTALL2	"Choose ABORT to cancel the Setup or IGNORE to skip this file."	200	As above.
ERR_WRITEPROT	"The drive is write-protected."	100	Used in the ErrorMessageInstall and ErrorMessageInstallOther messages.
ERR_GENERAL	"General copy error: "	60	Used in the ErrorMessageInstallOther message.
ERR_ERROR	"Error: "	15	Used in the ErrorMessageLaunch message.
ERR_DELTEMP	"Unable to delete the temporary directory:"	100	Used in the ErrorMessageTempDir setting message.
ERR_DELMAN	"Please delete this directory manually."	100	Used in the ErrorMessageTempDir setting message.
INI_APPTITLE	"BootSetup"	35	The INI section heading used for all the settings in the INF file.
INI_DLGTITLE	"DialogTitle"	35	The name of the DialogTitle setting.
INI_DLGMSG	"DialogMessage"	35	The main part of the DialogMessagen setting.
INI_DLGWIDTH	"DialogWidth"	35	The name of the DialogWidth setting.
INI_DLGHEIGHT	"DialogHeight"	35	The name of the DialogHeight setting.
INI_DLGCOLOR	"DialogColor"	35	The name of the DialogColor setting.
INI_DLGSTYLE	"DialogStyle"	35	The name of the DialogStyle setting.
INI_DLG3D	"Dialog3d"	35	The name of the Dialog3d setting.
INI_IMAGE	"ImageFile"	35	The name of the ImageFile setting.
INI_FILENAME	"SetupFileName"	35	The name of the SetupFileName setting.
INI_DISTNAME	"SetupDistName"	35	The name of the SetupDistName setting.
INI_ERRLAUNCH	"ErrorMessageLaunch"	35	The name of the ErrorMessageLaunch setting.
INI_SETUPLOG	"SetupLog"	35	The name of the SetupLog setting.
INI_LOGFILE	"SetupLogFile"	35	The name of the SetupLogFile setting.
INI_DELSETUP	"DeleteSetup"	35	The name of the DeleteSetup setting.
INI_TEMPDIR	"TempDir"	35	The name of the TempDir setting.
INI_ERRTEMPDIR	"ErrorMessageTempDir"	35	The name of the ErrorMessageTempDir setting.
INI_VERSIONCHK	"VersionCheck"	35	The name of the VersionCheck setting.
INI_NOIGNORE	"NoIgnore"	35	The name of the NoIgnore setting.
INI_ERRINSTALL	"ErrorMessageInstall"	35	The name of the ErrorMessageInstall setting.
INI_ERRINSTALL2	"ErrorMessageInstallOther"	35	The name of the ErrorMessageInstallOther setting.
INI_VBCOMPATIBLE	"VBCompatible"	35	The name part of the VBCompatible setting.
INI_VB4TITLE	"BootStrap"	35	The name of the BootStrap file section in the VB 4.0 SETUP.LST file.
INI_VB4SETUP	"Setup"	35	The name of the Setup section in the VB 4.0 SETUP.LST file.
INI_VB4SETUPNM	"Setup"	35	The name of the Setup setting in the Setup section of the VB 4.0 SETUP.LST file.
INI_VB4FILE	"File"	35	The name of the Filen settings for the Bootstrap section in the VB 4.0 SETUP.LST file.
INI_VB4WINSYS	"$(WinSysPath)"	35	The name of the macro defining Windows System dir for the File settings in the VB 4.0 SETUP.LST file.
INI_VB4WIN	"$(WinPath)"	35	The name of the macro defining Windows dir for the File settings in the VB 4.0 SETUP.LST file.
INI_FILE	"File"	35	The name part of the Filen setting.
INI_INF	".INF"	4	The file extension used for the INF file.
You can code \t to imbed a tab character and \n to perform a new line.


 File Version Checking

SETUP.EXE uses file version checking to ensure that only newer files are installed on the user's machine, thereby avoiding file conflicts if an older version were installed.

Three methods are available (which are described in the VersionCheck setting topic) but the main one (and the default and recommended method) is using Windows built-in version checking.

The vast majority of Windows files (EXE, DLL, VBX, OCX) have standard version information imbedded in them. This includes a file version number in the form n.n.n.n.

SETUP.EXE formats each element of this version number to 4 hex digits which prevents a standard comparison failure when comparing files with versions like 3.10.4 and 3.8.3. In this case the second file would be treated as newer although we can see this isn't the case. With SETUP.EXE's formatting these would become 0003.0010.0004.0000 and 0003.0008.0003.0000 and the comparison would correctly show the first as the newest.

The following table shows the installation action SETUP.EXE would automatically make given the circumstances when files do and do not have imbedded version information:

Source	Destination	Install ?
Version info	Version info	If source file is newer
Version info	No version info	YES
No version info (Use file date/time)	No version info (Use file date/time)	If source file is newer
No version info	Version info	NO
(Anything)	File does not exist	YES
The only downside to using Windows file version checking is it does slow down the installation from floppy disks on some machines. This occurs because Windows scans the file for version information and it is especially slow when large files are compressed. One way around this would be to use the temporary install directory option. Since no files already exist there SETUP.EXE does not attempt to determine version information from the distribution files and so avoids the speed hit.

Note: Visual Basic 4.0 SETUP.LST files have their file version number specified for each file in the LST file so that it does not have to be read it from the disk. SETUP.EXE Professional is compatible with this feature and also uses it when specified.

If SETUP.EXE is unable to install a file using Windows version checking then the following style message will be displayed and the installation will pause for user intervention:

The reason given after the file can be one of the following:

  Out of disk space on destination drive.

  File is in use. For example, a DLL that needs to be installed because it is newer cannot because an application that uses that DLL is currently running. To allow the file to be copied that application must be closed. See below for more information.

  Drive is write-protected. If the user does not have write access to the installation directory / drive then this message will be displayed. The administrator needs to give the user the appropriate access rights.

  General copying error. This could happen for a number of reasons and the following VIF_ errors detail what the problem is:

VIF_WRITEPROT, VIF_SHARINGVIOLATION, VIF_OUTOFMEMORY, VIF_CANNOTREADDST.

The user then has the option of aborting the Setup, skipping this file or re-attempting the copy after taking rectifying action.

File In Use Error

By default if a file is in use which needs to be installed because it is newer then the above error message will displayed. For some files this might be unnecessary, for example VER.DLL. This file exists as part of Windows 3.1 and 3.11 (and later versions of Windows). Your installation might be installing the latest copy 3.11 and when attempting to install this on a 3.1 machine would notify the user that it cannot because it's in use. Since this is in use by Windows itself all the user can really do is abort the Setup or ignore this file. Possibly somewhat confusing for them.

We could safely ignore this for this particular file so using the Filen setting we can specify that in the above situation the VER.DLL file should automatically be skipped.

Distribution File Does Not Exist Error

If a file does not exist on the distribution disk then the following style message is displayed and the installation will stop.


 VersionCheck setting

See Also

There are three different types of file version checking available:

  Windows file version checking

The vast majority of Windows files (EXE, DLL, VBX, OCX) have standard version information imbedded in them. This includes a file version number in the form n.n.n.n.

In this check SETUP.EXE compares the file version of the file to be installed with the one that may already exist and if the one to be installed is newer the existing one is overwritten.

It handles this intelligently and for more information see the File Version Checking topic. This is the default method and is highly recommended.

  Based on the file date and time stamps

This check simply compares the file dates of the source and destination and will only install if the file to be installed is newer.

(This is also the fall-back method for the above method if no version information is present in both files).

  Install only if the file doesn't currently exist

This was the original method the SETUP.EXE used. If the destination files does not exist then the file will be installed. No version checking of any kind is carried out.

[BootSetup]

VersionCheck=value

Where value is 0 for Windows version checking (which is the default), 1 for date and time stamps, or 2 for only if the file doesn't exist.


AlsoVersionCheck
See Also

SETUP.INF file

SetupLog setting

VBCompatible setting

File Version Checking


 CompuServe Shareware Registration

You can order the registered version of SETUP.EXE Professional including the source code (to both this Professional and the Standard Edition) through the CompuServe Shareware Registration Database.

To register using this method only costs $20 (compared to $25 plus shipping by other methods).

GO SWREG

Select "Register", then select "Registration ID" and quote Program Id 7633.

As soon as CompuServe notifies us of your registration (via email) we will email you the latest version of SETUP.EXE Professional with your licensing details embedded along with all the source code files.


 CompuServe Shareware Registration

You can order the registered version of SETUP.EXE Professional through the CompuServe Shareware Registration Database.

To register using this method only costs $10 (compared to $15 plus shipping by other methods).

GO SWREG

Select "Register", then select "Registration ID" and quote Program Id 7632.

As soon as CompuServe notifies us of your registration (via email) we will email you the latest version of SETUP.EXE Professional with your licensing details embedded.


 UseTempDir setting

See Also

By default SETUP.EXE will copy the main Setup program (for example, SETUP1.EXE) to the user's Windows directory and all the files specified by the Filen settings to the user's System directory (unless the System directory is a shared Network directory in which case all the files are copied to the Windows directory).

The UseTempDir setting provides the option to copy all the files (including the main Setup program) to an automatically created temporary installation directory instead. Once the main Setup program has closed this directory (and all the files which were copied to it) is deleted. It is coded in the SETUP.INF file as follows:

[BootSetup]

UseTempDir=value

Where value is 0 for no temporary directory (the default) or 1 to use a temporary directory.

The directory is created off the user's C drive and by default begins with a ~S followed by six numerics although this name can be developer-specified by coding the TempDir setting.

Using a temporary installation directory avoids the speed hit when using Windows file version checking which occurs when installing from floppy disks on some machines, especially when large files are compressed. Since no files already exist in the directory SETUP.EXE does not attempt to determine version information from the distribution files and so avoids the speed hit.

Note: If you use a Temporary directory then you are currently limited to a maximum of 20 Filen settings.


AlsoUseTempDir
See Also

SETUP.INF file

SetupLog setting

TempDir setting

ErrorMessageTempDir setting


 TempDir setting

See Also

When copying files to a temporary installation directory (specified with the UseTempDir setting) the default directory created off the user's C Drive begins with a ~S followed by six numerics. This name can be changed by coding the following setting in the SETUP.INF file:

[BootSetup]

TempDir=dir

Where dir is the name of the directory to be created for copying all the files to. This can only be a single level and without any drive specification, e.g. LOANSTP. It should follow the usual DOS directory naming convention.


AlsoTempDir
See Also

SETUP.INF file

SetupLog setting

UseTempDir setting

ErrorMessageTempDir setting

VBCompatible setting


 ErrorMessageTempDir setting

See Also

If you have specified that you want to use a temporary directory for all the files (using the UseTempDir setting) and the temporary directory cannot be deleted after the main Setup program (for example, SETUP1.EXE) has finished then the following message will be displayed:

The Please delete this directory manually text can be customised to include your own specific product support / instruction details as follows:

[BootSetup]

ErrorMessageTempDir=error message

The error message can be any characters you like and up to 100 characters in length. It will be added after the directory line.


AlsoErrorMessageTempDir
See Also

SETUP.INF file

SetupLog setting

UseTempDir setting

TempDir setting

Localisation


 NoIgnore setting

See Also

The NoIgnore setting is used to determine whether or not the Ignore button is available on the message box when unable to install a file. It is an optional setting and is coded in the SETUP.INF file as follows:

[BootSetup]

NoIgnore=value

Where value is 0 (which is the default) for an Ignore button:

and 1 for no Ignore button:

When no Ignore button is provided the Cancel button performs the same function as the Abort button by halting the installation at this point.


AlsoNoIgnore
See Also

SETUP.INF file

SetupLog setting

ErrorMessageInstallOther setting


 SetupLog setting

See Also	Example

A Setup Log can be created for support purposes in order to help solve obscure problems. All the actions SETUP.EXE makes during an installation are recorded in it. By default this is always created (and this is recommended).

[BootSetup]

SetupLog=value

Where value is 0 for no Setup Log or 1 (which is the default) to create the log.

The log is always created in the Windows directory. The default name is SETUPEXE.INI although this can be changed using the SetupLogFile setting.

The contents of the created log are structured like an INI file. Each time SETUP.EXE is run a new section is created (the last one in the file being the most recent). See the Setup Log Contents topic for complete details.


AlsoSetupLog
See Also

SETUP.INF file

SetupLogFile setting

Setup Log Contents


 Setup Log Contents

See Also	Example

A Setup Log can be created by SETUP.EXE using the SetupLog INF file setting. The log can be used for support purposes in order to help solve obscure problems. All the actions SETUP.EXE makes during an installation are recorded in it.

The contents of the created log are structured like an INI file. As a result if can be easily read by another application. Each time SETUP.EXE is run a new section is created (the last one in the file being the most recent).

An example section heading follows:

[1995/09/10 16:36:09]

The section heading contains the date and time that the Setup was carried out in the format yyyy/mm/dd hh:mm:ss.

The next line displays the DialogTitle text.

A=Loan Application Setup

The next line displays the Windows version number and the DOS version number in that sequence following by the full version number of SETUP.EXE in brackets. If this is a registered copy of SETUP.EXE then your serial number is displayed after the "Pro".

V=3.11 6.22 (5.0.0.4 Pro)

If Setup is running on Windows NT then the Windows and DOS versions are replaced with NT.

If CTL3DV2.DLL needed to be installed for the 3D effects then the next line specifies the result:

3d,C:\WINDOWS\SYSTEM\CTL3DV2.DLL=101

If VER.DLL needed to be installed then the next line specifies the result:

Ver,C:\WINDOWS\SYSTEM\VER.DLL=101

The value for either of the above is the installation result and can be one of the following:

101	File installed (if file already existed it was not overwritten).

400	File not installed. Either the distribution file did not exist or the destination directory was write protected.

If an image was to be displayed (the ImageFile setting) then the next line specifies the result:

Img,C:\WINDOWS\SETUP1.ICO=1

The value is the installation/display result and can be one of the following:

1	Successfully displayed.

-1	Installed file not found.

-2	Image not a DIB (device independent bitmap) when a bitmap has been specified.

-3	Not enough memory to display bitmap.

-4	Unable to read installed bitmap file.

-5	Image not an icon when an icon has been specified.

-6	Unable to read install icon file.

-7	Not enough memory to display icon.

-10	Unable to install image file (unable to copy or distribution file not found).

If a SETUP.LST file was present in the distribution directory and there was no VBCompatible=0 setting specified then the following line specifies the result:

VB=3,SETUP1.EXE;VBRUN300.DLL;SETUPKIT.DLL

The value is the VB version and the result:

3 indicates a VB 3.0 LST file. The second parameter is the list of files (with their expanded installation names) that are defined. Alternatively, the second parameter can be -1 to indicate an empty file or -2 if there was not enough memory to read the file.

4 indicates a VB 4.0 LST file. There are no other parameters.

The following three lines specify various directory names:

1=C:\WINDOWS

2=C:\WINDOWS\SYSTEM\

3=A:\

Where the numbers indicate the following directories:

1.	Windows directory.

2.	Windows System directory.

3.	The distribution directory from where SETUP.EXE is run from. This is passed to the main Setup program.

The next set of lines detail the files that were installed and the results. The main Setup program is given first with the fully qualified path.

C:\~S061434\SETUP1.EXE=101

The value is the installation result and can be one of the following:

101	File copied regardless (with no version checking carried out).

400	File not installed. Unable to locate the distribution file.

401	File not installed. Destination is probably write-protected or does not exist.

Then next lines detail the Filen setting files, where they were installed and their results.

C:\WINDOWS\SYSETM\SETUPKIT.DLL=100

C:\WINDOWS\SYSETM\VBRUN300.DLL=100

These files are being installed in the Windows System directory (detailed by the 2= line) and the installation method depends on the VersionCheck setting. The result value can be one of the following:

100	File copied. File version checking was used.

101	File copied regardless (no version checking carried out).

102	File copied. File did not exist already (when VersionCheck setting is 2).

200	File not installed. File versions match or file to be installed is an older version.

201	File not installed. Destination file contains version info but file to be installed does not so it isn't installed.

202	File not installed. No version info exists in either destination or file to be installed so file date comparisons were made and the dates are the same or the file to be installed is older.

203	File was skipped because VB 4.0 SETUP.LST embedded version number matched installed file version number.

210	File not installed. Destination file was in use.

211	File not installed. Out of disk space.

212	File not installed. Drive/Path write-protected or file being overwritten read-only.

300	File not installed. Destination file was in use and the SkipInUse flag on the Filen setting indicated it could be skipped.

400	File not installed. Unable to locate the distribution file. The full installation file path is provided.

401	File not installed. Destination is probably write-protected or does not exist. The full installation file path is provided.

501	File not installed. File date comparisons used and the dates are the same or the file to be installed is older (when VersionCheck setting is 1).

502	File not installed. File already exists and it is not to be overwritten (when VersionCheck setting is 2).

Theoretically the following VIF_ errors could also be specified as the result value (the words not their actual hex values):

VIF_WRITEPROT, VIF_SHARINGVIOLATION, VIF_OUTOFMEMORY, VIF_CANNOTREADDST

The following line details the full path to the main Setup program, the installation path, followed by any user-entered arguments to SETUP.EXE:

Cmd=C:\~S061434\SETUP1.EXE A:\ -r

If the main Setup program is unable to be launched then the following line is created which details the DOS error code for the launch (see the ErrorMessageLaunch setting for the available values):

L=2

When required to delete the main Setup program after the installation (the DeleteSetup setting) or when using a temporary directory (the UseTempDir setting) which must be deleted after the installation, a Windows timer is initiated. If this cannot be created then the following line is added:

T=0

The following line is created if the main Setup program is deleted:

DS=1

The next line determines the result of deleting the temporary directory if one was created.

DT=1

The value is 1 if the directory was deleted or 0 if the delete failed..

If the installation was successful then the following line is added at the very end:

C=1


AlsoSetupLogContents
See Also

SETUP.INF file

SetupLog setting

SetupLogFile setting


ExampleSetupLog
Example

[1995/06/11 11:06:02]

A=Loan Application Setup

V=3.11 6.22 (5.0.0.4 Pro 0023)

3d,C:\WINDOWS\SYSTEM\CTL3DV2.DLL=101

Img,C:\WINDOWS\SETUP1.ICO=1

1=C:\WINDOWS

2=C:\WINDOWS\SYSTEM\

3=A:\

C:\~S061506\SETUP1.EXE=101

C:\WINDOWS\SYSTEM\THREED.VBX=100

C:\WINDOWS\SYSTEM\SETUPKIT.DLL=100

C:\WINDOWS\SYSTEM\VBRUN300.DLL=100

Cmd=C:\~S061506\SETUP1.EXE A:\ -r

DS=1

DT=1

C=1


 SetupLogFile setting

See Also

When creating a Setup Log to record the actions of SETUP.EXE during an installation (specified with the SetupLog setting) the default log file name is SETUPEXE.INI. This name can be changed by coding the following setting in the SETUP.INF file:

[BootSetup]

SetupLogFile=name

Where name is the name of the log to be created.

The log is always created in the user's Windows directory.


AlsoSetupLogFile
See Also

SETUP.INF file

SetupLog setting

Setup Log Contents


 DeleteSetup setting

See Also

By default SETUP.EXE will copy the main Setup program (for example, SETUP1.EXE) to the user's Windows directory. After the installation has been completed this file is left there.

The DeleteSetup setting is used to specify whether the main Setup program should be automatically deleted after the installation which keeps the user's PC free of an unnecessary file.

[BootSetup]

DeleteSetup=value

Where value is 0 to leave the main Setup program or 1 to delete it after the installation (the default).

If a temporary directory is being used (with the UseTempDir setting) then the main Setup will be deleted regardless of the DeleteSetup setting.


AlsoDeleteSetup
See Also

SETUP.INF file

SetupFileName setting

UseTempDir setting


 VBCompatible setting

See Also

For Visual Basic 3.0 and 4.0 the SetupWizard creates a SETUP.LST file which holds a list of all the files which must be installed by the bootstrap (SETUP.EXE) before the main Setup program is run. This LST file is then copied to the distribution disk.

SETUP.EXE Professional can now read and use these files directly without the developer having to manually code their own Filen settings in the SETUP.INF file.

If a SETUP.LST file exists in the distribution directory when SETUP.EXE is run it will use the files listed there instead of any Filen settings in the SETUP.INF. SETUP.EXE is able to automatically determine which version of Visual Basic the SETUP.LST file is for. However, you can use the following setting to either force SETUP.EXE to ignore any existing SETUP.LST file (for example, if you use your own LST file or you do not want to manually remove it from the distribution disk) or specify which version of Visual Basic it is to treat the LST file for.

[BootSetup]

VBCompatible=value

Where value is 0 to ignore any existing SETUP.LST file, 3 to specify an existing SETUP.LST file is in Visual Basic 3.0 format (the default), or 4 to specify a VB 4.0 format file.

Please note again that SETUP.EXE can automatically determine if a SETUP.LST file is VB 3.0 or 4.0 so this setting need not be specified unless you have a SETUP.LST file on the distribution disk which should not be used (0 value). Note that if you specify a value of 4 it will not try to determine if it is a VB 3.0 LST file, only the other way around.

Note: If a SETUP.LST file is used then any Filen settings in the SETUP.INF file are ignored, as are the SetupDistName and (for Visual Basic 4.0 only) the SetupFileName. For a VB 3.0 SETUP.LST, the first file listed is used as the main Setup program, for VB .4.0 the main Setup program can appear anywhere in the list of files (it doesn't matter where) and the actual name is taken from the [Setup] section Setup setting.

Whilst you cannot specify any optional arguments for SETUP.LST files as you can with the Filen settings, if you specify a Temporary directory, all the files will be copied there and for VB 4.0 LST files SETUP.EXE will use the macros $(WinPath) and $(WinSysPath) to install the files to the Windows and Windows System directories as specified. Any other setting specified will default to the Windows System directory.

Version checking is still defined by the VersionCheck setting.

Note: For a VB 4.0 installation, the SETUP.LST file is automatically copied to the same location as the main Setup program (which is necessary for the main Setup to run).

VB 4.0 also uses a file version number value defined for the BootStrap files in the SETUP.LST. It compares this number to one that already exists - if it matches the file is ignored. It is only if it doesn't that it determines whether to install the file. This improves installation speed becuase it avoids having to determine the version number of the file to be installed from the floppy disk when it is in a compressed state - this can be extremely slow. SETUP.EXE Professional also used this number and has actually been timed at 1.5 to 2 times as fast as the Microsoft VB 4.0 one.


AlsoVBCompatible
See Also

SETUP.INF file

SetupFileName setting

SetupDistName

Filen setting

Compatibility with the VB 3.0 SetupWizard

Compatibility with the VB 4.0 SetupWizard


 Public (software) Library Registration Service

You can order the registered version of SETUP.EXE Professional from the Public (software) Library by payment with one of the following credit cards: MasterCard, Visa, American Express or Discover.

PsL only provide the registration service - any questions about the status of the shipment of the order, refunds, registration options, product details, technical support, volume discounts, dealer pricing, site licences, etc, must be directed to Chapter One Developments Ltd.

To insure that you get the latest version of the SETUP.EXE Professional, PsL will notify us the day of your order and we will ship the product directly to you. When ordering, please tell the operator you are ordering part number 14230.

	Telephone:	800-2424 PsL or 713-524-6394
	Fax:	713-524-6398
	Mail:	PsL P.O. Box 35705 Houston, Texas 77235-5705 USA
	CompuServe Email:	71355,470
The above numbers are for credit card orders only. Chapter One Developments Ltd cannot be reached at these numbers.

Please use the following form when ordering by Fax, Mail or Email.

Click on this line to print an order form on your printer.

(If you don't have a printer, please write or type the information below on a piece of paper.)

'The Original' Alternative SETUP.EXE Professional Edition 5.0

(or latest version) - Part #: 14230

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

CREDIT CARD TYPE  _________________________

CREDIT CARD NUMBER_________________________

EXPIRATION DATE   _________________________

Licensed Copy                  quantity: ___ @ $  15.00 ea _______

Shipping/Handling - Outside Europe             $   2.00    _______

                                             Total payment: _______


Public (software) Library Order Form

'The Original' Alternative SETUP.EXE Professional Edition 5.0

(or latest version) - Part #: 14230

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

CREDIT CARD TYPE  _________________________

CREDIT CARD NUMBER_________________________

EXPIRATION DATE   _________________________

Licensed Copy                  quantity: ___ @ $  15.00 ea _______

Shipping/Handling - Outside Europe             $   2.00    _______

                                            Total payment: _______


 Cheque Registration

You can order the registered version of SETUP.EXE Professional directly from Chapter One Developments Ltd. Please make your cheques payable to: Chapter One Developments Ltd.

Local currency cheques are acceptable. For non-UK sterling currency please make the amount equivalent to 8 GBP (UK pounds). Shipping outside of Europe is equivalent to 1 GBP.

	27 Gorse Drive, Smallfield, Surrey, RH6 9GJ, England.
Use the following form when ordering by mail.

Click on this line to print an order form on your printer.

(If you don't have a printer, please write or type the information below on a piece of paper.)

'The Original' Alternative SETUP.EXE Professional Edition 5.0

(or latest version)

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

Licensed Copy                  quantity: ___ @ (equiv.£ 8.00) ea _____

Shipping/Handling - Outside Europe             (equiv.£ 1.00)    _____

                                                  Total payment: _____


Cheque Order Form

'The Original' Alternative SETUP.EXE Professional Edition 5.0

(or latest version)

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

Licensed Copy                  quantity: ___ @ (equiv.£ 8.00) ea _____

Shipping/Handling - Outside Europe             (equiv.£ 1.00)    _____

                                                  Total payment: _____


 Public (software) Library Registration Service

You can order the registered version of SETUP.EXE Professional including the source code (to both this Professional and the Standard Edition) from the Public (software) Library by payment with one of the following credit cards: MasterCard, Visa, American Express or Discover.

PsL only provide the registration service - any questions about the status of the shipment of the order, refunds, registration options, product details, technical support, volume discounts, dealer pricing, site licences, etc, must be directed to Chapter One Developments Ltd.

To insure that you get the latest version of SETUP.EXE Professional, PsL will notify us the day of your order and we will ship the product directly to you. When ordering, please tell the operator you are ordering part number 14230.

	Telephone:	800-2424 PsL or 713-524-6394
	Fax:	713-524-6398
	Mail:	PsL P.O. Box 35705 Houston, Texas 77235-5705 USA
	CompuServe Email:	71355,470
The above numbers are for credit card orders only. Chapter One Developments Ltd cannot be reached at these numbers.

Please use the following form when ordering by Fax, Mail or Email.

Click on this line to print an order form on your printer.

(If you don't have a printer, please write or type the information below on a piece of paper.)

'The Original' Alternative SETUP.EXE Professional Edition including Source Code 5.0

(or latest version) - Part #: 14230

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

CREDIT CARD TYPE  _________________________

CREDIT CARD NUMBER_________________________

EXPIRATION DATE   _________________________

Licensed Copy inc. Source Code quantity: ___ @ $  25.00 ea _______

Shipping/Handling - Outside Europe             $   2.00    _______

                                            Total payment: _______


Public (software) Library Order Form
'The Original' Alternative SETUP.EXE Professional Edition including Source Code 5.0

(or latest version) - Part #: 14230

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

CREDIT CARD TYPE  _________________________

CREDIT CARD NUMBER_________________________

EXPIRATION DATE   _________________________

Licensed Copy inc. Source Code quantity: ___ @ $  25.00 ea _______

Shipping/Handling - Outside Europe             $   2.00    _______

                                            Total payment: _______


 Cheque Registration

You can order the registered version of SETUP.EXE Professional including the source code (to both this Professional and the Standard Edition) directly from Chapter One Developments Ltd. Please make your cheques payable to: Chapter One Developments Ltd.

Local currency cheques are acceptable. For non-UK sterling currency please make the amount equivalent to 15 GBP (UK pounds). Shipping outside of Europe is equivalent to 1 GBP.

	27 Gorse Drive, Smallfield, Surrey, RH6 9GJ, England.
Use the following form when ordering by mail.

Click on this line to print an order form on your printer.

(If you don't have a printer, please write or type the information below on a piece of paper.)

'The Original' Alternative SETUP.EXE Professional Edition including Source Code 5.0

(or latest version)

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

Licensed Copy inc. Source Code quantity: ___ @ (equiv.£ 15.00) ea ____

Shipping/Handling - Outside Europe             (equiv.£ 1.00)     ____

                                                   Total payment: ____


Cheque Order Form

'The Original' Alternative SETUP.EXE Professional Edition including Source Code 5.0

(or latest version)

NAME_______________________________________________

COMPANY____________________________________________

STREET_____________________________________________

STREET_____________________________________________

CITY_______________________________________________

STATE________________________   ZIP________________

COUNTRY_________________

TELEPHONE NUMBER.._________________________

FAX NUMBER........_________________________

EMAIL ID  ........_________________________

Licensed Copy inc. Source Code quantity: ___ @ (equiv.£ 15.00) ea ____

Shipping/Handling - Outside Europe             (equiv.£ 1.00)     ____

                                                   Total payment: ____


 ASP Ombudsman Statement

Mike Chapman of Chapter One Developments Ltd is a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help.

The ASP Ombudsman (OMB) can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. The OMB may be contacted by FAX by sending to the ASP FAX number: (616) 788-2765. In communication with the OMB please include a telephone and/or FAX number if available.

The ASP is the largest and most influential of the shareware trade associations. Its 1400 members include authors, BBSes, disk vendors, journalists, user groups, and "Friends of Shareware". ASP produces a CD-ROM of members' products, which is updated monthly and provided to Sysop and Vendor members free. ASP maintains a forum on CompuServe, and provides conferences on FidoNet, RIME, and Usenet.

What is Shareware ?


 Known Limitations

If you use a Temporary directory (the UseTempDir setting) then you are currently limited to a maximum of 20 Filen settings. This limit is likely to removed in the future.

SETUP.EXE Professional is not immediately compatible with the 32 bit main Setup program (SETUP132.EXE) that is provided with Visual Basic 4.0. SETUP.EXE does not create a compatible uninstall log or pass over the details of the log and uninstall application to the main Setup program.

You can still use the 16 bit VB 4.0 and SETUP.EXE Professional to install 32 bit applications (including the main Setup program) - there will just be no uninstall log automatically created (you can modify the main Setup program to do this) and you will have to register the files as required in the main Setup program too. In order for SETUP.EXE Professional to work with the 32 bit main Setup program you will have to modify the code to continue running if it does not detect an uninstall log and application command line argument. By default it halts the installation.

In 4Q95 a 32 bit version of SETUP.EXE Professional will be released which will include these features. Registered users will be sent this update for free.


 Command Line Parameters

The user can enter command line parameters for SETUP.EXE which your main Setup program (for example, SETUP1.EXE) can act on.

These parameters are passed to the main Setup program without modification along with the full path from which SETUP.EXE was run (for example, A:\ or N:\NETWORK\APPS\)

If the user entered A:\SETUP.EXE /d to run your application Setup then the parameters passed to your main Setup program (which would be stored in the Command$ variable for Visual Basic developers) would be:

A:\ /d


(Also Topics)