home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / sharewar / dos / narzedzi / kinstd / kinstall.txt < prev    next >
Text File  |  1995-09-08  |  87KB  |  2,517 lines

  1.                    K-INSTALL for DOS and Windows 2.0
  2.  
  3.           Copyright (c) 1994-95 by Rob McDonell, ARK ANGLES
  4.                           All Rights Reserved
  5.  
  6.                           DEVELOPER'S MANUAL
  7.  
  8.  
  9. INTRODUCTION
  10.  
  11.  
  12.   K-INSTALL is one of the most powerful and flexible installation
  13.   programs around, in a very robust and compact package.  It comes in
  14.   both DOS and Windows versions.  Both versions feature a wide set of
  15.   almost identical capabilities such as:
  16.  
  17.   * checking CPU type and maths coprocessor,
  18.  
  19.   * checking DOS and Windows version,
  20.  
  21.   * deleting files prior to installation,
  22.  
  23.   * installing from and to any drive and directory
  24.  
  25.   * installing within the same directory
  26.  
  27.   * installing files to several different drives and directories,
  28.  
  29.   * optionally replacing or appending to existing files,
  30.  
  31.   * prompting for additional disks as necessary,
  32.  
  33.   * asking whether to install optional components,
  34.  
  35.   * unpacking LZH, ZIP, ARJ and self extracting archives,
  36.  
  37.   * expanding compressed files,
  38.  
  39.   * creating or updating AUTOEXEC.BAT and CONFIG.SYS,
  40.  
  41.   * creating or modifying WIN.INI, SYSTEM.INI and other INI files,
  42.  
  43.   * creating or modifying a file with registration data,
  44.  
  45.   * updating Windows Program Manager,
  46.  
  47.   * running external programs before, during and/or after installation,
  48.  
  49.   * linking to an external product catalogue,
  50.  
  51.   * linking to an external help facility,
  52.  
  53.   * providing messages and a status bar as installation proceeds,
  54.  
  55.   * rebooting DOS or restarting Windows after installation,
  56.  
  57.   * giving additional instructions at the conclusion of the program,
  58.  
  59.   * running the main program from the installation program,
  60.  
  61.   * uninstalling the program again,
  62.  
  63.   * modifying display colours, layout and graphic,
  64.  
  65.   * auto-starting any or all of the above functions.
  66.  
  67.   and much more.  And it's all controlled from a single settings file.
  68.  
  69.   This manual describes both the DOS and Windows version of K-
  70.   INSTALL Standard Edition.  The few differences between them are
  71.   indicated where appropriate.
  72.  
  73.  
  74. System Requirements
  75.  
  76.   K-INSTALL for DOS will run on any IBM-PC or compatible computer
  77.   with 256KB memory.  DOS version 3.0 or higher is recommended.
  78.  
  79.   K-INSTALL for Windows will run on any IBM-PC or compatible
  80.   computer running Windows 3.1 (preferably in Enhanced Mode if
  81.   unpacking archives).
  82.  
  83.  
  84.  
  85. Installation Instructions
  86.  
  87.   K-INSTALL installs itself!  Run INSTALL.EXE or SETUP.EXE to
  88.   unpack and copy the whole package.  You get the installation program
  89.   itself, documentation, and samples to show the full power of this
  90.   versatile piece of software.
  91.  
  92.  
  93. Support and License Information
  94.  
  95.   Individual registration entitles the registered user to free support for at
  96.   least 12 months, and a license to use and distribute INSTALL.EXE
  97.   and/or SETUP.EXE royalty free with any software developed by that
  98.   individual.
  99.  
  100.   Business registration entitles the organisation to free support for at least
  101.   12 months, and a license to use and distribute INSTALL.EXE and/or
  102.   SETUP.EXE royalty free with any software developed for it by any
  103.   number of its employees from the one site.
  104.  
  105.   Customised versions of K-INSTALL are also available such that options
  106.   can be hard coded into the program rather than specified in the separate
  107.   settings file.  This not only makes the program even more secure, but
  108.   also smaller.
  109.  
  110.   Registered users get prompt resolution of problems, and free upgrades
  111.   if they encounter bugs.
  112.  
  113.  
  114. Warranty
  115.  
  116.   ARK ANGLES warrants the physical disks and related printed matter
  117.   to be free of significant defects in materials and workmanship, and that
  118.   the program works largely in accordance with its documentation.  This
  119.   warranty is effective for three months from date of registration, and is
  120.   not transferable.
  121.  
  122.   No liability is accepted for any loss, damage or inconvenience caused by
  123.   the use of this product.  No warranty is made that it is suitable for any
  124.   particular person or purpose.
  125.  
  126.   In any event, the liability of ARK ANGLES is restricted to either a
  127.   refund of the registration paid, a replacement of the physical disks
  128.   and/or printed matter, or the provision of an upgrade to the latest
  129.   version.
  130.  
  131.  
  132. Further Information
  133.  
  134.   For more information see the following files on the Registered
  135.   Installation Disk:
  136.  
  137.   README.TXT   Support and license information, program
  138.                history.
  139.  
  140.   REGISTER.TXT   Registration and pricing information
  141.  
  142. PROGRAM DESCRIPTION
  143.  
  144.  
  145.   K-INSTALL is a flexible and powerful program.  There are many
  146.   options to tailor it to run just as you need it.  However you can also get
  147.   the basics up and running very quickly.  The INSTALL or SETUP
  148.   executable file can be renamed if required.
  149.  
  150.  
  151. The Settings File
  152.  
  153.   K-INSTALL uses a settings file to control it's many functions.  File
  154.   names, directories, and many other options are defined by special
  155.   keywords.  Suitable default values are used for any options not explicitly
  156.   defined, ensuring that the settings file can be extremely simple.
  157.  
  158.  
  159. Creation and Use of Directories
  160.  
  161.   K-INSTALL can be run from any drive or directory.  When running on
  162.   DOS version 3.0 or later it will automatically identify it's own location
  163.   and look for all other installation files in the same place.  On DOS
  164.   versions earlier than 3.0 it will assume it is running from A:\.  For multi
  165.   disk installs the user can change the "from" drive and/or directory for
  166.   each new disk, allowing faster installation using two drives alternately,
  167.   or installation from multiple directories on a hard disk.
  168.  
  169.   K-INSTALL automatically asks for and creates a main directory in
  170.   which to install the program.  If this directory already exists (unless it is
  171.   a root directory) confirmation is obtained from the user before
  172.   continuing the installation.  Extra directories can also be created and/or
  173.   accessed, including subdirectories of the main directory, the boot
  174.   directory, the DOS directory, the Windows directory, the Windows
  175.   System directory, and the drive and directory from which the program
  176.   is being installed.
  177.  
  178.   K-INSTALL can also be set to append to files, always overwrite/replace
  179.   existing files, only overwrite/replace older files, or never overwrite
  180.   existing files.
  181.  
  182.   K-INSTALL can install a program within the same directory,
  183.   automatically identifying files that do not have to be copied, while still
  184.   unpacking archives and expanding compressed files.  This is particularly
  185.   convenient for users who obtain software electronically, as they do not
  186.   have to use diskettes or other subdirectories temporarily to be able to
  187.   install the program.
  188.  
  189.   The default directory where the program is to be installed is specified
  190.   with the DIR keyword in the settings file.  The other directory options
  191.   are controlled through INSTALL and MKDIR keywords.
  192.  
  193.  
  194. Archives and Compressed Files
  195.  
  196.   K-INSTALL automatically unpacks any files with extensions of .LZH,
  197.   .ZIP, .ARJ, .EXE and one definable extension if the files have the
  198.   unpack identifier in the file name.  The unarchiving programs used are
  199.   LHA.EXE, PKUNZIP.EXE and ARJ.EXE respectively.  The options
  200.   parameters passed to these unarchiving programs when they are run
  201.   may be altered by the LHA, ZIP and ARJ keywords.  Parameters for
  202.   self-unpacking archives are set with the EXE keyword.
  203.  
  204.   The unpack identifier is normally a single underline, which means that
  205.   files such as _ABC.ZIP or MY_FILE.LZH  ARCHIVE_.EXE will be
  206.   unpacked automatically.  The unpack identifier can be changed in the
  207.   settings file with the UNPAK keyword.  If you do not wish any files to
  208.   be unpacked then it is a good idea to change the identifier to characters
  209.   that are invalid in file names, such as "<" or ">" or ":" etc.
  210.  
  211.   K-INSTALL also automatically expands COMPRESSed files (created
  212.   by the program COMPRESS.EXE) where the last character of the file
  213.   extension is a single underline.  This is not changed by the UNPAK
  214.   keyword.  If the file was compressed with the -r or /r parameter then the
  215.   original file name is restored when the file is copied, unless a specific
  216.   new name is given by the INSTALL keyword.
  217.  
  218.   If you wish to unpack other types of archives (such as .ARC, .PAK or
  219.   .ZOO files), or you want to use a different unarchiving program for
  220.   .LZH, .ZIP and .ARJ files (such as UNZIP.EXE instead of
  221.   PKUNZIP.EXE), then a file extension and associated unarchiving
  222.   program can be defined with the ARCHIVE keyword.
  223.  
  224.   Appropriate versions of the unarchiving program(s) must be accessible
  225.   to K-INSTALL to enable it to automatically unpack any archives that
  226.   are not self-extracting.  Also, in the DOS version of K-INSTALL (but
  227.   not the Windows version), the program EXPAND.EXE must be
  228.   accessible to enable automatic expansion of compressed files.  This
  229.   means the decompression program(s) must be either somewhere in the
  230.   user's DOS Path (but this cannot usually be relied upon), or on the
  231.   installation disk itself.  For multi disk installs the decompression
  232.   program(s) should actually be installed from the first disk to the main
  233.   program directory, from where they will be available to unpack archives
  234.   on subsequent disks, otherwise the decompression program(s) would
  235.   need to exist on every disk that contained an archive or compressed file.
  236.  
  237.   Note that multi-volume archives are not supported.
  238.  
  239.  
  240. User Data
  241.  
  242.   At the commencement of the installation process K-INSTALL asks the
  243.   user for the name of the directory in which to install the program.  The
  244.   default value for this is specified through the DIR keyword, which can
  245.   also specify whether the user has the option to change the directory, and
  246.   how the question is asked.
  247.  
  248.   The user can also specify whether to install certain optional components
  249.   of the package.  This is controlled by INSTALL keywords.
  250.  
  251.   Most importantly, K-INSTALL can be set up to request other
  252.   information from the user such as serial number, name, company,
  253.   address, even configuration preferences.  The information can be
  254.   validated for completeness and correctness, which can be particularly
  255.   useful to ensure  the user has a genuinely registered package and knows
  256.   the required format of data such as the program serial number.  Entry
  257.   of user information is specified through INPUT keywords.
  258.  
  259.   The actual data entered by the user, along with certain other variable
  260.   data such as file and directory names, can be used in the
  261.   AUTOEXEC.BAT file through the PATH, AUTO and SHELL
  262.   keywords, in the CONFIG.SYS file through the CONF keyword, in the
  263.   registration data file through the RFILE and REG keywords, in INI files
  264.   through the IFILE and INI keywords, in the Windows Program
  265.   Manager information through the GROUP and ITEM keywords, in all
  266.   external programs through the CATALOG, HELP, FIRST, LAST,
  267.   INSTALL, LHA, ZIP, ARJ, EXE and ARCHIVE keywords.
  268.  
  269.  
  270. Updating System Configuration Files
  271.  
  272.   Many options are available to modify the configuration of the user's
  273.   computer.  This includes updating the DOS Path in AUTOEXEC.BAT,
  274.   and the FILES and BUFFERS value in CONFIG.SYS.  Any number of
  275.   other lines may also be added to both of these files.  These options are
  276.   enabled through the PATH, AUTO, SHELL, CONF, FILES and
  277.   BUFFERS keywords.
  278.  
  279.   Additional options are available to create or modify the Windows
  280.   WIN.INI, SYSTEM.INI or private INI files.  This is done through the
  281.   IFILE, ISECT and INI keywords.  Program Manager can also be
  282.   updated with the GROUP and ITEM keywords.
  283.  
  284.   All these functions can include user entered data as defined in INPUT
  285.   keywords.
  286.  
  287.   For safety, backup copies of AUTOEXEC.BAT, CONFIG.SYS and INI
  288.   files are taken prior to modification, and the original versions are
  289.   automatically restored if the modification fails for any reason.
  290.  
  291.  
  292. Creating Registration Data Files
  293.  
  294.   K-INSTALL can create or modify files with any combination of
  295.   predefined and user entered data.  This is much more flexible than
  296.   standard INI file creation, and allows complete control over the format
  297.   of the data in each file.  It is possible to create a registration data file
  298.   which validates that the program is a genuine registered version, a
  299.   configuration file which defines the various characteristics of how the
  300.   program will run, even a batch file to run a program with user-defined
  301.   parameters.
  302.  
  303.   The files may be in plain Text format, or machine readable data files
  304.   using either C format (null terminated strings) or Pascal format (length
  305.   byte followed by string) or Binary format (with neither a length byte or
  306.   a null terminator).  The Text format allows lines to be written or
  307.   appended to INI-type files, batch files or other configuration files.  The
  308.   C or Pascal or Binary formats allow data to be written directly into EXE
  309.   files or DLLs or the like.
  310.  
  311.   The creation or modification of these files is done using the RFILE and
  312.   REG keywords, often in conjunction with INPUT keywords.  The data
  313.   can be written to the installation disk and then copied as part of normal
  314.   install procedure, or written directly to the target directory.
  315.  
  316.  
  317. Uninstallation
  318.  
  319.   K-INSTALL can keep a log of all new files written and all directories
  320.   created, as well as most changes to AUTOEXEC.BAT, CONFIG.SYS,
  321.   INI files and Windows Program Manager.  The uninstall function can
  322.   be run immediately or at any time in the future from the same install
  323.   program.  It will delete any files that are still in the same location, and
  324.   then remove any directories that are now empty again.
  325.  
  326.   Confirmation is requested from the user before deleting files from the
  327.   Windows or Windows System directories, as these files may
  328.   subsequently have been used by other programs as well.
  329.  
  330.   Files that have been created by the application after installation, such as
  331.   saved desktops or configuration files, can be deleted through the
  332.   REMOVE keyword.
  333.  
  334.   Uninstall also undoes most changes to AUTOEXEC.BAT,
  335.   CONFIG.SYS, INI files and Program Manager.
  336.  
  337.   Users appreciate an uninstall facility with their software, especially for
  338.   Windows applications, so it should be highlighted as a major feature of
  339.   your programs.  It is a good idea to copy INSTALL.EXE or
  340.   SETUP.EXE and at least a basic settings file to the main installation
  341.   directory, and then add an Uninstall icon to Program Manager which
  342.   runs K-INSTALL.  SETUP.EXE includes an icon number 2 which can
  343.   be used for un-installation.
  344.  
  345.  
  346. Additional Information
  347.  
  348.   The appearance of K-INSTALL can be highly customised in terms of
  349.   screen layout, colour and text.  This is done through the TITLE, MSG,
  350.   COLS, WINDOW, PATTERN, PICTURE and ICON keywords in the
  351.   settings file.  The CATALOG keyword can also be used to link a
  352.   separate catalogue or other information file into the main install screen.
  353.  
  354.   While K-INSTALL is installing the program it provides information
  355.   about each file copied or unpacked, and can also display a progress
  356.   indicator showing how much has been completed.  The progress
  357.   indicator is controlled through the file sizes defined with INSTALL
  358.   keywords in the settings file.  The progress indicator is as accurate as the
  359.   sizes entered on the INSTALL record(s).
  360.  
  361.   When K-INSTALL terminates it provides final instructions on the status
  362.   of the program, how to run it, and where to get more information.  This
  363.   is customised through the GROUP, RUN and DOC keywords in the
  364.   settings file.
  365.  
  366.  
  367. PROCESSING
  368.  
  369.  
  370. The Main Screen
  371.  
  372.   The main K-INSTALL screen displays a number of functions,
  373.   depending on the keywords specified and the state of the program being
  374.   installed.
  375.  
  376.   * The Help function is displayed if defined by a HELP keyword and
  377.     if the help program can be found.
  378.  
  379.   * If there is a log file in the directory from which K-INSTALL is run,
  380.     then the program has already been installed so the Uninstall
  381.     function is displayed.  Otherwise the Install function is displayed.
  382.  
  383.   * The Reboot function is displayed if the program has been installed
  384.     and the level defined by the RESTART keyword is 2, or the level
  385.     is 1 and AUTOEXEC.BAT or CONFIG.SYS have been modified.
  386.  
  387.   * In the Windows version only, if the program has been installed and
  388.     there is no Reboot function then the Restart function is displayed if
  389.     the level defined by the RESTART keyword is 2, or the level is 1
  390.     and WIN.INI or SYSTEM.INI have been modified.
  391.  
  392.   * If there is no Reboot or Restart function then the Run function is
  393.     displayed if there is a program defined by a RUN keyword and that
  394.     program can be found.
  395.  
  396.   * The Catalogue function is displayed if defined by a CATALOG
  397.     keyword and if the catalogue program can be found.
  398.  
  399.   * The Exit function is always displayed.
  400.  
  401.   The FUNCTION keyword can be used to automatically start any or all
  402.   of the above functions if they are available.
  403.  
  404.  
  405. Installation
  406.  
  407.   When the user initiates the installation process within K-INSTALL, the
  408.   program performs its steps in the following order:
  409.  
  410.   1.  Checks the CPU type if required by the CPU keyword.
  411.  
  412.   2.  Checks whether a coprocessor is installed if required by the COPR
  413.       keyword.
  414.  
  415.   3.  Compares the DOS version if required by the DOSVER keyword.
  416.  
  417.   4.  Compares the Windows version if required by the WINVER
  418.       keyword.
  419.  
  420.   5.  Asks the user to enter the directory into which to install the
  421.       program.  If the directory already exists, checks that the user wishes
  422.       to continue the installation.
  423.  
  424.   6.  Checks the total program size if defined by INSTALL keywords
  425.       against the target drive.
  426.  
  427.   7.  Asks the user about any optional components if required by
  428.       INSTALL keywords.
  429.  
  430.   8.  Asks the user to enter any variable data if required by INPUT
  431.       keywords.
  432.  
  433.   9.  Creates the main program directory.
  434.  
  435.   10. Creates any directories specified by MKDIR keywords.
  436.  
  437.   11. Runs a program if required by the FIRST keyword.
  438.  
  439.   12. Deletes any files specified by DEL keywords.
  440.  
  441.   13. Creates a registration data file if required by RFILE and REG
  442.       keywords.
  443.  
  444.   14. Processes the list of files defined on INSTALL keywords,
  445.       prompting for new disks if necessary, copying or unpacking files as
  446.       appropriate, and then running any specified program.
  447.  
  448.   15. Updates AUTOEXEC.BAT if required by PATH, AUTO and
  449.       SHELL keywords.
  450.  
  451.   16. Updates CONFIG.SYS if required by FILES, BUFFERS and
  452.       CONF keywords.
  453.  
  454.   17. Updates INI files if required by IFILE, ISECT and INI keywords.
  455.  
  456.   18. Updates Windows Program Manager if required by GROUP and
  457.       ITEM keywords.
  458.  
  459.   19. Runs a program if required by the LAST keyword.
  460.  
  461.  
  462. Uninstallation
  463.  
  464.   When the user initiates the uninstallation process, the program performs
  465.   the following steps:
  466.  
  467.   1.  Deletes any files specified in REMOVE keywords.
  468.  
  469.   2.  Deletes each file listed in the log file (that is, those files that did not
  470.       exist prior to installation).
  471.  
  472.   3.  Undoes most changes to AUTOEXEC.BAT, CONFIG.SYS and
  473.       INI files.
  474.  
  475.   4.  Removes icons from Program Manager (Windows version only).
  476.  
  477.   5.  Removes each directory listed in the log file (that is, directories
  478.       created by installation) if those directories are now empty.
  479.  
  480. THE SETTINGS FILE
  481.  
  482.  
  483.  
  484.   The settings file is a plain ASCII file that can be created and updated
  485.   with any editor in DOS or Windows.
  486.  
  487.   The default settings file has the same name as the installation program
  488.   itself with an extension of ".SET".  Therefore if the installation program
  489.   is SETITUP.EXE then the settings file must be called SETITUP.SET.
  490.  
  491.   A different settings file can be used by entering its name (as a parameter
  492.   when running K-INSTALL.  For example,
  493.  
  494.     INSTALL MYSET.TXT
  495.  
  496.   will read the settings from "MYSET.TXT".  If no file extension is
  497.   entered then ".SET" is presumed.  Do not enter a directory name, as the
  498.   settings file must always be in the same directory as the installation
  499.   program.
  500.  
  501.   Each option is defined in the settings file by a single keyword, often
  502.   followed by one or more additional parameters.  For example, to specify
  503.   that the main program directory is to be added to the DOS Path in
  504.   AUTOEXEC.BAT the line:
  505.  
  506.     PATH
  507.  
  508.   is added to the settings file.  To specify the default directory in which to
  509.   install the program a line like:
  510.  
  511.     DIR C:\GAMES\BLASTER
  512.  
  513.   or similar is added.  Or to describe files or groups of files to install,
  514.   include lines such as:
  515.  
  516.     INSTALL READ.ME, ., 4, 10
  517.  
  518.     INSTALL MYPROG.*, , 4,260, First Install Disk
  519.  
  520.     INSTALL *.EX_, *.EXE, 3, 85, Second Install Disk
  521.  
  522.     INSTALL *.DLL, ~SYS, 2, 120, Second Install Disk, Update
  523.     changed DLLs?
  524.  
  525.     INSTALL *.VB_, ~SYS\*.VBX, 4, 170, Third Install Disk, Update
  526.     VBXs?
  527.  
  528.   Each of these and many more options are detailed below.
  529.  
  530.   Keywords may be in upper or lower case.  Some keywords have a short
  531.   and a long form, and either may be used interchangeably.  Keywords
  532.   that require additional parameters must be followed by a space before
  533.   any parameters.
  534.  
  535.   Parameters may be in upper or lower case.  Parameters are separated
  536.   from each other by commas.  Any number of spaces may also be added
  537.   between parameters for readability.  Parameters which themselves
  538.   contain commas must be enclosed in double quotes.
  539.  
  540.   Numeric parameters may be entered in either decimal or hexadecimal
  541.   format.  A hexadecimal number is identified by a trailing "h" or "H", as
  542.   in "c000h" or "FFh" or "10h".  All numeric parameters must be
  543.   integers.
  544.  
  545.   In most cases, keywords may be entered in any order in the settings file.
  546.   Keywords that allow multiple entries, such as INSTALL, DEL,
  547.   MKDIR, AUTO, CONF, REG etc will be processed in the order in
  548.   which they appear in the file.  The only keywords that are sequence
  549.   dependent are IFILE and ISECT which must come before their
  550.   corresponding INI records,
  551.  
  552.   Blank lines and REMarks lines may be inserted anywhere into the
  553.   settings file for readability.
  554.  
  555.  
  556. Use of Variables
  557.  
  558.   Many of the keywords in the settings file allow the use of variables to
  559.   insert information such as file names, directory names, or other data that
  560.   is not defined until the program is run.
  561.  
  562.   There are three types of variables:
  563.  
  564.   1.  User-entered variables contain data entered by the user in response
  565.       to INPUT keywords in the settings file.  Up to ten user variables are
  566.       available, named ~0 through ~9.
  567.  
  568.   2.  Program-defined variables contain information derived from the
  569.       names of files, directories and other data used by K-INSTALL
  570.       when it is run:
  571.  
  572.     ~BOOT    the boot directory
  573.  
  574.     ~CMD     the command to run the program derived from
  575.              RUN keyword
  576.  
  577.     ~CPU     the name of the required processor defined by the
  578.              CPU keyword
  579.  
  580.     ~DOC     the main documentation file defined by the DOC
  581.              keyword
  582.  
  583.     ~DOS     the DOS directory
  584.  
  585.     ~DOSVER  the minimum DOS version defined by the
  586.              DOSVER keyword
  587.  
  588.     ~WINVER    the minimum DOS version defined by the
  589.                WINVER keyword
  590.  
  591.     ~GROUP   the Program Manager group defined by the
  592.              GROUP keyword
  593.  
  594.     ~INST      the directory from which K-INSTALL is being run
  595.  
  596.     ~MAIN    the main program directory entered by the user
  597.  
  598.     ~NAME    the name of the installation program itself
  599.  
  600.     ~PROG    the name of the program defined by the RUN
  601.              keyword
  602.  
  603.     ~SYS     the Windows System directory
  604.  
  605.     ~TITLE   the program title defined by the TITLE keyword
  606.  
  607.     ~WIN     the Windows directory
  608.  
  609.   3.  System defined variables contain information about the machine on
  610.       which K-INSTALL is being run:
  611.  
  612.     ~$CPU    the name of the processor
  613.  
  614.     ~$DOSVER the DOS version
  615.  
  616.     ~$WINVER the Windows version
  617.  
  618.   All the above variables can be used by many keywords such as PATH,
  619.   AUTO, SHELL, CONF, RFILE, REG, IFILE, INI, GROUP, ITEM,
  620.   CATALOG, HELP, FIRST, LAST, INSTALL, LHA, ZIP, ARJ, EXE
  621.   and ARCHIVE.  Note that variable names must always be entered in
  622.   upper case.
  623.  
  624.  
  625. Getting Started Fast
  626.  
  627.   K-INSTALL has many features, but you don't have to know about them
  628.   all to use the program effectively - a very simple settings file will get you
  629.   started.  K-INSTALL uses sensible defaults for anything not specified,
  630.   while still utilising many of its powerful functions.  In fact, K-INSTALL
  631.   can run without a settings file at all!
  632.  
  633.   However, to give your program just that little customisation that you
  634.   want, create a simple settings file for it.  K-INSTALL is versatile enough
  635.   to actually create a basic settings file for you!
  636.  
  637.   1.  Run INSTALL or SETUP with the special MAKE.SET settings
  638.       file, for example:
  639.  
  640.       INSTALL MAKE
  641.  
  642.   2.  Press Enter to start the "installation" process, then enter the name
  643.       of the disk and/or directory that contains the program you are
  644.       getting ready to distribute.
  645.  
  646.   3.  Answer each question with information about your program.  The
  647.       final question asks for the name to use for the installation program
  648.       itself, such as "install" or "setup" or something else.  K-INSTALL
  649.       will copy itself and create a basic settings file with this name into
  650.       the directory you have chosen at the start.
  651.  
  652.   4.  Now run INSTALL or SETUP in your directory.  You already have
  653.       a complete working installation program, attractively presented, that
  654.       will copy everything from your disk or directory to wherever the
  655.       user specifies, and includes checking the available space on the
  656.       destination drive, giving a full status display as the install proceeds,
  657.       automatically unpacking archives that contain an underline
  658.       character, displaying information to the user at the end of the
  659.       program, and allowing the user to uninstall either immediately or
  660.       any time in the future.
  661.  
  662.   5.  Using any text editor you can continue to customise your settings
  663.       file as much as you like for additional options such as multi disk
  664.       installs, optional component installs, system configuration updating,
  665.       your own screen layout and colour scheme, and many others.
  666.       INSSAMPL.SET (for the DOS version) and SETSAMPL.SET (for
  667.       the Windows version) provide a complete list of keywords for you
  668.       to choose from and complete.  The other sample files show different
  669.       combinations of these settings.
  670.  
  671.  
  672. Differences between DOS and Windows versions
  673.  
  674.   The substantial functions of both the DOS and Windows version of K-
  675.   INSTALL are exactly the same.  The only differences are those that
  676.   relate specifically to the operating environment in which K-INSTALL
  677.   is running, and relate to the appearance of K-INSTALL, and the means
  678.   of running the installed program.
  679.  
  680.   Regarding K-INSTALL's appearance, the syntax of the WINDOW,
  681.   COLS and PICTURE keywords are different, and the Windows version
  682.   also has additional keywords ICON and PATTERN to take advantage
  683.   of the extra capabilities of that environment.
  684.  
  685.   Regarding the running of the installed program, the format of the
  686.   GROUP keyword is different and the Windows version also has the
  687.   ITEM keyword.
  688.  
  689.   Apart from these differences, any settings file can be used
  690.   interchangeably in both the DOS and Windows version.
  691.  
  692.  
  693. DICTIONARY OF SETTINGS
  694.  
  695.  
  696.   The following list describes all available settings.
  697.  
  698.   Parameters in square brackets [ ] are optional.
  699.  
  700.  
  701.  
  702. REM
  703.  
  704.   Allows additional remarks to be inserted into the settings file without
  705.   altering the operation of the INSTALL program.
  706.  
  707.   Usage:   REM [text]
  708.  
  709.   text   is any explanatory notes or additional information for
  710.          anyone editing the settings file.
  711.  
  712.   Example: REM This file last modified by Rob McDonell 1.2.95
  713.  
  714.  
  715.  
  716. TITLE
  717.  
  718.   Defines a descriptive name for the program to be installed, which is
  719.   used throughout K-INSTALL as a title for the program.
  720.  
  721.   Usage:   TITLE text
  722.  
  723.     text is any text including spaces.
  724.  
  725.   Example: TITLE Super Space Blasters II
  726.  
  727.   Default: The general term "Program" is used.
  728.  
  729.  
  730.  
  731. MSG
  732.  
  733.   Specifies a fixed message to be displayed on the K-INSTALL screen.
  734.  
  735.   Usage:   MSG [text]
  736.  
  737.     text is the message to be displayed.
  738.  
  739.        DOS version only:  text may contain colour codes to
  740.        change foreground and background colours anywhere in
  741.        the message.  See the PICTURE keyword below for an
  742.        explanation of colour control characters.
  743.  
  744.   Example: MSG Another quality product from Blasterware
  745.  
  746.   Default: No message is displayed.
  747.  
  748.  
  749. CPU
  750.  
  751.   Defines the minimum processor required by the program being
  752.   installed.  If the user's CPU is not greater than or equal to this value then
  753.   installation is terminated.
  754.  
  755.   Usage:   CPU [type]
  756.  
  757.     type is the type of processor:
  758.  
  759.        1 PC1/XT
  760.  
  761.        2 AT/286
  762.  
  763.        3 386/486/Pentium
  764.  
  765.   Examples:  CPU 3
  766.  
  767.   Default: No CPU defined, no checking done.
  768.  
  769.  
  770. COPR
  771.  
  772.   Defines whether a maths coprocessor is required by the program being
  773.   installed.  If the user's machine does not have a coprocessor then
  774.   installation is terminated.
  775.  
  776.   Usage:   COPR [type]
  777.  
  778.     type is whether a coprocessor is required:
  779.  
  780.        0 not required
  781.  
  782.        1 required
  783.  
  784.   Examples:  COPR 1
  785.  
  786.   Default: No coprocessor specified, no checking done.
  787.  
  788.  
  789. DOSVER
  790.  
  791.   Defines the minimum DOS version required by the program being
  792.   installed.  If the user's DOS version is not greater than or equal to this
  793.   value then installation is terminated.
  794.  
  795.   Usage:   DOSVER [ver]
  796.  
  797.     ver    is the version number
  798.  
  799.   Examples:  DOSVER 3.10
  800.  
  801.        DOSVER 4
  802.  
  803.   Default: No DOS version defined, no checking done.
  804.  
  805.  
  806. WINVER
  807.  
  808.   Defines the minimum Windows version required by the program being
  809.   installed.  If the user's Windows version is not greater than or equal to
  810.   this value then installation is terminated.
  811.  
  812.   Usage:   WINVER [ver]
  813.  
  814.     ver    is the version number
  815.  
  816.   Example: WINVER 3.1
  817.  
  818.   Default: No Windows version defined, no checking done.
  819.  
  820.   Note:    In the DOS edition of K-INSTALL the installed Windows
  821.            version is always 0.
  822.  
  823.  
  824.  
  825. DIR
  826.  
  827.   Defines the default directory in which the program is to be installed.
  828.  
  829.   Usage:   DIR [dest[,opt[,ask]]]
  830.  
  831.     dest is the full drive and directory name, or blank to install to the
  832.          current directory.
  833.  
  834.     opt    is whether the user has the option of changing the
  835.            directory:
  836.  
  837.        0 the user is asked for a directory and can change from
  838.          the default
  839.  
  840.        1 the user is not asked, the dest is used without alteration
  841.  
  842.     ask    is the question used to ask the user to enter a directory
  843.            name.
  844.  
  845.   Examples:  DIR C:\GAMES\BLASTER
  846.  
  847.        DIR D:\ACCOUNTS, , Enter the Accounts program
  848.        directory name
  849.  
  850.        DIR C:\SETDIR, 1
  851.  
  852.   Default: ask defaults to a standard question, opt defaults to 0, dest
  853.            defaults to blank (the current directory).
  854.  
  855.  
  856.  
  857. INSTALL
  858.  
  859.   Specifies a file or group of files to be copied and/or unpacked.  It
  860.   includes information about how and where to copy the files, the space
  861.   required, the prompt for inserting a new disk if required, a prompt to ask
  862.   the user whether to install the files at all, an additional description of the
  863.   files, and a program to run when the files are installed.
  864.  
  865.   Usage:   INSTALL
  866.            fspec[,dest[,repl[,size[,disk[,ask[,desc[,prog[,parm]]]]]]]]
  867.  
  868.     fspec  is the name and extension of the file(s) to be installed.
  869.            Wildcards are allowed.
  870.  
  871.     dest is the directory to install the files to and/or new name for
  872.          the files being copied.  The directory is specified relative to
  873.          the main directory entered by the user:
  874.  
  875.        .   is the main directory (same as blank)
  876.  
  877.        ..    is the parent directory of that drive
  878.  
  879.        \   is the root directory of that drive
  880.  
  881.        ABC is a subdirectory of the main directory
  882.  
  883.        A new fspec can be added to the dest parameter to rename
  884.        the files as they are copied.  If there is no fspec, or there are
  885.        wildcards ("*" or "?") for both the name and extension,
  886.        then the file retains its original name.  If there is a wildcard
  887.        name and specific extension then just the extension is
  888.        changed.  If there is a wildcard extension and specific name
  889.        then just the name is changed.  If the file being copied is an
  890.        archive to be automatically unpacked, then the new fspec
  891.        is ignored and the file names are obtained from within the
  892.        archive.
  893.  
  894.        Any tilde variables may also be used - see the section "Use
  895.        of Variables" above for more information.
  896.  
  897.     repl is the method of deciding whether to overwrite/replace or
  898.          append existing files with the same name in the destination
  899.          directory:
  900.  
  901.        0 don't replace anything, copy only new files
  902.  
  903.        1 replace older files on user confirmation
  904.  
  905.        2 replace older files
  906.  
  907.        3 replace all files on user confirmation
  908.  
  909.        4 replace all files
  910.  
  911.        5 append to files
  912.  
  913.     size is the space in KB required to install the files.
  914.  
  915.     disk is the name by which to ask the user to insert another disk
  916.          if no files matching the fspec are found on the current disk.
  917.          This enables single or multi disk installs using the same
  918.          settings file - the additional disks are only requested if
  919.          necessary.
  920.  
  921.     ask    is the question to ask the user as to whether to install the
  922.            files represented by this INSTALL record.  If this is not
  923.            blank then the INSTALL record is taken as a conditional
  924.            install, that is, the user is asked whether they want to install
  925.            them or not.  The question should be asked in such a way
  926.            that a positive response indicates that the files should be
  927.            installed.  This allows the user to choose how much of the
  928.            function of the total package they wish to install.  If
  929.            consecutive INSTALL records contain the same question
  930.            then the user is asked only once.
  931.  
  932.     desc is the description of the files, such as "Help System" or
  933.          "Sample Databases" which is displayed along with the file
  934.          name as it is installed.
  935.  
  936.     prog is the name of a program to run following installation of the
  937.          files on this INSTALL record.
  938.  
  939.     parm is any parameters required by the above program.
  940.  
  941.   Examples:  INSTALL BLAST.EXE,  ., 2, 125, Install Disk 1
  942.  
  943.        INSTALL BLAST.OV_, *.OVL, 2, 220, Install Disk 1
  944.  
  945.        INSTALL SAMPLE.*,  ., 2, 140, Install Disk 2
  946.  
  947.        INSTALL *.HLP, ., 1, 130, ,Do you want to install the Help files?
  948.  
  949.        INSTALL SAMPLS.ZIP, SAMPLES, 2, 90, Disk 2, Install samples?
  950.  
  951.        INSTALL *.DLL, ~SYS, 1, 430, 3rd Install Disk, Update DLLs?
  952.  
  953.        INSTALL *.DL_, ~SYS\*.DLL, 1, 90, 4th Install Disk, Update DLLs?
  954.  
  955.        INSTALL *.EX_, ~MAIN\*.EXE, 1, 90, , , Program files
  956.  
  957.        INSTALL *.DBF, , 4, 287, , , Sample databases, convert.exe, /all
  958.  
  959.        INSTALL *.DL_, ~SYS\*.DLL,  1, 90, , , Windows DLLs
  960.  
  961.   Default: prompt defaults to blank (files are installed without asking
  962.            the user), disk defaults to blank (presuming a single disk
  963.            install), size defaults to 0 (space on target disk will not be
  964.            checked), repl defaults to 0 (copies only if files do not
  965.            exist), dest defaults to blank (the main program directory
  966.            entered by the user, file is not renamed).  If no INSTALL
  967.            records at all are entered then K-INSTALL defaults to a
  968.            simple all-on-one-disk installation, ie fspec is "*.*", dest is
  969.            blank, repl is 0, size is 0, disk and prompt are blank.
  970.  
  971.  
  972.  
  973. FIRST
  974.  
  975.   Specifies a program or command to be executed at the beginning of the
  976.   installation.  This can be used to perform a DOS command or run some
  977.   other specialised program to perform additional processing.
  978.  
  979.   Usage:   FIRST [cmd[,parms]]
  980.  
  981.     cmd  is the program or command to be executed.
  982.  
  983.     parms  is any additional parameters for the program.
  984.  
  985.        Any tilde variables may be used in any of the above
  986.        parameters - see the section "Use of Variables" above for
  987.        more information.
  988.  
  989.   Examples:  FIRST DOFIRST.COM
  990.  
  991.        FIRST MKDIR, C:\TEMP
  992.  
  993.   Default: No additional processing is performed before installation.
  994.  
  995.  
  996.  
  997. LAST
  998.  
  999.   Specifies a program or command to be executed at the end of the
  1000.   installation.  This can be used to perform a DOS command or run some
  1001.   other specialised program to perform additional processing.
  1002.  
  1003.   Usage:   LAST [cmd[,parms]]
  1004.  
  1005.     cmd  is the program or command to be executed.
  1006.  
  1007.     parms  is any additional parameters for the program.
  1008.  
  1009.        Any tilde variables may be used in any of the above
  1010.        parameters - see the section "Use of Variables" above for
  1011.        more information.
  1012.  
  1013.   Examples:  LAST DOLAST.EXE
  1014.  
  1015.        LAST ARJ.EXE, SAMPLES
  1016.  
  1017.        LAST PRINT, READYREF.TXT
  1018.  
  1019.   Default: No additional processing is performed after installation.
  1020.  
  1021.  
  1022.  
  1023. UNPAK
  1024.  
  1025.   Defines the identifier that indicates that an archive file is to be
  1026.   automatically unpacked by K-INSTALL.
  1027.  
  1028.   Usage:   UNPAK string
  1029.  
  1030.     string is between 1 and 8 valid filename characters.
  1031.  
  1032.   Example: UNPAK &&
  1033.  
  1034.   Default: A single underline indicates an archive to be unpacked, so
  1035.            files such as _ABC.ZIP or MY_FILE.LZH
  1036.            ARCHIVE_.EXE will be unpacked automatically by K-
  1037.            INSTALL into the directory defined in the relevant
  1038.            INSTALL record.
  1039.  
  1040.  
  1041. LHA
  1042.  
  1043.   Sets the options used by LHA.EXE when automatically unpacking
  1044.   .LZH files.
  1045.  
  1046.   Usage: LHA [parms]
  1047.  
  1048.     parms  is all the options required by the unarchiving program.
  1049.  
  1050.        Any tilde variables may be used in the above parameter -
  1051.        see the section "Use of Variables" above for more
  1052.        information.
  1053.  
  1054.   Example: LHA e /m1
  1055.  
  1056.   Default: The options "e /ma1" are used.
  1057.  
  1058.  
  1059. ZIP
  1060.  
  1061.   Sets the options used by PKUNZIP.EXE when automatically unpacking
  1062.   .ZIP files.
  1063.  
  1064.   Usage:   ZIP [parms]
  1065.  
  1066.     parms  is all the options required by the unarchiving program.
  1067.  
  1068.        Any tilde variables may be used in the above parameter -
  1069.        see the section "Use of Variables" above for more
  1070.        information.
  1071.  
  1072.   Example: ZIP -o
  1073.  
  1074.   Default: The options "-o -Jhrs" are used.
  1075.  
  1076.  
  1077. ARJ
  1078.  
  1079.   Sets the options used by ARJ.EXE when automatically unpacking .ARJ
  1080.   files.
  1081.  
  1082.   Usage:   ARJ [parms]
  1083.  
  1084.     parms  is all the options required by the unarchiving program.
  1085.  
  1086.        Any tilde variables may be used in the above parameter -
  1087.        see the section "Use of Variables" above for more
  1088.        information.
  1089.  
  1090.   Example: ARJ e
  1091.  
  1092.   Default: The options "e -y -a" are used.
  1093.  
  1094.  
  1095.  
  1096. EXE
  1097.  
  1098.   Sets the options used by self unpacking archives when they are run
  1099.   automatically.
  1100.  
  1101.   Usage:   EXE [parms]
  1102.  
  1103.     parms  is all the options required by the unarchiving program.
  1104.  
  1105.        Any tilde variables may be used in the above parameter -
  1106.        see the section "Use of Variables" above for more
  1107.        information.
  1108.  
  1109.   Example: EXE /s
  1110.  
  1111.   Default: No options are used.
  1112.  
  1113.  
  1114.  
  1115. ARCHIVE
  1116.  
  1117.   Defines an additional unarchiving program and associated file extension
  1118.   and optional parameters.
  1119.  
  1120.   Usage:   ARCHIVE ext[,prog[,parms]
  1121.  
  1122.     ext    is the file extension of files to be unarchived.
  1123.  
  1124.     prog is the program name and extension of the unarchiving
  1125.          program.
  1126.  
  1127.     parms  is all the options required by the unarchiving program.
  1128.  
  1129.        Any tilde variables may be used in any of the above
  1130.        parameters - see the section "Use of Variables" above for
  1131.        more information.
  1132.  
  1133.   Example: ARCHIVE .ZIP, UNZIP.EXE, -o
  1134.  
  1135.   Default: No unarchiving program defined, function not enabled.
  1136.  
  1137.  
  1138.  
  1139. DEL
  1140.  
  1141.   Specifies the name of a file to be deleted prior to the commencement of
  1142.   installation.  This can be used to remove existing files, usually from an
  1143.   earlier version of the same program, which are incompatible with this
  1144.   version.  Wildcards are not permitted.
  1145.  
  1146.   Usage: DEL path
  1147.  
  1148.     path is the directory, file name and extension of the file to be
  1149.          deleted.  The directory is specified relative to the main
  1150.          program directory entered by the user.  This can include the
  1151.          DOS directory symbols ".", "..", "\" etc, and/or any tilde
  1152.          variables - see the INSTALL keyword and the section "Use
  1153.          of Variables" above for more information.
  1154.  
  1155.   Example: DEL PREVIOUS.DOC
  1156.  
  1157.        DEL ~DOS\OLD.EXE
  1158.  
  1159.        DEL ~MAIN\UNWANTED.DAT
  1160.  
  1161.   Default: If the directory is blank then the file is deleted from the
  1162.            main program directory.  If there is no DEL record then no
  1163.            files are deleted.
  1164.  
  1165.  
  1166. MKDIR
  1167.  
  1168.   Specifies the name of a directory to be created following completion of
  1169.   installation.
  1170.  
  1171.   Usage:   MKDIR dir
  1172.  
  1173.     dir    is the directory to create.  The directory is specified relative
  1174.            to the main program directory entered by the user.  This
  1175.            can include the DOS directory symbols ".", "..", "\" etc,
  1176.            and/or any tilde variables - see the INSTALL keyword and
  1177.            the section "Use of Variables" above for more information.
  1178.  
  1179.   Example: MKDIR PRIVATE
  1180.  
  1181.        MKDIR ~BOOT\TEMP
  1182.  
  1183.   Default: No directories are created except those to which files are
  1184.            copied.
  1185.  
  1186.  
  1187. INPUT
  1188.  
  1189.   Specifies a variable that may either be a constant or a user entered item.
  1190.   The value of this variable may then be inserted into the system
  1191.   configuration files AUTOEXEC.BAT and CONFIG.SYS, INI files or
  1192.   registration data file using "~0" for the first value, "~1" for the second
  1193.   value etc.  Up to 10 INPUT records may be specified, giving variables
  1194.   from "~0" to "~9".
  1195.  
  1196.   Usage: INPUT num[,size[,data[,fmt[,name[,ask]]]]]
  1197.  
  1198.     num  is the varaible number from 0 to 9
  1199.  
  1200.     size is the maximum length of the variable.
  1201.  
  1202.     data is the default value for the variable.
  1203.  
  1204.     fmt  is the format of the data to be entered.  It may contain any
  1205.          combination of literal characters and wildcards, and relative
  1206.          and boolean operators.
  1207.  
  1208.        Wildcards are similar to those in DOS, but with additional
  1209.        capabilities.  There are four wildcard characters:
  1210.  
  1211.        @ is for any one alphabetic character
  1212.  
  1213.        # is for any one numeric character
  1214.  
  1215.        ? is for any one character
  1216.  
  1217.        * is for any number of characters
  1218.  
  1219.        Use a single asterisk "*" to indicate that anything can be
  1220.        entered, including a blank line.  Use a combination "?*" to
  1221.        indicate that at least one character must be entered (ie,
  1222.        anything except a blank).  Use other wildcard combinations
  1223.        to restrict the valid input even further, such as "?* ?*" to
  1224.        indicate that the input must be at least two words, or
  1225.        "@@?" to indicate that the input must be three characters
  1226.        long, the first two of which must be alphabetic, or "#A" to
  1227.        indicate that the input must be a number followed by the
  1228.        letter "A".  This facility is very useful to ensure that the
  1229.        user is properly registered and knows how to enter the right
  1230.        information in the right place.
  1231.  
  1232.        Relative operators allow ranges to be specified.  There are
  1233.        seven:
  1234.  
  1235.        =   is equal to (optional, this is the default)
  1236.  
  1237.        <>    is not equal to
  1238.  
  1239.        ==    is exactly equal to, wildcards treated as literal
  1240.              characters
  1241.  
  1242.        >   is greater than
  1243.  
  1244.        <   is less than
  1245.  
  1246.        >=    is greater than or equal to
  1247.  
  1248.        <=    is less than or equal to
  1249.  
  1250.        Boolean operators allow negative matches or combinations.
  1251.        There are three:
  1252.  
  1253.        NOT true if the criteria is not satisfied
  1254.  
  1255.        AND true if both criteria are satisfied
  1256.  
  1257.        OR  true if either criteria are satisfied
  1258.  
  1259.     name is the name of the data item that the user is asked to enter.
  1260.          If this is blank then the user is not prompted to enter a
  1261.          value.
  1262.  
  1263.     ask    is the question to ask the user so that they will enter the
  1264.            correct information.
  1265.  
  1266.   Examples:  INPUT 1,6, , @@######, Serial Number, Enter program
  1267.              serial number
  1268.  
  1269.        INPUT 2,30, , ?* ?*, First and Last name
  1270.  
  1271.        INPUT 3,60, , *, Address
  1272.  
  1273.        INPUT 4,5, 2400, 2400 or 4800 or 9600 or 14400,Modem
  1274.        Speed
  1275.  
  1276.        INPUT 5,8,, ##/##/## and >=840101, Date, Enter Date as
  1277.        yymmdd
  1278.  
  1279.   Note:    Ensure that the size and format are compatible.  Specifying
  1280.            a length of 2 and a format of "???" will block the user from
  1281.            ever entering a valid value for the variable.
  1282.  
  1283.   Default: If ask is blank then it is derived from name, name defaults
  1284.            to blank (no user input requested), fmt defaults to "*" (any
  1285.            input allowed), data defaults to blank (no value assigned),
  1286.            and size defaults to 0 (no specific size) if not entered.
  1287.  
  1288.  
  1289.  
  1290. RFILE
  1291.  
  1292.   Specifies the location, name and format of a registration data file.  The
  1293.   information in this file can be constructed from any combination of
  1294.   predefined and user entered data such as name, address, program serial
  1295.   number etc.  The user data is controlled through INPUT keywords.
  1296.  
  1297.   Usage:   RFILE [path[,fmt]]
  1298.  
  1299.     path is the full directory, name and extension of the registration
  1300.          data file.  The directory is specified relative to the main
  1301.          program directory entered by the user.  This can include the
  1302.          DOS directory symbols ".", "..", "\" etc, and/or any tilde
  1303.          variables - see the INSTALL keyword and the section "Use
  1304.          of Variables" above for more information.
  1305.  
  1306.        The directory must exist, or be the main program directory
  1307.        entered by the user, or it must be created through the
  1308.        MKDIR keyword.
  1309.  
  1310.     fmt  is the format in which the data is written to the file:
  1311.  
  1312.        A is Appended Text format, ie normal text appended to a file
  1313.  
  1314.        B is Binary format, ie no length byte or null terminator
  1315.  
  1316.        C is C language format, ie null terminated string
  1317.  
  1318.        P is Pascal format, ie length byte followed by string
  1319.  
  1320.        T is New Text format, ie normal text replacing any existing file
  1321.  
  1322.        In both Appended and New Text format all information is
  1323.        written sequentially to a normal text file such as could be
  1324.        created by any editor.  Appended Text format will append
  1325.        to the end of any existing file, while New text format will
  1326.        completely replace any existing file with the same name.
  1327.        In Binary or C or Pascal  format information can be placed
  1328.        precisely in an existing file, or a new file created.
  1329.  
  1330.        If more that one character is entered for fmt just the first
  1331.        character is examined to determine whether it is A, B, C or
  1332.        P or T.
  1333.  
  1334.   Examples:  RFILE BLASTER.DAT, P
  1335.  
  1336.        RFILE ~WIN\MYPROG.INI
  1337.  
  1338.        RFILE \STARTUP.BAT, TEXT
  1339.  
  1340.   Default: If path is blank or there is no RFILE record, then no
  1341.            registration data file is defined, option not enabled.  If fmt
  1342.            is blank or anything starting with other than "A", "B", "C"
  1343.            or "P" then New Text format is presumed.  If there is no
  1344.            directory specified then the main program directory is
  1345.            presumed.
  1346.  
  1347.  
  1348. REG
  1349.  
  1350.   Specifies text to be written to a registration data file.  The data may
  1351.   include any variables or special directory identifiers.
  1352.  
  1353.   Usage:   REG [pos[,size[,text]]]
  1354.  
  1355.     pos    is the incremental position in the file where the data is to be
  1356.            written in a C or Pascal or Binary format file, that is, the
  1357.            number of bytes to skip over from the end of the previously
  1358.            written text.  This is ignored in a Text format file.
  1359.  
  1360.     size is the length of the data required.  In a Text format file the
  1361.          information is truncated to this length, in a C or Pascal or
  1362.          Binary format file it is truncated or padded out as necessary
  1363.          to exactly this length.
  1364.  
  1365.     text is the data to be written to the file.  Any tilde variables may
  1366.          be used - see the section "Use of Variables" above for more
  1367.          information.
  1368.  
  1369.   Examples:  REG 0, 0, Colour=7 4 6
  1370.  
  1371.        REG 0, 0, Serial=~0
  1372.  
  1373.        REG 0, 0, UserName=~1
  1374.  
  1375.        REG 37, 16, UnlockCode872915
  1376.  
  1377.        REG 58, 8, ~3
  1378.  
  1379.   Default: text defaults to blank, and pos and size default to 0 if not
  1380.            entered.  If no REG records at all are entered then K-
  1381.            INSTALL does not create a registration data file.
  1382.  
  1383.  
  1384.  
  1385. BAK
  1386.  
  1387.   Specifies the file extension to be used when backing up
  1388.   AUTOEXEC.BAT, CONFIG.SYS and INI files prior to alteration.
  1389.  
  1390.   Usage:   BAK ext
  1391.  
  1392.     ext    is the file extension to be used for backups.  Ensure that it
  1393.            commences with a full stop.
  1394.  
  1395.   Examples:  BAK .BAK
  1396.  
  1397.        BAK .OLD
  1398.  
  1399.   Default: A file extension of ".ARK" is used for backup files.
  1400.  
  1401.  
  1402.  
  1403. PATH
  1404.  
  1405.   Specifies directories to be added to the DOS Path in AUTOEXEC.BAT.
  1406.   The file is updated if the directories do not already exist in the Path.
  1407.   Confirmation is always obtained from the user before modifying
  1408.   AUTOEXEC.BAT, and the file is backed up before alteration.
  1409.  
  1410.   Usage:   PATH [dirlist]
  1411.  
  1412.     dirlist  is one or more directory names separated by semicolons.
  1413.  
  1414.        Any tilde variables may be used in the above parameter -
  1415.        see the section "Use of Variables" above for more
  1416.        information.
  1417.  
  1418.   Examples:  PATH
  1419.  
  1420.        PATH ~MAIN\;~MAIN\HELP
  1421.  
  1422.   Default: If dirlist is blank then just the main program directory is
  1423.            added to the DOS Path.  If there are no PATH records then
  1424.            the DOS Path is not altered.
  1425.  
  1426.  
  1427.  
  1428. AUTO
  1429.  
  1430.   Specifies a line that is to be added to AUTOEXEC.BAT.  The line is
  1431.   added after all other lines in AUTOEXEC.BAT except for a final
  1432.   DOSSHELL or WIN or other shell command (see SHELL keyword
  1433.   below).  Confirmation is always obtained from the user before
  1434.   modifying AUTOEXEC.BAT, and the file is backed up before
  1435.   alteration.
  1436.  
  1437.   Usage:   AUTO [text]
  1438.  
  1439.     text is the line to be added to the file.  Any tilde variables may
  1440.          be used - see the section "Use of Variables" above for more
  1441.          information.
  1442.  
  1443.   Examples:  AUTO REM Run VET Anti-Virus program
  1444.  
  1445.        AUTO ~MAIN\VET /#
  1446.  
  1447.        AUTO SET VETDIR=~MAIN
  1448.  
  1449.   Default: No lines are added to AUTOEXEC.BAT.
  1450.  
  1451.  
  1452. SHELL
  1453.  
  1454.   Specifies a line that is to be added to the end of AUTOEXEC.BAT.
  1455.   Existing calls to DOSSHELL or WIN are replaced.  The PATH
  1456.   statement and any lines defined by AUTO keywords are inserted before
  1457.   these lines if necessary.  Confirmation is always obtained from the user
  1458.   before modifying AUTOEXEC.BAT, and the file is backed up before
  1459.   alteration.
  1460.  
  1461.   Usage:   SHELL [text]
  1462.  
  1463.     text is the line to be added to the file.  Any tilde variables may
  1464.          be used - see the section "Use of Variables" above for more
  1465.          information.
  1466.  
  1467.   Example: SHELL KMENU /td/vd
  1468.  
  1469.   Default: No lines are added to the end of AUTOEXEC.BAT.
  1470.  
  1471.  
  1472. FILES
  1473.  
  1474.   Specifies a minimum value for the FILES setting in CONFIG.SYS.  The
  1475.   file is updated if the FILES value is less than that specified.
  1476.   Confirmation is always obtained from the user before modifying
  1477.   CONFIG.SYS, and the file is backed up before alteration.
  1478.  
  1479.   Usage:   FILES [num]
  1480.  
  1481.     num  is the minimum value for FILES that is required.
  1482.  
  1483.   Example: FILES 20
  1484.  
  1485.   Default: The FILES value is not altered.
  1486.  
  1487.  
  1488.  
  1489. BUFFERS
  1490.  
  1491.   Specifies a minimum value for the BUFFERS setting in CONFIG.SYS.
  1492.   The file is updated if the BUFFERS value is less than that specified.
  1493.   Confirmation is always obtained from the user before modifying
  1494.   CONFIG.SYS, and the file is backed up before alteration.
  1495.  
  1496.   Usage:   BUFFERS [num]
  1497.  
  1498.     num  is the minimum value for BUFFERS that is required.
  1499.  
  1500.   Example: BUFFERS 20
  1501.  
  1502.   Default: The BUFFERS value is not altered.
  1503.  
  1504.  
  1505.  
  1506. CONF
  1507.  
  1508.   Specifies a line that is to be added to CONFIG.SYS.  The line is added
  1509.   at the end of the file.  The FILES and/or BUFFERS statements are
  1510.   inserted before this line if necessary.  Confirmation is always obtained
  1511.   from the user before modifying CONFIG.SYS, and the file is backed up
  1512.   before alteration.
  1513.  
  1514.   Usage:   CONF [text]
  1515.  
  1516.     text is the line to be added to the file.  Any tilde variables may
  1517.          be used - see the section "Use of Variables" above for more
  1518.          information.
  1519.  
  1520.   Example: CONF DEVICE=~DOS\MSCDEX.SYS
  1521.  
  1522.        CONF DEVICE=~MAIN\TDRIVER.SYS /F:200 /D
  1523.        /L:~BOOT
  1524.  
  1525.   Default: No lines are added to CONFIG.SYS.
  1526.  
  1527.  
  1528.  
  1529. IFILE
  1530.  
  1531.   Specifies the location and name of an INI file to be created or modified.
  1532.   The information in this file can be constructed from any combination of
  1533.   predefined and user entered data such as name, address, program serial
  1534.   number etc.  The user data is controlled through INPUT keywords.  The
  1535.   actual data written to the file is defined with ISECT and INI keywords.
  1536.  
  1537.   Usage:   IFILE [path]
  1538.  
  1539.     path is the full directory, name and extension of the INI file.
  1540.  
  1541.        The directory is specified relative to the main program
  1542.        directory entered by the user.  This can include the DOS
  1543.        directory symbols ".", "..", "\" etc, and/or any tilde variables
  1544.        - see the INSTALL keyword and the section "Use of
  1545.        Variables" above for more information.
  1546.  
  1547.        The directory must exist, or be the main program directory
  1548.        entered by the user, or it must be created through the
  1549.        MKDIR keyword.
  1550.  
  1551.   Examples:  IFILE MYPROG.INI
  1552.  
  1553.        IFILE ~WIN\WIN.INI
  1554.  
  1555.        IFILE
  1556.  
  1557.   Default: If path is blank, or there is no IFILE record, then data is
  1558.            written to WIN.INI in the WINDOWS directory.  If there
  1559.            is a file name and extension but no directory then the main
  1560.            program directory is presumed.
  1561.  
  1562.  
  1563.  
  1564. ISECT
  1565.  
  1566.   Specifies the section name under which the INI data is to be written.
  1567.   Sections are recorded in the INI file enclosed in square brackets,
  1568.   however the section name here should be entered without square
  1569.   brackets.  The section will be created in the INI file if it does not already
  1570.   exist.
  1571.  
  1572.   Usage:   ISECT sect
  1573.  
  1574.     sect is the name of the section to which the data is written.
  1575.  
  1576.   Examples:  ISECT Desktop
  1577.  
  1578.        ISECT MyApplicationSettings
  1579.  
  1580.   Default: None.
  1581.  
  1582.  
  1583.  
  1584. INI
  1585.  
  1586.   Specifies data to be written to an INI file.  They may be preceded and
  1587.   interspersed by as many IFILE and ISECT records as required to write
  1588.   data to multiple files and sections.  The data may include any variables
  1589.   or special directory identifiers.
  1590.  
  1591.   Usage:   INI key[=data]
  1592.  
  1593.     key  is the name of the item for which a value is being defined,
  1594.          such as "Colour" or "Directory" or "Font".
  1595.  
  1596.     data is the value being assigned to the above item, such as
  1597.          "Red" or "~MAIN" or "Arial".  Any tilde variables may be
  1598.          used - see the section "Use of Variables" above for more
  1599.          information.
  1600.  
  1601.   Examples:  IFILE MYPROG.INI
  1602.  
  1603.        ISECT Main
  1604.  
  1605.        INI Colour=7 4 6
  1606.  
  1607.        INI Dir=~MAIN
  1608.  
  1609.        INI Serial=~0
  1610.  
  1611.        INI UserName=~1
  1612.  
  1613.        ISECT Defaults
  1614.  
  1615.        INI OpenEmpty=Yes
  1616.  
  1617.        INI AutoSave=Yes
  1618.  
  1619.        INI PromptOnDelete=No
  1620.  
  1621.   Default: if data is blank then any existing value assigned to that item
  1622.            name is deleted.
  1623.  
  1624.  
  1625.  
  1626. GROUP  (DOS version only)
  1627.  
  1628.   Specifies the file name of a pre-created Group to be added to Program
  1629.   Manager if it does not already exist.
  1630.  
  1631.   Usage:   GROUP fileext
  1632.  
  1633.     fileext  is the name of the group file.  Any tilde variables may be
  1634.              used - see the section "Use of Variables" above for more
  1635.              information.
  1636.  
  1637.   Example: GROUP MYPROG.GRP
  1638.  
  1639.   Notes:   The group file must be on the last disk in a multi disk
  1640.            install, and it is automatically copied into the Windows
  1641.            directory on the user's machine.  It should not therefore be
  1642.            included in any INSTALL keyword.
  1643.  
  1644.        When creating the original group file, care must be taken to
  1645.        ensure that it will work satisfactorily on the user's machine,
  1646.        which may be operating at a different screen size and
  1647.        resolution, and with the Program Manager window itself of
  1648.        a different size.  Also, user-entered directories and other
  1649.        variables cannot be added to the group file at installation
  1650.        file.
  1651.  
  1652.   Default: if there is no GROUP record specified then Program
  1653.            Manager is not updated.
  1654.  
  1655.  
  1656.  
  1657. GROUP  (Windows version only)
  1658.  
  1659.   Specifies the name of a Group to be added to Program Manager if it
  1660.   does not already exist.
  1661.  
  1662.   Usage:   GROUP text
  1663.  
  1664.     text is the name of the group.  Any tilde variables may be used -
  1665.          see the section "Use of Variables" above for more
  1666.          information.
  1667.  
  1668.   Examples:  GROUP Space Blaster
  1669.  
  1670.        GROUP My Favourite Programs
  1671.  
  1672.   Default: if there is no GROUP record specified then any Items will
  1673.            be added to the currently selected group.
  1674.  
  1675.  
  1676.  
  1677. ITEM  (Windows version only)
  1678.  
  1679.   Specifies the name and other information about a program item to be
  1680.   added to the Program Manager group defined with the GROUP
  1681.   keyword.
  1682.  
  1683.   Usage:   ITEM cmd[,name[,icon[,index[,x,y[,dir[,key[,min]]]]]]]
  1684.  
  1685.     cmd  is the full command line required to run the program.  This
  1686.          parameter should contain at least the name of the
  1687.          executable file for the program.  It can also include the path
  1688.          of the file and any parameters required by it.
  1689.  
  1690.     name is the title that is displayed below the icon in the group
  1691.          window.
  1692.  
  1693.     icon is the full path for the icon to be shown in the group
  1694.          window.  The file can be either a Windows executable file
  1695.          or an icon file.
  1696.  
  1697.     index  is the index of the icon in the file identified by the icon
  1698.            parameter.  This parameter is an integer, and the first icon's
  1699.            index is 0.  SETUP.EXE contains two icons, the first for
  1700.            install and the second for uninstall.  PROGMAN.EXE
  1701.            contains five icons that can be used for non-Windows
  1702.            programs.
  1703.  
  1704.     x,y    is the horizontal and vertical position of the icon in the
  1705.            group window.  These parameters are integers, and both
  1706.            must be specified to set the position of the icon.
  1707.  
  1708.     dir    is the name of the default (or working) directory.
  1709.  
  1710.     key  is the hot (or shortcut) key that is specified by the user.
  1711.  
  1712.     min  is whether an application window should be minimised
  1713.          when it is first displayed.
  1714.  
  1715.   Notes:   Any tilde variables may be used in any of the above
  1716.            parameters - see the section "Use of Variables" above for
  1717.            more information.
  1718.  
  1719.        Any parameters which contain square brackets [ ] or
  1720.        parenthesis ( ) must be enclosed in double quotes or
  1721.        Windows will generate errors and may even crash.
  1722.  
  1723.   Examples:  GROUP Space Blasters
  1724.  
  1725.        ITEM ~MAIN\BLASTER.EXE,"Space Blasters Game (for
  1726.        DOS)"
  1727.  
  1728.        ITEM ~MAIN\BLASTER.HLP,Help for
  1729.        Blasters,BLASTHLP.ICO
  1730.  
  1731.        ITEM ~MAIN\SETUP.EXE,Uninstall Space Blasters,,1
  1732.  
  1733.   Default: If min is blank then the program is not minimised when
  1734.            run.  If hotkey is blank then no shortcut key is defined.  If
  1735.            dir is blank then the working directory is taken from the
  1736.            cmd parameter.  If x,y is blank then Program Manager
  1737.            places the icon in the next available space.  If index is blank
  1738.            then the first icon in the icon file is used.  If icon is blank
  1739.            then Program Manager uses the first icon in the file
  1740.            specified in the cmd parameter, or if that is not an
  1741.            executable file then the first icon in the associated
  1742.            executable file, or if there is no associated file then a default
  1743.            icon is used.
  1744.  
  1745.  
  1746.  
  1747. HELP
  1748.  
  1749.   Specifies the file name and extension of a help utility that can be run
  1750.   from K-INSTALL.
  1751.  
  1752.   Usage:   HELP [fileext[,parms]]
  1753.  
  1754.     fileext  is the name of the help utility, or blank to turn the option
  1755.              off.  No directory need be specified as K-INSTALL will
  1756.              search the installation disk, the main program directory, and
  1757.              the user's Path to find the file.
  1758.  
  1759.     parms  is any additional parameters for the program.
  1760.  
  1761.        Any tilde variables may be used in any of the above
  1762.        parameters - see the section "Use of Variables" above for
  1763.        more information.
  1764.  
  1765.   Examples:  HELP README.EXE
  1766.  
  1767.        HELP BROWSE.COM, README.TXT
  1768.  
  1769.   Default: No help utility defined, option not enabled.
  1770.  
  1771.  
  1772. CATALOG
  1773.  
  1774.   Specifies the file name and extension of a product catalogue program
  1775.   that can be run from K-INSTALL.
  1776.  
  1777.   Usage:   CATALOG [fileext[,parms]]
  1778.  
  1779.     fileext  is the name of the catalogue program, or blank to turn the
  1780.              option off.  No directory need be specified as K-INSTALL
  1781.              will search the installation disk, the main program
  1782.              directory, and the user's Path to find the file.
  1783.  
  1784.     parms  is any additional parameters for the program.
  1785.  
  1786.        Any tilde variables may be used in any of the above
  1787.        parameters - see the section "Use of Variables" above for
  1788.        more information.
  1789.  
  1790.   Examples:  CATALOG CATALOG.EXE
  1791.  
  1792.        CATALOG BROWSE.COM, PROGRAMS.TXT
  1793.  
  1794.   Default: No catalogue program defined, option not enabled.
  1795.  
  1796.  
  1797.  
  1798. RUN
  1799.  
  1800.     Specifies the file name and parameters by which to run the main
  1801.     program being installed.  This allows K-INSTALL to give
  1802.     instructions on how to run the program, and also allows the user to
  1803.     run it directly from the installation program.  This keyword can be
  1804.     omitted if the program is a collection of utilities or text files.
  1805.  
  1806.   Usage:   RUN [fileext[,parms[,opt]]]
  1807.  
  1808.     fileext  is the file name and extension of the program to be run.  No
  1809.              directory need be specified as K-INSTALL will search the
  1810.              installation disk, the main program directory, and the user's
  1811.              Path to find the file.
  1812.  
  1813.     parms  is any additional parameters for the program.
  1814.  
  1815.     opt    is when and how the program should be run (DOS version
  1816.            only):
  1817.  
  1818.        0 run immediately
  1819.  
  1820.        1 exit from K-INSTALL and then run
  1821.  
  1822.        2 exit from K-INSTALL, load Windows and then run
  1823.  
  1824.        If opt is 0 then when the program is terminated control is
  1825.        returned to K-INSTALL, but if opt is 1 or 2 then control
  1826.        returns to DOS or from wherever K-INSTALL was run.
  1827.  
  1828.        Any tilde variables may be used in any of the above
  1829.        parameters - see the section "Use of Variables" above for
  1830.        more information.
  1831.  
  1832.   Examples:  RUN CLOCK.COM
  1833.  
  1834.        RUN BLAST.EXE, /VGA /NOSOUND
  1835.  
  1836.   Note:    Specifying opt of 1 or 2 forces K-INSTALL to load the
  1837.            program name (minus extension) and parameters into the
  1838.            keyboard buffer before terminating.  If opt is 2 then the
  1839.            "win" command is loaded into the keyboard buffer first.
  1840.  
  1841.        One disadvantage of this method is that it probably won't
  1842.        work if K-INSTALL is itself run from a shell or from
  1843.        Windows.  Another disadvantage is that there is limited
  1844.        space in the keyboard buffer (usually 16 characters) to store
  1845.        keystrokes, so lengthy parameters cannot be specified as
  1846.        they will not fit into the buffer.  If the program has lengthy
  1847.        parameters then put the program name and its parameters
  1848.        in a batch file and run that instead from K-INSTALL.
  1849.  
  1850.  
  1851.  
  1852. RESTART (Windows version only)
  1853.  
  1854.   Specifies the conditions under which the user is given the option to
  1855.   restart Windows after installation.
  1856.  
  1857.   Usage:   RESTART [level]
  1858.  
  1859.     level  is the criteria for restarting Windows:
  1860.  
  1861.        0 never restart Windows
  1862.  
  1863.        1 restart Windows if WIN.INI or SYSTEM.INI have
  1864.          changed
  1865.  
  1866.        2 always restart Windows
  1867.  
  1868.   Example: RESTART 2
  1869.  
  1870.   Defaults:  0 if level is blank, 1 if there is no RESTART keyword
  1871.  
  1872.  
  1873.  
  1874. REBOOT
  1875.  
  1876.   Specifies the conditions under which the user is given the option to
  1877.   reboot DOS after installation.
  1878.  
  1879.   Usage:   REBOOT [level]
  1880.  
  1881.     level  is the criteria for rebooting DOS:
  1882.  
  1883.        0 never reboot DOS
  1884.  
  1885.        1 reboot DOS if AUTOEXEC.BAT or CONFIG.SYS
  1886.          have changed
  1887.  
  1888.        2 always reboot DOS
  1889.  
  1890.   Example: REBOOT 0
  1891.  
  1892.   Defaults:  0 if level is blank, 1 if there is no REBOOT keyword
  1893.  
  1894.  
  1895.  
  1896. DOC
  1897.  
  1898.   Specifies the name of a README or other information file or
  1899.   document to which the user's attention should be drawn at the
  1900.   termination of K-INSTALL.
  1901.  
  1902.   Usage:   DOC [fileext]
  1903.  
  1904.     fileext  is the file name and extension of the documentation file.
  1905.              No directory should be specified, as this file name is used
  1906.              for reference only.
  1907.  
  1908.   Examples:  DOC BLAST.TXT
  1909.  
  1910.        DOC README.NOW
  1911.  
  1912.   Default: No documentation file defined, option not enabled.
  1913.  
  1914.  
  1915. COLS  (DOS version only)
  1916.  
  1917.   Specifies the colours used throughout K-INSTALL.
  1918.  
  1919.   Usage:   COLS [titl[,msg[,pic[,btn[,menu[,stat[,ask[,norm]]]]]]]]
  1920.  
  1921.     titl   is the absolute colour for the title line.
  1922.  
  1923.     msg  is the absolute colour for the message line.
  1924.  
  1925.     pic    is the absolute colour for the picture to start with.
  1926.  
  1927.     btn    is the absolute colour for the push buttons.
  1928.  
  1929.     menu is the absolute colour for the main menu.
  1930.  
  1931.     stat   is the absolute colour for the status bar.
  1932.  
  1933.     ask    is the absolute colour for the questions.
  1934.  
  1935.     norm is the absolute colour for other program responses.
  1936.  
  1937.   Notes:   Absolute colour codes specify a complete foreground and
  1938.            background colour combination, and are defined in a single
  1939.            byte, giving a decimal number from 0 to 255, or a
  1940.            hexadecimal number from 00h to FFh.  The foreground
  1941.            colour is defined in the lowest 3 bits, the intensity in the
  1942.            next bit, the background colour in the next 3 bits, and
  1943.            blinking in the highest bit.  There are eight basic colours for
  1944.            both background and foreground, but the foreground
  1945.            colours can also be selected in high or low intensity,
  1946.            effectively giving 16 foreground colours.
  1947.  
  1948.        Val Low Intensity   High Intensity
  1949.  
  1950.        0   Black       Dark Grey
  1951.  
  1952.        1   Blue        Light Blue
  1953.  
  1954.        2   Green       Light Green
  1955.  
  1956.        3   Cyan        Light Cyan
  1957.  
  1958.        4   Red       Light Red
  1959.  
  1960.        5   Magenta     Light Magenta
  1961.  
  1962.        6   Brown       Yellow
  1963.  
  1964.        7   Light Grey      White
  1965.  
  1966.        To derive the colour code for a specific absolute colour:
  1967.        take the basic colour number for the foreground, add 8 if
  1968.        you want high intensity, add the basic number for the
  1969.        background colour multiplied by 16, and add a further 128
  1970.        if you want blinking.
  1971.  
  1972.   Examples:  COLS 7, 7, 7, 7, 7, 7, 7, 7
  1973.  
  1974.        COLS 79
  1975.  
  1976.   Default: all colours default to reasonable values if not entered, and
  1977.            remain unchanged if the colour is set to zero.  Defaults are:
  1978.  
  1979.        title line        White on Blue
  1980.  
  1981.        message line      Light Green on Green
  1982.  
  1983.        picture         White on Black
  1984.  
  1985.        push buttons      Dark Grey on Light Grey
  1986.  
  1987.        main menu       Yellow on Green
  1988.  
  1989.        status bar        Yellow on Blue
  1990.  
  1991.        questions       Red on Black
  1992.  
  1993.        other responses     Cyan on Black
  1994.  
  1995.  
  1996.  
  1997. COLS  (Windows version only)
  1998.  
  1999.   Specifies the colours used throughout K-INSTALL.
  2000.  
  2001.   Usage:   COLS [top[,bot[,titl[,shad[,depth[,msg[,menu]]]]]]]
  2002.  
  2003.     top    is the background colour at the top of the window.
  2004.  
  2005.     bot    is the background colour at the bottom of the window.
  2006.  
  2007.     titl   is the text colour for the title line.
  2008.  
  2009.     shad is the text colour for the title shadow.
  2010.  
  2011.     depth  is the amount of offset of the shadow from the title line,
  2012.            where positive numbers are below and to the right, and
  2013.            negative numbers are above and to the left, and zero means
  2014.            no shadow.
  2015.  
  2016.     msg  is the text colour for the message line.
  2017.  
  2018.     menu is the text colour for the main menu items.
  2019.  
  2020.   Notes:   Colours are made up three components, Red, Green and
  2021.            Blue.  Each component has an intensity from 0 to 255,
  2022.            specified in one byte.  A complete colour code therefore has
  2023.            three bytes, giving decimal numbers from 0 to 16777215,
  2024.            or hexadecimal from 000000h to FFFFFFh.  The lowest
  2025.            order byte is the Red value, the next byte is the Green
  2026.            value, and the highest byte is the Blue value.  Any number
  2027.            of intermediate colours can be made by mixing different
  2028.            intensities of these three colours.
  2029.  
  2030.        To derive the colour code for a specific colour: take the
  2031.        value for Red, add the value for Green multiplied by 256,
  2032.        and add the value for Blue multiplied by 65538.  In
  2033.        hexadecimal, write the Blue byte followed by the Green
  2034.        byte followed by the Red byte.  Using codes where each of
  2035.        the three colours are divisible by 64 (40h) minimises
  2036.        dithering.  The most common and attractive colour codes
  2037.        are:
  2038.  
  2039.        Decimal   Hex     Colour
  2040.  
  2041.        0       000000h   Black
  2042.  
  2043.        128     000080h   Dark Red
  2044.  
  2045.        255     0000FFh   Light Red
  2046.  
  2047.        32768     008000h   Dark Green
  2048.  
  2049.        32896     008080h   Brown
  2050.  
  2051.        65280     00FF00h   Light Green
  2052.  
  2053.        65535     00FFFFh   Yellow
  2054.  
  2055.        8288608   800000h   Dark Blue
  2056.  
  2057.        8388736   800080h   Dark Magenta
  2058.  
  2059.        8421376   808000h   Dark Cyan
  2060.  
  2061.        8421504   808080h   Dark Grey
  2062.  
  2063.        12632256    C0C0C0h   Light Grey
  2064.  
  2065.        16711680    FF0000h   Light Blue
  2066.  
  2067.        16711935    FF00FFh   Light Magenta
  2068.  
  2069.        16776960    FFFF00h   Light Cyan
  2070.  
  2071.        16777215    FFFFFFh   White
  2072.  
  2073.        The depth quality normally works best with just small
  2074.        values up to about 3 and down to about -3.
  2075.  
  2076.   Examples:  COLS 255, 0, 0, 16777215, 0, 2, 16777215, 12632256
  2077.  
  2078.        COLS ff0000h ff00ffh, 2, 0, ffffffh, 1
  2079.  
  2080.   Default: all colours and options default to reasonable values if there
  2081.            is no COLS keyword:
  2082.  
  2083.        top background      Light Cyan
  2084.  
  2085.        bottom background   Light Green
  2086.  
  2087.        title         White
  2088.  
  2089.        shadow        Black
  2090.  
  2091.        shadow depth      1
  2092.  
  2093.        message       Black
  2094.  
  2095.        main menu       Black
  2096.  
  2097.        Individual colours default to black and depth defaults to
  2098.        zero if they are missing from the COLS record.
  2099.  
  2100.  
  2101.  
  2102. WINDOW  (DOS version only)
  2103.  
  2104.   Defines the position and size of the main K-INSTALL window.
  2105.  
  2106.   Usage:   WINDOW x[,y[,w[,h]]]
  2107.  
  2108.     x  is the horizontal location of the window in characters from
  2109.        the left of the screen.
  2110.  
  2111.     y  is the vertical location of the window in lines from the top
  2112.        of the screen.
  2113.  
  2114.     w  is the horizointal size (width) of the window in characters.
  2115.  
  2116.     h  is the vertical size (height) of the window in lines.
  2117.  
  2118.   Example: WINDOW 0, 0, 80, 13
  2119.  
  2120.   Default: x and y default to zero, w defaults to 80, h defaults to 11 if
  2121.            there is no WINDOW record.
  2122.  
  2123.  
  2124.  
  2125. WINDOW  (Windows version only)
  2126.  
  2127.   Defines the position and size of the main K-INSTALL window.
  2128.  
  2129.   Usage:   WINDOW [max[,chg[,x[,y[,w[,h]]]]]]
  2130.  
  2131.     max  is the initial state of the window:
  2132.  
  2133.        0 restored
  2134.  
  2135.        1 maximised
  2136.  
  2137.     chg  is whether the window is resizeable and in what way:
  2138.  
  2139.        0 the window is fully resizeable, it has a thick border for
  2140.          resizing, and maximise and minimise buttons
  2141.  
  2142.        1 the window can be maximised, restored and minimised
  2143.          only, it has maximise/restore and minimise buttons
  2144.  
  2145.        2 the window can be minimised only, it has a minimise
  2146.          button
  2147.  
  2148.        3 the window is not resizeable at all.
  2149.  
  2150.     x  is the horizontal location of the window in pixels from the
  2151.        left of the screen.
  2152.  
  2153.     y  is the vertical location of the window in pixels from the top
  2154.        of the screen.
  2155.  
  2156.     w  is the horizointal size (width) of the window in pixels.
  2157.  
  2158.     h  is the vertical size (height) of the window in pixels.
  2159.  
  2160.   Examples:  WINDOW 1, 2
  2161.  
  2162.        WINDOW 0, 0, 20, 20, 650, 400
  2163.  
  2164.   Default: max, chg, x and y default to zero, w defaults to 600, h
  2165.            defaults to 370 if there is no WINDOW record.
  2166.  
  2167.  
  2168.  
  2169. PATTERN  (Windows version only)
  2170.  
  2171.   Defines the makeup of the background of the main K-INSTALL screen.
  2172.   The background can be either a small bitmap repeated over the whole
  2173.   screen, or a hatched pattern, or two plain colours that merge into each
  2174.   other in the middle of the screen.  Only one of these three methods is
  2175.   used to generate the background, and K-INSTALL will attempt each in
  2176.   turn until valid parameters are found.  If a bitmap is used then it must
  2177.   be added to the EXE file using a resource editor, or exist as a separate
  2178.   BMP file.
  2179.  
  2180.   Usage:   PATTERN [name[,style[,skew]]]
  2181.  
  2182.     name is the name of a bitmap resource or file name.  The bitmap
  2183.          may be up to 8 bits square, and is painted repeatedly all
  2184.          over the background of the window.  If the bitmap is larger
  2185.          than 8 bits square then only the first 8 bits in each direction
  2186.          are used.  If name is valid then the style and skew
  2187.          parameters are ignored.
  2188.  
  2189.     style  is the type of hatch that used to form a background pattern:
  2190.  
  2191.        0 no hatch
  2192.  
  2193.        1 horizontal lines
  2194.  
  2195.        2 vertical lines
  2196.  
  2197.        3 forwards diagonal lines
  2198.  
  2199.        4 backwards diagonal lines
  2200.  
  2201.        5 vertical and horizontal crossed lines
  2202.  
  2203.        6 forwards and backwards diagonal crossed lines
  2204.  
  2205.        This parameter is only used if the name parameter is blank
  2206.        or invalid.  If style is greater than 0 then the skew
  2207.        parameter is ignored.  The foreground colour of the hatch
  2208.        pattern is the top colour as defined by the COLS keyword.
  2209.        The background colour of the hatch pattern is the bottom
  2210.        colour as defined by the COLS keyword.
  2211.  
  2212.     skew is the relative weight given to the top and bottom
  2213.          background colours in the way in which they graduate
  2214.          from one to the other.  Positive numbers give more
  2215.          emphasis to the top colour, and negative numbers give
  2216.          more emphasis to the bottom colour, and zero means both
  2217.          colours are weighted evenly.  The top and bottom colours
  2218.          are defined by the COLS keyword.  This parameter is only
  2219.          used if the name parameter is blank or invalid and the style
  2220.          parameter is blank or less than or equal to 0.
  2221.  
  2222.   Notes:   Normally only one of the above three parameters need be
  2223.            entered, as the first valid non-blank/non zero parameter will
  2224.            define how the background is generated.
  2225.  
  2226.   Examples:  PATTERN MINILOGO.BMP
  2227.  
  2228.        PATTERN BITMAP_1
  2229.  
  2230.        PATTERN , 6
  2231.  
  2232.        PATTERN , , 1
  2233.  
  2234.   Default: name defaults to blank and style and skew default to 0.  If
  2235.            a valid name is entered then the background is generated
  2236.            from the bitmap and the style and skew parameters are
  2237.            ignored.  If name is blank or invalid and style is greater than
  2238.            0 then the background is generated from the hatch pattern
  2239.            and the skew parameter is ignored.  If name is blank or
  2240.            invalid and style is less than 1 then the background is a
  2241.            graduated colour change from the top to the bottom of the
  2242.            screen using the skew parameter if entered.  If there is no
  2243.            PATTERN record then the background is a simple
  2244.            graduated colour change using a skew of 0.
  2245.  
  2246.  
  2247.  
  2248. ICON  (Windows version only)
  2249.  
  2250.   Defines an icon that is displayed in the main K-INSTALL screen.  The
  2251.   icon must be added to the EXE file using a resource editor.  The EXE
  2252.   file already contains two icons, the first being the Install icon and the
  2253.   second being the Uninstall icon.
  2254.  
  2255.   Usage:   ICON [index[,x1[,y1[,x2[,y2]]]]]
  2256.  
  2257.     index  is the number of the icon resource.
  2258.  
  2259.     x1   is the horizontal location of the icon as an absolute number
  2260.          of pixels from the left of the window.  This is added to the
  2261.          value derived from x2 if defined.
  2262.  
  2263.     y1   is the vertical location of the icon as an absolute number of
  2264.          pixels from the top of the window.  This is added to the
  2265.          value derived from y2 if defined.
  2266.  
  2267.     x2   is the horizontal location of the icon as a percentage of the
  2268.          way across the window, 50 being the middle and 100 the
  2269.          right edge.  This is added to the value derived from x1 if
  2270.          defined.
  2271.  
  2272.     y2   is the vertical location of the icon as a percentage of the
  2273.          way down the window, 50 being the middle and 100 the
  2274.          bottom edge.  This is added to the value derived from y1 if
  2275.          defined.
  2276.  
  2277.   Example: ICON 1, 0, 20, 50, 0
  2278.  
  2279.   Default: x1, y1, x2 and y2 default to zero if not entered.  If index is
  2280.            blank or invalid or there is no ICON record then no icon is
  2281.            defined or displayed.
  2282.  
  2283.  
  2284.  
  2285. PICTURE  (DOS version only)
  2286.  
  2287.   Defines the picture that is displayed to the top right of the K-INSTALL
  2288.   screen.  This picture has a fixed height of 10 lines and a default width
  2289.   of 21 characters.  This MUST be the last keyword used in the settings
  2290.   file, because once this keyword is encountered all of the rest of the file
  2291.   is read in to define the picture.
  2292.  
  2293.   Usage:   PICTURE [width]
  2294.  
  2295.        [string
  2296.  
  2297.        [string
  2298.  
  2299.        [string...]]]
  2300.  
  2301.     width  is the number of characters width of the picture.
  2302.  
  2303.     string is ASCII characters and colour control codes which make
  2304.            up each line of the picture on the screen.  Any ASCII
  2305.            characters greater than or equal to 8 may be used to create
  2306.            the picture.  ASCII characters from 1 to 7 are used to alter
  2307.            the colours in the picture, as follows:
  2308.  
  2309.        #1  set colour to the code of the following character
  2310.  
  2311.        #2  toggle between high and low intensity (xor 8)
  2312.  
  2313.        #3  shift the foreground down one colour (subtract 1)
  2314.  
  2315.        #4  shift the foreground up one colour (add 1)
  2316.  
  2317.        #5  shift the background down one colour (subtract 16)
  2318.  
  2319.        #6  shift the background up one colour (add 16)
  2320.  
  2321.        #7  toggle between blinking and non blinking (xor 128)
  2322.  
  2323.        The #1 character must be followed by another character
  2324.        which specifies the colour to switch to, the ASCII value of
  2325.        which is the absolute colour code required.
  2326.  
  2327.        See the COLS keyword above for an explanation of how to
  2328.        calculate absolute colour codes.
  2329.  
  2330.   Example: PICTURE 0
  2331.  
  2332.   Notes:   Ensure that each line fills up the full width of the picture,
  2333.            putting blanks at the end of lines as necessary.
  2334.  
  2335.        Remember that you can set an absolute colour with an
  2336.        ASCII character #1 followed by an ASCII character
  2337.        specifying the complete colour combination required, or
  2338.        you can set the colours relative to the last colour with the
  2339.        ASCII characters #2 to #7.
  2340.  
  2341.        The pic parameter of the COLS keyword sets the starting
  2342.        colour of the picture.  Alternatively you can simply start the
  2343.        picture with an ASCII #1 character and then an absolute
  2344.        colour character.
  2345.  
  2346.        A very few colour combinations give absolute colour
  2347.        characters that may be interpreted as something else.  For
  2348.        example to set colours to Light Magenta on a Black
  2349.        background you may want to use character codes #1 then
  2350.        #13.  However the #13 will be read as a carriage return.  In
  2351.        this case it is necessary to give a slightly different control
  2352.        code sequence to achieve the same result, such as #1 then
  2353.        #14 to get Yellow on Black, and then #3 to shift the
  2354.        foreground colour down one to Light Magenta.
  2355.  
  2356.        Do not use absolute colour character #0 (Black on Black).
  2357.  
  2358.   Default: If the width is blank or less than 0 then it defaults to 21, or
  2359.            if it is 0 then no picture is displayed.  If no PICTURE
  2360.            keyword is entered at all then a simple Southern Cross is
  2361.            displayed.
  2362.  
  2363.  
  2364.  
  2365. PICTURE  (Windows version only)
  2366.  
  2367.   Defines a graphic that is displayed in the main K-INSTALL screen.  The
  2368.   graphic is a bitmap that must be added to the EXE file using a resource
  2369.   editor, or exist as a separate BMP file.
  2370.  
  2371.   Usage:   PICTURE
  2372.            [name[,x1[,y1[,x2[,y2[,style[,x3[,y3[,x4[,y4[,mode]]]]]]]
  2373.            ]]]]
  2374.  
  2375.   name   is the name of the bitmap resource or file name.
  2376.  
  2377.     x1   is the horizontal location of the graphic as an absolute
  2378.          number of pixels from the left of the window.  This is
  2379.          added to the value derived from x2 if defined.
  2380.  
  2381.     y1   is the vertical location of the graphic as an absolute number
  2382.          of pixels from the top of the window.  This is added to the
  2383.          value derived from y2 if defined.
  2384.  
  2385.     x2   is the horizontal location of the graphic as a percentage of
  2386.          the way across the window, 50 being the middle and 100
  2387.          the right edge.  This is added to the value derived from x1
  2388.          if defined.
  2389.  
  2390.     y2   is the vertical location of the graphic as a percentage of the
  2391.          way down the window, 50 being the middle and 100 the
  2392.          bottom edge.  This is added to the value derived from y1 if
  2393.          defined.
  2394.  
  2395.     style  is the method by which the bitmap is superimposed over
  2396.            the existing background of the window:
  2397.  
  2398.        0 OVLY: the bitmap is shown with the background
  2399.                showing through the white parts
  2400.  
  2401.        1 COPY:   the bitmap is copied over the top of the
  2402.                  background, completely replacing it.
  2403.  
  2404.        2 AND:    the bitmap and background are combined
  2405.                  bit by bit with the AND function.
  2406.  
  2407.        3 OR:   the bitmap and background are combined
  2408.                bit by bit with the OR function.
  2409.  
  2410.        4 XOR:    the bitmap and background are combined
  2411.                  bit by bit with the XOR function.
  2412.  
  2413.        5-9       other effects.
  2414.  
  2415.        The first two styles are generally the most useful, but it is
  2416.        worth experimenting to see the different effects they all
  2417.        have.
  2418.  
  2419.     w1   is the width of the graphic as an absolute number of pixels.
  2420.          This is added to the value derived from w2 if defined.  If
  2421.          the total value is not zero then the graphic is stretched or
  2422.          compressed to this width.
  2423.  
  2424.     h1   is the height of the graphic as an absolute number of pixels.
  2425.          This is added to the value derived from h2 if defined.  If the
  2426.          total value is not zero then the graphic is stretched or
  2427.          compressed to this height.
  2428.  
  2429.     w2   is the width of the graphic as a percentage of the width of
  2430.          the window, 50 being half the width and 100 the whole
  2431.          width.  This is added to the value derived from w1 if
  2432.          defined.  If the total value is not zero then the graphic is
  2433.          stretched or compressed to this width.
  2434.  
  2435.     h2   is the height of the graphic as a percentage of the height of
  2436.          the window, 50 being half the height and 100 the full
  2437.          height.  This is added to the value derived from h1 if
  2438.          defined.  If the total value is not zero then the graphic is
  2439.          stretched or compressed to this height.
  2440.  
  2441.     mode is the method by which the bitmap is stretched:
  2442.  
  2443.        1 preserves black pixels at the expense of white ones
  2444.  
  2445.        2 preserves white pixels at the expense of black ones
  2446.  
  2447.        3 treats all colours in the same way
  2448.  
  2449.   Note:    Transparent bitmaps (that is, those copied with style 0)
  2450.            cannot be stretched.
  2451.  
  2452.   Example: PICTURE MAINLOGO.BMP, 0, 0, 100, 50, 1
  2453.  
  2454.   Default: x1, y1, x2, y2, style, w1, h1, w2, h2 and mode all default
  2455.            to zero if not entered.  If name is blank or invalid or there
  2456.            is no PICTURE record then no graphic is defined or
  2457.            displayed.
  2458.  
  2459.  
  2460.  
  2461. LOG
  2462.  
  2463.   Specifies the name of an installation log file used to record all files that
  2464.   have been copied and directories created by K-INSTALL.  This allows
  2465.   the program to be uninstalled by deleting all these files and directories
  2466.   again, regardless of where they were copied or created.  The log file
  2467.   is always created in the main program directory.
  2468.  
  2469.   Usage:   LOG [fileext]
  2470.  
  2471.     fileext  is the file name and extension of the log file, or blank to
  2472.              turn the option off.  No directory should be specified as the
  2473.              log file is always created in the main program directory.
  2474.  
  2475.   Examples:  LOG BLASTER.LOG
  2476.  
  2477.        LOG
  2478.  
  2479.   Default: Option enabled with log file name "UNINSTAL.LOG".
  2480.  
  2481.   Note:    For the uninstall process to work, the INSTALL program
  2482.            itself must be copied to the main program directory where
  2483.            the log file is also created.  The associated settings file must
  2484.            also be copied if it changes the name of the log file.  This
  2485.            can be done with a simple INSTALL record such as:
  2486.  
  2487.        INSTALL INSTALL.*, ., 2, 18
  2488.  
  2489.  
  2490.  
  2491. REMOVE
  2492.  
  2493.   Specifies the name of a file to be deleted during uninstallation.  This can
  2494.   be used to remove files that are created by the main program subsequent
  2495.   to installation, such as configuration files, private INI files, temporary
  2496.   files etc.  Wildcards are not permitted.
  2497.  
  2498.   Usage:   REMOVE path
  2499.  
  2500.     path is the directory, file name and extension of the file to be
  2501.          deleted.  The directory is specified relative to the main
  2502.          program directory entered by the user.  This can include the
  2503.          DOS directory symbols ".", "..", "\" etc, and/or any tilde
  2504.          variables - see the INSTALL keyword and the section "Use
  2505.          of Variables" above for more information.
  2506.  
  2507.   Examples:  REMOVE MYPROG.CFG
  2508.  
  2509.        REMOVE ~MAIN\SORT.TMP
  2510.  
  2511.        REMOVE ~WIN\MYPROG.INI
  2512.  
  2513.   Default: If the directory is blank then the file is deleted from the
  2514.            main program directory.  If there is no REMOVE record
  2515.            then no files are deleted.
  2516.  
  2517.