HISTORY FILE FOR CHIEF'S INSTALLER PRO
                --------------------------------------

Version 2.20 (October 1995)
---------------------------
1. New feature - each user option can now be assigned to specific
   disk(s) in the installation set. This is done by the extension to 
   $USER-OPTION (below). This means that if that option is deselected
   by the user, the user will not be prompted for the disk(s) containing
   the option's files. Do NOT use this feature if you have only 1
   install disk.

2. Extension of $USER-OPTION to take an addition (optional) parameter 
   - the disk(s) (if any) to which the user option is assigned to. If 
   this parameter is used, you MUST make sure that the specified disk(s)
   contain ONLY the files belonging to that user option, otherwise there 
   WILL be confusion and the installation will fail.

   e.g.,
	$USER-OPTION3=Filters;353222;$DISK5


   If more than one disk is specified, the disks must be separated from
   each other by a space. Up to 10 disks can be specified for each user
   option.

   e.g.,
	$USER-OPTION4=Filters;353222;$DISK6 $DISK7 $DISK9


Version 2.10 (September 1995)
----------------------------
1. New reserved word: $FORCE-OVERWRITE-ALL-EXISTING-FILES
   This forces all existing installation files to be overwritten without
   any input from the user. This was introduced by request. Please use
   with great caution, because all existing files (in your respect of your
   application only) will be overwritten without warning (the reason why
   I made this command so cumbersome to type).

2. Extension of $ICO and $ICON;
   with $ICO, if the second parameter is 2, or "REPLACE", then an existing 
   icon will be deleted and replaced with the new one

   with $ICON, if the LAST parameter is 2, or "REPLACE" then an existing 
   icon will be deleted and replaced with the new one

   Examples:
      $ICO=$GROUP;REPLACE;INST.EXE;Chief Pro;WINSTALC.DLL
      $ICON=WINSTALL.TXT;Sample Readme File;Chief's Sample Files;REPLACE

3. New reserved word: $DELETE-ICON - this can be used to delete an
   existing icon. You can have an unlimited number of $DELETE-ICON lines
   but each line can only contain a single icon to be deleted. If the
   specified icon does not exist in the specified group, nothing happens.
   The search for the specified icon title is not case-sensitive.

   The syntax is:  $DELETE-ICON=<groupname>;<icon title>

   Examples:
      $DELETE-ICON=$GROUP;Chief's Installer Pro
      $DELETE-ICON=$GROUP;Program Documentation

4. New version of AutoCalc, which introduces a new entry "USE-$ICON"
   into AUTOCALC.INI. This is to give users the option of specifying
   that AutoCalc should use the $ICON reserved word when creating
   template INF files (instead of $ICO, which is more difficult to
   customise).

5. Bug in $UNZIP command fixed.

6. Some internal enhancements.


Version 2.00 (September 1995)
----------------------------

1. Extension of "$SOURCEDIR" - can be used to change the source 
   directory from the default (useful for internal customisations)
      e.g.,
	$SOURCEDIR=D:\BIN\LOCAL\APP2

  * can also be used in $ICON lines, and all other lines
   e.g.,
     $ICON=$SOURCEDIR\SETUP.EXE;Re-Install MyProg v1.20

2. The directory pointed to by $TARGET will now be created recursively
   (in such cases the root of that directory will not be removed by the
   uninstaller).

3. New reserved word : $AUTOEXEC.BAT (to make entries into
   AUTOEXEC.BAT)
    Will look first in C:\ then in the
    PATH. Entries not deleted by the uninstaller.
   e.g. $autoexec.bat=SET TROOK=$DEST\TROOK

4. Limited support for UNC names (on supporting networks).

5. Extension of $DEST to provide for installing files to other 
   drives and directories - use $DEST!!=<dir name>=<files>
    e.g., $DEST!!=D:\New=*.ini;*.txt;*.tkt
   
   * other reserved words - e.g., $windir, $sysdir, etc., can be
   used here.
 
