     HISTORY FILE FOR CHIEF'S INSTALLER PRO FOR WIN16 AND WIN32
     -----------------------------------------------------------
******************************************************************
** Please DO NOT MIX the files in this version with the files of
** any other version of Chief's Installer Pro (FULL or LITE).
******************************************************************

Version 4.80 (September 2000)
----------------------------
This is a maintenance release

Version 4.79 (February 2000)
----------------------------
Bug fix and maintenance release

Version 4.78 (December 1999)
----------------------------
1. Can specify new source directory to SETUP.EXE in the first parameter,
   preceded by "@" - 
	e.g., setup @h:\server\client\install
   Please see the "introduction" section of the help file for restrictions.

2. New reserved word: $DISABLE-TARGETDIR-EDIT: to disallow changing the 
   edit field for the target directory
	* takes no parameter

3. Extension of $DISABLE-SOURCEDIR-EDIT - using it without any parameter 
   now defaults to use the code "disable"

4. New reserved word: $RUNDIR - points to the directory from which SETUP.EXE
   (or a ChiefPro self-extracting EXE) was run.

5. New reserved word: $RUN-DRIVE - points to the ROOT directory of the 
   directory from which SETUP.EXE (or a ChiefPro self-extracting EXE) was run.

6. New (optional) parameter to SETUP.EXE ("/SMS") - to instruct SETUP.EXE
   not to terminate until the installation is complete or until it has been 
   aborted.

7. New version of winstl32.dll


Version 4.77 (August 1999)
--------------------------
Maintenance release, which also features greater compatibility
with Windows 2000.

Version 4.76 (June 1999)
------------------------
1. Fixed some bugs in the installer and uninstaller
2. New version of WINSTL32.DLL
3. Fixed some IDE bugs

Version 4.75 (January 1999)
----------------------------
1. Fixes a bug that sometimes causes problems on low-memory Win95
systems. This has been traced to a library routine and so all the 
binaries have had to be recompiled.

2. Updated BDE32 batch file

3. Some optimisations


Version 4.70 (November 1998)
----------------------------
1. This is a maintenance release that also fixes some bugs, and
features improved Win98 and FAT32 compatibility. 

2. New version of WINSTL32.DLL

3. NOTE: This is the last mainstream release of v4.x. Although v4.x 
will continue to be maintained as a separate product line (and bugs will
continue to be fixed), all new developments will be confined to v5.x 
for Win32.


Version 4.60 (October 1998)
---------------------------
This is a consolidation of all the bug-fix patches released
since v4.52, plus some new features;

1. Updated to cater for disk partitions which are bigger than 2GB.

2. Changes to the IDE - the banner font can now be specified from the
   IDE "configuration" dialogs (default = "Times New Roman")
      NOTE: some internal changes were necessary to implement this;
      THEREFORE;
            * old projects need to be modified by clicking on
              the "configure" dialogs, making necessary amendments,
              and saving the changes.
      WARNING: please do NOT generate new installations from old
               projects without doing as advised above!!!

3. Changes to the string tables in CHIEFIDE.LNG. The new version
   must be used - else some controls will have the wrong label!

4. Updated for BDE v5.x


Version 4.52 (August 1998)
------------------------
This is a maintenance upgrade, which adds a few extra features;
1. Upgraded for compatibility with Windows 98;
	* Files for $SYS32DIR go into the Windows\System32 directory
	* "WIN98" is defined automatically
	* "IF WINVER" can now be used to identify Win98
              e.g., IF WINVER 98 SAY Your Windows Version is Windows 98

2. Some bug fixes in the IDE and the main installer

3. The uninstaller will now use the banner font that was used for the
   installation.

Version 4.51 (June 1998)
------------------------
1. Several enhancements and amendments to the IDE, based on reports
   and feedback, including the renaming of a number of labels on controls,
   etc.

2. Minor bug fixes.

3. New reserved word: $DISABLE-SOURCEDIR-EDIT - to disable
   or remove the edit field that reads "Install from Source
   Directory" in the last dialog before the installation begins.
   It takes one parameter - either "DISABLE" or "REMOVE".

    e.g.,
	$DISABLE-SOURCEDIR-EDIT=DISABLE
	$DISABLE-SOURCEDIR-EDIT=REMOVE


4. Extensions to MAKESFX. It can now be used with script and
   configuration files. Please see MAKESFX.TXT for full details.


