K-INSTALL for DOS and Windows 2.3 Copyright (c) 1994-95 by Rob McDonell, ARK ANGLES All Rights Reserved DEVELOPER'S MANUAL INTRODUCTION K-INSTALL is one of the most powerful and flexible installation programs around, in a very robust and compact package. It comes in both DOS and Windows versions. Both versions feature a wide set of almost identical capabilities such as: * checking CPU type and maths coprocessor, * checking DOS and Windows version, * deleting files prior to installation, * installing from and to any drive and directory * installing within the same directory * installing files to several different drives and directories, * optionally replacing or appending to existing files, * prompting for additional disks as necessary, * asking whether to install optional components, * unpacking LZH, ZIP, ARJ and self extracting archives, * expanding compressed files, * creating or modifying AUTOEXEC.BAT and CONFIG.SYS, * creating or modifying WIN.INI, SYSTEM.INI and other INI files, * creating or modifying files with registration data, * updating Windows Program Manager, * running external programs before, during and/or after installation, * linking to an external product catalogue, * linking to an external help facility, * providing messages and a status bar as installation proceeds, * rebooting DOS or restarting Windows after installation, * giving additional instructions at the conclusion of the program, * running the main program from the installation program, * uninstalling the program again, * modifying display colours, layout and graphic, * auto-starting any or all of the above functions. and much more. And it's all controlled from a single settings file. K-INSTALL Professional has extra powerful features over the standard edition, including: * customising all text in messages, windows and buttons, even for other languages, * presenting a text and graphics slide show during installation, * allowing users to re-install just the optional components at a later time, * enforcing upgrade policies by checking for previous versions already installed, * providing basic copy protection to hinder unauthorised copying of your application, * comprehensive conditional logic to control how the whole installation is processed, * a settings file scrambler to protect your security measures and other secrets. This manual fully describes both the DOS and Windows version of K-INSTALL, in both Standard and Professional editions. The differences between the two versions and two editions are indicated where necessary. System Requirements K-INSTALL for DOS runs on any IBM-PC or compatible with 256KB memory. DOS 3.0 or higher is recommended. K-INSTALL for Windows runs on any IBM-PC or compatible running Windows 3.1 (preferably in Enhanced Mode if unpacking archives). Installation Instructions K-INSTALL installs itself! Run INSTALL.EXE or SETUP.EXE to unpack and copy the whole package. You get the installation program itself, documentation, and samples to show the full power of this versatile piece of software. Support and License Information Individual registration entitles the registered user to free support for at least 12 months, and a license to use and distribute INSTALL.EXE and/or SETUP.EXE royalty free with any software developed by that individual. Business registration entitles the organisation to free support for at least 12 months, and a license to use and distribute INSTALL.EXE and/or SETUP.EXE royalty free with any software developed for it by any number of employees in one development group at one site. Customised versions of K-INSTALL are also available such that options can be hard coded into the program rather than specified in the separate settings file. This not only makes the program even more secure, but also smaller. Warranty ARK ANGLES warrants the physical disks and related printed matter to be free of significant defects in materials and workmanship, and that the program works largely in accordance with its documentation. This warranty is effective for three months from date of registration, and is not transferable. No liability is accepted for any loss, damage or inconvenience caused by the use of this product. No warranty is made that it is suitable for any particular person or purpose. In any event, the liability of ARK ANGLES is restricted to either a refund of the registration paid, a replacement of the physical disks and/or printed matter, or the provision of an upgrade to the latest version. Further Information For more information see the following files on the Installation Disk: README.TXT Support and license information, program history. REGISTER.TXT Registration, pricing and upgrade information PROGRAM DESCRIPTION K-INSTALL is a flexible and powerful program. There are many options to tailor it to run just as you need it. However you can also get the basics up and running very quickly. The INSTALL or SETUP executable file can be renamed if required. K-INSTALL uses a settings file to control it's many functions. File names, directories, and many other options are defined by special keywords. Suitable default values are used for any options not explicitly defined, ensuring that the settings file can be extremely simple. Creation and Use of Directories K-INSTALL can be run from any drive or directory. When running on DOS version 3.0 or later it will automatically identify it's own location and look for all other installation files in the same place. On DOS versions earlier than 3.0 it will assume it is running from A:\. For multi disk installs the user can change the "from" drive and/or directory for each new disk, allowing faster installation using two drives alternately, or installation from multiple directories on a hard disk. K-INSTALL automatically asks for and creates a main directory in which to install the program. If this directory already exists (unless it is a root directory) confirmation is obtained from the user before continuing the installation. Extra directories can also be created and/or accessed, including subdirectories of the main directory, the boot directory, the DOS directory, the Windows directory, the Windows System directory, and the drive and directory from which the program is being installed. K-INSTALL can also be set to append to files, always overwrite/replace existing files, only overwrite/replace older files, or never overwrite existing files. K-INSTALL can install a program within the same directory, automatically identifying files that do not have to be copied, while still unpacking archives and expanding compressed files. This is particularly convenient for users who obtain software electronically, as they do not have to use diskettes or other subdirectories temporarily to be able to install the program. The default directory where the program is to be installed is specified with the DIR keyword in the settings file. The other directory options are controlled through INSTALL and MKDIR keywords. Archives and Compressed Files K-INSTALL automatically unpacks any files with extensions of .LZH, .ZIP, .ARJ, .EXE and one definable extension if the files have the unpack identifier in the file name. The unarchiving programs used are LHA.EXE, PKUNZIP.EXE and ARJ.EXE respectively. The options parameters passed to these unarchiving programs when they are run may be altered by the LHA, ZIP and ARJ keywords. Parameters for self- unpacking archives are set with the EXE keyword. The unpack identifier is normally a single underline, which means that files such as _ABC.ZIP or MY_FILE.LZH ARCHIVE_.EXE will be unpacked automatically. The unpack identifier can be changed in the settings file with the UNPAK keyword. If you do not wish any files to be unpacked then it is a good idea to change the identifier to characters that are invalid in file names, such as "<" or ">" or ":" etc. K-INSTALL also automatically expands COMPRESSed files (created by the program COMPRESS.EXE) where the last character of the file extension is a single underline. This is not changed by the UNPAK keyword. If the file was compressed with the -r or /r parameter then the original file name is restored when the file is copied, unless a specific new name is given by the INSTALL keyword. If you wish to unpack other types of archives (such as .ARC, .PAK or .ZOO files), or you want to use a different unarchiving program for .LZH, .ZIP and .ARJ files (such as UNZIP.EXE instead of PKUNZIP.EXE), then a file extension and associated unarchiving program can be defined with the ARCHIVE keyword. Appropriate versions of the unarchiving program(s) must be accessible to K-INSTALL to enable it to automatically unpack any archives that are not self-extracting. Also, in the DOS version of K-INSTALL (but not the Windows version), the program EXPAND.EXE must be accessible to enable automatic expansion of compressed files. This means the decompression program(s) must be either somewhere in the user's DOS Path (but this cannot usually be relied upon), or on the installation disk itself. For multi disk installs the decompression program(s) should actually be installed from the first disk to the main program directory, from where they will be available to unpack archives on subsequent disks, otherwise the decompression program(s) would need to exist on every disk that contained an archive or compressed file. Note that multi-volume archives are not supported. Any file, including archives and compressed files, can be split into smaller pieces if they are too large to fit on one diskette. The FSPLIT utility is included to split files. The INSTALL keyword has an option to append files back together again. Using various options it is possible to split and concatenate files either before or after compression or archiving. System Checking K-INSTALL can check the user's computer in a number of ways to determine whether it is able to install the application. A minimum required processor type can be specific by the CPU keyword. The requirement of a coprocessor can be specified by the COPR keyword. The level of DOS and Windows versions required can be specified by the DOSVER and WINVER keywords respectively. K-INSTALL automatically checks the available space on the destination drive and compares it against the required space defined by the file sizes on INSTALL keywords. User Data At the commencement of the installation process K-INSTALL asks the user for the name of the directory in which to install the program. The default value for this is specified through the DIR keyword, which can also specify whether the user has the option to change the directory, and how the question is asked. The user can also specify whether to install certain optional components of the package. This is controlled by INSTALL keywords. Most importantly, K-INSTALL can be set up to request other information from the user such as serial number, name, company, address, even configuration preferences. The information can be validated for completeness and correctness, which can be particularly useful to ensure the user has a genuinely registered package and knows the required format of data such as the program serial number. Entry of user information is specified through INPUT keywords. The actual data entered by the user, along with certain other variable data such as file and directory names, can be used in the AUTOEXEC.BAT file through the PATH, AUTO and SHELL keywords, in the CONFIG.SYS file through the CONF keyword, in the registration data file through the RFILE and REG keywords, in INI files through the IFILE and INI keywords, in the Windows Program Manager information through the GROUP and ITEM keywords, in all external programs through the CATALOG, HELP, FIRST, LAST, INSTALL, LHA, ZIP, ARJ, EXE and ARCHIVE keywords. Updating System Configuration Files Many options are available to modify the configuration of the user's computer. This includes updating the DOS Path in AUTOEXEC.BAT, and the FILES and BUFFERS value in CONFIG.SYS. Any number of other lines may also be added to both of these files. These options are enabled through the PATH, AUTO, SHELL, CONF, FILES and BUFFERS keywords. Additional options are available to create or modify the Windows WIN.INI, SYSTEM.INI or private INI files. This is done through the IFILE, ISECT and INI keywords. Program Manager can also be updated with the GROUP and ITEM keywords. All these functions can include user entered data as defined in INPUT keywords. For safety, backup copies of AUTOEXEC.BAT, CONFIG.SYS and INI files are taken prior to modification, and the original versions are automatically restored if the modification fails for any reason. Creating Registration Data Files K-INSTALL can create or modify files with any combination of predefined and user entered data. This is much more flexible than standard INI file creation, and allows complete control over the format of the data in each file. It is possible to create a registration data file which validates that the program is a genuine registered version, a configuration file which defines the various characteristics of how the program will run, even a batch file to run a program with user-defined parameters. The files may be in plain Text format, or machine readable data files using either C format (null terminated strings) or Pascal format (length byte followed by string) or Binary format (with neither a length byte or a null terminator). The Text format allows lines to be written or appended to INI-type files, batch files or other configuration files. The C or Pascal or Binary formats allow data to be written directly into EXE files or DLLs or the like. The creation or modification of these files is done using the RFILE and REG keywords, often in conjunction with INPUT keywords. The data can be written to the installation disk and then copied as part of normal install procedure, or written directly to the target directory. Security and Control In addition to registration data files, the Professional edition of K-INSTALL has many extra features to help protect your software. Upgrades and re-installations can be performed in a number of ways, enforcing license conditions and ensuring correct installation by checking for the existence of files already on the user's machine. This is done through the UPGRADE and OPTIONS keywords. The DISKID keyword can be used to ensure that the user has a valid installation disk by checking the disk label and/or serial number, thereby hindering the unauthorised copying of software. The SERIAL utility included with the Professional edition can be used to set disk serial numbers. The operation of K-INSTALL can be further customised by the use of conditional logic. IF, ELSE and ENDIF keywords may be used to specify that particular functions are dependent on various conditions being met. These conditions can include the hardware and software on which K-INSTALL is running, the names of drives or directories used by the program, and the responses given by the user to questions defined in INPUT and ASK keywords. Ultimately, the use of all the above controls can be completely safeguarded by scrambling the settings file so that it cannot be read or tampered with. This can be done by using the special SCRAMBLE utility included with the Professional edition. Uninstallation K-INSTALL can keep a log of all new files written and all directories created, as well as most changes to AUTOEXEC.BAT, CONFIG.SYS, INI files and Windows Program Manager. The uninstall function can be run immediately or at any time in the future from the same install program. It will delete any files that are still in the same location, and then remove any directories that are now empty again. Confirmation is requested from the user before deleting files from the Windows or Windows System directories, as these files may subsequently have been used by other programs as well. Files that have been created by the application after installation, such as saved desktop files or configuration files, can be deleted through the REMOVE keyword. Uninstall also undoes most changes to AUTOEXEC.BAT, CONFIG.SYS, INI files and Program Manager. Users appreciate an uninstall facility with their software, especially for Windows applications, so it should be highlighted as a major feature of your programs. It is a good idea to copy INSTALL.EXE or SETUP.EXE and at least a basic settings file to the main installation directory, and then add an Uninstall icon to Program Manager which runs K- INSTALL. SETUP.EXE includes an icon number 2 which can be used for uninstallation. Additional Information The appearance of K-INSTALL can be highly customised in terms of screen layout, colour and text. This is done through the TITLE, MSG, COLS, WINDOW, PATTERN, PICTURE and ICON keywords in the settings file. The CATALOG and HELP keywords can also be used to link a separate catalogue and/or other information files into the main install screen. In the Professional edition, all messages and screen and button text can be customised through the STRING and BUTTON keywords. These can include any combinations of variables and literal text. While K-INSTALL is installing the program it provides information about each file copied or unpacked, and can also display a progress indicator showing how much has been completed. The progress indicator is controlled through the file sizes defined with INSTALL keywords in the settings file. The progress indicator is as accurate as the sizes entered on the INSTALL record(s). When K-INSTALL terminates it provides final instructions on the status of the program, how to run it, and where to get more information. This is customised through the GROUP, RUN and DOC keywords in the settings file. PROCESSING The Main Screen The main K-INSTALL screen displays a number of functions, depending on the keywords specified and the state of the program being installed. 1. The Help button is displayed if defined by a HELP keyword and if the help program can be found. 2. The Install button is displayed if the program has not been installed. 3. In the Professional edition, the Options button is displayed if the program has not been uninstalled and the level defined by the OPTIONS keyword is 1 and there are optional components defined by INSTALL keywords. 4. The Reboot button is displayed if the program has been installed and the level defined by the REBOOT keyword is 2, or the level is 1 and AUTOEXEC.BAT or CONFIG.SYS have been modified. 5. In the Windows version only, if the program has been installed and there is no Reboot button then the Restart button is displayed if the level defined by the RESTART keyword is 2, or the level is 1 and WIN.INI or SYSTEM.INI have been modified. 6. If there is no Reboot or Restart button then the Run button is displayed if there is a program defined by a RUN keyword and that program can be found. 7. The Uninstall button is displayed if the program has already been installed and has not been uninstalled and there is an installation log file. 8. The Catalogue button is displayed if defined by a CATALOG keyword and if the catalogue program can be found. 9. The Exit button is always displayed. Note that if K-INSTALL finds an installation log file in the directory from which it is being run then it presumes the program has already been installed. In the Professional version, the button name and associated descriptive text can be altered through BUTTON keywords. The FUNCTION keyword can be used to automatically start any or all of the above functions if they are available. Full Installation When the user initiates a full installation process (by pressing the Install button) K-INSTALL performs the following steps: 1. In the Professional edition, requests any user confirmations defined by ASK keywords. 2. Checks the CPU type if required by the CPU keyword. 3. Checks whether a coprocessor is installed if required by the COPR keyword. 4. Compares the DOS version if required by the DOSVER keyword. 5. Compares the Windows version if required by the WINVER keyword. 6. In the Professional edition, compares the installation disk volume number and/or serial number if defined by the DISKID keyword. 7. Asks the user to enter the directory into which to install the program. If the directory already exists, checks that the user wishes to continue the installation. 8. In the professional version, checks for the existence of a pre-existing file if required by the UPGRADE keyword. 9. Checks the total program size if defined by INSTALL keywords against the target drive. 10. Asks the user about any optional components if required by INSTALL keywords. 11. Asks the user to enter any variable data if required by INPUT keywords. 12. Creates the main program directory if necessary. 13. Creates any directories specified by MKDIR keywords. 14. Runs a program if required by the FIRST keyword. 15. Deletes any files specified by DEL keywords. 16. Creates or modifies any registration data files if required by RFILE and REG keywords. 17. Processes the files defined on INSTALL keywords, prompting for new disks if necessary, copying or unpacking files as appropriate, and then running any specified program. 18. Updates AUTOEXEC.BAT if required by PATH, AUTO and SHELL keywords. 19. Updates CONFIG.SYS if required by FILES, BUFFERS and CONF keywords. 20. Updates INI files if required by IFILE, ISECT and INI keywords. 21. Updates Windows Program Manager if required by GROUP and ITEM keywords. 22. Runs a program if required by the LAST keyword. Optional Component Installation In the Professional edition, the options installation process (initiated by pressing the Options button) is similar to the normal installation process. The only differences relate to the fact that optional component installation generally expects that the program has already been installed, and it ONLY installs the optional components. The following steps are different: 7. Asks the user to enter the directory in which the program is already installed. 8. Checks for the existence of a pre-existing file if required by the OPTIONS keyword. The processing of the INSTALL keywords is also different in that items that are not optional (the ask parameter is blank) are completely ignored. Uninstallation When the user initiates the uninstallation process, the program performs the following steps: 1. Deletes any files specified in REMOVE keywords. 2. Deletes each file listed in the log file (that is, those files that did not exist prior to installation). 3. Undoes most changes to AUTOEXEC.BAT, CONFIG.SYS and INI files. 4. Removes icons from Program Manager (Windows version only). 5. Removes each directory listed in the log file (that is, directories created by installation) if those directories are now empty. THE SETTINGS FILE The settings file is a plain ASCII file that can be created and updated with any editor in DOS or Windows. The default settings file has the same name as the installation program itself with an extension of ".SET". Therefore if the installation program is SETITUP.EXE then the settings file must be called SETITUP.SET. A different settings file can be used by entering its name as a parameter when running K-INSTALL. For example, INSTALL MYSET.TXT will read the settings from "MYSET.TXT". If no file extension is entered then ".SET" is presumed. Do not enter a directory name, as the settings file must always be in the same directory as the installation program. Each option is defined in the settings file by a single keyword, often followed by one or more additional parameters. For example, to specify that the main program directory is to be added to the DOS Path in AUTOEXEC.BAT the line: PATH is added to the settings file. To specify the default directory in which to install the program a line like: DIR C:\GAMES\BLASTER or similar is added. Or to describe files or groups of files to install, include lines such as: INSTALL READ.ME, ., 4, 10 INSTALL MYPROG.*, , 4,260, First Install Disk INSTALL *.EX_, *.EXE, 3, 85, Second Install Disk INSTALL *.DLL, ~SYS, 2, 120, Second Install Disk, Update changed DLLs? INSTALL *.VB_, ~SYS\*.VBX, 4, 170, Third Install Disk, Update VBXs? Each of these and many more options are detailed below. Keywords may be in upper or lower case. Keywords that require additional parameters must be followed by a space before any parameters. Parameters may be in upper or lower case. Parameters are separated from each other by commas. Any number of spaces may also be added between parameters for readability. Parameters which themselves contain commas must be enclosed in double quotes. Numeric parameters may be entered in either decimal or hexadecimal format. A hexadecimal number is identified by a trailing "h" or "H", as in "c000h" or "FFh" or "10h". All numeric parameters must be integers. In most cases, keywords may be entered in any order in the settings file. Keywords that allow multiple entries, such as INSTALL, DEL, MKDIR, AUTO, CONF, REG etc will be processed in the order in which they appear in the file. RFILE keywords must come before the REG keywords to which they relate, and IFILE and ISECT keywords must come before the INI keywords to which they relate. Blank lines and REMarks lines may be inserted anywhere into the settings file for readability. Differences between DOS and Windows versions The substantial functions of both the DOS and Windows version of K-INSTALL are exactly the same. The only differences are those that relate specifically to the operating environment in which K-INSTALL is running, and relate to the appearance of K-INSTALL, and the means of running the installed program. Regarding K-INSTALL's appearance, the syntax of the WINDOW, COLS and PICTURE keywords are different, and the Windows version also has additional keywords ICON and PATTERN to take advantage of the extra capabilities of that environment. Regarding the running of the installed program, the format of the GROUP keyword is different and the Windows version also has the ITEM and RESTART keywords. Apart from these differences, any settings file can be used interchangeably in both the DOS and Windows version. Use of Variables Many of the keywords in the settings file allow the use of variables to insert information such as file names, directory names, or other data that is not defined until the program is run. There are three types of variables: 1. User-entered variables contain data entered by the user in response to INPUT keywords in the settings file. Up to ten user variables are available, named ~0 through ~9. 2. Program-defined variables contain information derived from the names of files, directories and other data used by K-INSTALL when it is run: ~BOOT the boot directory ~CMD the command to run the program derived from RUN keyword ~CPU the name of the required processor defined by the CPU keyword ~CURR the current default directory ~DOC the main documentation file defined by the DOC keyword ~DOS the DOS directory ~DOSVER the minimum DOS version defined by the DOSVER keyword ~WINVER the minimum DOS version defined by the WINVER keyword ~GROUP the Program Manager group defined by the GROUP keyword ~INST the directory from which K-INSTALL is being run ~MAIN the main program directory entered by the user ~NAME the name of the installation program itself ~PROG the name of the program defined by the RUN keyword ~SYS the Windows System directory ~TITLE the program title defined by the TITLE keyword ~WIN the Windows directory 3. System defined variables contain information about the machine on which K-INSTALL is being run: ~$CPU the name of the processor ~$DOSVER the DOS version ~$WINVER the Windows version All the above variables can be used by many keywords such as ASK, INPUT, PATH, AUTO, SHELL, CONF, RFILE, REG, IFILE, INI, GROUP, ITEM, CATALOG, HELP, FIRST, LAST, INSTALL, LHA, ZIP, ARJ, EXE and ARCHIVE. Note that variable names must always be entered in upper case. Splitting and Concatenating Files Files which are too large to fit on a single diskette may be split into smaller pieces and reassembled by K-INSTALL. The utility FSPLIT.EXE which comes with K-INSTALL can be used to split one or more files into a set number of pieces, or pieces of a particular size. Simply enter something like FSPLIT BIGFILE.EXE PIECES.EX1 /64K will split the file BIGFILE.EXE into a number of files, each piece no bigger than 64KB, and each having a different name. How the file is split may be specified by various parameters. /nn will split the file into no more than nn equal pieces /nnB will split the file into pieces of size nn bytes /nnK will split the file into pieces of size nn kilobytes /nnM will split the file into pieces of size nn megabytes Putting the pieces back together can be done simply in the settings file by using the value 5 in the repl parameter on the INSTALL keyword on the second and subsequent pieces, as in INSTALL PIECES.EX1, BIGFILE.EXE, 4 INSTALL PIECES.EX2, BIGFILE.EXE, 5 INSTALL PIECES.EX3, BIGFILE.EXE, 5 INSTALL PIECES.EX4, BIGFILE.EXE, 5 Files can be compressed or archived after splitting. K- INSTALL will automatically expand or unarchive the files before appending them together again. Files can also be split after compressing or archiving. In this case it takes two steps to reconstruct the file. Firstly, the original compressed file or archive if put together again using 5 in the repl parameter. Secondly, the file can be expanded by putting EXPAND.EXE in the prog paramater and the name of the complete compressed file in the parm paramater, or it can be unarchived by putting the unarchiving program name (PKUNZIP.EXE, LHA.EXE etc) in the prog parameter and the name of the complete archive and any other required information in the parm parameter. Setting Disk Identifiers The DISKID keryword in the Professional edition allows K- INSTALL to check either or both of the Volume Label and Serial Number of the source disk to ensure that the disk is original. The disk Volume Label can be set through the LABEL utility with DOS, or through Windows File Manager. See your DOS or Windows manual or online help for full details. The disk Serial Number is automatically set by DOS when formatting a disk under DOS 4.0 or later. A utility SERIAL.EXE is included with the registered version of K- INSTALL Professional which can be used to set the serial number of a disk. It takes two parameters, the drive name and 8 hexadecimal digit serial number, as in: SERIAL A: 19F4-286B Scrambling the Settings File In the Professional edition, the settings file can be scrambled to safeguard any control measures and protect other installation secrets. The file scrambler uses a proprietory encryption method unique to K-INSTALL, and makes the settings file impossible to read or alter. The SCRAMBLE.EXE utility included in the Professional edition encrypts the settings file. Run it from the DOS command prompt or from Windows using the name of the settings file as a parameter, as in: SCRAMBLE INSTALL.SET If the settings file extension is omitted then the default ".SET" is used. If no settings file name at all is specified then the default "SETUP.SET" is used. The scrambler takes a backup of the settings file before encrypting it. The backup is given an extension of ".BKS". A settings file may be re-scrambled multiple times, it will still be quite usable to K-INSTALL. Note however that there is no facility to return a scrambled file back to it's original state, so ensure that a copy is kept of the original settings file. Getting Started Fast K-INSTALL has many features, but you don't have to know about them all to use the program effectively - a very simple settings file will get you started. K-INSTALL uses sensible defaults for anything not specified, while still utilising many of its powerful functions. In fact, K- INSTALL can run without a settings file at all! However, to give your program just that little customisation that you want, create a simple settings file for it. K- INSTALL is versatile enough to actually create a basic settings file for you! 1. Run INSTALL or SETUP with the special MAKE.SET settings file, for example: INSTALL MAKE 2. When requested, enter the name of the disk and/or directory that contains the program you are getting ready to distribute. 3. Answer each question with information about your program. The final question asks for the name to use for the installation program itself, such as "install" or "setup" or something else. K-INSTALL will copy itself and create a basic settings file with this name into the directory you have chosen at the start. 4. Now run INSTALL or SETUP in your directory. You already have a complete working installation program, attractively presented, that will copy everything from your disk or directory to wherever the user specifies, and includes checking the available space on the destination drive, giving a full status display as the install proceeds, automatically unpacking archives that contain an underline character, displaying information to the user at the end of the program, and allowing the user to uninstall either immediately or any time in the future. 5. Using any text editor you can continue to customise your settings file as much as you like for additional options such as multi disk installs, optional component installs, system configuration updating, your own screen layout and colour scheme, and many others. INSSAMPL.SET (for the DOS version) and SETSAMPL.SET (for the Windows version) provide a complete list of keywords for you to choose from and complete. The other sample files show different combinations of these settings. DICTIONARY OF SETTINGS The following list describes all available settings. Parameters in square brackets [ ] are optional. REM Allows additional remarks to be inserted into the settings file without altering the operation of the INSTALL program. Usage: REM [text] text is any explanatory notes or additional information for anyone editing the settings file. Example: REM This file last modified by Rob McDonell 1.9.95 TITLE Defines a descriptive name for the program to be installed, which is used throughout K-INSTALL as a title for the program. Usage: TITLE text text is any text including spaces. Example: TITLE Super Space Blasters II Default: The general term "Program" is used. MSG Specifies a fixed message to be displayed on the K-INSTALL screen. Usage: MSG [text] text is the message to be displayed. DOS version only: text may contain colour codes to change foreground and background colours anywhere in the message. See the PICTURE keyword for an explanation of colour control characters. Example: MSG Another quality product from Blasterware Default: No message is displayed. CPU Defines the minimum processor required by the program being installed. If the user's CPU is not greater than or equal to this value then installation is terminated. Usage: CPU [type] type is the type of processor: 1 PC1/XT 2 AT/286 3 386/486/Pentium Examples: CPU 3 Default: No CPU defined, no checking done. COPR Defines whether a maths coprocessor is required by the program being installed. If the user's machine does not have a coprocessor then installation is terminated. Usage: COPR [type] type is whether a coprocessor is required: 0 not required 1 required Examples: COPR 1 Default: No coprocessor specified, no checking done. DOSVER Defines the minimum DOS version required by the program being installed. If the user's DOS version is not greater than or equal to this value then installation is terminated. Usage: DOSVER [ver] ver is the version number Examples: DOSVER 3.10 DOSVER 4 Default: No DOS version defined, no checking done. WINVER Defines the minimum Windows version required by the program being installed. If the user's Windows version is not greater than or equal to this value then installation is terminated. Usage: WINVER [ver] ver is the version number Example: WINVER 3.1 Default: No Windows version defined, no checking done. Note: In the DOS edition of K-INSTALL the installed Windows version is always 0. DISKID (Professional edition only) Defines the required volume and/or serial number of the disk from which K-INSTALL is being run. If the actual volume and/or serial numbers are not exactly the values specified then installation is terminated. Usage: DISKID [vol[,ser]] vol is the disk volume number ser is the disk serial number Examples: DISKID MY_DISK_LBL DISKID ,0556-13E0 DISKID MY_DISK_LBL, 0556-13E0 Default: If either or both parameters are blank then no checking is done on that value. DIR Defines the default directory in which the program is to be installed. Usage: DIR [dest[,opt[,ask[,ask2]]]] dest is the full drive and directory name, or blank to install to the current directory. opt is whether the user has the option of changing the directory: 0 the user is asked for a directory and can change from the default 1 the user is not asked, the dest is used without alteration ask is the question to ask the user to enter the name of the directory where the program should be installed. ask2 is the question to ask the user to enter the name of the directory where the program is already, when installing the optional components separately (Professional edition only). Examples: DIR C:\GAMES\BLASTER DIR D:\ACCOUNTS, , Enter the Accounts program directory name DIR C:\SETDIR, 1 Default: ask and ask2 default to standard questions, opt defaults to 0, dest defaults to blank (the current directory). OPTIONS (Professional edition only) Specifies whether or not any optional components can be installed separately, and whether K-INSTALL should check that the program is already installed.. Usage: OPTIONS [level[,chk[,fileext]]] level is the criteria for rebooting DOS: 0 do not allow separate installation of options 1 allow separate installation of options chk is the type of checking into whether the main installation directory exists: 0 notify user if the directory exists, request permission to proceed 1 notify user if directory does not exist, request permission to proceed 2 notify user if directory exists, cancel installation 3 notify user if directory does not exist, cancel installation 4 do not check whether directory exists, proceed regardless fileext is the name and extension of a key file which must already have been installed prior to installing the optional components. The file name may also include a directory. Example: OPTIONS 1, ~MAIN\MYPROG.EXE Default: level and chk default to 0, fileext defaults to blank. UPGRADE (Professional edition only) Specifies the name of a file that must exist to allow installation to take place. This allows K-INSTALL to enforce upgrade policies by ensuring that there is a previous version of the program on the user's machine prior to installation. Usage: UPGRADE [chk[,fileext]] chk is the type of checking into whether the main installation directory exists: 0 notify user if the directory exists, request permission to proceed 1 notify user if directory does not exist, request permission to proceed 2 notify user if directory exists, cancel installation 3 notify user if directory does not exist, cancel installation 4 do not check whether directory exists, proceed regardless fileext is the name and extension of a key file which must already have been installed prior to installing the program. The file name may also include a directory. Example: UPGRADE 1, ~MAIN\OLDPROG.EXE Default: chk defaults to 0, fileext defaults to blank. INSTALL Specifies a file or group of files to be copied and/or unpacked. It includes information about how and where to copy the files, the space required, the prompt for inserting a new disk if required, a prompt to ask the user whether to install the files at all, an additional description of the files, and a program to run when the files are installed. Usage: INSTALL fspec[,dest[,repl[,size[,disk[,ask[,desc[,prog[,p arm]]]]]]]] fspec is the name and extension of the file(s) to be installed. Wildcards are allowed. dest is the directory to install the files to and/or new name for the files being copied. The directory is specified relative to the main directory entered by the user: . is the main directory (same as blank) .. is the parent directory of that drive \ is the root directory of that drive ABC is a subdirectory of the main directory A new fspec can be added to the dest parameter to rename the files as they are copied. If there is no fspec, or there are wildcards ("*" or "?") for both the name and extension, then the file retains its original name. If there is a wildcard name and specific extension then just the extension is changed. If there is a wildcard extension and specific name then just the name is changed. If the file being copied is an archive to be automatically unpacked, then the new fspec is ignored and the file names are obtained from within the archive. Any tilde variables may also be used - see the section "Use of Variables" above for more information. repl is the method of deciding whether to overwrite/replace or append existing files with the same name in the destination directory: 0 don't replace anything, copy only new files 1 replace older files on user confirmation 2 replace older files 3 replace all files on user confirmation 4 replace all files 5 append to files size is the space in KB required to install the files. This is used to check if there is sufficient space on the target directory, and also controls the progress indicator. disk is the name by which to ask the user to insert another disk if no files matching the fspec are found on the current disk. This enables single or multi disk installs using the same settings file - the additional disks are only requested if necessary. ask is the question to ask the user as to whether to install the files represented by this INSTALL record. If this is not blank then the INSTALL record is taken as a conditional install, that is, the user is asked whether they want to install them or not. The question should be asked in such a way that a positive response indicates that the files should be installed. This allows the user to choose how much of the function of the total package they wish to install. If consecutive INSTALL records contain the same question then the user is asked only once. desc is the description of the files, such as "Help System" or "Sample Databases" which is displayed along with the file name as it is installed. prog is the name of a program to run following installation of the files on this INSTALL record. parm is any parameters required by the above program. Examples: INSTALL BLAST.EXE, ., 2, 125, Install Disk 1 INSTALL BLAST.OV_, *.OVL, 2, 220, Install Disk 1 INSTALL SAMPLE.*, ., 2, 140, Install Disk 2 INSTALL *.HLP, ., 1, 130, ,Do you want to install the Help files? INSTALL SAMPLS.ZIP, SAMPLES, 2, 90, Disk 2, Install samples? INSTALL *.DLL, ~SYS, 1, 430, 3rd Install Disk, Update DLLs? INSTALL *.DL_, ~SYS\*.DLL, 1, 90, 4th Install Disk, Update DLLs? INSTALL *.EX_, ~MAIN\*.EXE, 1, 90, , , Program files INSTALL *.DBF, , 4, 287, , , Sample databases, convert.exe, /all INSTALL *.DL_, ~SYS\*.DLL, 1, 90, , , Windows DLLs Default: prompt defaults to blank (files are installed without asking the user), disk defaults to blank (presuming a single disk install), size defaults to 0 (space on target disk will not be checked), repl defaults to 0 (copies only if files do not exist), dest defaults to blank (the main program directory entered by the user, file is not renamed). If no INSTALL records at all are entered then K-INSTALL defaults to a simple all- on-one-disk installation, ie fspec is "*.*", dest is blank, repl is 0, size is 0, disk and prompt are blank. INSTMSG (Professional edition only) Specifies a message to be displayed on the K-INSTALL screen during installation, immediately after processing of the preceding INSTALL record. Usage: INSTMSG [text] text is the message to be displayed. DOS version only: text may contain colour codes to change foreground and background colours anywhere in the message. See the PICTURE keyword (DOS version) for an explanation of colour control characters. Example: INSTALL *.EXE INSTMSG This program will give you hours of fun INSTALL *.TXT INSTMSG Don't forget to register right away Default: No additional messages are displayed. INSTPIC (Professional edition only) Defines a picture or graphic to be displayed on the main K- INSTALL screen during installation, immediately after processing of the preceding INSTALL record. Usage: exactly the same as the PICTURE keyword Example: INSTALL *.EXE INSTPIC SPLASH1.BMP, 0, 0, 100, 50, 1 INSTALL *.TXT INSTPIC SPLASH2.BMP 0, 0, 100, 50, 1 Default: No additional pictures or graphics are displayed. FIRST Specifies a program or command to be executed at the beginning of the installation. This can be used to perform a DOS command or run some other specialised program to perform additional processing. Usage: FIRST [cmd[,parms]] cmd is the program or command to be executed. parms is any additional parameters for the program. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Examples: FIRST DOFIRST.COM FIRST MKDIR, C:\TEMP Default: No additional processing is performed before installation. LAST Specifies a program or command to be executed at the end of the installation. This can be used to perform a DOS command or run some other specialised program to perform additional processing. Usage: LAST [cmd[,parms]] cmd is the program or command to be executed. parms is any additional parameters for the program. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Examples: LAST DOLAST.EXE LAST ARJ.EXE, SAMPLES LAST PRINT, READYREF.TXT Default: No additional processing is performed after installation. UNPAK Defines the identifier indicating an archive is to be automatically unpacked by K-INSTALL. Usage: UNPAK string string is between 1 and 8 valid filename characters. Example: UNPAK && Default: A single underline indicates an archive to be unpacked, so files such as _ABC.ZIP or MY_FILE.LZH ARCHIVE_.EXE will be unpacked automatically by K-INSTALL into the directory defined in the relevant INSTALL record. LHA Sets the options used by LHA.EXE when automatically unpacking .LZH files. Usage: LHA [parms] parms is all the options required by the unarchiving program. Any tilde variables may be used in the above parameter - see the section "Use of Variables" above for more information. Example: LHA e /m1 Default: The options "e /ma1" are used. ZIP Sets the options used by PKUNZIP.EXE when automatically unpacking .ZIP files. Usage: ZIP [parms] parms is all the options required by the unarchiving program. Any tilde variables may be used in the above parameter - see the section "Use of Variables" above for more information. Example: ZIP -o Default: The options "-o -Jhrs" are used. ARJ Sets the options used by ARJ.EXE when automatically unpacking .ARJ files. Usage: ARJ [parms] parms is all the options required by the unarchiving program. Any tilde variables may be used in the above parameter - see the section "Use of Variables" above for more information. Example: ARJ e Default: The options "e -y -a" are used. EXE Sets the options used by self unpacking archives when they are run automatically. Usage: EXE [parms] parms is all the options required by the unarchiving program. Any tilde variables may be used in the above parameter - see the section "Use of Variables" above for more information. Example: EXE /s Default: No options are used. ARCHIVE Defines an additional unarchiving program and associated file extension and optional parameters. Usage: ARCHIVE ext[,prog[,parms] ext is the file extension of files to be unarchived. prog is the program name and extension of the unarchiving program. parms is all the options required by the unarchiving program. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Example: ARCHIVE .ZIP, UNZIP.EXE, -o Default: No unarchiving program defined, function not enabled. DEL Specifies the name of a file to be deleted prior to the commencement of installation. This can be used to remove existing files, usually from an earlier version of the same program, which are incompatible with this version. Wildcards are not permitted. Usage: DEL path path is the directory, file name and extension of the file to be deleted. The directory is specified relative to the main program directory entered by the user. This can include the DOS directory symbols ".", "..", "\" etc, and/or any tilde variables - see the INSTALL keyword and the section "Use of Variables" above for more information. Example: DEL PREVIOUS.DOC DEL ~DOS\OLD.EXE DEL ~MAIN\UNWANTED.DAT Default: If the directory is blank then the file is deleted from the main program directory. If there is no DEL record then no files are deleted. MKDIR Specifies the name of a directory to be created following completion of installation. Usage: MKDIR dir dir is the directory to create. The directory is specified relative to the main program directory entered by the user. This can include the DOS directory symbols ".", "..", "\" etc, and/or any tilde variables - see the INSTALL keyword and the section "Use of Variables" above for more information. Example: MKDIR PRIVATE MKDIR ~BOOT\TEMP Default: No directories are created except those to which files are copied. ASK (Professional edition only) Specifies a Boolean variable, that is, a variable that has only two states: Yes/No, On/Off, True/False. The value of this variable may be used with IF keywords to customise which functions are performed during installation. Up to 10 ASK records may be specified, numbered 0 to 9. The variable names are specified with an exclamation mark followed by the variable number, giving variable names from "!0" to "!9". Usage: ASK num[,ask] num is the variable number from 0 to 9 ask is the question to ask the user so that they will enter the correct information. Examples: ASK 1, Put template files in a separate directory? ASK 2, Add ~MAIN to your DOS Path? Default: If ask is blank or there is no ASK record for a specific variable number then no question is asked. INPUT Specifies a variable that may be either a constant or a user entered item. The value of this variable may be inserted into AUTOEXEC.BAT and CONFIG.SYS files, INI files, and registration data files, and used to call external programs. Up to 10 INPUT records may be specified, numbered 0 to 9. The variable names are specified with a tilde followed by the variable number, giving variable names from "~0" to "~9". Usage: INPUT num[,size[,data[,fmt[,name[,ask]]]]] num is the variable number from 0 to 9 size is the maximum length of the variable. data is the default value for the variable. fmt is the format of the data to be entered. It may contain any combination of literal characters and wildcards, and relative and Boolean operators. Wildcards are similar to those in DOS, but with additional capabilities. There are four wildcard characters: @ is for any one alphabetic character # is for any one numeric character ? is for any one character * is for any number of characters Use a single asterisk "*" to indicate that anything can be entered, including a blank line. Use a combination "?*" to indicate that at least one character must be entered (ie, anything except a blank). Use other wildcard combinations to restrict the valid input even further, such as "?* ?*" to indicate that the input must be at least two words, or "@@?" to indicate that the input must be three characters long, the first two of which must be alphabetic, or "#A" to indicate that the input must be a number followed by the letter "A". This facility is very useful to ensure that the user is properly registered and knows how to enter the right information in the right place. Relative operators allow ranges to be specified. There are seven: = is equal to (optional, this is the default) <> is not equal to == is exactly equal to, wildcards treated as literal characters > is greater than < is less than >= is greater than or equal to <= is less than or equal to Boolean operators allow negative matches or combinations. There are three: NOT true if the criteria is not satisfied AND true if both criteria are satisfied OR true if either criteria are satisfied name is the name of the data item that the user is asked to enter. If this is blank then the user is not prompted to enter a value. ask is the question to ask the user so that they will enter the correct information. Examples: INPUT 1, 6, , @@######, Serial Number, Enter program serial INPUT 2, 30, , ?* ?*, First and Last name INPUT 3, 60, , *, Address INPUT 4, 5, 2400, 2400 or 4800 or 9600 or 14400, Modem Speed INPUT 5, 8, , ##/##/## and >=840101, Date, Enter Date as yymmdd Note: Ensure that size and fmt are compatible. Specifying a size of 2 and fmt of "???" will block the user from ever entering a valid value for the variable. Default: If ask is blank then it is derived from name, name defaults to blank (no user input requested), fmt defaults to "*" (any input allowed), data defaults to blank (no value assigned), and size defaults to 0 (no specific size) if not entered. ASKDISK Sets the type of dialog box used to ask the user to insert the next install disk in the set. Usage: ASKDISK [type] type is the style of dialog box 0 Yes/No dialog box with no oppertunity to enter a new drive or directory 1 Input dialog box with opportunity to enter a new drive or directory Example: ASKDIR 0 Default: If type is blank it defaults to 0. If there is no ASKDISK record type defaults to 1. RFILE Specifies the location, name and format of a registration data file. The information in this file can be constructed from any combination of predefined and user entered data such as name, address, program serial number etc. The user data is controlled through INPUT keywords. Usage: RFILE [path[,fmt]] path is the full directory, name and extension of the registration data file. The directory is specified relative to the main program directory entered by the user. This can include the DOS directory symbols ".", "..", "\" etc, and/or any tilde variables - see the INSTALL keyword and the section "Use of Variables" above for more information. The directory must exist, or be the main program directory entered by the user, or it must be created through the MKDIR keyword. fmt is the format in which the data is written to the file: A is Appended Text format, ie normal text appended to a file B is Binary format, ie no length byte or null terminator C is C language format, ie null terminated string P is Pascal format, ie length byte followed by string T is New Text format, ie normal text replacing any existing file In both Appended and New Text format all information is written sequentially to a normal text file such as could be created by any editor. Appended Text format appends to the end of any existing file, while New text format completely replaces any existing file with the same name. In Binary or C or Pascal ormat information can be placed precisely in an existing file, or a new file created. If more that one character is entered for fmt just the first character is examined to determine whether it is A, B, C or P or T. Examples: RFILE BLASTER.DAT, P RFILE ~WIN\MYPROG.INI RFILE \STARTUP.BAT, TEXT Default: If path is blank or there is no RFILE record, then no registration data file is defined, option not enabled. If fmt is blank or anything starting with other than "A", "B", "C" or "P" then New Text format is presumed. If there is no directory specified then the main program directory is presumed. REG Specifies text to be written to a registration data file. The data may include any variables or special directory identifiers. Usage: REG [pos[,size[,text]]] pos is the incremental position in the file where the data is to be written in a C or Pascal or Binary format file, that is, the number of bytes to skip over from the end of the previously written text. This is ignored in a Text format file. size is the length of the data required. In a Text format file the information is truncated to this length, in a C or Pascal or Binary format file it is truncated or padded out as necessary to exactly this length. text is the data to be written to the file. Any tilde variables may be used - see the section "Use of Variables" above for more information. Examples: REG 0, 0, Colour=7 4 6 REG 0, 0, Serial=~0 REG 0, 0, UserName=~1 REG 37, 16, UnlockCode872915 REG 58, 8, ~3 Default: text defaults to blank, and pos and size default to 0 if not entered. If no REG records at all are entered then K-INSTALL does not create a registration data file. BAK Specifies the file extension to be used when backing up AUTOEXEC.BAT, CONFIG.SYS and INI files prior to alteration. Usage: BAK ext ext is the file extension used for backups. Ensure that it commences with a full stop. Example: BAK .OLD Default: A file extension of ".ARK" is used for backup files. PATH Specifies directories to be added to the DOS Path in AUTOEXEC.BAT. The file is updated if the directories do not already exist in the Path. Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Usage: PATH [dirlist] dirlist is one or more directory names separated by semicolons. Any tilde variables may be used in the above parameter - see the section "Use of Variables" above for more information. Examples: PATH PATH ~MAIN\;~MAIN\HELP Default: If dirlist is blank then just the main program directory is added to the DOS Path. If there are no PATH records then the DOS Path is not altered. AUTO Specifies a line that is to be added to AUTOEXEC.BAT. The line is added after all other lines in AUTOEXEC.BAT except for a final DOSSHELL or WIN or other shell command (see SHELL keyword below). Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Usage: AUTO [text] text is the line to be added to the file. Any tilde variables may be used - see the section "Use of Variables" above for more information. Examples: AUTO REM Run VET Anti-Virus program AUTO ~MAIN\VET /# AUTO SET VETDIR=~MAIN Default: No lines are added to AUTOEXEC.BAT. SHELL Specifies a line that is to be added to the end of AUTOEXEC.BAT. Existing calls to DOSSHELL or WIN are replaced. The PATH statement and any lines defined by AUTO keywords are inserted before these lines if necessary. Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Usage: SHELL [text] text is the line to be added to the file. Any tilde variables may be used - see the section "Use of Variables" above for more information. Example: SHELL KMENU /td/vd Default: No lines are added to the end of AUTOEXEC.BAT. FILES Specifies a minimum value for the FILES setting in CONFIG.SYS. The file is updated if the FILES value is less than that specified. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Usage: FILES [num] num is the minimum value for FILES that is required. Example: FILES 20 Default: The FILES value is not altered. BUFFERS Specifies a minimum value for the BUFFERS setting in CONFIG.SYS. The file is updated if the BUFFERS value is less than that specified. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Usage: BUFFERS [num] num is the minimum value for BUFFERS that is required. Example: BUFFERS 20 Default: The BUFFERS value is not altered. CONF Specifies a line that is to be added to CONFIG.SYS. The line is added at the end of the file. The FILES and/or BUFFERS statements are inserted before this line if necessary. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Usage: CONF [text] text is the line to be added to the file. Any tilde variables may be used - see the section "Use of Variables" above for more information. Example: CONF DEVICE=~DOS\MSCDEX.SYS CONF DEVICE=~MAIN\TDRIVER.SYS /F:200 /D /L:~BOOT Default: No lines are added to CONFIG.SYS. IFILE Specifies the location and name of an INI file to be created or modified. The information in this file can be constructed from any combination of predefined and user entered data such as name, address, program serial number etc. The user data is controlled through INPUT keywords. The actual data written to the file is defined with ISECT and INI keywords. Usage: IFILE [path] path is the full directory, name and extension of the INI file. The directory is specified relative to the main program directory entered by the user. This can include the DOS directory symbols ".", "..", "\" etc, and/or any tilde variables - see the INSTALL keyword and the section "Use of Variables" above for more information. The directory must exist, or be the main program directory entered by the user, or it must be created through the MKDIR keyword. Examples: IFILE MYPROG.INI IFILE ~WIN\WIN.INI IFILE Default: If path is blank, or there is no IFILE record, then data is written to WIN.INI in the Windows directory. If there is a file name and extension but no directory then the main program directory is presumed. ISECT Specifies the section name under which the INI data is to be written. Sections are recorded in the INI file enclosed in square brackets, however the section name here should be entered without square brackets. The section will be created in the INI file if it does not already exist. Usage: ISECT sect sect is the name of the section to which the data is written. Examples: ISECT Desktop ISECT MyApplicationSettings Default: None. INI Specifies data to be written to an INI file. They may be preceded and interspersed by as many IFILE and ISECT records as required to write data to multiple files and sections. The data may include any variables or special directory identifiers. Usage: INI key[=data] key is the name of the item for which a value is being defined, such as "Colour" or "Directory" or "Font". data is the value being assigned to the above item, such as "Red" or "~MAIN" or "Arial". Any tilde variables may be used - see the section "Use of Variables" above for more information. Examples: IFILE MYPROG.INI ISECT Main INI Colour=7 4 6 INI Dir=~MAIN INI Serial=~0 INI UserName=~1 ISECT Defaults INI OpenEmpty=Yes INI AutoSave=Yes INI PromptOnDelete=No Default: if data is blank then any existing value assigned to that item name is deleted. GROUP (DOS version only) Specifies the file name of a pre-created Group to be added to Program Manager if it does not already exist. Usage: GROUP fileext fileext is the name of the group file. Any tilde variables may be used - see the section "Use of Variables" above for more information. Example: GROUP MYPROG.GRP Notes: The group file must be on the last disk in a multi disk install, and it is automatically copied into the Windows directory on the user's machine. It should not therefore be included in any INSTALL keyword. When creating the original group file, care must be taken to ensure that it will work satisfactorily on the user's machine, which may be operating at a different screen size and resolution, and with the Program Manager window itself of a different size. Also, user-entered directories and other variables cannot be added to the group file at installation file. Default: if there is no GROUP record specified then Program Manager is not updated. GROUP (Windows version only) Specifies the name of a Group to be added to Program Manager if it does not already exist. Usage: GROUP text text is the name of the group. Any tilde variables may be used - see the section "Use of Variables" above for more information. Examples: GROUP Space Blaster GROUP My Favourite Programs Default: if there is no GROUP record specified then any Items will be added to the currently selected group. ITEM (Windows version only) Specifies the name and other information about a program item to be added to the Program Manager group defined with the GROUP keyword. Usage: ITEM cmd[,name[,icon[,index[,x,y[,dir[,key[,min]]]]]]] cmd is the full command line required to run the program. This parameter should contain at least the name of the executable file for the program. It can also include the path of the file and any parameters required by it. name is the title that is displayed below the icon in the group window. icon is the full path for the icon to be shown in the group window. The file can be either a Windows executable file or an icon file. index is the index of the icon in the file identified by the icon parameter. This parameter is an integer, and the first icon's index is 0. SETUP.EXE contains two icons, the first for install and the second for uninstall. PROGMAN.EXE contains five icons that can be used for non-Windows programs. x,y is the horizontal and vertical position of the icon in the group window. These parameters are integers, and both must be specified to set the position of the icon. dir is the name of the default (or working) directory. key is the hot (or shortcut) key that is specified by the user. min is whether an application window should be minimised when it is first displayed. Notes: Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Any parameters which contain square brackets [ ] or parenthesis ( ) must be enclosed in double quotes or Windows will generate errors and may even crash. Examples: GROUP Space Blasters ITEM ~MAIN\BLASTER.EXE,"Space Blasters Game (for DOS)" ITEM ~MAIN\BLASTER.HLP,Help for Blasters,BLASTHLP.ICO ITEM ~MAIN\SETUP.EXE,Uninstall Space Blasters,,1 Default: If min is blank then the program is not minimised when run. If key is blank then no shortcut key is defined. If dir is blank then the working directory is taken from the cmd parameter. If x,y is blank then Program Manager places the icon in the next available space. If index is blank then the first icon in the icon file is used. If icon is blank then Program Manager uses the first icon in the file specified in the cmd parameter, or if that is not an executable file then the first icon in the associated executable file, or if there is no associated file then a default icon is used. HELP Specifies the file name and extension of a help utility that can be run from K-INSTALL. Usage: HELP [fileext[,parms]] fileext is the name of the help utility, or blank to turn the option off. No directory need be specified as K-INSTALL will search the installation disk, the main program directory, and the user's Path to find the file. parms is any additional parameters for the program. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Examples: HELP README.EXE HELP BROWSE.COM, README.TXT Default: No help utility defined, option not enabled. CATALOG Specifies the file name and extension of a product catalogue program that can be run from K-INSTALL. Usage: CATALOG [fileext[,parms]] fileext is the name of the catalogue program, or blank to turn the option off. No directory need be specified as K-INSTALL will search the installation disk, the main program directory, and the user's Path to find the file. parms is any additional parameters for the program. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Examples: CATALOG CATALOG.EXE CATALOG BROWSE.COM, PROGRAMS.TXT Default: No catalogue program defined, option not enabled. RUN Specifies the file name and parameters by which to run the main program being installed. This allows K-INSTALL to give instructions on how to run the program, and also allows the user to run it directly from the installation program. This keyword can be omitted if the program is a collection of utilities or text files. Usage: RUN [fileext[,parms[,opt]]] fileext is the file name and extension of the program to be run. No directory need be specified as K- INSTALL will search the installation disk, the main program directory, and the user's Path to find the file. parms is any additional parameters for the program. opt is when and how the program should be run (DOS version only): 0 run immediately 1 exit from K-INSTALL and then run 2 exit from K-INSTALL, load Windows and then run If opt is 0 then when the program is terminated control is returned to K-INSTALL, but if opt is 1 or 2 then control returns to DOS or from wherever K- INSTALL was run. Any tilde variables may be used in any of the above parameters - see the section "Use of Variables" above for more information. Examples: RUN CLOCK.COM RUN BLAST.EXE, /VGA /NOSOUND Note: Specifying opt of 1 or 2 forces K-INSTALL to load the program name (minus extension) and parameters into the keyboard buffer before terminating. If opt is 2 then the "win" command is loaded into the keyboard buffer first. One disadvantage of this method is that it probably won't work if K-INSTALL is itself run from a shell or from Windows. Another disadvantage is that there is limited space in the keyboard buffer (usually 16 characters) to store keystrokes, so lengthy parameters cannot be specified as they will not fit into the buffer. If the program has lengthy parameters then put the program name and its parameters in a batch file and run that instead from K-INSTALL. RESTART (Windows version only) Specifies the conditions under which the user is given the option to restart Windows after installation. Usage: RESTART [level] level is the criteria for restarting Windows: 0 never restart Windows 1 restart Windows if WIN.INI or SYSTEM.INI have changed 2 always restart Windows Example: RESTART 2 Defaults: 0 if level is blank, 1 if there is no RESTART keyword REBOOT Specifies the conditions under which the user is given the option to reboot DOS after installation. Usage: REBOOT [level] level is the criteria for rebooting DOS: 0 never reboot DOS 1 reboot DOS if AUTOEXEC.BAT or CONFIG.SYS have changed 2 always reboot DOS Example: REBOOT 0 Defaults: 0 if level is blank, 1 if there is no REBOOT keyword DOC Specifies the name of a README or other information file or document to which the user's attention should be drawn at the termination of K-INSTALL. Usage: DOC [fileext] fileext is the file name and extension of the documentation file. No directory should be specified, as this file name is used for reference only. Examples: DOC BLAST.TXT DOC README.NOW Default: No documentation file defined, option not enabled. COLS (DOS version only) Specifies the colours used throughout K-INSTALL. Usage: COLS [titl[,msg[,pic[,btn[,menu[,stat[,ask[,norm]]]]]] ]] titl is the absolute colour for the title line. msg is the absolute colour for the message line. pic is the absolute colour for the picture to start with. btn is the absolute colour for the push buttons. menu is the absolute colour for the main menu. stat is the absolute colour for the status bar. ask is the absolute colour for the questions. norm is the absolute colour for other program responses. Notes: Absolute colour codes specify a complete foreground and background colour combination, and are defined in a single byte, giving a decimal number from 0 to 255, or a hexadecimal number from 00h to FFh. The foreground colour is defined in the lowest 3 bits, the intensity in the next bit, the background colour in the next 3 bits, and blinking in the highest bit. There are eight basic colours for both background and foreground, but the foreground colours can also be selected in high or low intensity, effectively giving 16 foreground colours. Val Low Intensity High Intensity 0 Black Dark Grey 1 Blue Light Blue 2 Green Light Green 3 Cyan Light Cyan 4 Red Light Red 5 Magenta Light Magenta 6 Brown Yellow 7 Light Grey White To derive the colour code for a specific absolute colour: take the basic colour number for the foreground, add 8 if you want high intensity, add the basic number for the background colour multiplied by 16, and add a further 128 if you want blinking. Examples: COLS 7, 7, 7, 7, 7, 7, 7, 7 COLS 79 Default: all colours default to reasonable values if not entered, and remain unchanged if the colour is set to zero. Defaults are: title line White on Blue message line Light Green on Green picture White on Black push buttons Dark Grey on Light Grey main menu Yellow on Green status bar Yellow on Blue questions Red on Black other responses Cyan on Black COLS (Windows version only) Specifies the colours used throughout K-INSTALL. Usage: COLS [top[,bot[,titl[,shad[,depth[,msg[,menu]]]]]]] top is the background colour at the top of the window. bot is the background colour at the bottom of the window. titl is the text colour for the title line. shad is the text colour for the title shadow. depth is the amount of offset of the shadow from the title line, where positive numbers are below and to the right, and negative numbers are above and to the left, and zero means no shadow. msg is the text colour for the message line. menu is the text colour for the main menu items. Notes: Colours are made up three components, Red, Green and Blue. Each component has an intensity from 0 to 255, specified in one byte. A complete colour code therefore has three bytes, giving decimal numbers from 0 to 16777215, or hexadecimal from 000000h to FFFFFFh. The lowest order byte is the Red value, the next byte is the Green value, and the highest byte is the Blue value. Any number of intermediate colours can be made by mixing different intensities of these three colours. To derive the colour code for a specific colour: take the value for Red, add the value for Green multiplied by 256, and add the value for Blue multiplied by 65538. In hexadecimal, write the Blue byte followed by the Green byte followed by the Red byte. Using codes where each of the three colours are divisible by 64 (40h) minimises dithering. The most common and attractive colour codes are: Decimal Hex Colour 0 000000h Black 128 000080h Dark Red 255 0000FFh Light Red 32768 008000h Dark Green 32896 008080h Brown 65280 00FF00h Light Green 65535 00FFFFh Yellow 8288608 800000h Dark Blue 8388736 800080h Dark Magenta 8421376 808000h Dark Cyan 8421504 808080h Dark Grey 12632256 C0C0C0h Light Grey 16711680 FF0000h Light Blue 16711935 FF00FFh Light Magenta 16776960 FFFF00h Light Cyan 16777215 FFFFFFh White The depth quality normally works best with just small values up to about 3 and down to about -3. Examples: COLS 255, 0, 0, 16777215, 0, 2, 16777215, 12632256 COLS ff0000h ff00ffh, 2, 0, ffffffh, 1 Default: all colours and options default to reasonable values if there is no COLS keyword: top background Light Cyan bottom background Light Green title White shadow Black shadow depth 1 message Black main menu Black Individual colours default to black and depth defaults to zero if they are missing from the COLS record. WINDOW (DOS version only) Defines the position and size of the main K-INSTALL window. Usage: WINDOW x[,y[,w[,h]]] x is the horizontal location of the window in characters from the left of the screen. y is the vertical location of the window in lines from the top of the screen. w is the horizontal size (width) of the window in characters. h is the vertical size (height) of the window in lines. Example: WINDOW 0, 0, 80, 13 Default: x and y default to zero, w defaults to 80, h defaults to 11 if there is no WINDOW record. WINDOW (Windows version only) Defines the position and size of the main K-INSTALL window. Usage: WINDOW [max[,chg[,x[,y[,w[,h]]]]]] max is the initial state of the window: 0 restored 1 maximised chg is whether the window is resizable and in what way: 0 the window is fully resizable, it has a thick border for resizing, and maximise and minimise buttons 1 the window can be maximised, restored and minimised only, it has maximise/restore and minimise buttons 2 the window can be minimised only, it has a minimise button 3 the window is not resizable at all. x is the horizontal location of the window in pixels from the left of the screen. y is the vertical location of the window in pixels from the top of the screen. w is the horizontal size (width) of the window in pixels. h is the vertical size (height) of the window in pixels. Examples: WINDOW 1, 2 WINDOW 0, 0, 20, 20, 650, 400 Default: max, chg, x and y default to zero, w defaults to 600, h defaults to 370 if there is no WINDOW record. PATTERN (Windows version only) Defines the makeup of the background of the main K-INSTALL screen. The background can be either a small bitmap repeated over the whole screen, or a hatched pattern, or two plain colours that merge into each other in the middle of the screen. Only one of these three methods is used to generate the background, and K-INSTALL will attempt each in turn until valid parameters are found. If a bitmap is used then it must be added to the EXE file using a resource editor, or exist as a separate BMP file. Usage: PATTERN [name[,style[,skew]]] name is the name of a bitmap resource or file name. The bitmap may be up to 8 bits square, and is painted repeatedly all over the background of the window. If the bitmap is larger than 8 bits square then only the first 8 bits in each direction are used. If name is valid then the style and skew parameters are ignored. style is the type of hatch that used to form a background pattern: 0 no hatch 1 horizontal lines 2 vertical lines 3 forwards diagonal lines 4 backwards diagonal lines 5 vertical and horizontal crossed lines 6 forwards and backwards diagonal crossed lines This parameter is only used if the name parameter is blank or invalid. If style is greater than 0 then the skew parameter is ignored. The foreground colour of the hatch pattern is the top colour as defined by the COLS keyword. The background colour of the hatch pattern is the bottom colour as defined by the COLS keyword. skew is the relative weight given to the top and bottom background colours in the way in which they graduate from one to the other. Positive numbers give more emphasis to the top colour, and negative numbers give more emphasis to the bottom colour, and zero means both colours are weighted evenly. The top and bottom colours are defined by the COLS keyword. This parameter is only used if the name parameter is blank or invalid and the style parameter is blank or less than or equal to 0. Notes: Normally only one of the above three parameters need be entered, as the first valid non blank/non zero parameter will define how the background is generated. Examples: PATTERN MINILOGO.BMP PATTERN BITMAP_1 PATTERN , 6 PATTERN , , 1 Default: name defaults to blank and style and skew default to 0. If a valid name is entered then the background is generated from the bitmap and the style and skew parameters are ignored. If name is blank or invalid and style is greater than 0 then the background is generated from the hatch pattern and the skew parameter is ignored. If name is blank or invalid and style is less than 1 then the background is a graduated colour change from the top to the bottom of the screen using the skew parameter if entered. If there is no PATTERN record then the background is a simple graduated colour change using a skew of 0. ICON (Windows version only) Defines an icon that is displayed in the main K-INSTALL screen. The icon must be added to the EXE file using a resource editor. The EXE file already contains two icons, the first being the Install icon and the second being the Uninstall icon. Usage: ICON [index[,x1[,y1[,x2[,y2]]]]] index is the number of the icon resource. x1 is the horizontal location of the icon as an absolute number of pixels from the left of the window. This is added to the value derived from x2 if defined. y1 is the vertical location of the icon as an absolute number of pixels from the top of the window. This is added to the value derived from y2 if defined. x2 is the horizontal location of the icon as a percentage of the way across the window, 50 being the middle and 100 the right edge. This is added to the value derived from x1 if defined. y2 is the vertical location of the icon as a percentage of the way down the window, 50 being the middle and 100 the bottom edge. This is added to the value derived from y1 if defined. Example: ICON 1, 0, 20, 50, 0 Default: x1, y1, x2 and y2 default to zero if not entered. If index is blank or invalid or there is no ICON record then no icon is defined or displayed. PICTURE (DOS version only) Defines a picture that is displayed to the top right of the K-INSTALL screen. This picture has a default height of 10 lines and a default width of 21 characters. Usage: PICTURE [width[,height]] [string [string [string...]]] width is the number of characters width of the picture. height is the number of lines height of the picture. That number of lines immediately following in the settings file will define the picture. string is ASCII characters and colour control codes which make up each line of the picture on the screen. Any ASCII characters greater than or equal to 8 may be used to create the picture. ASCII characters from 1 to 7 are used to alter the colours in the picture, as follows: #1 set colour to the code of the following character #2 toggle between high and low intensity (xor 8) #3 shift the foreground down one colour (subtract 1) #4 shift the foreground up one colour (add 1) #5 shift the background down one colour (subtract 16) #6 shift the background up one colour (add 16) #7 toggle between blinking and non blinking (xor 128) The #1 character must be followed by another character which specifies the colour to switch to, the ASCII value of which is the absolute colour code. See the COLS keyword (DOS version) above for an explanation of how to calculate absolute colour codes. Example: PICTURE 0,0 Notes: Ensure that each line fills up the full width of the picture, putting blanks at the end of lines as necessary. Remember that you can set an absolute colour with an ASCII character #1 followed by an ASCII character specifying the complete colour combination required, or you can set the colours relative to the last colour with the ASCII characters #2 to #7. The pic parameter of the COLS keyword sets the starting colour of the picture. Alternatively you can simply start the picture with an ASCII #1 character and then an absolute colour character. A very few colour combinations give absolute colour characters that may be interpreted as something else. For example to set colours to Light Magenta on a Black background you may want to use character codes #1 then #13. However the #13 will be read as a carriage return. In this case it is necessary to give a slightly different control code sequence to achieve the same result, such as #1 then #14 to get Yellow on Black, and then #3 to shift the foreground colour down one to Light Magenta. Do not use absolute colour character #0 (Black on Black). Default: If width is blank or less than 0 then it defaults to 21, or if it is 0 then no picture is displayed. If height is blank or 0 then it defaults to 10. If no PICTURE keyword is entered at all then a simple Southern Cross is displayed. PICTURE (Windows version only) Defines a graphic that is displayed in the main K-INSTALL screen. The graphic is a bitmap that must be added to the EXE file using a resource editor, or exist as a separate BMP file. Usage: PICTURE [name[,x1[,y1[,x2[,y2[,style[,x3[,y3[,x4[,y4[,mod e[,ovly]]]]]]]]]]]] name is the name of the bitmap resource or file name. x1 is the horizontal location of the graphic as an absolute number of pixels from the left of the window. This is added to the value derived from x2 if defined. y1 is the vertical location of the graphic as an absolute number of pixels from the top of the window. This is added to the value derived from y2 if defined. x2 is the horizontal location of the graphic as a percentage of the way across the window, 50 being the middle and 100 the right edge. This is added to the value derived from x1 if defined. y2 is the vertical location of the graphic as a percentage of the way down the window, 50 being the middle and 100 the bottom edge. This is added to the value derived from y1 if defined. style is the method by which the bitmap is superimposed over the existing background of the window: 0 OVER: the bitmap is shown with the background showing through the white parts 1 COPY: the bitmap is copied over the top of the background, completely replacing it. 2 AND: the bitmap and background are combined bit by bit with the AND function. 3 OR: the bitmap and background are combined bit by bit with the OR function. 4 XOR: the bitmap and background are combined bit by bit with the XOR function. 5-9 other effects. The first two styles are generally the most useful, but it is worth experimenting to see the different effects they all have. w1 is the width of the graphic as an absolute number of pixels. This is added to the value derived from w2 if defined. If the total value is not zero then the graphic is stretched or compressed to this width. h1 is the height of the graphic as an absolute number of pixels. This is added to the value derived from h2 if defined. If the total value is not zero then the graphic is stretched or compressed to this height. w2 is the width of the graphic as a percentage of the width of the window, 50 being half the width and 100 the whole width. This is added to the value derived from w1 if defined. If the total value is not zero then the graphic is stretched or compressed to this width. h2 is the height of the graphic as a percentage of the height of the window, 50 being half the height and 100 the full height. This is added to the value derived from h1 if defined. If the total value is not zero then the graphic is stretched or compressed to this height. mode is the method by which the bitmap is stretched: 1 preserves black pixels at the expense of white ones 2 preserves white pixels at the expense of black ones 3 treats all colours in the same way ovly is the way in which the bitmap is overlaid on the background or any existing bitmaps. This parameter is mainly used in the Professional edition on the INSTPIC keyword to increase speed and/or allow special effects with overlaid bitmaps or multiple bitmaps on the screen at once. 0 not overlaid, background completely redrawn before drawing bitmap 1 overlaid, background not redrawn before drawing bitmap, very fast Note: Transparent bitmaps (that is, those copied with style 0) cannot be stretched. Example: PICTURE MAINLOGO.BMP, 0, 0, 100, 50, 1 Default: x1, y1, x2, y2, style, w1, h1, w2, h2 and mode all default to zero if not entered. If name is blank or invalid or there is no PICTURE record then no graphic is defined or displayed. LOG Specifies the name of an installation log file used to record all files that have been copied and directories created by K-INSTALL. This allows the program to be uninstalled by deleting all these files and directories again, regardless of where they were copied or created. The log file is always created in the main program directory. Usage: LOG [fileext] fileext is the file name and extension of the log file, or blank to turn the option off. No directory should be specified as the log file is always created in the main program directory. Examples: LOG BLASTER.LOG LOG Default: Option enabled with log file name "UNINSTAL.LOG". Note: For the uninstall process to work, the INSTALL program itself must be copied to the main program directory where the log file is also created. The associated settings file must also be copied if it changes the name of the log file. This can be done with a simple INSTALL record such as: INSTALL INSTALL.*, ., 2, 18 REMOVE Specifies the name of a file to be deleted during uninstallation. This can be used to remove files that are created by the main program subsequent to installation, such as configuration files, private INI files, temporary files etc. Wildcards are not permitted. Usage: REMOVE path path is the directory, file name and extension of the file to be deleted. The directory is specified relative to the main program directory entered by the user. This can include the DOS directory symbols ".", "..", "\" etc, and/or any tilde variables - see the INSTALL keyword and the section "Use of Variables" above for more information. Examples: REMOVE MYPROG.CFG REMOVE ~MAIN\SORT.TMP REMOVE ~WIN\MYPROG.INI Default: If the directory is blank then the file is deleted from the main program directory. If there is no REMOVE record then no files are deleted. IF/ELSE/ENDIF (Professional edition only) Allows conditional processing of most functions. Usage: IF cond [line 1 [line 2 [line 3...]]] [ELSE [line 4 [line 5...]]] ENDIF cond any condition that can be evaluated to a positive or negative (True/False) answer. It may contain any combination of literal characters and wildcards, and relative and Boolean operators. Wildcards are similar to those in DOS, but with additional capabilities. There are four wildcard characters: @ is for any one alphabetic character # is for any one numeric character ? is for any one character * is for any number of characters Relative operators allow ranges to be specified. There are seven: = is equal to (optional, this is the default) <> is not equal to == is exactly equal to, wildcards treated as literal characters > is greater than < is less than >= is greater than or equal to <= is less than or equal to Boolean operators allow negative matches or combinations. There are three: NOT true if the criteria is not satisfied AND true if both criteria are satisfied OR true if either criteria are satisfied Boolean variables are defined by ASK keywords, and range from !0 to !9. Example: IF ~4 = 28800 REM fast modem support INSTALL ASYNC28.VBX, ~WIN ELSE REM slow modem support INSTALL ASYNCX.VBX, ~WIN ENDIF MSG Financial Planning at its best! IF ~$CPU >= 3 MSG 32 bit Financial Planning at its best! INSTALL CALC32.DLL ENDIF IF ~$WINVER > 3.1 AND !0 AND ~$CPU >= 3 INSTALL NAV3D.EXE ENDIF FUNCTION Allows any functions on the K-INSTALL screen (indicated by the buttons displayed) to be automatically started rather than waiting for the user to select them. Usage: FUNCTION [codes] codes is one or more of the shortcut codes that define each button H Help I Install O Options (Professional edition only) B Reboot S Restart (Windows version only) R Run U Uninstall C Catalog X Exit Example: REM Install and then exit FUNCTION IX Note: The shortcut codes can be altered in the Professional edition by the BUTTON keyword. Default: No codes specified, no function auto-started. BUTTON (Professional edition only) Allows all button text and associated descriptions in K- INSTALL to be customised, even into other languages. Usage: BUTTON num[,code[,name[,desc]]] num is the button number, from 1 to 10 code is the shortcut code which controls auto-starting with the FUNCTION keyword name is the name that actually goes onto the button, and must be consistent with code DOS version only: The button name should usually just be the same as code. Take into account that the Enter key is always translated into code "I" and the Escape key is always translated into code "X". Windows version only: One character in name can be a shortcut so that the user can activate it from the keyboard with the Alt key. This character should have an ampersand "&" in front of it and it should be the same as code. desc is the longer description printed beside the button Examples: (DOS version only) BUTTON 1, A, [ A ], Aide BUTTON 10, Q, [ Q ], Quit install program (Windows version only) BUTTON 1, A, &Aide, Aide BUTTON 10, Q, &Quit, Quit setup program Defaults: Num Code Dos Name Win Name Description 1 H [ H ] &Help Help 2 I [Enter] &Install Install ~TITLE 3 O [ O ] &Options Install optional components 4 B [ B ] Re&boot Reboot the computer 5 S n/a Re&start Restart Windows 6 R [ R ] &Run Run ~TITLE 7 (unused) 8 U [ U ] &Uninstall Uninstall ~TITLE 9 C [ C ] &Catalog Product Catalogue 10 X [ Esc ] E&xit Exit Setup program STRING (Professional edition only) Allows all error and other information text in K-INSTALL to be customised, even into other languages. Usage: STRING num[,text] num is the number of the string, from 100 to 145 text is the new text to be displayed in place of the old. It may contain any normal tilde variables as well as literal text. Many messages are also used in conjunction with special variable data such as a file or directory name, in which case one of two special tilde variables may be used: ~@ display the data as text ~# display the data as a number Examples: STRING 109, Directory ~@ is already there. Install anyway? STRING 131, Installation of ~MAIN is now completed. STRING 143, Do you really want to uninstall this wonderful program? Defaults: Num Text 100 General error code ~#. 101 Unable to open settings file ~@. 102 Invalid settings line "~@" 103 ~TITLE requires a ~CPU or higher processor (you have a ~$CPU). 104 ~TITLE requires a maths coprocessor. 105 ~TITLE requires DOS version ~DOSVER (you have version ~$DOSVER). 106 ~TITLE requires Windows version ~WINVER (you have version ~$WINVER). 107 Invalid copy of installation disk. 108 Previous version of ~TITLE could not be found. 109 ~@ already exists. Continue with install? 110 ~@ does not exist. Continue with install? 111 ~@ already exists. 112 ~@ does not exist. 113 Not enough space to install the whole program. Do not select all the optional components. 114 ~TITLE requires at least ~#KB disk space. Continue with install? 115 ~TITLE requires at least ~#KB disk space. Free up space or choose another drive. 116 Unable to find or create directory ~@. 117 Enter ~@ 118 Insert ~@ and press 119 Insert next disk with file ~@ and press 120 Copying ~@ 121 Expanding ~@ 122 Unpacking ~@ 123 Updating ~@ 124 ~@ already exists. Replace it? 125 ~@ invalid. 126 ~@ not found. 127 Unable to move ~@ to destination directory. 128 Unable to append ~@ to target file. 129 Unable to install ~@. 130 Unable to update ~@. Please check and adjust manually. 131 Installation completed. 132 Installation not completed. 133 ~TITLE installed. 134 ~TITLE uninstalled. 135 ~TITLE not installed. 136 For more information or last minute instructions please read ~DOC. 137 To run this program open the ~GROUP group in Windows Program Manager. 138 To run this program change to directory ~MAIN and enter "~CMD", or double click on ~PROG in Windows File Manager. 139 ~TITLE runs best if you ensure ~@ includes: 140 Would you like this to be done for you? 141 Is this correct? 142 I/O error ~#. Unable to create log file. Program cannot be uninstalled. 143 Uninstall the program now? 144 Unable to open log file for uninstallation. 145 ~@ may be a shared file that is required by other Windows software you have installed after this program. Do you want to delete it?