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

Version 2.50 (December 1995)
---------------------------
1. This is the version that is optimised for Win32 environments (NT and
   Win95). It will still run as normal under 16-bit versions of Windows,
   but it now features extensive calls to the Win32 API (when running
   under NT or Win95). This includes 
	[a] 32-bit registry functions (you can specify roots other than
            HKEY_CLASSES_ROOT\ under Win95 and NT)
	[b] long filename supprt. Note however, that it is NOT recommended to use
   	    long filenames with spaces in the names. This will cause some problems
   	    with the parser.
        [c] support for long filenames can be disabled by putting the 
	    following line in *both* WINSTALL.INF and AUTOCALC.INI;
		$LONG-FILENAMES=DISABLED

	
	NOTES:  * long filenames are not supported within ZIP archives
		* current versions of Microsoft's COMPRESS.EXE do not
		support long filenames (at least, I haven't seen one
		that does).					

2.  AMENDMENTS TO $REG-DATA ---- THE SYNTAX HAS CHANGED!!!
    The syntax of $REG-DATA has changed - for many reasons, but mainly to provide
    new facilities when running under Win32. Please note that the old syntax will
    only work to create keys, not to assign values to them.
 
    The new syntax is;
   
    either;
    [a] $REG-DATA=<KeyName>[;<valueName>]

     ** this must be used to CREATE keys. It will create the key "keyname" and set 
        its value to "valuename" (if supplied, otherwise the value will be an empty 
        string);

        examples:
	  $REG-DATA=HKEY_LOCAL_MACHINE\ChiefPro
	  $REG-DATA=HKEY_LOCAL_MACHINE\WCL;Windows Command Line Processor

    OR;
    [b] $REG-DATA=<KeyName>;<valueName>;<ValueData>[;<ValueType]

       ** this will assign the value in "valuedata" to "valuename", in the key
        "keyname". The value type is optional and defaults to REG_SZ

         examples: (after creating the "ChiefPro" key as in the example above)
	  $REG-DATA=HKEY_LOCAL_MACHINE\ChiefPro;BinDir;$DEST\BIN
	  $REG-DATA=HKEY_LOCAL_MACHINE\ChiefPro;HomeDir;$DEST;reg_sz
	  $REG-DATA=HKEY_LOCAL_MACHINE\ChiefPro;RunCount;5;reg_dword
	  $REG-DATA=HKEY_LOCAL_MACHINE\ChiefPro;Bin32Data;232;reg_binary

   NOTE:
   You MUST create a key before you can assign values to anything under that key.

3. Extension of $REG-DATA - when running under NT or Win95, 

   - you can specify roots other than HKEY_CLASSES_ROOT\
   - you can also optionally specify, as the LAST parameter, a VALUE TYPE for the 
     entry string. By default, this is REG_SZ, but others can be specified for 
     Win95 or NT.

    NOTE:
     * this extension must NOT be used under Win 3.1x


4. New reserved word - "$WIN32-ONLY"
   If this is set to 1 (one) the installer will only run under
   Windows 95 or Windows NT (note - it will not run under Win32s).
   This can also be set in SETUPINF.INF.

   If a 16-bit version of Windows is running (including Win32s), 
   then an error message (as defined in the reserved word 
   "$WIN32-FAIL-MESSAGE" - below) will appear.

5. New reserved word - "$WIN32-FAIL-MESSAGE"
   This is the message that will appear if $WIN32-ONLY is enabled
   and the version of Windows is not NT or Win95.

6. You should NOT run SETUP.EXE from the TEMP directory - but if you
   do, SETUP.EXE will no longer abort (but Chief Pro files in the 
   TEMP directory will NOT be copied).

7. The main dialog will now resize itself (length-wise) if no USER OPTIONS
   are specifed.

8. Note that if you create projects under Win 3.1x, and then you move to
   Win95 or NT, you may have to recreate the projects (because the Windows
   directory and the Windows SYSTEM directory may now have different names).