Version 4.50 (June 1998)
------------------------
1. New entry ("COMPRESS-NO--R") in CHIEFPRO.INI (for the IDE)
   which can be used to disable the use of the "-r" switch when
   compressing files with COMPRESS.EXE. To disable the "-r" switch,
   set this to a value of 1
   (.e.g, "COMPRESS-NO--R=1")

2. Changes in the IDE: when trying to build the install disks,
   using the "Compress files" option to compress files with
   COMPRESS.EXE, the "-r" switch will not be passed in respect
   of filenames which either have no extension, or in which the
   length of the extension is less than 3 characters.

3. Extensions to the ChiefPro LZSS archive technology. New archives
   can now be password protected, and can contain long filenames.
   The maximum number of archived files has been increased from 600 
   to 1920. The new archive format is not compatible with earlier
   versions of ChiefPro.

4. New version of the ChiefPro compiler. The file format is
   now about 400% more compact than before, and is not compatible
   with older versions of ChiefPro.

5. Extension to the IDE: whenever the "Make INF file" button is
   clicked, the IDE will create, in addition to the project's INF
   file, a LIST (.LST) file for the project's files. This can be
   used to create archives of the project's files, or to check the
   files that are actually going into the project's distribution
   disks.

6. Release of a separate "LITE" version of Chief's Installer Pro.

7. Extension of "$TARGET". This reserved word can now be linked to
   a new "$FORCE-SUBDIR" reserved word in order to ensure that the
   installation goes into a specified subdirectory of whatever the user
   selects at install time. To use this feature, you need to supply 3
   parameters to $TARGET [1] The base target directory [2] $FORCE-SUBDIR
   [3] the subdirectory to be enforced.

   ** Note that this feature was implemented as a result of a specific
      request. Please use it sparingly.

    e.g., $TARGET=C:\CHIEFPRO;$FORCE-SUBDIR;LITE

 

Version 4.25 (March 1998)
---------------------------
This is mainly a bug fix release, but there are a number of
new features:

1. New batch functions added: "ShortName", "LongName"
   - return the short name or long name of a file respectively.
    e.g., ASSIGN;@File_1=ShortName(@%File_2%)

2. New reserved word: $FINAL-COMMAND
   - points to a single ChiefPro batch file (which should not be 
   in the TEMP directory) that will be executed as the last
   action by the installer, before the installer terminates.
   This command takes effect *after* the $CLEANUP commands
   have been processed, and therefore, it must not rely only on
   any ChiefPro support file (other than install.exe), or any file
   on the $CLEANUP lines.

3. Bug in the Project Manager, which sometimes leaves out files
   from a project has been fixed.

4. New reserved word: $ICON-ERROR-MESSAGE - for the message to
   present to the user when there is a problem with the icon
   creation.

5. Enhancements to the Project Manager - it will now save the 
   names of the last 7 projects in CHIEFPRO.INI, and these 
   projects can be selected from the "File" menu.

6. Bugs in the uninstaller fixed.

7. Enhancements in the uninstaller - screen colours will now mirror
   those used in the installation.


Version 4.20 (March 1998)
---------------------------
1.  New reserved word and batch command: $IFOPT or #IFOPT;
    This is used to specify a course of action conditional
    upon a user option being selected at runtime. It can be
    used in the WINSTALL.INF file, or in a batch file. 
	SYNTAX = #IFOPT<n>=<command>
	e.g.,
	$IFOPT3 = $EXEC=$DEST\TROOK.EXE
        (meaning, if the user selects option 3, then run this
        command at the usual time).

    Note: this construct should be used with care, and is valid only
    for those operations that take place *after* the user clicks on the
    "Start Install" button. Thus for example, you cannot use this for
    a $DISK command, because that command is parsed before any interaction
    with the user begins. It can be used for things like $EXEC, $ICON,
    $SHORT-CUT, etc.

    Note also, that the usage of the command is the same whether in a 
    batch file, or in the WINSTALL.INF file.

2.  Extension of the $EXEC-UNINSTALL command. You can now use it to specify 
    any number of programs for the Uninstaller to run, instead of just 
    one program.

3.  New version of WINSTL32.DLL

4.  More strings in CHIEFIDE.LNG

5.  More functionality added to the IDE (in the areas of sorting projects, 
    and jumping to files).

6.  New reserved word: "$PROGRAMFILESDIR" - points to the "Program Files"
    directory under Windows 9x and Windows NT.

7.  New icons in WINSTALC.DLL