6. Limits removed from the maximum number of lines allowed for
   most reserved words;

	Limits removed
	--------------    
	$INI            = no limit on number of lines
	$FONT           = no limit on number of lines
	$REG-DATA       = no limit on number of lines
	$BATCH-FILE     = no limit on number of lines
	$CLEANUP        = no limit on number of lines
	$AUTO-REPLACE   = no limit on number of lines
	$AUTOEXEC.BAT   = no limit on number of lines
	$DEST           = no limit on number of lines
	$OPTIONAL       = no limit on number of lines
	$WINDIR         = no limit on number of lines (or files)
	$SYSDIR         = no limit on number of lines (or files)
	Number of lines in batch files = no limit
	Number of files on each $DISK# = no limit
 
	Exceptions
	----------      
	$ICON                   = max 128 lines
	(but check $ICO   = no limit)
	Number of install disks = max 64 disks


7. Extension of $REG-DATA to cope with new classes roots (in preparation
   for the Win32 version). If an "HKEY_xxx\" root parameter is passed,
   then the whole entry will be passed on without having HKEY_CLASSES_ROOT
   prepended to it. Note that the key MUST end with a back-slash;

     e.g., $reg-data=HKEY_USERS\ChiefPro=Chief's Installer Pro

  (NOTE: ** This is a 16-bit program, so please do NOT use any root key other
  than HKEY_CLASSES_ROOT under Win95 or Windows NT).

8. New reserved word: $UNZIP 
   e.g., $UNZIP=<zipfile>;<dest directory>;<CODE>
  
   "Code" specifies how to deal with files which already exist. Possible 
   values are;
	OVERWRITE-ALL        (overwrite all existing files without warning)
	OVERWRITE-OLDER      (overwrite only older files [by date-stamp])
	SKIP                 (skip existing files)
	CONFIRM              (ask for confirmation before overwriting existing files)

   e.g., $UNZIP=$sourcedir\bin.zip;$dest\bin;SKIP

9. New reserved word: $DATA-SPACE (for any non-optional data that your 
   app might need to create at installation - not part of percent 
   meter - but will be added to the free space checks) 

10. Extension of $TARGET: $WINDIR and $SYSDIR can now be used in
    the $TARGET line
       e.g.,
	$TARGET=$WINDIR\MYAPP

11. Bottom left corner of progress dialog now shows the
    number of the disk being processed

12. Installation can now be aborted between disk changes, by
    clicking on the "Abort" button on the dialog that prompts
    for the next disk.

13. New support for displaying messages (up to 10) during
    the course of the installation. All the messages must be
    in an ascii file called WINSTALL.MSG. Each message section
    must begin with a [#<number>] (e.g., [#1]), and cannot be more 
    than 8 lines long (max: 45 characters per line). The messages are
    displayed in turn, automatically (at the rate of 100 divided
    by the number of messages - as per the percent meter).
 
 14. INSTALL.EXE is now so big that SETUP.EXE would now
    be desirable in all cases. You can compress INSTALL.EXE
    to prevent people from running it instead of SETUP.EXE
    (e.g., compress -r install.exe). 

15. New reserved word: $OPTIONHELP# (e.g, $optionhelp1=xxxx)
    This is to present a brief explanation of the user-options
    to the user. Each user-option will have a small button next
    to it, if there is an OPTIONHELP for that option. Clicking
    on that button will display a message box with your brief
    explanation.

    Each user option may have up to 10 $OPTIONHELP# lines - but an
    absolute maximum limit of 1024 bytes applies to each user option.
    Realistically, this maximum should be 512 bytes, because of limits
    in the MessageBox() API when using CTL3D.

16. Extension of $INI to allow the assignment of $INI entries to 
    user options. This is done by specifying the relevant user
    option (i.e, $USER-OPTIONx) as the 5th entry on the $INI line 
    (or as the 6th entry, if the 5th entry is used for NO-REPLACE). 
    If the specified user option is de-selected by the user at runtime, 
    then the INI entry will not be made.

17. New (limited) support for installing files from subdirectories 
    of the source directory (e.g., on a cd-rom or a network drive). The
    scheme is to use each such subdirectory as a pseudo floppy disk
    - i.e., the files in the subdirectory will be specified on a
    $disk# line, and then the subdirectory itself will be called
    $disk# (e.g., $disk2 = for the files which will be on
    the $disk2 lines). If you specify $verify-install-disks then
    you should also have a file called $disk#.dsk in the subdirectory.

18. The installer will now automatically look for directories
    names $disk# under the source directory, to install $disk#
    files from. This includes $disk1 as well. This simplifies
    installing from network disks/cd-roms.