9. Extension of $UNZIP - to take an optional parameter;
      /F=<filespec>

   This allows you to specify the files that will be extracted from the 
   ZIP archive. If used, this parameter MUST be the LAST one to be supplied.
   By default, the filespec is "*.*" - now you can specify something different 
   - e.g.,

     $UNZIP=$SOURCEDIR\BIN\BIN.ZIP;$DEST\BIN;CONFIRM;/F=*.EXE

     $DISK1=$UNZIP=$SOURCEDIR\BIN\BIN.ZIP;$DEST\DLL;CONFIRM;/F=*.DLL

10. New support for splitting large files into smaller chunks. This
    feature is implemented by;
	[a] SPLIT.EXE - a DOS command line program which will split the
	    file into smaller chunks (each part up to a specified maximum size)
	    and then create a log file (with the extension .~#0)
	[b] a new reserved word - $BUILD-FILE - which takes the log file
	    created by SPLIT.EXE, and the output directory, as parameters

11. New reserved word: $BUILD-FILE - to rebuild a file that has been split
    with SPLIT.EXE

    syntax=
     $BUILD-FILE=<log file name>;<target directory>;[CLEANUP]

    if CLEANUP is used, then the file chunks and the log file will be 
    deleted after the file has been rebuilt.

   NOTE: you need to add the size of the full file to your $SPACE values.

12. New reserved word: "$REGISTER-UNINSTALL" - to register your program
    among those that can be "automatically uninstalled" under Win95.
    You should supply the full path to UNINSTAL.EXE as the parameter -
    e.g.,
         $REGISTER-UNINSTALL=$DEST\BIN\UNINSTAL.EXE

    An entry will be made into the registry under Win95 and NT only. It
    has no effect under current versions of NT, and no entry will be made
    into a Win 3.1x registry.

13. New batch command: "WRITEREG" - to write an entry into the registry.
    It uses the same syntax as the new $REG-DATA.

14. New batch command: "HOURGLASS" - to show the hourglass (disappears
    when the mouse is moved).

15. New batch command: "NOHOURGLASS" - to show the normal cursor;

16. New batch command: "EXECWAIT-WINDOW" - to run a program and
    wait until a window (specified by its title) no longer exists.
    This is the best way of running and waiting for Win32 programs,
    and for running and waiting for the termination of programs which
    themselves call other programs (such as WRITE.EXE under Win95), 
    and for things like running the DBE Install program.

    The syntax is;
	EXECWAIT-WINDOW <program [parameters]>;<window title>;<timeout>

    - "timeout" is the period (in seconds) for which Chief Pro will wait
     for the window title to show up, before timing out
  
    - you can use one asterisk - at the beginning, or at the end - of the
      window title, to indicate wildcards

     example:
	EXECWAIT-WINDOW WRITE.EXE;*Wordpad;20

17. New batch command: "CHGSTR" - to change the value of a string
    globally in the batch file. This is useful for use with commands 
    which obtain user input ("IF CHOICE" and "IF INPUT"), since you can
    then perform a global "search and replace" in the batch file, with
    the input obtained from the user.

     The syntax is;
	CHGSTR <old value>=<new value> 
    
      e.g.,
       IF INPUT "Please enter your name:" CHGSTR Cust_Name=INPUT 

18. New feature in AutoCalc - you can now specify a default directory
    for all your projects. To do this, you need to make an entry in
    AUTOCALC.INI;

	DEFAULT-PROJECT-DIR=<directory path>

    This will cause AutoCalc to always change to the specified directory
    every time the Project Manager is started.

19. New feature in AutoCalc - you can now supply the name of a project (.CPJ)
    file from the command line. To do this, run;

	AUTOCALC /CPJ=<project file>

	e.g, AUTOCALC /CPJ=C:\PROJECTS\BIN\PROJECT1

    This will cause AutoCalc to try and open the specified project when
    it starts. Note that this feature is very new - it seems to work well so
    far, but I won't bet my life on it.

20. New reserved word: "$LONG-FILENAMES=DISABLED"
    - this is to disable long filenames support.
    - if used, it must be put used in BOTH;
		WINSTALL.INF, 
		and
		AUTOCALC.INI
   


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.