8.  Bugs in $BITMAP command fixed

9.  Bugs in $AUTO-REPLACE command fixed

10. New reserved word: $FIRST-DISK - to point to the first
    disk in the installation set (normally this will be 1, but there
    may be reasons why you wish to start from another disk).
    If this command is used, it must be entered in the INF file
    manually. Note also that you will need to alter the $SPACE line
    manually, or use the "UNCHECKED" option for $USER-OPTION lines
    on disks that you want to skip.

11. New batch command: "IF CHOICE-EX". Does the same thing, and
    takes the same parameters as the "IF CHOICE" command, but has 2
    differences [a] only 6 choices can be presented [b] the description
    of each choice can be longer than those for the "IF CHOICE" command.

12. New reserved word: "$REGISTER-SERVER" - to register Win32 OCX
    and DLL files by calling their DLLRegisterServer functions, and then
    increasing their usage count. This is equivalent to a combination of
    $REGISTER-OCX and $REGISTER-DLL on Win32 binary files.
    *Note*: this can be used for Win32 binaries only.

13. New batch commands: 
	"REGISTER-OCX", 
	"REGISTER-DLL", and 
    	"REGISTER-SERVER". 
    Check the similarly named reserved words for the syntax.

14. New batch commands: 
	"IF REGENTRY-FIRST"
	"IF REGENTRY-LAST"
    To retrieve entries from the registry, and then parse the entry
    (with ";" as the separator) to return either the first or the
    last string in the entry.

15. More buttons in the Project Manager "Extra" menu.

16. *** New and enhanced BDE32.CHF batch file. Please note the changes
    in this file.

17. New version of WINSTL32.DLL. 

18. CHIEF.HLP now goes into the UTILS directory.

19. New feature in the ChiefPro IDE, for the 32-bit BDE. You can now
    use a private file list for the BDE files to be archived by the IDE.
    This involves a new setting in CHIEFPRO.INI, "PRIVATE-BDE-LIST", 
    which must be set to 1 for this purpose. If this is done, then
    the IDE will look for 
	BDE-32-1.LST,
	BDE-32-2.LST, and
	BDE-32-3.LST
    in your UTILS directory and use their contents instead of an internal
    file list. These files must contain the full pathname of each BDE file 
    that you want to add to each BDE archive. Every filename must be on
    a line by itself.

    *NOTE* that this feature was implemented by request, and is not
    supported. If you use it, you are entirely on your own.
-------------------------------


Version 4.12 (February 1998)
---------------------------
1. Some more bugs fixed (causing GPFs under Win 3.11)
2. New menu items added to the IDE help menu
3. More strings in CHIEFIDE.LNG
4. Some more optimizations of the main installer (install.exe)

Version 4.11 (January 1998)
---------------------------
1. This is a maintenance release that fixes bugs in the Installer
and the Uninstaller.

2. DOS command line ChiefPro LZSS archive tool (PKK.EXE) added.


Version 4.10 (December 1997)
---------------------------
1. New UKRAINIAN translations of the language DLLs

2. Literal semi-colons can be written to the registry, using
   two hashes (i.e., "##") to represent a single literal semi-colon.
   The installer converts this to a semi-colon at run time.

3. Under Win95 and NT, all shared .DLL and .OCX files going to the
   Windows, Windows\System, and Windows\System32 directories
   are now automatically added to the "SharedDLLs" section
   of the registry, and their usage count is automatically
   incremented on every installation (same as using the $REGISTER-DLL
   command for a file). 
   
   Notes 
   a. this feature is for usage count only. If you want to
   register an OCX control (by calling its "DllRegisterServer" function), 
   then you need to use $REGISTER-OCX manually.

   b. The uninstaller will not delete any such shared file whose usage 
   count has been increased by another program - but the uninstaller will
   decrease the file's usage count.

4. New reserved word: "$RENAME-FILE" to rename a file.
   This is processed after the files have been installed, and after
   the $UNZIP lines have been processed, but before the $FONT, 
   $REGISTER-DLL, $REGISTER-OCX, $WRITE-TEXT, $INI, etc., lines 
   are processed.

5. Extension to $CREATE-FILE. This command can now take an optional
   second parameter, i.e., "DIRECTORY". If this parameter is used, the
   the first parameter will be taken to refer to a directory, and the
   command will try to create a directory, instead of a file.

6. The batch command "IF ACTIVEDLL" now works for Win32 DLLs as
   it works for Win16 DLLs.