19. New reserved word: $MAX-DUPLICATES
    This allows the installation of the same file into more than
    one destination directory. The command takes one parameter - the
    maximum number of times a single file can be duplicated in this
    way. By default, this value is set at 1. You can increase it
    to any number up to 30. Note that increasing this number will mean
    the installer looping through each $DEST\xx directory the specified
    number of times, for EACH file being installed. This is guaranteed
    to slow down the installation considerably, if the specified number
    is too high. Using it can also lead to multiple copies of files
    which you do not really want to be duplicated - this is especially
    so if you use wilcards at all, in your $DEST\xx lines.

20. Extension of $ICON. If the last parameter on the $ICON line
    is "ALLOW-DUPLICATES" (or "1") then existing icons will be 
    duplicated if the program is installed again.
    e.g. 
        $icon=$dest\test.hlp;Help file;allow-duplicates
        $icon=$dest\test.hlp;Help file;1

21. When disk verification is turned ON, this now also affects
    the first disk ($disk1) - so you must have a $DISK1.DSK file
    on your first disk (even if there is only one disk in the
    installation set). This is to remedy the anomaly where disks
    from disk 2 are verified, but the first (and usually the most
    important) disk is not verified.

22. Extension of $VERIFY-INSTALL-DISKS - to provide extra (optional)
    checking of the .DSK file. To enable this, supply 'READ-FILES' as
    a parameter -
	 e.g.,
	$VERIFY-INSTALL-DISKS;READ-FILES

   If this feature is turned on, then the installer will treat the .DSK
   file for every disk as a Windows .INI file, and check in the [disk-id]
   section for the keyname 'disk-id'. The entry here must match the name
   of the .DSK file being examined - e.g., a .DSK file called $disk1.dsk
   must have the following entries;
     [disk-id]
     disk-id=$disk1.dsk

  Note that if the entry does not match, the installer will assume that the
  disk is the wrong one and will keep prompting for the disk. Thus, you
  should use this feature with care.
 
23. Changes in AutoCalc
	[a] directories for $DISK# files must now be called
	    $DISK# and not just DISK# (under the source directory
	    tree). Files for $DISK1 can also now be in a sub-directory
	    of the source directory - must be called $DISK1)

	[b] by the same token, directories holding files for
	    $SYSDIR, $WINDIR, and $TEMPDIR must also have the "$"
	    sign in their names.

   These changes are introduced for consistency and to make things
   easier, especially now that the installer will first of all look
   for $DISK# files in similarly named sub-directories of the source
   directory.
 
24. New reserved word: $DISKDIR
    A directory path can now be optionally specified for the files 
    on each disk (one path only for each $disk). This is specified by
    using the new $DISKDIR command.

    The Syntax is $DISKDIR#=<dir name> ;[CODE]

    "#" stands for the number of the disk;

    "CODE" is optional; it specifies whether (for disk 2 to the end)
    the installer should prompt the user to insert a disk. It defaults
    to not prompting (to simplify installing from cd-rom or network
    drives). If you want the user to be prompted for a particular disk,
    put "ASK", or "PROMPT", or just "1" as the code.

    "CODE" is not valid for disk 1

     e.g. 
      $diskdir1=D:\USR\BIN
      $diskdir2=D:\LIB\SRC;ASK
      $diskdir3=$SOURCEDIR\LIB\SRC;ASK
      $diskdir4=$SOURCEDIR\BIN\LIB

    * if the specified directory is NOT found, the installer will prompt
    the user for a disk.

    * the installer will still automatically look for $disk# directories
    under the specified directory
   
    * this feature is optional, and is not needed at all
    it should be used sparingly, since it has not been tested in all
    possible scenarios. It is NOT advised to use this feature when
    installing from FLOPPY disks (i.e., it is added mainly for the 
    convenience of those who wish to install from cd-rom, or hard disk).

25. New reserved word: $FORCE-RESTART-WINDOWS

    Note that this feature uses the EXITWINDOWSEXEC() API call. Thus
    it will fail if any program refuses to terminate (e.g., if the user
    has a DOS session open).

26. New reserved word: $FORCE-EXIT-WINDOWS

    Note that this feature uses the EXITWINDOWS() API call. Thus
    it will fail if any program refuses to terminate (e.g., if the user
    has a DOS session open).

