HISTORY FILE FOR CHIEF'S INSTALLER PRO FOR WIN16 AND WIN32 ----------------------------------------------------------- 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;;;; 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;;;; 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;; 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;; 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; 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 or $VAR e.g., #VAR ChiefDir $VAR ChiefInstaller 2. Assign a value to a variable ASSIGN;@= e.g, ASSIGN;@ChiefDir=C:\CHIEFPRO ASSIGN;@ChiefInstaller=Chief's Installer Pro 3. Check if a variable has a value IF ASSIGNED;@variablename; IF NOT-ASSIGNED;@VariableName; 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; IF NOT-EQUAL;@%VARIABLE1%;value; 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;;;[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; 19. New batch command: IF GETDIR - to retrieve a directory name from a dialog box Syntax= IF GETDIR;Caption;DefaultName; 20. New support for "Wizards" - this can be turned on by using the "$USE-WIZARDS" command Syntax= $USE-WIZARDS= 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=;[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|$SOURCEDRIVE|$TEMPDIR UserMidProc() - receives: $SOURCEDIR|$SOURCEDRIVE|$TEMPDIR|$DEST UserInitProc() - receives: $SOURCEDIR|$SOURCEDRIVE|$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 --------------------------------------------------------------------------- Version 2.91 (July 1996) ------------------------ Bug in multi-disk installs fixed. Version 2.90 (July 1996) ------------------------ 1. New reserved word: $UPGRADE-VERSION - this is to indicate that the current installation is an upgrade version. In this case, the installer will not abort if the available hard disk space is not as much as that on the $SPACE line. This command was implemented by request. Use with caution! 2. New reserved word: $EXEC-UNINSTALL - to allow the uninstaller to execute a program before starting uninstalling the files. The command takes the same syntax as $EXECWAIT-WINDOW 3. WINSTALL.DIR - in an effort to reduce the file clutter in the root directory of the first installation disk ($DISK1) all the ChiefPro files, except SETUP.EXE, can now be put in a subdirectory of the first disk. This subdirectory should be called WINSTALL.DIR. SETUP.EXE will still be in the root directory. When the user runs SETUP.EXE, setup will try to locate \WINSTALL.DIR and then start to operate from there. This feature is optional. 4. Extension of IF INPUT: to optionally take a default start string. This start string must appear in brackets, IMMEDIATELY after the prompt. e.g., if input "ChiefPro Directory" (C:\CHIEFPRO) SAY You entered INPUT if input "ChiefPro Directory" (C:\CHIEF\PRO)==C:\CHIEFPRO SAY INPUT 5. Changes to $INI (and the WRITEINI batch command): a. Quotation marks in the entry string will now be treated as literal b. if a literal semi-colon is desired, then use 2 hashes (i.e., ##) to depict this - this will be converted automatically; e.g., $INI=C:\AUTOEXEC.BAT;user;SET PATH;%path%##$windir##$sysdir##$dest translates to [user] SET PATH=%path%;c:\windows;c:\windows\system;c:\chiefpro 6. A number of bug fixes. 7. AutoCalc will now attempt to use the uncompressed sizes of any ZIP files listed in $DISK lines, and $UNZIP lines, in calculating the required disk space. 8. When a new project is created, AutoCalc will now automatically add the main ChiefPro binaries into the project, so that they will be copied to DISK #1 automatically. This facility is dependent on the ChiefPro files remaining in _exactly_ the same place as they were installed to. If you move the files to another place, please edit the AUTOCALC.INI file to point to the correct location. 9. New reserved word: $SOURCE-DRIVE This points to the drive from which the installation took place (i.e., the root directory of the directory returned by $SOURCEDIR). This reserved word returns only a drive letter plus a colon (e.g., A:). If the source directory is a UNC path name, then this reserved word returns the root directory of that path (e.g., \\CHIEF_SERVER1\DRIVE_C). In either case, there is no trailing back-slash. NOTE: You cannot assign any value to this reserved word. You can only use it within other commands/expressions.