7. New batch command "IF CD-IN-DRIVE" - to check whether a CDROM
   drive contains a CD, or whether it is empty. This command was
   introduced because trying to access an empty CDROM drive under
   Win95 or NT can cause a GPF. Thus, it is advisable to use this
   command to check the drive before trying to access anything on it.

8. New (partial) non-English language support for the IDE. The string
   tables for the ChiefPro IDE are now contained in the text file:
   "CHIEFIDE.LNG". You can translate this file into any other language
   in order to run the IDE in that language.

   Note: this feature is *NOT* complete, and some messages (including
   those whose strings are in the CHIEFIDE.LNG file) will still appear
   in English. However, as time progresses, I hope to be able to 
   support most of the messages presented by the IDE in this way.

9. Proprietary SFX stub (STUBSFX.EXE) and utility (MAKESFX.EXE) added, 
   for self-extracing ZIP file support. You can use MAKESFX.EXE to create
   a self-extracting .EXE from a ZIP archive, and the resulting file will
   optionally run a setup program after extracting the files. Any such setup
   program must be called "SETUP.EXE".

   MAKESFX.EXE will use  STUBSFX.EXE as the stub for the resulting self-extracting
   .EXE. Both of these SFX support files must be in the same directory (in the
   ChiefPro "UTILS" directory). Run MAKESFX.EXE without any parameters to see
   the syntax.

10. Additional parameters can now be added to the $UNZIP and $UNPAK support
    in the Project Manager, by adding these at the end of the target directory
    edit box, separated with the pipe character (i.e., "|"). The Project
    Manager will convert each pipe to a semi-colon when creating the INF
    file.

11. The DLL file WINSTALZ.DLL is no longer needed, and should be removed
    from all files that point to it (e.g., INSTBIN.LST). The UNZIP functions 
    are now built into INSTALL.EXE itself. This should result in greater
    performance and reliability.

   
Version 4.01 (September 1997)
---------------------------
This is a maintenance release, which also fixes a bug in the
$SYS32DIR reserved word, and a bug in UNINSTAL.EXE.

Version 4.00 (September 1997)
---------------------------
This is a MAJOR upgrade over all previous versions, and many things have
changed. Please do NOT mix the files in this version with those of *any*
earlier version, and please install this version into a different directory
tree.

COMPILER
--------
The file format of the ChiefPro compiler has changed. Any existing
compiled batch or INF file must be recompiled with the v4.00 compiler.