27. New reserved words: $OK-BUTTON-TITLE  and $CANCEL-BUTTON-TITLE 
    This can be used to change the caption of the "OK" and "Cancel" 
    buttons on the edit dialog box (note that these will sometimes be
    overridden by the new string resources #542 and/or #543).

28. New GUI front end (or IDE) and Project Manager (run AUTOCALC.EXE). 

29. New (DOS command line) compiler for INF and BATCH
    files (COMPILE.EXE)

    The syntax is;
	  COMPILE <source-file> <target-file> [/BATCH]
    e.g.  COMPILE test.inf winstall.inf  
    e.g.  COMPILE batch1.txt program.cmd /BATCH 


30. INI entries with empty settings can now be created with
    $INI = by supply an empty string (i.e., " ") as the 4th
    parameter;

    e.g.,
    $INI=$dest\prog.ini;386enh;printer.drv;" "

31. Extension of $GROUP. This reserved word can now take an
    extra (optional) parameter ("SHOW-COMBO"), after the group 
    name. If SHOW-COMBO is used, then a combo box displaying the
    names of the available Program Manager groups will be made
    available to the user at run time. The user can then choose
    any of the listed groups to use as the main group.

    e.g.,
	$GROUP=Chief Pro;SHOW-COMBO

32. Extension of $BANNER-MESSAGE - to take some optional parameters;
	CENTERED  = the banner will be centered
	VERTICAL  = the text will be displayed vertically
		  * must supply the X co-ordinates for the vertical text
   e.g.,
	$BANNER-MESSAGE=Chief Pro v2.0;CENTERED
   or
	$BANNER-MESSAGE=Chief Pro;VERTICAL;5

33. A new progress dialog and "percent" meter
  
34. New reserved word $LAN-SYSDIR. This was introduced by request. 

35. New reserved words $BIG-METER-COLOR and $SMALL-METER-COLOR
    to change the colors of the percent meters. They use the same
    syntax as $TEXT-BACKGROUND.
  
36. New buttons ("Abort" and "Help") which remain on the desktop
    for the duration of the install. The buttons will be shown by
    default, unless the (new) reserved words $NO-ABORT-BUTTON or
    $NO-HELP-BUTTON are used.

37. New reserved words: $NO-ABORT-BUTTON and $NO-HELP-BUTTON - to turn
    off the desktop "Abort" or "Help" button respectively.   

38. New reserved word: $ABORT-MESSAGE - this is the message that will
    appear to the user when the user does something to terminate the
    installation (e.g., clicking on the desktop "Abort" button, after
    the installation has commenced).

39. New feature in the AutoCalc IDE - an option to convert Visual
    BASIC Setup Wizard (.VBZ) files to a Chief's Installer Pro project.

40. In respect of strings in WINSTALL.INF, "\n" was always treated
    as the code for a new line (carriage return). If a literal "\n"
    is desired, an exclamation mark should precede the "n" (i.e., "\!n").
    Furthermore, the "\n" is now case sensitive - so, for example,
    "\N" will not be converted.

41. Extension of $DISK to take $UNZIP as a parameter. This is to
    unzip files from a particular disk, instead of copying files
    from it. In this case, the files will only go to the destination
    provided in the $UNZIP command.
     e.g. 
      $DISK1=$UNZIP;$SOURCEDIR\BIN.ZIP;$DEST\BIN
 
42. New reserved word: $ICO - this is for creation of Program
    Manager icons, but this reserved word allows more lower level
    access than $ICON, and also does not have any limit on the
    number of lines.

    This command takes up to 11 parameters, each separated with
    a semi-colon, or a comma;

	1 = the group name (or $GROUP for the default)
	2 = allow duplicate icons? (0 for FALSE; 1 for TRUE)
	3 = command line
	4 = icon's title
	5 = file to load the icon from  (optional)
	6 = icon index in the icon file (optional)
	7 = x position of the icon in group (optional)
	8 = y position of the icon in group (optional)
	9 = working directory (optional)
	10= hotkey (optional)
	11= minimize (0 for FALSE; 1 for TRUE) (optional)

	"Hotkey" consists of a number, made up of a code plus the ascii
	code of the letter;
	Codes:
	Alt   = 1024
	Ctrl  =  512 
	Shift =  256
	So, if you want Alt+S then: 1024+83 (i.e., 1107) is the number. 

    example:
    REM    1    2      3            4        5         6 7 8   9   10  11
    $ICO=$GROUP;0;$DEST\PRG.HLP;Prg Help;$DEST\PRG.ICO;0; ; ;$DEST;1107;1

    Note that icon placement in existing groups is sometimes misaligned when
    using the $ICO command.

43. The order of appearance of the user options has been changed on the
    main dialog window.

44. New group boxes (with internal numeric IDs of 1 to 9) have been created 
    around different controls in the main dialog window.

45. New reserved word:  $CLOSE-GROUP-BOX ; this allows you to close any
    or all of the group boxes referred to above, by supplying their numeric
    IDs as parameters (separated by semi-colons); 
     e.g., $CLOSE-GROUP-B0X=1;5;6

46. New reserved word:  $ABORT-UNINSTAL-QUESTION ; the question to ask
    when running the uninstaller, and the user clicks on the 'Close'
    option in the system menu.

47. Support for batch commands with a new reserved word: 
    $BATCH-FILE. In WINSTALL.INF, you can have an unlimited number
    of $BATCH-FILE lines, each specifying one file; but in SETUPINF.INF,
    you can only have one $BATCH-FILE line.

    Each batch file can contain an unlimited number of lines - but
    note that the bigger a batch file is, the longer it will take
    to read it. Each line in a batch file can be up to 200 characters.

Notes:
  1. Whatever is done by these batch commands will normally NOT be 
  undone by the uninstaller.

  2. Batch files are executed in the order in which they appear,
  and are processed immediately after the files have been
  installed (after $ini, $fonts, $reg-data, and $autoexec.bat,
  but before $pre-exec, and $exec)

  3. Certain reserved words are invalid when used in a batch
  file that is run from SETUPINF.INF - e.g.,
    $DEST
    $TARGET

48. Several bugs fixed.

49. END OF THE INTRODUCTORY PRICING PERIOD.



Version 1.80 (February 1995)
----------------------------
1. New version of AutoCalc. This fixes some long standing bugs, and now
   creates more reliable template INF files.
2. Spanish translation of the string tables.
3. New feature: an installation can now be terminated before completion
   by pressing Alt+F4 or selecting "close" from the system menu on the
   progress dialog. It is not advised to use this feature. Please use it
   only as a LAST resort.


Version 1.70 (February 1995)
----------------------------
1. INSTALL.EXE has been enhanced to handle cases of mismatched
   filenames (single file names only) on $DISK lines. Thus, for
   example, if your disk file is called "FRED.DL_" and you mistakenly
   put "FRED.DLL" in your $DISK line, INSTALL.EXE will (if "FRED.DLL"
   is not found) try to look for "FRED.DL_."
2. New support for recursive creation of subdirectories under the
   $DEST directory tree.
3. Problems encountered with SHARE.EXE under Windows 3.1 fixed.
4. Bug in $INI fixed.
5. Problem with AUTOCALC's processing of USER OPTIONS fixed.


Version 1.60 (February 1995)
----------------------------
1. Limited new support for wildcards on the following lines;
   $SYSDIR, $WINDIR, $TEMPDIR, $DEST, $OPTIONAL, and $AUTO-REPLACE.
   This support is limited to the asterix character ("*") plus a
   FULL extension (e.g., *.TXT;*.EXE;*.DLL). You can mix these wildcards
   with full filenames (e.g., *.TXT;DRAK.GLU;TROOK.FGC;*.TRK).

2. New reserved word $DIALOG-ICON - to change the icon on the installer's
   dialogs. Icons must be in an optional DLL (WINSTALC.DLL) - a sample is
   provided, which contains 8 icons.

3. $RESTARTWIN-MESSAGE can now take an optional parameter ("DISABLE").
   When used, this disables the dialog asking if the user wants to
   restart Windows.

4. SETUP.EXE can now install user files into the TEMP directory before
   running INSTALL.EXE - this is achieved by using $TEMPDIR in the
   SETUPINF.INF file.

5. $MAKE-UNINSTALL-LOG can now take an optional parameter ("OVERWRITE").
   When used, UNINSTAL.EXE will overwrite all files and directories that
   it is removing, so that the user can not undelete them. This feature
   was introduced because a user asked for it. USE IT AT YOUR OWN PERIL!

6. New support for automatically installing fonts, with a new reserved
   word $FONT.

7. New reserved word $SKIP-IDENTICAL-FILES. This causes a file to be
   skipped, if a copy of it already exists, and that copy is exactly
   the same version as the copy on the installation disk.

8. $INI can now take a 5th entry - "NO-REPLACE". Use this to prevent
   the installer from replacing existing INI file entries (in which
   case the entry will be made only if none already exists).

9. New functionality in AUTOCALC, with the /FULL parameter. This will
   optionally generate a full template INF file, and even ATTEMPT to
   create your installation disks for you. This new function
   can be very complicated to configure properly. I wrote this for
   my own personal use, and only decided to add it to AUTOCALC as an
   after thought. This functionality is only included for those who do
   not mind getting their hands dirty. When properly set up, it can greatly
   simplify things in the future. However, it is totally optional, and I
   have seriously considered removing it from AUTOCALC. Thus, if you find
   it complex to use, just pretend that it is not there. But if you are
   feeling adventurous, then read the "Advanced Users" section of
   AUTOCACL.TXT.

10. Problem with certain files not being deleted from the TEMP directory
    by $CLEANUP fixed.


Version 1.50x (January 1995)
----------------------------

1. The Uninstaller can now take a parameter - the home directory of the
   program to be uninstalled. This means that you can now pass your
   program's directory ("$DEST") as a parameter to UNINSTAL.EXE when
   you are creating your program's icons with the $ICON command.
2. $CLEANUP can now accept wildcard characters. However, it will
   NOT accept "*.*".
3. Install now uses CTL3DV2.DLL but will use CTL3D.DLL if CTL3DV2.DLL
   is not found.
4. Uninstall will now delete INI files (but only those which are
   in the home directory of the program being uninstalled).
5. $USER-OPTION lines can now take an extra parameter - the word
   "UNCHECKED".
6. $GROUP can now take an extra parameter - the word "AUTO" or
   the word "DISABLE".
7. A small bug in the text buffering for the INF file has been fixed.
8. New support for restarting Windows if any active shared file was
   overwritten.
9. If the TEMP directory is on a different drive from the target
   directory, $SWAP-SPACE will now be used to check for free space
   on the drive which contains the TEMP directory only.
10. Files on $SYSDIR lines will now be installed into the Windows directory
    if the installation is being carried out on a local area network.
11. New reserved words $SYSDIR-SPACE and $WINDIR-SPACE.
12. New reserved word $BANNER-SHADOW-COLOR.
13. New support for displaying a README file to the user before the
    installation begins.
14. New reserved word $README-BUTTON-TEXT.
15. New reserved word $README-FONT.
16. New reserved word $SOURCEDIR.
17. New utility - AUTOCALC.EXE.
18. New (limited) support for the Registration Database, with a new
    reserved word $REG-DATA.
19. $BITMAP can now take an extra optional parameter "NORMAL".
20. $MAKE-UNINSTALL-LOG can now take an optional parameter - the name
    of the file to use as the LOG file for UNINSTAL.EXE.
21. UNINSTAL.EXE can now take an optional SECOND parameter - the name of
    the LOG file for the uninstall.
22. $TARGET can now take optional extra parameters - details of an INI file
    in the Windows directory from which entries from a previous installation
    of your program can be obtained.
23. Foreign language support introduced for UNINSTAL.EXE and SETUP.EXE.
24. New DOS command line utility (SHOWLOG.EXE) to show the contents of
    the UNINSTAL.LOG file, and new reserved word $DEBUG-LOG, to
    accompany it - see SHOWLOG.TXT for details.


Version 1.10 (December 1994)
----------------------------
1. new reserved word $NO-CTL3D.DLL
2. new support for splitting "$DISK=" lines over up to 10 lines for each
   disk in the installation set
3. SETUP.EXE now copies CTL3D.DLL to the Windows SYSTEM directory (if
   there is no existing copy) instead of the TEMP directory.


Version 1.00 (December 1994)
----------------------------
First public release of the "Pro" version, at a special INTRODUCTORY
PRICE (£20 (U.K. Sterling), or $29 (US)).