Version 4.00 also contains all the following new features;
      1. New support for self-extracting .EXEs
      2. New reserved word: "$SHORT-CUT" - to create shortcuts on Win95 and
         NT 4.x desktop - requires WINSTL32.DLL.
      3. New support for "auto" execute batch files. These batch files now be
         run automatically, if found:
         	'AUTOEXEC.CHF',    AutoExec batch file - run by SETUP.EXE
         	'AUTOMID.CHF',     Auto MID-batch-file (mid-install)
         	'AUTOPOST.CHF'     Auto-batch-file (post install)
      4. New reserved word: "$MAKE-LOG-ENTRY" - to make entries to uninstal.log
      6. New support conditional definitions in INF and batch files;
         Check the documentation on: #IFDEF, #ELSEIF, #ENDIF #NEWDEF, SHOWDEFS,
         and $SHOWDEFINES.
      7. New batch command: "IF FIND" - to look for a file on local drives (and
         non-cdrom drives) only.
      8. New reserved word: "$CDROM-DRIVE" - points to the *first* CD-ROM drive
         on the system. If there is no CD in the drive, trying to access a file
         or directory on the drive will cause a GPF under Win95 or NT.
      9. New batch command: "IF HAS-CD-DRIVE" - to check whether there is a
         CD-ROM drive on the system.
      10. New batch command: "IF IS-CD-DRIVE" - to check whether a drive is
         a CD-ROM drive.
      11. New "IF" batch commands for Windows versions:
          IF WIN95, IF WINNT, IF WINNT3.X, IF WINNT4.X, IF WINNT5.X
          IF NEWSHELL, IF NT-NEWSHELL
      12. New reserved word: "$REGISTER-OCX" - to register OCX files.
      13. New reserved word: "$REGISTER-DLL" - to register DLLs
      14. New reserved word: "$SYS32DIR" - points to the Win32 "System32"
          directory.
      15. Extension to "IF REGENTRY";
      	  if the value to be retrieved contains a path name itself (i.e., a backslash),
      	  then interpose "=" between the keyname and the valuename (i.e., instead of
      	  a backslash)
      16. Extension to $BITMAP = if "NORMAL" is used as the second parameter, then it can
       	  take 2 further parameters - the X and Y coordinates of the bitmap.
      17. New batch command: "SHOWBITMAP" - to display a bitmap file.
      18. New reserved word: "$HOME-DIR" - points to whereever install.exe is running from.
      19. Comments can now be used in the middle of lines in batch and INF files. Comments
          begin with "//*". Anything after the comment marker is removed.
      20. New batch command: "IF POS" - to check whether a given substring exists in a
          given string.
      21. New batch command: "IF WHOLEPOS" - like "IF POS" - but checks for whole words
          only.
      22. New batch commands: "IF GETINI-FIRST" and "IF GETINI-LAST" - for parsing entries
          read from INI files.
      23. New batch commands: "INC" and "DEC" - to increment and decrement a value.
      24. New batch command: "WRITEREG-EX" - same syntax as "WRITEREG", but only writes
          the value if none exits.
      25. New batch command: "INCREGVALUE" - increases the value in the key, or sets to 1
          if value does not exist
      26. New batch command: "DECREGVALUE" - decreases the value in the key, or ignores it
          if value does not exist. If the value is zero, it does nothing.
      27. New reserved word: "$COMMONDIR" - points to the Win32 "Common Files" directory.
      27A. New reserved word: "$CURRENTDIR" - points to whatever is the current directory.
      28 - New functions in batch files -
      		FSize(), FTime(), FVersion(), FreeDisk(), UpperCase(), LowerCase(),
      		CopyStr(), DeleteStr(), InsertStr(), WholePos(), Pos(), ForceExtension(),
      		JustFileName(), JustPathName(), JustExtension(), NoExtension(), Chr()
      29. New "IF" commands: "IF LESS", and "IF GREATER" - for comparing values in batch
      	  files.
      30. Change of syntax for "IF INPUT" - after the "IF INPUT", only semi-colons are now
          allowed as parameter separators
           e.g.,
           IF INPUT;Prompt [(default)[ == Value]];<command>
     31. New batch command: "IF GETPASSWORD - *exactly* the same as "IF INPUT" except that
         the characters typed are not echoed (instead a space is echoed)
     32. Bug that caused GPFs under OS/2 Warp is fixed.
     33. New batch command: "SET-BDE-ALIAS" to set an alias during BDE installs
     34. The names of the ChiefPro folders/program groups have changed
     35. Enhancements to the uninstaller
     36. IMPORTANT CHANGES TO THE IDE
     --------------------------------
     	A. The IDE now fully automates the BDE install setups
     	B. The IDE is now called CHIEFPRO.EXE (and not AUTOCALC.EXE), and all
           the AUTO*.* files are now called CHIEF*.*. All previous references to
           AUTOCALC.INI are now to CHIEFPRO.INI.
     	C. You can now create ZIP files from the IDE
     	D. The Project Manager has an "Extra ..." button which allows you to
     	   manually specify commands to be added to your INF file
        E. The IDE now uses ZIP compression for WINSTALL.BIN. This results
	   in a smaller footprint for the installer's support files


Version 3.60 (June 1997)
---------------------------
1. Bug fixes in the IDE.

2. Bug in WRITEREG and $REG-DATA fixed.

3. New Win32 support DLL (WINSTL32.DLL) introduced. 

4. Intermittent GPFs under NT 4.0 fixed.

5. Enhancements to the UnInstaller.


Version 3.50 (May 1997)
---------------------------
1. $REG-DATA can be used in the $TARGET line to
   read a value from the registry.

2. Literal semi-colons can be put on icon lines ($ICO, $ICON) by using
   2 hashes (i.e., "##") - this gets converted to a semi-colon.

3. Looks for .XTR file for project, also to add contents to template
   INF file; the .XTR file is created when clicking on the "extra" button
   in the Project Manager.

4. New reserved word: "$WRITE-TEXT" - to write to text files; takes the
   same parameters as the WRITETEXT batch command
   e.g. $WRITE-TEXT=$DEST\TT.TXT;1;SETUP=THIS.BAT
   It is processed just before the $INI lines.

5. New reserved word: "$CREATE-FILE" -  creates a new file or overwrites
   existing one. Logs the file for uninstal
   e.g.  $CREATE-FILE=$DEST\TTT.FIL
   It is processed just before the $WRITE-TEXT lines.

6. New batch command "PLAYSOUND" to play WAV files.
   Syntax = PLAYSOUND <.WAV file>

7. New batch command PLAY-AVI to play AVI files.
         Syntax = PLAY-AVI;<.AVI file>[;FULLSCREEN]

8. New batch commands "IF FILEDATE" and "IF NOT-FILEDATE" 
   - to check the date and time stamp on a file;
         Syntax = IF FILEDATE;filename;date;command
                  IF NOT-FILEDATE;filename;date;command
         Date format = dd/mm/yyyy-hh:mm
         e.g.,         29/04/1997-17:45


Version 3.12 (March 1997)
---------------------------
1. This is a maintenance release - contains internal enhancements, etc.

2. New Hebrew language DLLs

3. Bugs fixed in the Project Manager


Version 3.11 (February 1997)
---------------------------
This is a maintenance release - contains internal enhancements, etc.


Version 3.10 (January 1997)
---------------------------
1. Fixes some bugs in the ChiefPro IDE.

2. Fixes a minor bug in the main installer.

3. More functionality added to the IDE.

4. New reserved word: $SKIP-OLDER-FILE - to allow the installer
   to skip specified older files.
	e.g.,
	$SKIP-OLDER-FILE=TROOK.CFG;*.DB;TRAGG.TRK

5. New batch command: SHOW-TEXTFILE - to display a text file
   to the user in a custom dialog box.
	e.g.,
	SHOW-TEXTFILE;$SOURCEDIR\UPGRADE.TXT;Upgrade Notice.

6. Extensions to the ChiefPro IDE;
	"Add Files" button - to allow you to add new files to your project
	without opening the file manager
	"Jump to File" button - to allow you to select a file record from
	a listbox instead of clicking on the "next" or "previous" buttons.


Version 3.00 (January 1997)
---------------------------
This is a MAJOR UPGRADE to Chief's Installer Pro. Please do NOT mix
the files in this version with those of any earlier version.

COMPILER
--------
The file format of the ChiefPro compiler has changed. Any existing
compiled batch or INF file must be recompiled with the v3.00 compiler.

Version 3.00 also contains all the following new features;

1. New reserved word: $COPYRIGHT-MESSAGE - this allows you to prepare a
   copyright message in a text file, and to ask the user to agree to it.
   If the user does not agree, the installation will terminate.
   
   Syntax=   
   $COPYRIGHT-MESSAGE;<filename>;<AgreeButtonTitle>;<DisageeButtonTitle>;<DialogTitle>
   
2. New reserved word: $WELCOME-MESSAGE - this allows you to prepare a
   welcome message in a text file. If the user does not wish to
   continue, the installation will terminate.

	Syntax=   
	$WELCOME-MESSAGE;<filename>;<OkButtonTitle>;<CancelButtonTitle>;<DialogTitle>

3. New batch command: POSTMESSAGE, or SENDMESSAGE
   This command allows you to send a message to an active window (identified
   by it's window title. You can use the wildcard ('*') at the beginning of 
   the window title or at the end of it to siginify that any beginning or 
   ending will be okay. See syntax for EXECWAIT-WINDOW for details.

   Syntax=
   POSTMESSAGE;<windowtitle>;<message>

   List of messages:
          MAX        = sw_Maximize
          MIN        = sw_Minimize
          CLOSE      = Wm_Close
          QUIT       = wm_Quit
          HIDE       = sw_Hide
          SHOW       = sw_Show
          TOPMOST    = HWnd_TopMost
          NOTOPMOST  = HWnd_NoTopMost
          SETFOCUS   = SetFocus

4.  New batch command; IF ACTIVEDLL - to check whether a particular DLL is
    loaded (active) and (optionally) to return its handle if it is active.
    If the DLL is active, then its handle is returned in; ACTIVEDLL

	Syntax=
	IF ACTIVEDLL;<dllname>;<command [ACTIVEDLL]>

5. New batch command; IF REGENTRY - to check whether a registry entry exists.
   It only works in respect of string entries (REG_SZ)

	Syntax=
	IF REGENRY;full-entry;<command [REGENTRY]>

6. New Reserved Word: $SPLASH-MESSAGE - to manipulate the dialog used
   for splash messages during the installation.
    Syntax =
    $SPLASH-MESSAGE=filename;left;top;width;height;max-lines-for-each-message

6A. New support for $ELSE (or #ELSE) for use with "IF" commands

7.  New support for declaring and using variables in batch files. A variable
   MUST be declared BEFORE it is used in any way. It is advised that variable
   declarations be done at the beginning of the batch file (either immediately
   before or after #CONST and #DEFINE statements. Below is the support for
   variables;

   1.	Declare a variable		
	#VAR <variablename> or $VAR <variablename>

	e.g.,	#VAR ChiefDir
		$VAR ChiefInstaller

   2.	Assign a value to a variable	
	ASSIGN;@<variablename>=<value>	

	e.g,	ASSIGN;@ChiefDir=C:\CHIEFPRO
		ASSIGN;@ChiefInstaller=Chief's Installer Pro

   3.	Check if a variable has a value
	IF ASSIGNED;@variablename;<command>
	IF NOT-ASSIGNED;@VariableName;<command>

	e.g.,	IF ASSIGNED;@ChiefDir;GOTO CONTINUE
		IF NOT-ASSIGNED;@ChiefDir;GOTO TERMINATE

   4.	Use a variable in an expression
	@%variablename%
	
	e.g.,	IF ASSIGNED;@ChiefDir;CHDIR @%ChiefDir%
		ASSIGN;@ChiefBackup=@%ChiefDir%\BACKUP
		MKDIR @%ChiefBackup%
		COPY @%ChiefDir%\*.CHF @%ChiefBackup%

   5.   Check if a value/variable is the same as another 
        value/variable

        IF EQUAL;@%VARIABLE1%;value;<command>
        IF NOT-EQUAL;@%VARIABLE1%;value;<command>

	e.g.,
	IF EQUAL;@%Customer1%;@%Customer2%;GOTO END;$ELSE GOTO NEXT

   6.   Add a variable/value to a variable value
	CONCAT;dest;value/variable to add

	e.g.,
	CONCAT;@%DestDir%;\TEMP
	CONCAT;@%DestDir%;@%TmpName%


8. Enhancement of $BITMAP - to provide for the display of
   more than 1 bitmap. You can now have multiple $BITMAP
   lines, each pointing to a different bitmap, and (optionally)
   stating whether it should be stretched or not. Each of them
   will be displayed in order as the installation proceeds.

   If the first $BITMAP is not found, then no bitmap will be
   displayed. 

9. Enhancement of colour commands. It is now possible to use predefined 
    strings for some colour values, for these reserved words;

	$BANNER-TEXT-COLOR
	$BANNER-TEXT-BACKGROUND
	$BANNER-WINDOW-BRUSH
	$BANNER-SHADOW-COLOR
	$SMALL-METER-COLOR
	$BIG-METER-COLOR

  The predefined (case insensitive) string values are;
	Cyan
	White
	Black
	Red
	Green
	Blue
	Yellow
	Magenta
	Gray
	LightGray
	DarkGray
	DarkYellow
	Purple
	DarkRed
	DarkBlue
	DarkCyan
	DarkPurple

	examples:
	$BANNER-TEXT-COLOR=Purple
	$BANNER-TEXT-BACKGROUND=black
	$BANNER-WINDOW-BRUSH=yellow
	$BANNER-SHADOW-COLOR=Cyan


10. New batch command: IF DISKLABEL - to check the label of a
    disk/drive.

11. New reserved word: $BUILD-FILE-EX
    This command rebuilds a split file from the
    installation floppies (i.e., without having first to copy
    the files to the hard disk). If any of the parts of a split
    file is not found on the disk on which it is expected, a
    message dialog will come up, prompting the user to insert
    the disk containing that file. ChiefPro will then try to 
    read the file again. This will continue until the file is
    found, or the user clicks "Cancel".

12. New support for native ChiefPro archives, using LZSS compression.
    The support (to archive files) comes via ChiefPro IDE menu items, 
    and the files can be extracted from the archives via the $UNPAK
    reserved word, and the UNPAK batch command.

13. New reserved word: $UNPAK
    - to unpack a ChiefPro packed archive. This can only be used on a
    $DISK line;

    Syntax=
    $DISK#=$UNPAK;<packed file>;<target dir>;[code]

    The codes are the same as those in $UNZIP

14. New batch command: UNPAK

    - see $UNPAK above for syntax.

15. Portuguese and Esperanto language DLLs;

16. New (limited) support for BDE installation - archiving the BDE 
    files from the ChiefPro IDE, and then installing the BDE via
    batch files; sample batch files are supplied.

17. New batch commands: "SET-BDE-INSTALL", and "UNSET-BDE-INSTALL"
    - to mark the beginning and end of BDE install operations. It
    is necessary to do this, so that the BDE installation will not
    be logged for the uninstaller's use - otherwise, the BDE files may
    be removed by the installer, and the user may have other programs 
    that use the BDE. From the SET-BDE-INSTALL command until the next 
    "UNSET-BDE-INSTALL" command, no operation of the installer will be
    logged in the UNINSTAL.LOG file

18. New batch command: IF GETFILE - to retrieve a filename from a
    file dialog box
	Syntax=
	IF GETFILE;Caption;DefaultName;FileMask;<command>

19. New batch command: IF GETDIR - to retrieve a directory name
    from a dialog box
	Syntax=
	IF GETDIR;Caption;DefaultName;<command>

20. New support for "Wizards" - this can be turned on by
    using the "$USE-WIZARDS" command
	Syntax=
	$USE-WIZARDS=<CODE>

21. New reserved word: $MID-BATCH-FILE
    This is almost the same as $BATCH-FILE - except that in this case,
    the specfied batch file is executed immediately after the "Start
    Install" button is clicked - and before the installation of the
    files begins. This is useful for doing some preparatory work (e.g.
    backing up users' configuration files, etc), before the full 
    installation begins

    Note that anything done in a batch file called with this command 
    is not logged in UNINSTAL.LOG - and so it will not be undone by 
    the uninstaller.

22. New batch command: "DLLCOMMAND" - to load a DLL and run a command 
    from it;
	Syntax=
     	DLLCOMMAND;Dll_Name;16/32;FunctionName;Function Parameter
	
	The specified function must be in the following format;
	Returns :  a long integer   (you can access this through ERRORCODE)
	Parameter: a single null terminated string

	e.g.,
	DLLCOMMAND;$dest\dll\protect.dll;16;EncryptInfo;$windir\prog.ccc

23. New support for user DLLs: defaults to 16-bit DLL - "winstalu.dll"
    - but you can use the new $USER-DLL reserved word to point to a 
    different DLL, and to indicate whether it is 16-bit or 32-bit
	Syntax = $USER-DLL=<dllName>;[16/32]
	e.g.,
	$USER-DLL=PROG32.DLL;32
	
	The DLL can export 3 functions, which are called automatically if
	the DLL is loaded successfully;

	1. UserInitProc()  - called before any window appears
	2. UserMidProc()   - called immediately after clicking "start install"
	3. UserEndProc()   - called just before the installer terminates

	* each function takes a single parameter - a null terminated string
	* each function returns a long integer
	* the return value is ignored by the installer
	* the installer automatically passes some (pipe delimited) information 
          to the DLL via the null terminated string parameter - you can use this
	  information, or you may just ignore it - the functions (if found)
	  receive the equivalent of the following;

	UserInitProc() - receives: $SOURCEDIR|$SOURCE-DRIVE|$TEMPDIR
	UserMidProc()  - receives: $SOURCEDIR|$SOURCE-DRIVE|$TEMPDIR|$DEST
	UserInitProc() - receives: $SOURCEDIR|$SOURCE-DRIVE|$TEMPDIR|$DEST

24. New reserved word: $SKIP-NEWER-FILES
    This command causes the installer to skip an existing file which
    is a newer (more recent version) than the version on the installation
    disks. This command takes no parameter.

25.  New support for debug information (while testing your installation)
     through the new reserved word: $DEBUG-LOG
        * this command takes no parameter
	* this MUST be the FIRST line in the WINSTALL.INF file
	* it is to be used for testing purposes only - do not use it
	  in the WINSTALL.INF file that you ship with your application

     When this feature is used, ChiefPro will create an ascii file called
     CHIEFBUG.LOG, in your TEMP directory. This file will contain the details
     of all the failed operations which the installer encounters. If the file
     exists already, it is appended to. If it does not exist, a new one is 
     created.

26. New support for test runs (i.e., files on $DISK lines will not be installed
    but the installer will go through the motions of installing them, and will
    also process other commands, including batch files).

    This is activated by a new reserved word: $TEST-RUN

    	* This command takes no parameter.
	* This is for testing purposes only. Do NOT use this in the WINSTALL.INF 
          file that you ship with your application
---------------------------------------------------------------------------

