home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1995 September / C_BUYER.ISO / dosshare / finnish / install.txt < prev    next >
Text File  |  1993-03-12  |  131KB  |  4,215 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                               THE FINISHING TOUCH
  19.  
  20.                   Professional Software Installation Program
  21.  
  22.                                   Version 2.4
  23.                                 March 12, 1993
  24.  
  25.  
  26.  
  27.  
  28.                                  Developed by
  29.  
  30.                                 ImagiSOFT, Inc.
  31.                           Software Utilities Division
  32.                                 P.O. Box 13208
  33.                             Albuquerque, NM   87192
  34.  
  35.  
  36.  
  37.  
  38.                         Copyright 1992, ImagiSOFT, Inc.
  39.                              All Rights Reserved.
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.     IMPORTANT  NOTE:   This is a shareware version of The  Finishing  Touch
  55.     which  may  be  copied  and  distributed  for  evaluation  purposes  as
  56.     described  in  the  License Agreement below.  However, IT  MAY  NOT  BE
  57.     DISTRIBUTED  AS  PART  OF ANY OTHER SOFTWARE  PACKAGE.   Please  report
  58.     violations to ImagiSOFT, Inc. at the above address.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                TABLE OF CONTENTS
  66.  
  67.  
  68.     The Purpose of The Finishing Touch Software ......................... 4
  69.  
  70.     What is Shareware? .................................................. 5
  71.  
  72.     Registration ........................................................ 5
  73.  
  74.     How to Reach us for Support ......................................... 6
  75.  
  76.     License Agreement ................................................... 6
  77.  
  78.     Distributing Shareware Version of The Finishing Touch ............... 7
  79.  
  80.     How to Make Master Disks of Your Software ........................... 8
  81.  
  82.       Step 1:  Installing the Software to Your Hard Drive ............... 8
  83.  
  84.       Step 2:  Batch Files ............................................. 10
  85.  
  86.       Step 3:  Formatting Floppy Disks ................................. 10
  87.  
  88.       Step 4:  Making Labels ........................................... 11
  89.  
  90.       Step 5:  Writing the Script File for INSTALL.EXE ................. 11
  91.         System Colors .................................................. 12
  92.         How to Create INSTALL.FIL ...................................... 13
  93.             BACKGROUND Command Example ................................. 13
  94.             TELESCOPE Command Example .................................. 13
  95.             WINOPEN Command Example .................................... 13
  96.             SHADOW Command Example ..................................... 14
  97.             SPACE Command Example ...................................... 14
  98.             DRIVE Command Example ...................................... 14
  99.             PATH Command Example ....................................... 14
  100.             UNPACK Command Example ..................................... 14
  101.             JUMP.FAIL Command Example .................................. 15
  102.             WAIT Command Example ....................................... 15
  103.             END Command Example ........................................ 15
  104.             DELETE Command Example ..................................... 16
  105.             RD Command Example ......................................... 16
  106.             WINCLOSE Command Example ................................... 16
  107.  
  108.       Step 6:  Copy Files to 1st Master Disk ........................... 17
  109.  
  110.       Step 7:  Use the PACKER Utility .................................. 17
  111.  
  112.       Step 8:  Test Your Work .......................................... 18
  113.  
  114.       Step 9:  Write Installation Instructions ......................... 18
  115.  
  116.     Association of Shareware Professionals Membership .................. 19
  117.  
  118.  
  119.  
  120.  
  121.    ImagiSOFT, Inc.  The Finishing Touch                             Page 2
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.     APPENDIX A: SCRIPT FILE COMMANDS ................................... 20
  129.         ASK ............................................................ 20
  130.         BACKGROUND ..................................................... 21
  131.         BEEP ........................................................... 22
  132.         COPY ........................................................... 23
  133.         CPU ............................................................ 24
  134.         DELETE ......................................................... 25
  135.         DISK ........................................................... 26
  136.         DOS ............................................................ 27
  137.         DRIVE .......................................................... 28
  138.         EXIST .......................................................... 30
  139.         END ............................................................ 31
  140.         FILE ........................................................... 32
  141.         FILE.DATE ...................................................... 34
  142.         FILE.SIZE ...................................................... 35
  143.         JUMP ........................................................... 36
  144.         JUMP.FAIL ...................................................... 37
  145.         JUMP.NO ........................................................ 38
  146.         JUMP.YES ....................................................... 39
  147.         LANGUAGE ....................................................... 40
  148.         MEMORY ......................................................... 41
  149.         MD ............................................................. 42
  150.         MOUSE .......................................................... 43
  151.         PATH ........................................................... 44
  152.         PRINT .......................................................... 45
  153.         RD ............................................................. 46
  154.         REBOOT ......................................................... 47
  155.         RUN ............................................................ 48
  156.         SCRIPT ......................................................... 49
  157.         SET.FILES ...................................................... 50
  158.         SET.PATH ....................................................... 51
  159.         SHADOW ......................................................... 52
  160.         SHELL .......................................................... 53
  161.         SPACE .......................................................... 54
  162.         TELESCOPE ...................................................... 55
  163.         UNPACK ......................................................... 56
  164.         VIDEO .......................................................... 58
  165.         VIEW ........................................................... 59
  166.         WAIT ........................................................... 60
  167.         WINCLOSE ....................................................... 61
  168.         WINOPEN ........................................................ 62
  169.  
  170.     APPENDIX B: OTHER FEATURES OF THE FINISHING TOUCH .................. 63
  171.       Renaming INSTALL.EXE ............................................. 63
  172.       Labels ........................................................... 63
  173.       Internal Variables ............................................... 63
  174.       Comments ......................................................... 65
  175.       Hiding Windows ................................................... 65
  176.  
  177.     The Finishing Touch Registration Form .............................. 67
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.    ImagiSOFT, Inc.  The Finishing Touch                             Page 3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.     THE PURPOSE OF THE FINISHING TOUCH INSTALLATION PROGRAM
  192.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  193.  
  194.     The purpose of The Finishing Touch is two fold:
  195.          1.  The  Finishing Touch reduces the amount of floppy  disk  space
  196.              required on the disks you send out by 50 - 75% which will help
  197.              you  distribute  your  software  on as  few  floppy  disks  as
  198.              possible.  Depending upon the number of disks in the set,  The
  199.              Finishing Touch will save you thousands of dollars in software
  200.              production, mailing, and distribution costs.
  201.  
  202.          2.  The Finishing Touch gives the end user a simple, friendly, and
  203.              reliable  way  to install your software.  It  can  test  their
  204.              hardware  so your installation will go as smooth as  possible.
  205.              This will please the user and will reduce support costs.   You
  206.              only have one chance to make a first impression.  Why not make
  207.              it the best one possible?
  208.  
  209.  
  210.          The Finishing Touch consists of six files:
  211.  
  212.          PACKER.EXE   The  utility  which compresses and  copies  files  to
  213.                       formatted floppy disks.
  214.  
  215.          INSTALL.EXE  The  program which reads your script  file,  extracts
  216.                       the  files  from  the PACKED file  on  floppy  disks,
  217.                       copies  them  to  the end user's  hard  drive,  tests
  218.                       hardware, displays your messages, and much more.
  219.  
  220.          INSTALL.FIL  A   commented   sample  script   file   which   tells
  221.                       INSTALL.EXE what to do.
  222.  
  223.          INSTALL.TXT  Documentation  for all the above -- this is the  file
  224.                       you are reading right now.
  225.  
  226.          ORDER.TXT    The order form to register this software.
  227.  
  228.          READ.ME      A  file which tells how to print  this  documentation
  229.                       and any other additional information.
  230.  
  231.     IMPORTANT  NOTE:  INSTALL.EXE checks for missing or altered files.   If
  232.     any  of  the above files (except INSTALL.FIL) has been  altered  or  is
  233.     missing, the program will display an error and exit to DOS.
  234.  
  235.     The registered version is different in the following ways:
  236.          1.  The license agreement allows you to distribute INSTALL.EXE and
  237.              INSTALL.FIL  with your software for the purpose of  installing
  238.              it to the end user's hard drive.
  239.  
  240.          2.  The  license  agreement doesn't allow you  to  distribute  the
  241.              registered version to other people.
  242.  
  243.          3.  INSTALL.EXE  doesn't  check for the  PACKER.EXE,  INSTALL.TXT,
  244.              ORDER.TXT and READ.ME files.
  245.  
  246.  
  247.    ImagiSOFT, Inc.  The Finishing Touch                             Page 4
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.     WHAT IS SHAREWARE?
  255.     ~~~~~~~~~~~~~~~~~~
  256.     The Shareware concept gives you a chance to "try"  The Finishing  Touch
  257.     before  you  "buy" it.  If you try  The Finishing Touch and  decide  to
  258.     distribute  it  as the installation portion of your  software  you  are
  259.     required to register.
  260.  
  261.     Copyright  laws  apply to both Shareware and commercial  software,  and
  262.     ImagiSOFT,  Inc.  retains  all  rights  to   The  Finishing  Touch.  We
  263.     specifically grant you the right to copy and distribute this  software,
  264.     under the limitations of the license agreement found below.
  265.  
  266.     Shareware is a marketing method, not a type of software.  The Shareware
  267.     system  makes fitting your needs easier, because you can  "try"  before
  268.     you  "buy". SHAREWARE HAS THE ULTIMATE MONEY-BACK  GUARANTEE -- IF  YOU
  269.     DON'T USE THE PRODUCT, YOU DON'T PAY FOR IT!
  270.  
  271.     The  Finishing  Touch is a "shareware program" and is  provided  at  no
  272.     charge to you for evaluation.  Feel free to share it with your friends,
  273.     but  please do not give it away altered or as part of  another  system.
  274.     The essence of "user-supported" software is to provide you with quality
  275.     software without high prices, and yet to give us incentive to  continue
  276.     to develop new products.
  277.  
  278.  
  279.     REGISTRATION
  280.     ~~~~~~~~~~~~
  281.     If  you plan to distribute your software using The Finishing Touch  you
  282.     must send a registration payment of $69.95 to:
  283.  
  284.                                 ImagiSOFT, Inc.
  285.                           Software Utilities Division
  286.                                 P.O. Box 13208
  287.                             Albuquerque, NM   87192
  288.  
  289.     Your  $69.95 registration will license one copy of The Finishing  Touch
  290.     which  you  can freely distribute as the installation portion  of  your
  291.     company's software.  When you register we will send you the most recent
  292.     version along with printed documentation.  Print an order form by using
  293.     the DOS command COPY ORDER.TXT LPT1: or send your check along with:
  294.         - Your Name
  295.         - Your Company's Name
  296.         - Mailing Address
  297.         - Disk Size (5.25" or 3.5")
  298.  
  299.     You can order by credit card by calling (800) 767-1978  or
  300.                                     FAX     (505) 275-9697
  301.     You are encouraged to pass a copy of  The Finishing Touch along to your
  302.     friends  and business associates for evaluation, but  please  encourage
  303.     them to register their copy if they like and use it.
  304.  
  305.     In the UK you can register with The Thompson Partnership, Church Croft,
  306.     Bramshall, UTTOXETER, Staffs. ST14 5DE, Telephone 0889 564601
  307.     Fax 0889 563219. The UK Price is 49.95 Pounds pluse 3.00 pounds shipping.
  308.  
  309.     Thank you for your support!
  310.  
  311.    ImagiSOFT, Inc.  The Finishing Touch                             Page 5
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.     HOW TO REACH US FOR SUPPORT
  321.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  322.     We have made  The Finishing Touch as easy to use as possible.  However,
  323.     if  you have a problem, or find our documentation inadequate, we  would
  324.     like to hear from you.  You can reach us via U.S. Mail at:
  325.         ImagiSOFT, Inc.
  326.         Software Utilities Division
  327.         P.O. Box 13208
  328.         Albuquerque, NM 87192
  329.  
  330.     You will get faster service from us via electronic mail or FAX:
  331.         Our CompuServe ID number is 70632,1177.
  332.         Our Prodigy ID number is    FSWM11A.
  333.         Our FAX number is           (505) 275-9697.
  334.  
  335.     In the UK contact The Thompson Partnership
  336.                       Church Croft,
  337.                       Bramshall,
  338.                       UTTOXETER,
  339.                       Staffs.
  340.                       ST14 5DE
  341.  
  342.     Telephone         0889 564601
  343.     Fax               0889 563219
  344.     CompuServe        70007,5560
  345.  
  346.     LICENSE AGREEMENT
  347.     ~~~~~~~~~~~~~~~~~
  348.     The  The Finishing Touch program and its documentation are  copyrighted
  349.     works  protected  by  U.S. and international  copyright  law.  You  are
  350.     granted  a license to use your copy of  The Finishing Touch only  under
  351.     the terms and conditions specified in this license agreement.
  352.  
  353.     The  Finishing Touch is a commercial software product. It is not  free,
  354.     nor is it in the public domain.  It is distributed as Shareware,  which
  355.     means  that you may try the software before you pay for  it.   However,
  356.     you  must  stop  using  The Finishing Touch and  remove  it  from  your
  357.     computer if you decide not to pay the license fee.
  358.  
  359.     You  may  freely copy  The Finishing Touch for personal use.   You  may
  360.     also  give copies of  The Finishing Touch to others if they also  agree
  361.     to the terms of this agreement.
  362.  
  363.     USERS OF THE FINISHING TOUCH MUST ACCEPT THIS DISCLAIMER OF WARRANTY:
  364.        THE  FINISHING  TOUCH IS PROVIDED AS IS, WITHOUT WARRANTY  OF  ANY
  365.        KIND,  EXPRESS  OR  IMPLIED, INCLUDING, BUT  NOT  LIMITED  TO  THE
  366.        IMPLIED   WARRANTIES   OF  MERCHANTABILITY  AND  FITNESS   FOR   A
  367.        PARTICULAR  PURPOSE.  THE  ENTIRE  RISK  AS  TO  THE  QUALITY  AND
  368.        PERFORMANCE  IS  WITH  YOU. IMAGISOFT  ASSUMES  NO  LIABILITY  FOR
  369.        DAMAGES,  DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE   USE
  370.        OF THE FINISHING TOUCH.
  371.  
  372.    ImagiSOFT, Inc.  The Finishing Touch                             Page 6
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.     DISTRIBUTING THE SHAREWARE VERSION OF THE FINISHING TOUCH
  380.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  381.     Anyone  distributing  The Finishing Touch for any kind of  remuneration
  382.     must   first  contact  ImagiSOFT,  Inc.  at  the  address   below   for
  383.     authorization.    This  authorization  is  automatically   granted   to
  384.     distributors  recognized by the Association of Shareware  Professionals
  385.     (ASP)  as  adhering to its guidelines for shareware  distributors,  and
  386.     such distributors may begin offering  The Finishing Touch  immediately;
  387.     however, ImagiSOFT, Inc. must still be advised so that the  distributor
  388.     can be kept up-to-date with the latest version of  The Finishing Touch.
  389.  
  390.     If  you  are going to distribute  The Finishing Touch in  a  compressed
  391.     file, please use the name FINISH.??? (.ZIP, .ARC, .LZH, etc). We  would
  392.     appreciate  if  you would distribute our original  FINISH.ZIP  whenever
  393.     possible so that new users can be assured that they aren't receiving  a
  394.     program infected with a virus.
  395.  
  396.     Please include the following files in your distribution copy:
  397.  
  398.         INSTALL.EXE   Main program
  399.         INSTALL.FIL   Sample The Finishing Touch script file
  400.         PACKER.EXE    Software packing, archiving utility
  401.         INSTALL.TXT   Registration info, license agreement, etc.
  402.         ORDER.TXT     Order form
  403.         READ.ME       Brief description, how to install, etc.
  404.  
  405.     IMPORTANT NOTE:  The  The Finishing Touch program checks for missing or
  406.     altered  files.   If  any of the above files has  been  altered  or  is
  407.     missing, the program will exit to DOS.  The registered version does not
  408.     have this restriction.
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.    ImagiSOFT, Inc.  The Finishing Touch                             Page 7
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.     HOW TO MAKE MASTER DISKS OF YOUR SOFTWARE
  443.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  444.     Creating a master set of software for duplication requires nine steps:
  445.  
  446.          1.  Install  the software to the hard drive of the computer  which
  447.              you will use to make your master disks.
  448.  
  449.          2.  Create any BATCH files which the end user will use to run  the
  450.              software.
  451.  
  452.          3.  Format enough floppy disks to hold the complete software set.
  453.  
  454.          4.  Make labels for the master disks.
  455.  
  456.          5.  Write the script in the file INSTALL.FIL.  This is by far  the
  457.              most  difficult  step,  and the most in  depth  part  of  this
  458.              documentation.
  459.  
  460.          6.  Copy two files, INSTALL.EXE and INSTALL.FIL to the 1st  master
  461.              disk in the set.
  462.  
  463.          7.  Use the PACKER utility to compress and copy the software  from
  464.              the hard drive to the master floppy disks.
  465.  
  466.          8.  Test your work.
  467.  
  468.          9.  Write a simple set of instructions for the end user to  follow
  469.              on how to install your software.
  470.  
  471.  
  472.  
  473.     Instructions on how to complete each step are as follows:
  474.  
  475.  
  476.     STEP 1:  INSTALLING THE SOFTWARE TO YOUR HARD DRIVE
  477.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  478.     The  master set of software shouldn't reside in the same place as  your
  479.     test software.  The system colors and printer options must be  generic.
  480.     Commonly  used files which may be in your PATH such as BRUN30.EXE  must
  481.     be in the initial directory from which your system runs.
  482.  
  483.     The  first thing you must decide is whether you want to force the  user
  484.     into using a certain subdirectory name, or if you want him/her to input
  485.     their  own  directory  name.  An example of each  method  is  discussed
  486.     below.
  487.  
  488.     For  the  ImagiMOVIE Guide system, we want the user  to  install  their
  489.     software  in  the  \IMOVIE subdirectory, so we  created  the  following
  490.     directories on our network:
  491.  
  492.        \MASTER\M\IMOVIE
  493.  
  494.  
  495.  
  496.  
  497.  
  498.    ImagiSOFT, Inc.  The Finishing Touch                             Page 8
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.     \MASTER  is  an  empty directory, and is used solely for  the  sake  of
  506.     organization.
  507.  
  508.     For  Chinese Checkers we want the user to input their own  subdirectory
  509.     name, so we created a CHINESE subdirectory off \MASTER as follows:
  510.  
  511.     \MASTER\CHINESE\
  512.  
  513.     A graphic representation of our tree structure is as follows:
  514.  
  515.     |          |--CHINESE
  516.     |          |             |--DATA
  517.     R          |             |
  518.     O--MASTER--|--M--IMOVIE--|--SEARCH
  519.     O                        |
  520.     T                        |--CASTPICS
  521.     |
  522.     |
  523.  
  524.     For  The ImagiMOVIE GUIDE, the "M" subdirectory corresponds to the  end
  525.     user's  root directory, and contains MOVIE.BAT which we want  installed
  526.     to the end user's root directory so they can run the ImagiMOVIE Guide.
  527.  
  528.     After  the end user installs the ImagiMOVIE Guide System, the  "IMOVIE"
  529.     subdirectory, and all subdirectories below it, will be a branch off the
  530.     root directory of the end user's computer as follows:
  531.  
  532.     |          |--DATA
  533.     R          |
  534.     O--IMOVIE--|--SEARCH
  535.     O          |
  536.     T          |--CASTPICS
  537.  
  538.     MOVIE.BAT will be installed into the root directory.
  539.  
  540.  
  541.     Chinese Checkers, on the other hand will reside on the end user's  hard
  542.     drive where he/she decides to put it.  INSTALL.EXE reads a script  file
  543.     (discussed in depth on pages 10 - 16) which you will write to tell  the
  544.     end  user what to do to install your software.  The primary  difference
  545.     between  the script file for The ImagiMOVIE GUIDE and Chinese  Checkers
  546.     is that the Chinese Checkers script file uses the PATH command and  The
  547.     ImagiMOVIE   GUIDE  script  file  doesn't.   (See  APPENDIX A  for   an
  548.     explanation of the PATH command.)
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.    ImagiSOFT, Inc.  The Finishing Touch                             Page 9
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.     STEP 2:  BATCH FILES
  569.     ~~~~~~~~~~~~~~~~~~~~
  570.     As  discussed  on  the preceding page, the  "M"  subdirectory  contains
  571.     MOVIE.BAT  which  will run the ImagiMOVIE  GUIDE  software.   MOVIE.BAT
  572.     issues four simple DOS commands:
  573.        cd \imovie
  574.        cls
  575.        movie
  576.        cd \
  577.  
  578.     As  mentioned  earlier,  we can include  MOVIE.BAT  with  our  software
  579.     because we forced the user to install his/her software into the \IMOVIE
  580.     subdirectory.   If  you are going to allow the user  to  install  their
  581.     software in the subdirectory of their choosing, skip this step you  may
  582.     want  to  write  a batch file using the FILE  command.   See  the  FILE
  583.     command in APPENDIX A for a detailed example.
  584.  
  585.  
  586.     STEP 3:  FORMATTING FLOPPY DISKS
  587.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  588.     The  first thing you need to do is determine how much hard  disk  space
  589.     the  software requires.  Change to the \MASTER\M\ subdirectory of  your
  590.     hard  disk  and enter the command DIR /S.  Assuming you have  DOS  5.0,
  591.     after  displaying all the files in all the IMOVIE  subdirectories,  DOS
  592.     will display something similar to the following:
  593.  
  594.                   Total files listed:
  595.                        51 File(s)      2414424 bytes
  596.  
  597.     (If  you  don't  have  DOS  5.0 you will have  to  do  a  DIR  of  each
  598.     subdirectory and add the file sizes together.  Good Luck!)
  599.  
  600.     Unless you are certain that ALL the people you are going to  distribute
  601.     disks  to have high density floppy disks, it is good practice  to  make
  602.     your masters on low density diskettes.  Low density disks are also more
  603.     tolerant of disk drives which are slightly out of alignment.
  604.  
  605.     If  you are supporting 5.25" disks, make sure you format  your  masters
  606.     under  DOS 2.1 on a 360K disk drive.  Older DOS versions  have  trouble
  607.     reading disks formatted with later versions of DOS.  Also, low  density
  608.     drives  will NOT read a low density disk formatted or offloaded from  a
  609.     high density drive.
  610.  
  611.     3.5" diskettes  are much more forgiving.  Since  3.5" diskettes  didn't
  612.     come into being until DOS 3.1, it doesn't matter as much which  version
  613.     of  DOS  you use to format the disks.  (To be absolutely sure,  we  use
  614.     FORMATQM.  Sydex,  P.O. Box 5700, Eugene, OR   97405,  Voice (503) 683-
  615.     6033, FAX (503) 683-1622) to format our masters just in case, and  have
  616.     found  it consistently more reliable than DOS's FORMAT.)  You can  also
  617.     use  a high density drive to format and offload low density  diskettes.
  618.     To  format  a  low density disk using a high  density  drive,  use  the
  619.     command:
  620.        FORMAT A: /N:9 /T:80
  621.  
  622.  
  623.  
  624.    ImagiSOFT, Inc.  The Finishing Touch                             Page 10
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.     As a rule of thumb, PACKER will compress files by 50%.  Calculating how
  632.     many disks are required is a simple formula:
  633.        TOTAL SPACE / CAPACITY / 2
  634.  
  635.     For  our ImagiMOVIE Guide example using low density disks  the  formula
  636.     is:
  637.        2414424 / 720000 = 3.35 / 2 = 2
  638.  
  639.  
  640.     STEP 4:  MAKING LABELS
  641.     ~~~~~~~~~~~~~~~~~~~~~~
  642.     You  should  label  the disks (except possibly  the  last  one)  before
  643.     offloading the software to make ABSOLUTELY certain that the disks don't
  644.     get mixed up during the offloading process.
  645.  
  646.  
  647.     STEP 5:  WRITING THE SCRIPT FILE FOR INSTALL.EXE
  648.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  649.     This is by far the most difficult step in creating master disks.   Some
  650.     knowledge  of programming is helpful in this step, but  not  mandatory.
  651.     In this step you are writing a computer program in the file INSTALL.FIL
  652.     which  tells  INSTALL.EXE what to do.  You will need to  use  an  ASCII
  653.     editor  to  create  INSTALL.FIL.  For a detailed  description  of  each
  654.     command, see APPENDIX A SCRIPT FILE COMMANDS.
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.    ImagiSOFT, Inc.  The Finishing Touch                             Page 11
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.     SYSTEM COLORS
  695.     ~~~~~~~~~~~~~
  696.     INSTALL.EXE  detects  monochrome  cards  and  hard-codes  black & white
  697.     colors.  (Note:  Laptop computers are NOT monochrome, but are black and
  698.     white  color computers.)  Make sure you test on a laptop to be  certain
  699.     the colors are visible prior to distribution!
  700.  
  701.                                   COLOR CHART
  702.          Color = Background * 16 + Foreground
  703.  
  704.     ----------------------------------------------------------------------
  705.     |                             BACKGROUND                             |
  706.     |---------------------------------------------------------------------
  707.     |              Black  Blue  Green  Cyan  Red  Magenta  Brown   White |
  708.     |====================================================================|
  709.     |   | Black       0    16     32    48    64     80      96     112  |
  710.     |   |----------------------------------------------------------------|
  711.     | F | Blue        1    17     33    49    65     81      97     113  |
  712.     |   |----------------------------------------------------------------|
  713.     | O | Green       2    18     34    50    66     82      98     114  |
  714.     |   |----------------------------------------------------------------|
  715.     | R | Cyan        3    19     35    51    67     83      99     115  |
  716.     |   |----------------------------------------------------------------|
  717.     | E | Red         4    20     36    52    68     84     100     116  |
  718.     |   |----------------------------------------------------------------|
  719.     | G | Magenta     5    21     37    53    69     85     101     117  |
  720.     |   |----------------------------------------------------------------|
  721.     | R | Brown       6    22     38    54    70     86     102     118  |
  722.     |   |----------------------------------------------------------------|
  723.     | O | White       7    23     39    55    71     87     103     119  |
  724.     |   |----------------------------------------------------------------|
  725.     | U | Gray        8    24     40    56    72     88     104     120  |
  726.     |   |----------------------------------------------------------------|
  727.     | N | Lt Blue     9    25     41    57    73     89     105     121  |
  728.     |   |----------------------------------------------------------------|
  729.     | D | Lt Green   10    26     42    58    74     90     106     122  |
  730.     |   |----------------------------------------------------------------|
  731.     |   | Lt Cyan    11    27     43    59    75     91     107     123  |
  732.     |   |----------------------------------------------------------------|
  733.     |   | Lt Red     12    28     44    60    76     92     108     124  |
  734.     |   |----------------------------------------------------------------|
  735.     |   | Lt Mag     13    29     45    61    77     93     109     125  |
  736.     |   |----------------------------------------------------------------|
  737.     |   | Yellow     14    30     46    62    78     94     110     126  |
  738.     |   |----------------------------------------------------------------|
  739.     |   | Lt White   15    31     47    63    79     95     111     127  |
  740.     ----------------------------------------------------------------------
  741.  
  742.     If you want the color to flash, add 128 to any of the above numbers.
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.    ImagiSOFT, Inc.  The Finishing Touch                             Page 12
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.     HOW TO CREATE INSTALL.FIL
  758.     ~~~~~~~~~~~~~~~~~~~~~~~~~
  759.     The  best  way  to learn how to create INSTALL.FIL is to  look  at  the
  760.     sample  in  detail.   The  following pages contain  a  listing  of  the
  761.     INSTALL.FIL  that we created to install the free STAMP utility.  It  is
  762.     fully  commented, and should provide adequate documentation for  anyone
  763.     with rudimentary programming experience.
  764.  
  765.     Note:   empty program lines in INSTALL.FIL or those that begin with  an
  766.     apostrophe are ignored by the INSTALL.EXE program.
  767.  
  768.  
  769.     ========================   BEGINNING OF FILE   =======================
  770.  
  771.     ' Sample Install Script
  772.     ' Copyright 1992, ImagiSOFT, Inc.
  773.     ' June 1, 1992
  774.  
  775.     ' NOTE:  This script file takes a long time to load (and requires more
  776.     '        disk space because it has lots of comments.  The script files
  777.     '        you create should well commented, but be sure to remove most
  778.     '        of the comments on the final distribution copy so it will
  779.     '        be as small as possible.  There is a 400 line maximum for any
  780.     '        one script file.  However, this limitation can be overcome
  781.     '        with the SCRIPT command.
  782.  
  783.     ' display cyan colored background (see color chart in docs)
  784.  
  785.     BACKGROUND 63
  786.  
  787.  
  788.     ' turn off "exploding" or telescoping windows for first window
  789.     ' this will make the window instantly appear
  790.  
  791.     TELESCOPE OFF
  792.  
  793.  
  794.     ' display the heading in a window
  795.     '   located at 18 characters across
  796.     '               2 rows down  with a
  797.     '   magenta background and high intensity white letters
  798.  
  799.     WINOPEN 18 2 95
  800.  
  801.     "            ImagiSOFT, Inc."
  802.     "Where Imagination Brings Software to Life"
  803.     ""
  804.     "     Sample Installation Script File"
  805.     "         (Loads a Free Utility)"
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.    ImagiSOFT, Inc.  The Finishing Touch                             Page 13
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.     ' WINOPEN 0 2 95                  ' use this command instead
  821.     '                                   to make sure the window is
  822.     '                                   centered horizontally on
  823.  
  824.     ' turn on telescoping windows for the rest of the messages
  825.  
  826.     TELESCOPE ON
  827.  
  828.  
  829.     ' display all messages from this point on in a "shadowed" window
  830.     ' the default is "OFF".  This feature can be turned on and off as many
  831.     ' times as you want
  832.  
  833.     SHADOW ON
  834.  
  835.  
  836.     ' Tell INSTALL the minimum amount of required disk space
  837.  
  838.     SPACE 12               ' This sample is tiny, only 12K required.
  839.  
  840.  
  841.     '  Prompt for the drive to install to:
  842.  
  843.     DRIVE C 28 10 31 15 32 14 79
  844.     '         C = drive C, the pre-stuffed drive letter
  845.     '        28 = locate window at  28 characters across
  846.     '        10 =              and  10  rows down
  847.     '        31 = blue background and high intensity white foreground
  848.     '        15 = input on a black background with white letters
  849.     '        32 = error message located at 32 characters across
  850.     '        14 =                      and 14 rows down
  851.     '        79 = any error message will appear in a red window with
  852.     '             high intensity white letters
  853.  
  854.  
  855.     ' Prompt with default path \SAMPLE
  856.  
  857.     ' INSTALL.EXE  will work the same way whether the user enters SAMPLE,
  858.     ' \SAMPLE\, or \SAMPLE.  Mutiple directories such as \SAMPLE\UTIL\FREE
  859.     ' are also supported.
  860.  
  861.     PATH \SAMPLE 12 10 31 15 32 14 79
  862.  
  863.     ' the numbers above represent window locations and colors.  See the
  864.     ' documentation for more details
  865.  
  866.  
  867.     '  Unpack the files from the floppy drive.
  868.  
  869.     UNPACK SAMPLE.PAK 24 10 31 32 14 79
  870.  
  871.     ' SAMPLE.PAK was compressed using the enclosed PACKER utility.  This
  872.     ' utility will compress files 50% or more depending on the file type.
  873.     ' you should get compression results close to that of PKZIP.
  874.  
  875.  
  876.    ImagiSOFT, Inc.  The Finishing Touch                             Page 14
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.     ' the numbers above represent window locations and colors.  See the
  885.     ' documentation for more details
  886.  
  887.  
  888.     ' just for fun, open the disk drive in the middle of the installation
  889.     ' and see what happens.
  890.  
  891.     JUMP.FAIL INSTALL_FAILURE
  892.  
  893.  
  894.     ' Inform user that software installation is now complete
  895.  
  896.     WINOPEN 0 10 31
  897.  
  898.     "A FREE utility is now installed on your computer."
  899.     "To see what it is, use the following command:"
  900.     "   CD\SAMPLE   (or the name of the directory you"
  901.     "entered earlier).  Our way of saying  THANKS for"
  902.     "taking the time to review The Finishing Touch."
  903.     ""
  904.     "Press the [Enter] key to continue."
  905.  
  906.  
  907.     ' Wait for the user to press the [Enter] key so they can
  908.     ' read the above window
  909.  
  910.     WAIT 50 17
  911.  
  912.     ' the numbers above are the cursor location
  913.  
  914.  
  915.     ' ------------------------
  916.     ' exit the system normally
  917.     ' ------------------------
  918.  
  919.     ' this will close any open windows and clear the screen
  920.  
  921.     END
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.    ImagiSOFT, Inc.  The Finishing Touch                             Page 15
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.     ' ----------------------
  948.     ' Installation Failure.
  949.     ' It is a good idea to
  950.     ' add a similar routine
  951.     ' to the bottom of all
  952.     ' script files.
  953.     ' ----------------------
  954.  
  955.     :INSTALL_FAILURE
  956.  
  957.     ' labels begin with a colon and can be up to 32 characters long.
  958.  
  959.     WINOPEN 0 11 79
  960.  
  961.     ' the easiest way to center a message on the screen is to make
  962.     ' either the x or y coordinates "0".
  963.     ' 79 is a red window with white letters (good for error messages)
  964.  
  965.     "THE INSTALLATION PROGRAM FAILED PRIOR TO COMPLETION"
  966.     ""
  967.     "Possible reasons:"
  968.     "   -- The floppy disk was removed prior to completion."
  969.     "   -- The floppy disk was damaged during shipping."
  970.     "   -- Your disk drive is out of alignment."
  971.     ""
  972.     "Press [Enter] to remove incomplete program files."
  973.  
  974.     WAIT 62 19
  975.  
  976.  
  977.     ' delete all partial files using internal variables
  978.     '   ~1 = the drive the user installed to (C: was the default)
  979.     '   ~2 = the path the user installed to (\SAMPLE was the default)
  980.  
  981.     DELETE ~1~2\*.* 0 0 31
  982.  
  983.     ' now remove the directory
  984.  
  985.     RD ~1~2
  986.  
  987.     WINCLOSE
  988.  
  989.     WINOPEN 0 11 31
  990.  
  991.     "Partially Installed Files are Now Deleted."
  992.     ""
  993.     "      Press [Enter] to Quit."
  994.  
  995.     WAIT 47 14
  996.  
  997.     ========================   END OF SCRIPT FILE   =======================
  998.  
  999.  
  1000.  
  1001.  
  1002.    ImagiSOFT, Inc.  The Finishing Touch                             Page 16
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.     STEP 6:  COPY FILES TO 1ST MASTER DISK
  1010.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1011.     COPY  INSTALL.EXE and INSTALL.FIL  (newly  created  above)  to   master
  1012.     diskette number one.  You may want to copy a third file, TEMP.FIL which
  1013.     is  filled with about 2K of "padding" in case you need to make  changes
  1014.     to INSTALL.FIL later.  Delete TEMP.FIL prior to final distribution.
  1015.  
  1016.  
  1017.     STEP 7: USE THE PACKER UTILITY
  1018.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1019.     Make sure PACKER.EXE is in your PATH.  We put it in our \UTIL directory
  1020.     which is where we keep all our commonly used utilities such as  PACKER.
  1021.     Again,  using ImagiMOVIE Guide as our example, move to  the  \MASTER\M\
  1022.     subdirectory with the command CD \MASTER\M.  (For Chinese Checkers move
  1023.     to the \MASTER\CHINESE subdirectory with CD \MASTER\CHINESE.)
  1024.  
  1025.     Enter the command:
  1026.        PACKER A:IMOVIE.PAK *.* /S
  1027.  
  1028.                A:IMOVIE.PAK     is  the name of the file that contains  the
  1029.                                 software in a compressed form.  PACKER will
  1030.                                 stretch this file across as many  formatted
  1031.                                 disks as it needs to.
  1032.  
  1033.                                 NOTE:  PACKER uses a very safe and reliable
  1034.                                 compression  algorithm and writes a 32  bit
  1035.                                 CRC  identification in the PACKED  file  to
  1036.                                 ensure  that  INSTALL  UNPACKS  each   file
  1037.                                 correctly.
  1038.  
  1039.                *.*              means  that PACKER will compress  and  copy
  1040.                                 all  files into IMOVIE.PAK.  While you  are
  1041.                                 testing  your first version of your  edited
  1042.                                 INSTALL.FIL,  you  may want  to  substitute
  1043.                                 *.EXE  here  so  that  only  a  very  small
  1044.                                 IMOVIE.PAK  file will be created  for  your
  1045.                                 first round of testing.
  1046.  
  1047.                /S               is  PACKER's  instruction  to  include  the
  1048.                                 files  in  subdirectories  too.  In   other
  1049.                                 words, copy all the software, not just  one
  1050.                                 directory.  In general, if you are  PACKING
  1051.                                 subdirectories,   use  the  /S  switch   in
  1052.                                 conjunction with the other options you have
  1053.                                 selected,  including  /L and /X  (see  next
  1054.                                 page).
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.    ImagiSOFT, Inc.  The Finishing Touch                             Page 17
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.     OTHER COMMANDS FOR PACKER
  1074.  
  1075.                /O               means to overwrite the existing file.   Use
  1076.                                 this instruction if you are updating a  set
  1077.                                 of Master Disks.
  1078.  
  1079.                /L               will  list  the files in the  packed  file.
  1080.                                 For example PACKER A:IMOVIE.PAK /L /S  will
  1081.                                 list  the  contents  of  the  PACKED  file,
  1082.                                 including  file name, date, time, CRC,  and
  1083.                                 compression   percentage.   Using  the   /L
  1084.                                 switch  will give you a clear idea of  just
  1085.                                 how  effective  our  The  Finishing   Touch
  1086.                                 utility is in reducing disk space!
  1087.  
  1088.                /X               will extract the files in the packed  file.
  1089.                                 Use the /X command when you need to extract
  1090.                                 files    without    INSTALL.EXE's    pretty
  1091.                                 interface.
  1092.  
  1093.     STEP 8:  TEST YOUR WORK
  1094.     ~~~~~~~~~~~~~~~~~~~~~~~
  1095.     The last step is to test your work.  Install the software on a AT LEAST
  1096.     ONE computer other than the one you created the masters from.  Ideally,
  1097.     this is a computer with nothing but DOS, CONFIG.SYS, and  AUTOEXEC.BAT,
  1098.     and no PATH or APPEND statements.  This will prevent files in your PATH
  1099.     from  being  found on your computer that probably won't be on  the  end
  1100.     user's computer.  It will also test the alignment of your disk  drives.
  1101.     Sometimes when disks are slightly out of alignment, diskettes formatted
  1102.     and files copied on one computer will work just fine on that  computer,
  1103.     but  the  same  disks tested on another computer will  fail.   (We  use
  1104.     CHECKIT to test our disk drives before offloading masters).  Be sure to
  1105.     test  your  disks on an LCD laptop to ensure that all your  colors  are
  1106.     visible.   Better yet--prompt the user with a window in  the  beginning
  1107.     which asks "Can you see this in color Y/N?" and JUMP.NO to an identical
  1108.     script  using black and white colors.  Try to install your disks  to  a
  1109.     drive that doesn't have enough disk space (such as drive B:), and  test
  1110.     every  option  in  your install script to make sure  your  script  file
  1111.     doesn't have "bugs".
  1112.  
  1113.  
  1114.     STEP 9:  WRITE INSTALLATION INSTRUCTIONS
  1115.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1116.     Your  instructions for the end user should be short, sweet and easy  to
  1117.     find.  Something similar to the following three instructions is usually
  1118.     enough:
  1119.  
  1120.          1.  Insert the 1st disk in a floppy drive.
  1121.  
  1122.          2.  Enter  the  command  A:INSTALL (or B:INSTALL)  and  press  the
  1123.              [Enter] key.  Follow the simple instructions as they appear on
  1124.              the screen.
  1125.  
  1126.  
  1127.  
  1128.    ImagiSOFT, Inc.  The Finishing Touch                             Page 18
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.          3.  After your software is installed, enter the command MOVIE from
  1136.              your root directory to run the ImagiMOVIE GUIDE software.
  1137.  
  1138.  
  1139.     IN SUMMARY
  1140.     ~~~~~~~~~~
  1141.     The Finishing Touch is a flexible, powerful utility which will save you
  1142.     THOUSANDS  of dollars in diskette duplication fees,  postage,  mailers,
  1143.     and installation support problems.  We hope that you find it to be  the
  1144.     most  useful,  easy to use, and smallest installation  program  on  the
  1145.     market!
  1146.  
  1147.  
  1148.     ASSOCIATION OF SHAREWARE PROFESSIONALS MEMBERSHIP
  1149.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1150.     ImagiSOFT,   Inc.  is  a  member  of  the  Association   of   Shareware
  1151.     Professionals  (ASP).   ASP  wants  to make  sure  that  the  shareware
  1152.     principle  works  for you.  If you are unable to resolve  a  shareware-
  1153.     related  problem with an ASP member by contacting the member  directly,
  1154.     ASP may be able to help.  The  ASP Ombudsman can  help  you  resolve  a
  1155.                                              dispute or problem with an ASP
  1156.              _______                         member,  but does not  provide
  1157.         ____|__     |               (r)      technical support for members'
  1158.      --|       |    |-------------------     products.  Please write to the
  1159.        |   ____|__  |  Association of        ASP  Ombudsman  at  545 Grover
  1160.        |  |       |_|  Shareware             Road,  Muskegon,  MI  49442 or
  1161.        |__|   o   |    Professionals         send a CompuServe  message via
  1162.      -----|   |   |---------------------     via  CompuServe  Mail  to  ASP
  1163.           |___|___|                          Ombudsman 70007,3536.
  1164.  
  1165.  
  1166.     THANK YOU!
  1167.     ~~~~~~~~~~
  1168.     We at ImagiSOFT, Inc. would like to thank you, our customers, for using
  1169.     The Finishing Touch.  The financial support of our loyal customers  has
  1170.     made   The  Finishing Touch possible.   We appreciate  you  very  much.
  1171.     Look  for our graphics-oriented games and other ImagiSOFT  products  on
  1172.     your local BBS or shareware vendor catalog.
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.    ImagiSOFT, Inc.  The Finishing Touch                             Page 19
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.                                   APPENDIX A
  1199.  
  1200.                              SCRIPT FILE COMMANDS
  1201.  
  1202.  
  1203.  
  1204.     ASK Command
  1205.  
  1206.     Purpose:     Wait for "Yes" or "No" response from user.
  1207.  
  1208.     Parameters:  ASK x y
  1209.                  x = x position of the cursor
  1210.                  y = y position of the cursor
  1211.  
  1212.     Remarks:     This  command  generally should be preceded by  a  WINOPEN
  1213.                  command, and will generally be followed by either JUMP.YES
  1214.                  or JUMP.NO.
  1215.  
  1216.                  If  the  LANGUAGE command has been issued  in  a  language
  1217.                  other than ENGLISH, ASK will behave slightly  differently;
  1218.                  instead  of "y" or "n" (yes or no), ASK waits for  "o"  or
  1219.                  "n"  (oui / non) if the LANGUAGE FRENCH command  has  been
  1220.                  given.   In Spanish ASK waits until either an "s"  or  "n"
  1221.                  (si / no) key is pressed.  If the LANGUAGE GERMAN  command
  1222.                  has  been  given,  INSTALL  waits  for  the  "j"  or   "n"
  1223.                  (jah / nign) to be pressed.
  1224.  
  1225.     Example:     WINOPEN 0 0 31
  1226.                  "     Do You Want to Install"
  1227.                  "Sound Blaster Files     Y or N?"
  1228.                  ASK 49 13
  1229.                  JUMP.NO EXIT_PROGRAM
  1230.  
  1231.                  The  example  above centers blue and white window  on  the
  1232.                  screen,  locates  the cursor 49 characters across  and  13
  1233.                  rows down, then waits for the user to press the "Y",  "y",
  1234.                  "N"  or  "n".   If the "Y" key  is  pressed,  the  JUMP.NO
  1235.                  command  is  skipped and INSTALL.EXE processes  the  Sound
  1236.                  Blaster  installation logic.  If the "N" key  is  pressed,
  1237.                  INSTALL.EXE  proceeds  to the label EXIT_PROGRAM  and  the
  1238.                  Sound Blaster installation logic is skipped.
  1239.  
  1240.     Errors:      None.
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.     ImagiSOFT, Inc.  Script File Commands                            Page 20
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.     BACKGROUND Command
  1262.  
  1263.     Purpose:     Sets background color
  1264.  
  1265.     Parameters:  BACKGROUND c
  1266.                  c = color numeric value between 0 - 255
  1267.                      (see color chart on page 12)
  1268.  
  1269.     Remarks:     Generally, this is the first command in the script file.
  1270.  
  1271.     Example:     BACKGROUND 63
  1272.                  Displays  a  cyan background and a  high  intensity  white
  1273.                  foreground.   Since  the high intensity  white  foreground
  1274.                  doesn't show, choosing any of the numbers between  48 - 63
  1275.                  will display a cyan background.
  1276.  
  1277.     Errors:      None.   If  INSTALL.EXE  detects a  monochrome  (not  LCD)
  1278.                  monitor it uses a predefined color set.
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.     ImagiSOFT, Inc.  Script File Commands                            Page 21
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.     BEEP Command
  1325.  
  1326.     Purpose:     To cause the computer's internal speaker to "beep".
  1327.  
  1328.     Parameters:  BEEP
  1329.  
  1330.     Remarks:     You may want to use this command after an error message or
  1331.                  just  prior  to  prompting for a new disk  with  the  DISK
  1332.                  command.   The  trouble with using this  command  is  that
  1333.                  internal messages and errors don't "beep", so your  "beep"
  1334.                  command may appear to be inconsistent with the rest of the
  1335.                  software.
  1336.  
  1337.     Example:     BEEP
  1338.                  DISK 4 FOUR.FIL 0 0 31
  1339.  
  1340.                  The above example will issue a "beep" just prior to asking
  1341.                  the user to insert disk number 4.
  1342.  
  1343.     Errors:      None
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.     ImagiSOFT, Inc.  Script File Commands                            Page 22
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.     COPY Command
  1388.  
  1389.     Purpose:     To copy files from one disk or directory to another.
  1390.  
  1391.     Parameters:  COPY f1 f2 x y c
  1392.                  f1 = the source file name.  globals (*.*, ?) are valid.
  1393.                  f2 = the target file name.
  1394.                  x  = the x position of the upper left corner of the window
  1395.                  y  = the y position of the upper left corner of the window
  1396.                  c  = numeric color value between 0 - 255 (see color chart)
  1397.  
  1398.     Remarks:     This  command is similar to the COPY command in DOS.   You
  1399.                  should  generally  include  one or more  of  the  internal
  1400.                  variables as part of the above file names when issuing the
  1401.                  COPY in your script file.  See VARIABLES in APPENDIX B for
  1402.                  more information.
  1403.  
  1404.                  You  may want to follow the COPY command with a  JUMP.FAIL
  1405.                  command  just  in case there is something wrong  with  the
  1406.                  user's disk.  The internal "fail" variable will get set if
  1407.                  the  COPY  command fails because of a disk  error  or  the
  1408.                  user's installation disk is full.
  1409.  
  1410.     Example 1:   COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK
  1411.  
  1412.                  You should create a backup of the user's AUTOEXEC.BAT when
  1413.                  you modify it with the FILE or SET.PATH command.   Similar
  1414.                  reasoning applies to modifying the user's CONFIG.SYS  with
  1415.                  the FILE or SET.FILES commands.
  1416.  
  1417.     Example 2:   :LCD
  1418.                  DISK 2 CONTROL.LCD 0 0 31
  1419.                  COPY ~0\CONTROL.LCD ~1~2\CONTROL.FIL 0 0 31
  1420.                  JUMP.FAIL LCD
  1421.  
  1422.                  In this example the user has previously told us that  they
  1423.                  are  using  an LCD laptop.  We copy the  file  CONTROL.LCD
  1424.                  which has the default laptop screen color configuration on
  1425.                  top  of  the  existing  file  CONTROL.FIL  in  the  user's
  1426.                  selected installation drive and path.
  1427.  
  1428.                  Since   at  this  point,  we  have  already   successfully
  1429.                  installed  the software to the user's hard drive,  we  can
  1430.                  assume the only thing that would cause the JUMP.FAIL  flag
  1431.                  to be set if the user prematurely opens the floppy  drive,
  1432.                  which is why you see the above "endless loop" structure.
  1433.  
  1434.     Errors:      None.
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.     ImagiSOFT, Inc.  Script File Commands                            Page 23
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.     CPU Command
  1451.  
  1452.     Purpose:     Test for a minimum required CPU type, 286 or 386.
  1453.  
  1454.     Parameters:  CPU p
  1455.                  p = minimum required processor type, 286 or 386
  1456.  
  1457.     Remarks:     Some programs are written to take advantage of certain 286
  1458.                  or 386 instructions which can enhance execution speed.  If
  1459.                  your program requires one of these processors (or  higher)
  1460.                  then  use  the CPU command as part  of  your  installation
  1461.                  script.   It should be immediately followed by a  JUMP.YES
  1462.                  or JUMP.NO command.
  1463.  
  1464.     Example:     CPU 386
  1465.                  The  above example tests for an 80386 as the  minimum  CPU
  1466.                  required  for the software.  If the computer has an  80386
  1467.                  or  80486  processor,  the internal flag will  be  set  to
  1468.                  "Yes";  if  the computer has an 8088, 8086, or  80286  the
  1469.                  internal flag will be set to "No".
  1470.  
  1471.                  The  next command should be JUMP.NO (JUMP.YES  would  work
  1472.                  equally  as  well depending on the logic  of  your  script
  1473.                  file), for example:
  1474.                       JUMP.NO NO_386_CPU
  1475.                  The  label :NO_386_CPU could have a WINOPEN command  which
  1476.                  tells  them that their computer doesn't have  the  minimum
  1477.                  required  hardware,  or it could have  an  UNPACK  command
  1478.                  which contains an alternate program version.
  1479.  
  1480.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  1481.                  APPENDIX B.
  1482.  
  1483.     Errors:      None.
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.     ImagiSOFT, Inc.  Script File Commands                            Page 24
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.     DELETE Command
  1514.  
  1515.     Purpose:     Delete files from the installation disk.
  1516.  
  1517.     Parameters:  DELETE f x y c
  1518.                  f = the file name.  globals (*.*, ?) are valid.
  1519.                  x = the x position of the upper left corner of the window
  1520.                  y = the y position of the upper left corner of the window
  1521.                  c = numeric color value between 0 - 255 (see color chart)
  1522.  
  1523.     Remarks:     This  command is similar to the DEL command in  DOS.   You
  1524.                  should  generally  include  one or more  of  the  internal
  1525.                  variables as part of the file name when issuing the DELETE
  1526.                  in your script file.  See VARIABLES in APPENDIX B for more
  1527.                  information.
  1528.  
  1529.                  You may want to follow the DELETE command with a JUMP.FAIL
  1530.                  command  just  in case there is something wrong  with  the
  1531.                  user's  installation disk.  The internal  "fail"  variable
  1532.                  will get set if the DELETE command fails because of a disk
  1533.                  error.
  1534.  
  1535.     Example 1:   DELETE ~1~2\DATA\*.* 0 0 31
  1536.                  JUMP.FAIL INSTALL_FAILURE
  1537.  
  1538.                  This  example deletes all the files in a directory  called
  1539.                  "DATA"  beneath the main directory the user installed  the
  1540.                  software  to.   The  variable ~1 is  the  drive  the  user
  1541.                  installed to, and ~2 is the path the user installed to.
  1542.  
  1543.     Example 2:   VIDEO EGA                       ' test for ega monitor
  1544.                  JUMP.NO CGA_CONFIG              ' no ega, jump to label
  1545.                  DELETE ~1~2\*.CGA 0 0 31        ' delete cga files
  1546.                  JUMP.FAIL INSTALL_FAILURE       ' in case of disk error
  1547.                  JUMP DONE                       ' skip cga configuration
  1548.                  :CGA_CONFIG                     ' label
  1549.                  DELETE ~1~2\*.EGA 0 0 31        ' delete ega files
  1550.                  JUMP.FAIL INSTALL_FAILURE       ' in case of disk error
  1551.                  :DONE                           ' label
  1552.  
  1553.                  This is an example where a game manufacturer has both  EGA
  1554.                  and CGA screens for their game.  The EGA screens have  the
  1555.                  extension .EGA whereas the CGA screens have the  extension
  1556.                  .CGA.  The above logic first checks for an EGA (or better)
  1557.                  monitor.   If  it finds EGA it deletes  the  CGA  screens,
  1558.                  otherwise  it "jumps" to CGA_CONFIG which deletes the  EGA
  1559.                  screens.
  1560.  
  1561.                  If your programs don't take up too much disk space you can
  1562.                  use a short script file which installs all the files  from
  1563.                  the  PACKED file then deletes any unused files such as  in
  1564.                  the above example.
  1565.  
  1566.     Errors:      None.
  1567.  
  1568.  
  1569.     ImagiSOFT, Inc.  Script File Commands                            Page 25
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.     DISK Command
  1577.  
  1578.     Purpose:     Prompt the user to insert one of the installation disks.
  1579.  
  1580.     Parameters:  DISK d f x y c
  1581.                  d = a numeric value equal to the disk number
  1582.                  f = the name of a file on the disk for verification
  1583.                  x = x position of the upper left hand corner of message
  1584.                  y = y position of the upper left hand corner of message
  1585.                  c = numeric color value (see color chart on page 12)
  1586.  
  1587.     Remarks:     Use  the DISK command when you want to prompt for  a  disk
  1588.                  out  of sequence, such as when using the ASK  command  and
  1589.                  UNPACKing several .PAK files.  See the UNPACK command  for
  1590.                  an example of using DISK to install a word processor which
  1591.                  uses several UNPACK commands.
  1592.  
  1593.                  Another  way to use DISK is when you want to COPY a  group
  1594.                  of  files  and  want to ensure that the  correct  disk  is
  1595.                  inserted prior to COPYing them.  A creative combination of
  1596.                  the  commands EXIST, JUMP.YES, DISK and COPY can help  you
  1597.                  keep  the  same  script  file for  both  5.25"  and  3.50"
  1598.                  floppies.
  1599.  
  1600.                  If  you  prompt  for  disk  "0",  the  DISK  command  will
  1601.                  increment  the current disk counter by 1.  This is  useful
  1602.                  when you are using the same script file for both 3.5"  and
  1603.                  5.25"  floppies and the disk number is different for  both
  1604.                  disk versions.
  1605.  
  1606.                  Note:   When  using the DISK command it is vital  to  have
  1607.                  DISK  search for a unique file name which is not found  on
  1608.                  any  other disk in the installation set.  If  your  script
  1609.                  directs DISK to search for a PACKed file on the disk, make
  1610.                  sure  that the PACKed file does not span across  disks  or
  1611.                  INSTALL will return with a fatal error if the user inserts
  1612.                  the wrong disk!  Create a 1 byte file such as FOUR.FIL  to
  1613.                  tell DISK which disk is disk 4 if you have to!
  1614.  
  1615.     Example:     DISK 4 FOUR.FIL 0 0 31
  1616.  
  1617.                  The  above command will display a blue window  with  white
  1618.                  letters, centered on the screen which reads:
  1619.  
  1620.                      Please insert disk 4.
  1621.  
  1622.                      Press the [Enter] key to continue.
  1623.  
  1624.                  This  window will remain on the screen until  the  [Enter]
  1625.                  key is pressed and the disk is inserted which contains the
  1626.                  file FOUR.FIL.
  1627.  
  1628.     Errors:      None.
  1629.  
  1630.  
  1631.  
  1632.     ImagiSOFT, Inc.  Script File Commands                            Page 26
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.     DOS Command
  1640.  
  1641.     Purpose:     Test for a minimum required DOS version.
  1642.  
  1643.     Parameters:  DOS v
  1644.                  v = minimum required DOS version.
  1645.  
  1646.     Remarks:     Some  programs  make DOS specific calls which may  not  be
  1647.                  available  on  earlier versions of DOS.  If  your  program
  1648.                  requires a certain DOS version use the DOS command in your
  1649.                  installation script.  It should be immediately followed by
  1650.                  a JUMP.YES or JUMP.NO command.
  1651.  
  1652.     Example:     DOS 3.3
  1653.                  The above example tests DOS version 3.3 as the minimum DOS
  1654.                  version required to run the software.  If the computer has
  1655.                  DOS version 3.3 or above the internal flag will be set  to
  1656.                  "Yes"; a lower version will set the internal flag to "No".
  1657.  
  1658.                  The  next command should be JUMP.NO (JUMP.YES  would  work
  1659.                  equally  as  well depending on the logic  of  your  script
  1660.                  file), for example:
  1661.                       JUMP.NO OLD_DOS
  1662.                  The  label  :OLD_DOS could have a  WINOPEN  command  which
  1663.                  tells  them  that  their computer doesn't  have  a  recent
  1664.                  enough  DOS  version, or it could have an  UNPACK  command
  1665.                  which contains an alternate program version.
  1666.  
  1667.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  1668.                  APPENDIX B.
  1669.  
  1670.                  Hint:  If you are using the FILE command to write a  batch
  1671.                  file  use  the DOS command to test for DOS  3.3  or  above
  1672.                  before  writing  the file.  If the DOS version is  3.3  or
  1673.                  higher,  you  can  precede each command with  "@"  so  the
  1674.                  command  in  your  batch file won't be  displayed  on  the
  1675.                  user's screen.
  1676.  
  1677.     Errors:      None.
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.     ImagiSOFT, Inc.  Script File Commands                            Page 27
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.     DRIVE Command
  1703.  
  1704.     Purpose:     Prompt the user for the drive to install to.
  1705.  
  1706.     Parameters:  DRIVE d wx wy wc ic mx my mc
  1707.                  d  = the pre-stuffed drive letter (C, D, E, F, etc.)
  1708.                  wx = the x position of the upper left corner of the window
  1709.                  wy = the y position of the upper left corner of the window
  1710.                  wc = the window color (see color chart on page 12)
  1711.                  ic = the input color  (see color chart on page 12)
  1712.                  mx = error message window x position
  1713.                  my = error message window y position
  1714.                  mc = the error message color.  Value between 0 - 255
  1715.                       (see color chart on page 12)
  1716.  
  1717.     Remarks:     The drive can be any value from A to Z.  The DRIVE command
  1718.                  should  generally  be  preceded  by  the  SPACE   command.
  1719.                  Issuance of DRIVE sets the variable ~1.  See also the PATH
  1720.                  command.
  1721.  
  1722.     Example:     DRIVE C 28 10 31 15 32 14 79
  1723.                  C  = pre-stuff the window with drive C as a default
  1724.                  28 = locate window at 28 characters across
  1725.                  10 = locate window at 10 rows down
  1726.                  31 = blue background window with bright white border
  1727.                  15 = input on black background with bright white letters
  1728.                  32 = error message located at 32 characters across
  1729.                  14 = error message located at 14 rows down
  1730.                  79 = errors displayed in a red window with white letters
  1731.  
  1732.                  If the user elects to install to drive C, in the  example
  1733.                  above, the variable ~1 would equal C  This variable  adds
  1734.                  tremendous power to The Finishing Touch; see the  WINOPEN,
  1735.                  MD,  RD, COPY, DELETE, FILE, SHELL, and RUN  commands  for
  1736.                  examples.
  1737.  
  1738.     Errors:      Several errors can occur here which is why you must  input
  1739.                  the coordinates and colors of the possible error message.
  1740.  
  1741.                  The first thing INSTALL.EXE does is to check to make  sure
  1742.                  that  the  input  drive exists.  If the  user  selects  an
  1743.                  invalid drive the error message
  1744.                       Drive <Drive>: is invalid.
  1745.                  will be displayed in the error message window.
  1746.  
  1747.                  If  the SPACE command has been issued, the  DRIVE  command
  1748.                  checks for sufficient disk space.  If there is not  enough
  1749.                  space to install the program, the error message
  1750.                       No space on drive <Drive>.  (<Amount>K needed)
  1751.                  will be displayed in the error message window.
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.     ImagiSOFT, Inc.  Script File Commands                            Page 28
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.     DRIVE Command (Continued)
  1766.  
  1767.                  If  the user tries to install to a floppy drive  which  is
  1768.                  not ready the message
  1769.                       Drive <Drive>: is not ready.
  1770.                  will be displayed in the error message window.
  1771.  
  1772.                  If  any  of  these errors occur, the  user  must  enter  a
  1773.                  different drive letter, correct the problem, or press  the
  1774.                  [Esc] key to exit installation.
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.     ImagiSOFT, Inc.  Script File Commands                            Page 29
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.     EXIST Command
  1829.  
  1830.     Purpose:     To determine whether or not a file exists.
  1831.  
  1832.     Parameters:  EXIST f
  1833.                  f = file name and path.  Globals (*.*, ?) are valid.
  1834.  
  1835.     Remarks:     The EXIST combined with the JUMP.NO / JUMP.YES commands is
  1836.                  important   when  the  software  you  are  installing   is
  1837.                  dependent upon the existence of other previously installed
  1838.                  software, such as Microsoft Windows(tm).  You should  also
  1839.                  use  it  when  you are sending an  update  to  a  previous
  1840.                  version.
  1841.  
  1842.                  EXIST  looks  for matching entries (both  directories  and
  1843.                  files  will be found), and should always be used prior  to
  1844.                  making  or  deleting  a  directory.  See  the  MD  and  RD
  1845.                  commands for details.
  1846.  
  1847.                  EXIST  is  often followed by a JUMP.FAIL command  in  case
  1848.                  there  is  a fatal disk error on any of  the  user's  disk
  1849.                  drives.
  1850.  
  1851.     Example 1:   :WINDOWS_PROMPT                 ' label for jump command
  1852.                  TELESCOPE OFF                   ' draw windows quickly
  1853.                  SHADOW ON                       ' shadow the window below
  1854.                  WINOPEN 7 4 31
  1855.                  ""
  1856.                  "  Tetris for Windows will be installed into the GAMES
  1857.                           directory  "          ' (connected to line above)
  1858.                  "  beneath the directory where WINDOWS resides."
  1859.                  "  Please enter the location of your WINDOWS directory:"
  1860.                  ""
  1861.                  ""
  1862.                  ""
  1863.                  ""
  1864.                  ""
  1865.                  SHADOW OFF                      ' don't shadow path window
  1866.                  PATH \WINDOWS 8 9 17 15 32 14 79
  1867.                  EXIST ~1~2\WIN.COM              ' test for proper entry
  1868.                  JUMP.NO WINDOWS_PROMPT          ' wrong: jump back
  1869.  
  1870.                  The  example above shows how the EXIST command is used  to
  1871.                  create  an  error trap to ensure that the  user  correctly
  1872.                  informs INSTALL.EXE where the Windows directory is.
  1873.  
  1874.                  Hint:   Notice that the above example uses color 17  (blue
  1875.                  on blue) as a technique to "hide" the outline and  install
  1876.                  messages in the window that normally comes by issuing  the
  1877.                  PATH command.
  1878.  
  1879.     Errors:      None.
  1880.  
  1881.  
  1882.  
  1883.  
  1884.     ImagiSOFT, Inc.  Script File Commands                            Page 30
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.     END Command
  1892.  
  1893.     Purpose:     To end processing of the script file.
  1894.  
  1895.     Parameters:  END
  1896.  
  1897.     Remarks:     The  END  command works exactly the way  the  END  command
  1898.                  works  in BASIC -- it clears the screen and drops to  DOS.
  1899.                  The END command is not necessary if your script file  ends
  1900.                  on  the last line, but usually, error messages are  placed
  1901.                  at the end of the script file.
  1902.  
  1903.     Example:     .
  1904.                  .
  1905.                  .
  1906.                  END
  1907.  
  1908.                  ' ---------------------
  1909.                  ' error message section
  1910.                  ' ---------------------
  1911.  
  1912.                  :NOT_ENOUGH_MEMORY
  1913.  
  1914.                  The  above example shows the main body of the script  file
  1915.                  preceding  the END command, and having the error  messages
  1916.                  placed  at the bottom.  This is the recommended  structure
  1917.                  for script files.
  1918.  
  1919.     Errors:      None.
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.     ImagiSOFT, Inc.  Script File Commands                            Page 31
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.     FILE Command
  1955.  
  1956.     Purpose:     To  append  the end of a file with instructions  from  the
  1957.                  script  file.   This  command  will  create  the  file  if
  1958.                  necessary,  and  is  useful  for  modifying  AUTOEXEC.BAT,
  1959.                  CONFIG.SYS, WIN.INI, and for creating batch files.
  1960.  
  1961.     Parameters:  FILE f
  1962.                  f = the file name
  1963.                  "All commands are held within quotes"
  1964.  
  1965.     Remarks:     The  FILE  command will generally be used  in  conjunction
  1966.                  with the internal variables ~0, ~1, ~2, and ~3.  It should
  1967.                  generally be followed by a JUMP.FAIL command in case there
  1968.                  is a problem with one of the user's disks.
  1969.  
  1970.                  When  using FILE to modify either the user's  AUTOEXEC.BAT
  1971.                  or CONFIG.SYS file, use the COPY command to make a  backup
  1972.                  file.   You may want to use the VIEW command afterward  so
  1973.                  that  the user can see the changes you have made to  these
  1974.                  files.
  1975.  
  1976.     Example 1:   COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK
  1977.                  FILE ~3\AUTOEXEC.BAT
  1978.                  "~1"
  1979.                  "cd ~2"
  1980.                  "menu"
  1981.  
  1982.                  This  example of a menu program installation  tacks  three
  1983.                  commands  at the bottom of AUTOEXEC.BAT -- after making  a
  1984.                  backup first.  The first command selects the  installation
  1985.                  drive, the second changes to the installed directory,  and
  1986.                  the third runs the menu program.
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.     ImagiSOFT, Inc.  Script File Commands                            Page 32
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.     FILE Command  (Continued)
  2018.  
  2019.     Example 2:   DOS 3.3                         ' check for DOS 3.3+
  2020.                  JUMP.NO OLD_DOS                 ' dos 3.2 or lower, jump
  2021.                  FILE ~1\TSA.BAT                 ' create tsa.bat in root
  2022.                  "@~1"
  2023.                  "@cd ~2"
  2024.                  "@sfpinit -b22 start.exe"
  2025.                  "@cd \"
  2026.                  JUMP DONE                       ' jump over old dos stuff
  2027.                  :OLD_DOS                        ' label
  2028.                  FILE ~1\TSA.BAT                 ' create tsa.bat in root
  2029.                  "~1"
  2030.                  "cd ~2"
  2031.                  "sfpinit -b22 start.exe"
  2032.                  "cd \"
  2033.                  :DONE                           ' finished
  2034.  
  2035.                  Example 2 illustrates how the FILE command can be used  to
  2036.                  write  a  batch  file in the root drive  of  the  client's
  2037.                  installation disk so the user can run the software with  a
  2038.                  simple  command,  in this case "TSA".  It checks  for  DOS
  2039.                  version 3.3 or above where the at sign ("@") supresses the
  2040.                  line from being displayed on the screen.  On DOS  versions
  2041.                  3.2 or lower, a batch command beginning with "@" will  not
  2042.                  be processed.
  2043.  
  2044.     Errors:      None.
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.     ImagiSOFT, Inc.  Script File Commands                            Page 33
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.     FILE.DATE Command
  2081.  
  2082.     Purpose:     To check the date of a file.
  2083.  
  2084.     Parameters:  FILE.DATE f d
  2085.                  f = file name and path
  2086.                  d = date of file in MM-DD-YYYY format
  2087.  
  2088.     Remarks:     FILE.DATE combined with the JUMP.NO / JUMP.YES commands is
  2089.                  useful  when  you  are sending an update  for  a  previous
  2090.                  software  version.   Testing the file date  is  not  "fool
  2091.                  proof",  however, because some backup programs modify  the
  2092.                  time  and  date  of  files.   The  FILE.SIZE  command   is
  2093.                  generally  a  more  reliable method  of  testing  for  the
  2094.                  current software version.
  2095.  
  2096.                  FILE.DATE  may be followed by a JUMP.FAIL command in  case
  2097.                  there  is  a fatal disk error on the  user's  installation
  2098.                  disk drive.
  2099.  
  2100.     Example:     :TSA_PROMPT                     ' label for jump command
  2101.                  TELESCOPE OFF                   ' draw windows quickly
  2102.                  SHADOW ON                       ' shadow the window below
  2103.                  WINOPEN 15 2 31
  2104.                  "Tax Sheltered Annuity Software Update"
  2105.                  "              July 1, 1992"
  2106.                  ""
  2107.                  "Please enter the location of your TSA directory:"
  2108.                  ""
  2109.                  ""
  2110.                  ""
  2111.                  ""
  2112.                  ""
  2113.                  SHADOW OFF                        ' no shadow path window
  2114.                  PATH \TSA 16 7 17 15 32 14 79     ' prompt for directory
  2115.                  EXIST ~1~2\TSA.EXE                ' test for correct dir
  2116.                  JUMP.NO TSA_PROMPT                ' wrong: jump back
  2117.                  FILE.DATE ~1~2\TSA.EXE 01-01-1992 ' test version
  2118.                  JUMP.NO MISSED_UPDATE             ' wrong version
  2119.  
  2120.                  The example above shows one method of using INSTALL.EXE as
  2121.                  a software update program.  If the file date on TSA.EXE is
  2122.                  not  equal  to  January 1, 1992  INSTALL.EXE  jumps  to  a
  2123.                  message  where the user is told that they have  missed  an
  2124.                  update,   and  to  contact  the  home  office   for   more
  2125.                  information.
  2126.  
  2127.                  Hint:   Notice that the above example uses color 17  (blue
  2128.                  on blue) as a technique to "hide" the outline and  install
  2129.                  messages in the window that normally comes by issuing  the
  2130.                  PATH command.
  2131.  
  2132.     Errors:      None.
  2133.  
  2134.  
  2135.  
  2136.     ImagiSOFT, Inc.  Script File Commands                            Page 34
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.     FILE.SIZE Command
  2144.  
  2145.     Purpose:     To check the size of a file.
  2146.  
  2147.     Parameters:  FILE.SIZE f s
  2148.                  f = file name and path
  2149.                  s = size of file in bytes
  2150.  
  2151.     Remarks:     FILE.SIZE combined with the JUMP.NO / JUMP.YES commands is
  2152.                  useful  when  you updating a  previous  software  version.
  2153.                  After the EXIST command has been issued to ensure you  are
  2154.                  in  the proper directory, issue the FILE.SIZE  command  to
  2155.                  make sure they have the latest version of the software.
  2156.  
  2157.                  You  can  also  run FILE.SIZE on WIN.COM  in  the  Windows
  2158.                  directory to test which version of Windows is installed.
  2159.  
  2160.                  FILE.SIZE  may be followed by a JUMP.FAIL command in  case
  2161.                  there  is  a fatal disk error on the  user's  installation
  2162.                  disk drive.
  2163.  
  2164.     Example:     :TSA_PROMPT                     ' label for jump command
  2165.                  TELESCOPE OFF                   ' draw windows quickly
  2166.                  SHADOW ON                       ' shadow the window below
  2167.                  WINOPEN 15 2 31
  2168.                  "Tax Sheltered Annuity Software Update"
  2169.                  "              July 1, 1992"
  2170.                  ""
  2171.                  "Please enter the location of your TSA directory:"
  2172.                  ""
  2173.                  ""
  2174.                  ""
  2175.                  ""
  2176.                  ""
  2177.                  SHADOW OFF                        ' no shadow path window
  2178.                  PATH \TSA 16 7 17 15 32 14 79     ' prompt for directory
  2179.                  EXIST ~1~2\TSA.EXE                ' test for correct dir
  2180.                  JUMP.NO TSA_PROMPT                ' wrong: jump back
  2181.                  FILE.SIZE ~1~2\TSA.EXE 65322      ' test version
  2182.                  JUMP.NO MISSED_UPDATE             ' wrong version
  2183.  
  2184.                  The example above shows one method of using INSTALL.EXE as
  2185.                  a software update program.  If the file size of TSA.EXE is
  2186.                  not  equal  to 65322 then INSTALL.EXE jumps to  a  message
  2187.                  where  the user is told that they have missed  an  update,
  2188.                  and to contact the home office for more information.
  2189.  
  2190.                  Hint:   Notice that the above example uses color 17  (blue
  2191.                  on blue) as a technique to "hide" the outline and  install
  2192.                  messages in the window that normally comes by issuing  the
  2193.                  PATH command.
  2194.  
  2195.     Errors:      None.
  2196.  
  2197.  
  2198.  
  2199.     ImagiSOFT, Inc.  Script File Commands                            Page 35
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.     JUMP Command
  2207.  
  2208.     Purpose:     To skip certain instructions by "jumping" over them.
  2209.  
  2210.     Parameters:  JUMP l
  2211.                  l = Label in your installation script file
  2212.  
  2213.     Remarks:     This  command is similar to the GOTO command in BASIC;  it
  2214.                  is  an  unconditional "jump" to another location  in  your
  2215.                  installation script, called a "label".  It is useful  when
  2216.                  different  parts  of your installation  perform  different
  2217.                  functions.  For example, you might install different files
  2218.                  for  computers  which  have EGA  monitors  than  have  CGA
  2219.                  monitors.
  2220.  
  2221.                  Note:   Labels always begin with a colon, reside on  lines
  2222.                  by  themselves, and don't exceed 32 characters in  length.
  2223.                  Any   ASCII  character  greater  than  32   (the   "space"
  2224.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2225.                  information.
  2226.  
  2227.     Example:     JUMP CGA_CONFIG
  2228.                  .
  2229.                  .
  2230.                  .
  2231.                  :CGA_CONFIG
  2232.  
  2233.     Errors:      None.
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.     ImagiSOFT, Inc.  Script File Commands                            Page 36
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.     JUMP.FAIL Command
  2270.  
  2271.     Purpose:     To   ascertain  whether  a  critical  procedure   in   the
  2272.                  installation process "fails".
  2273.  
  2274.     Parameters:  JUMP.FAIL l
  2275.                  l = Label in your installation script file
  2276.  
  2277.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2278.                  BASIC;  it is a conditional "jump" to another location  in
  2279.                  your installation script, called a "label".  This  command
  2280.                  is  useful if the unexpected causes your  installation  to
  2281.                  "fail".   Commands which can set the internal "fail"  flag
  2282.                  are:  COPY, DELETE, EXIST, FILE, FILE.DATE, FILE.SIZE, MD,
  2283.                  RD, SET.FILES, SET.PATH, UNPACK, and VIEW.
  2284.  
  2285.                  Note:   Labels always begin with a colon, reside on  lines
  2286.                  by  themselves, and don't exceed 32 characters in  length.
  2287.                  Any   ASCII  character  greater  than  32   (the   "space"
  2288.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2289.                  information.
  2290.  
  2291.     Example:     SET.FILES 32
  2292.                  JUMP.FAIL BAD_FILES
  2293.                  .
  2294.                  .
  2295.                  :BAD_FILES
  2296.                  .
  2297.                  .
  2298.                  END
  2299.  
  2300.                  In the above example the SET.FILES command will make  sure
  2301.                  that the FILES statement in CONFIG.SYS is set to at  least
  2302.                  32.  An error could occur due to a number of conditions:
  2303.                    -- CONFIG.SYS is flagged as READ ONLY.
  2304.                    -- The boot disk is not available or ready.
  2305.                    -- The installation disk is full.
  2306.  
  2307.     Errors:      None.
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.     ImagiSOFT, Inc.  Script File Commands                            Page 37
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.     JUMP.NO Command
  2333.  
  2334.     Purpose:     To  skip certain instructions by  conditionally  "jumping"
  2335.                  over them.
  2336.  
  2337.     Parameters:  JUMP.NO l
  2338.                  l = Label in your installation script file
  2339.  
  2340.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2341.                  BASIC;  it is a conditional "jump" to another location  in
  2342.                  your installation script, called a "label".  It is  useful
  2343.                  when  you  different parts of  your  installation  perform
  2344.                  different  functions.   For  example,  you  might  install
  2345.                  different files for computers which have EGA monitors than
  2346.                  have CGA monitors.
  2347.  
  2348.                  JUMP.NO  should  be preceded by a command which  sets  the
  2349.                  internal variable to either "Yes" or "No".  These commands
  2350.                  are:  ASK,  CPU,  EXIST, MOUSE,  and  VIDEO.    A  closely
  2351.                  related command is the JUMP.YES command.
  2352.  
  2353.                  Note:   Labels always begin with a colon, reside on  lines
  2354.                  by  themselves, and don't exceed 32 characters in  length.
  2355.                  Any   ASCII  character  greater  than  32   (the   "space"
  2356.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2357.                  information.
  2358.  
  2359.     Example:     VIDEO EGA                        ' test for EGA or better
  2360.                  JUMP.NO CGA_CONFIG               ' not EGA jump to CGA
  2361.  
  2362.                  ' ega system logic resides here
  2363.  
  2364.                  JUMP EXIT_INSTALL                ' jump over CGA logic
  2365.  
  2366.                  ' configure computer for cga system
  2367.                  :CGA_CONFIG
  2368.  
  2369.                  ' cga system logic resides here
  2370.  
  2371.                  :EXIT_INSTALL
  2372.  
  2373.                  The above example tests whether the computer has an EGA or
  2374.                  better monitor, which sets the internal flag to "YES".  If
  2375.                  the  computer  has an EGA or better monitor,  the  JUMP.NO
  2376.                  command isn't activated, so the script continues with  the
  2377.                  EGA  system logic directly under the JUMP.NO command.   If
  2378.                  the  computer doesn't have an EGA or better  monitor,  the
  2379.                  JUMP.NO  command  "jumps"  to  the  label  CGA_CONFIG  and
  2380.                  continues with the script.
  2381.  
  2382.     Errors:      None.
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.     ImagiSOFT, Inc.  Script File Commands                            Page 38
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.     JUMP.YES Command
  2396.  
  2397.     Purpose:     To  skip certain instructions by  conditionally  "jumping"
  2398.                  over them.
  2399.  
  2400.     Parameters:  JUMP.YES l
  2401.                  l = Label in your installation script file
  2402.  
  2403.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2404.                  BASIC;  it is a conditional "jump" to another location  in
  2405.                  your installation script, called a "label".  It is  useful
  2406.                  when  you  different parts of  your  installation  perform
  2407.                  different  functions.   For  example,  you  might  install
  2408.                  different files for computers which have EGA monitors than
  2409.                  have CGA monitors.
  2410.  
  2411.                  JUMP.YES  should be preceded by a command which  sets  the
  2412.                  internal variable to either "Yes" or "No".  These commands
  2413.                  are:  ASK,  CPU,  EXIST, MOUSE,  and  VIDEO.    A  closely
  2414.                  related command is the JUMP.NO command.
  2415.  
  2416.                  Note:   Labels always begin with a colon, reside on  lines
  2417.                  by  themselves, and don't exceed 32 characters in  length.
  2418.                  Any   ASCII  character  greater  than  32   (the   "space"
  2419.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2420.                  information.
  2421.  
  2422.     Example:     VIDEO EGA                        ' test for EGA or better
  2423.                  JUMP.YES EGA_CONFIG              ' if EGA jump to EGA
  2424.  
  2425.                  ' non-EGA system logic resides here
  2426.  
  2427.                  JUMP EXIT_INSTALL                ' jump over EGA logic
  2428.  
  2429.                  ' configure computer for ega system
  2430.                  :EGA_CONFIG
  2431.  
  2432.                  ' ega system logic resides here
  2433.  
  2434.                  :EXIT_INSTALL
  2435.  
  2436.                  The above example tests whether the computer has an EGA or
  2437.                  better monitor, which sets the internal flag to "YES".  If
  2438.                  the  computer has an EGA or better monitor,  the  JUMP.YES
  2439.                  command "jumps" to the label EGA_CONFIG and continues with
  2440.                  the script.  If the computer doesn't have at least an EGA,
  2441.                  the script ignores the JUMP.YES command and continues with
  2442.                  the logic under the JUMP.YES command.
  2443.  
  2444.     Errors:      None.
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.     ImagiSOFT, Inc.  Script File Commands                            Page 39
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.     LANGUAGE Command
  2459.  
  2460.     Purpose:     To display INSTALL.EXE's system and error messages in  the
  2461.                  English, French, German, or Spanish language.
  2462.  
  2463.     Parameters:  LANGUAGE l
  2464.                  l = the desired language.
  2465.  
  2466.     Remarks:     The  default  language  is  English,  which  will  be  the
  2467.                  language  of  all INSTALL.EXE's message  if  the  LANGUAGE
  2468.                  command is not given.  If one of the other three supported
  2469.                  languages is being used, the LANGUAGE statement should  be
  2470.                  one of the first commands in the script.
  2471.  
  2472.                  The  ASK command works slightly differently  depending  on
  2473.                  the LANGUAGE selected.  See the ASK command for details.
  2474.  
  2475.     Examples:    LANGUAGE FRENCH
  2476.                  LANGUAGE GERMAN
  2477.                  LANGUAGE SPANISH
  2478.  
  2479.     Errors:      None.
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.     ImagiSOFT, Inc.  Script File Commands                            Page 40
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.     MEMORY Command
  2522.  
  2523.     Purpose:     To  make  sure  the computer has  sufficient  base  memory
  2524.                  installed to run the program.
  2525.  
  2526.     Parameters:  MEMORY m
  2527.                  m = minimum base memory required in K bytes
  2528.  
  2529.     Remarks:     This command is useful, but has its limitations.  It  only
  2530.                  tests the amount of base memory installed in the computer;
  2531.                  it doesn't measure free memory which will be different due
  2532.                  to  TSRs, DOS, FILES, BUFFERS, etc., and it  doesn't  test
  2533.                  for  expanded  or extended memory.  It  should  always  be
  2534.                  followed by either JUMP.YES or JUMP.NO.
  2535.  
  2536.     Example:     MEMORY 512
  2537.                  JUMP.NO NOT_ENOUGH_MEMORY
  2538.  
  2539.                  The  above  example tests to see if the  computer  has  at
  2540.                  least  512K of memory installed; if the computer has  less
  2541.                  it  jumps  to the label NOT_ENOUGH_MEMORY where  an  error
  2542.                  message is displayed.
  2543.  
  2544.     Errors:      None.
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.     ImagiSOFT, Inc.  Script File Commands                            Page 41
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.     MD Command
  2585.  
  2586.     Purpose:     Make a directory on the installation disk.
  2587.  
  2588.     Parameters:  MD d
  2589.                  d = the directory name.
  2590.  
  2591.     Remarks:     This  command  is similar to the MD command in  DOS.   You
  2592.                  should  generally  include  one or more  of  the  internal
  2593.                  variables  as part of the directory name when issuing  the
  2594.                  MD  in your script file.  See VARIABLES in APPENDIX B  for
  2595.                  more information.
  2596.  
  2597.                  You  may  want to follow the MD command with  a  JUMP.FAIL
  2598.                  command  just  in case there is something wrong  with  the
  2599.                  user's  installation disk.  The internal  "fail"  variable
  2600.                  will  get  set if the MD command fails because of  a  disk
  2601.                  error  or  if you try to make a  directory  which  already
  2602.                  exists.   If there is any possibility that  the  directory
  2603.                  already exists, use the EXIST command prior to issuing the
  2604.                  MD command.
  2605.  
  2606.     Example 2:   MD ~1~2\DATA
  2607.                  JUMP.FAIL INSTALL_FAILURE
  2608.  
  2609.                  This example creates a new directory called "DATA" beneath
  2610.                  the  main  directory the user installed the  software  to.
  2611.                  The variable ~1 is the drive the user installed to, and ~2
  2612.                  is the path the user installed to.
  2613.  
  2614.     Example 2:   EXIST ~1\CHINESE
  2615.                  JUMP.YES SKIP_MD
  2616.                  MD ~1\CHINESE
  2617.                  :SKIP_MD
  2618.  
  2619.                  This  example  first tests to see  whether  the  "CHINESE"
  2620.                  directory exists in the root directory of the installation
  2621.                  disk.  If it exists, JUMP.YES "jumps over" the MD command.
  2622.  
  2623.     Errors:      None.
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.     ImagiSOFT, Inc.  Script File Commands                            Page 42
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.     MOUSE Command
  2648.  
  2649.     Purpose:     Test  for  a minimum required Microsoft  mouse  compatible
  2650.                  driver version number.
  2651.  
  2652.     Parameters:  MOUSE v
  2653.                  v = minimum required MOUSE version.
  2654.  
  2655.     Remarks:     Some  programs make MOUSE specific calls which may not  be
  2656.                  available  on earlier versions of MOUSE.  If your  program
  2657.                  requires a certain MOUSE version use the MOUSE command  in
  2658.                  your  installation  script.  MOUSE should  be  immediately
  2659.                  followed by a JUMP.YES or JUMP.NO command.
  2660.  
  2661.     Example:     MOUSE 0.0
  2662.                  The above example tests for the existence of a mouse,  but
  2663.                  doesn't care which version is installed.  This is the most
  2664.                  common use of this command.  If the a Microsoft compatible
  2665.                  mouse is detected the internal flag will be set to  "Yes",
  2666.                  otherwise the flag will be set to "No".
  2667.  
  2668.                  The  next command should be JUMP.NO or JUMP.YES  depending
  2669.                  on the logic of your script file.
  2670.  
  2671.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  2672.                  APPENDIX B.
  2673.  
  2674.     Errors:      None.
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.     ImagiSOFT, Inc.  Script File Commands                            Page 43
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.     PATH Command
  2711.  
  2712.     Purpose:     Prompt  user for the DOS PATH they want to  install  their
  2713.                  software to.
  2714.  
  2715.     Parameters:  PATH p wx wy wc ic mx my
  2716.                  p  = the pre-stuffed path
  2717.                  wx = the x position of the upper left corner of the window
  2718.                  wy = the y position of the upper left corner of the window
  2719.                  wc = numeric window color (see color chart on page 12)
  2720.                  ic = numeric input color  (see color chart on page 12)
  2721.                  mx = error message window x position
  2722.                  my = error message window y position
  2723.                  mc = numeric error message color (see color chart page 12)
  2724.  
  2725.     Remarks:     24 characters are allowed at this prompt.  This command is
  2726.                  not  required, but is recommended for most  installations.
  2727.                  It should be preceded with the DRIVE command.  Issuance of
  2728.                  this command sets the variable ~2.
  2729.  
  2730.     Example:     PATH IMOVIE 12 10 31 15 32 14 79
  2731.                  IMOVIE = pre-stuff the input with IMOVIE as a default path
  2732.                  12 = locate window at 12 characters across
  2733.                  10 = locate window at 10 rows down
  2734.                  31 = blue background window with bright white border
  2735.                  15 = input on black background with bright white letters
  2736.                  32 = error message located at 32 characters across
  2737.                  14 = error message located at 14 rows down
  2738.                  79 = errors displayed in a red window with white letters
  2739.  
  2740.     Errors:      If  the  user backspaces over the default  path  name  and
  2741.                  presses  [Enter] (and thereby entering a null string)  the
  2742.                  error message
  2743.                       Please enter the directory name.
  2744.                  is displayed.
  2745.  
  2746.                  If  the  user enters invalid characters or for  any  other
  2747.                  reason the directory cannot be created the error message
  2748.                           The directory cannot be created.
  2749.                  is displayed.
  2750.  
  2751.                  If either of these errors occur, the user must re-enter  a
  2752.                  valid   PATH  name  or  press  the  [Esc]  key   to   exit
  2753.                  installation.
  2754.  
  2755.                  NOTE:  If the user types in a path name which is too long,
  2756.                  The  Finishing  Touch uses DOS  conventions--it  truncates
  2757.                  everything past the eighth character.  If the user forgets
  2758.                  to  put  a leading "\" or forgets to end with a  "\",  The
  2759.                  Finishing Touch provides it.
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.     ImagiSOFT, Inc.  Script File Commands                            Page 44
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.     PRINT Command
  2774.  
  2775.     Purpose:     Allow the user to print an ASCII file from LPT1.
  2776.  
  2777.     Parameters:  PRINT f
  2778.                  f  = file name
  2779.  
  2780.     Remarks:     The  PRINT  command gives you an easy way to  print  ASCII
  2781.                  files for the user such as READ.ME and AUTOEXEC.BAT.
  2782.  
  2783.                  PRINT sets the JUMP.FAIL flag, if it cannot print the file
  2784.                  to  LPT1.  You should display an error message  displaying
  2785.                  the following possible error conditions:
  2786.                    -- Printer is not turned on
  2787.                    -- Printer is out of paper
  2788.                    -- Printer not attached to LPT1 (parallel port 1)
  2789.                    -- Disk is defective
  2790.                    -- Disk drive is not ready
  2791.  
  2792.     Example:     :PRINT_ORDER_FORM          ' label to jump back to
  2793.                  PRINT ~0\ORDER.TXT         ' print file from install drive
  2794.                  JUMP.FAIL ERROR.MESSAGE    ' jump on fatal error
  2795.                  JUMP CONTINUE              ' print successful, skip next
  2796.                  :ERROR.MESSAGE             ' label for error condition
  2797.                  WINOPEN 0 0 31             ' open the following window
  2798.                  "Your printer is not responding.  Possible problems:"
  2799.                  "   -- Printer is not turned on"
  2800.                  "   -- Printer is out of paper"
  2801.                  "   -- Printer is not attached to LPT1 (parallel port 1)"
  2802.                  ""
  2803.                  "Do you want to try to print again  (Y or N)?"
  2804.                  ASK 53 20                  ' prompt for Y or N key
  2805.                  WINCLOSE                   ' close the window
  2806.                  JUMP.YES PRINT_ORDER_FORM  ' y key pressed, print
  2807.                  :CONTINUE                  ' done with printing
  2808.  
  2809.                  This  example shows how to use the PRINT command, and  how
  2810.                  to write an error trap for printer failure.
  2811.  
  2812.     Errors:      None.
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.     ImagiSOFT, Inc.  Script File Commands                            Page 45
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.     RD Command
  2837.  
  2838.     Purpose:     Remove a directory.
  2839.  
  2840.     Parameters:  RD d
  2841.                  d = the directory name.
  2842.  
  2843.     Remarks:     This  command  is similar to the RD command in  DOS.   You
  2844.                  should  generally  include  one or more  of  the  internal
  2845.                  variables  as part of the directory name when issuing  the
  2846.                  RD  in your script file.  See VARIABLES in APPENDIX B  for
  2847.                  more information.
  2848.  
  2849.                  RD  is  usually accompanied by DELETE to  avoid  an  error
  2850.                  which  results  from trying to remove  a  directory  which
  2851.                  contains files.
  2852.  
  2853.                  You  may  want to follow the RD command with  a  JUMP.FAIL
  2854.                  command  just  in case there is something wrong  with  the
  2855.                  user's  installation disk.  The internal  "fail"  variable
  2856.                  will  get  set if the RD command fails because of  a  disk
  2857.                  error, if you try remove a directory which does not exist,
  2858.                  or  remove a directory which is not empty .  If  there  is
  2859.                  any possibility that the directory does not exist, use the
  2860.                  EXIST command prior to issuing the RD command.
  2861.  
  2862.     Example:     DELETE ~1~2\DATA\*.* 0 0 31
  2863.                  RD ~1~2\DATA
  2864.                  JUMP.FAIL INSTALL_FAILURE
  2865.  
  2866.                  This  example deletes all the files in a directory  called
  2867.                  "DATA"  beneath the main directory the user installed  the
  2868.                  software to, then removes that directory.  The variable ~1
  2869.                  is the drive the user installed to, and ~2 is the path the
  2870.                  user installed to.
  2871.  
  2872.     Example 2:   EXIST ~1\CHINESE
  2873.                  JUMP.NO SKIP_RD
  2874.                  DELETE ~1\CHINESE\*.* 0 0 31
  2875.                  RD ~1\CHINESE
  2876.                  :SKIP_RD
  2877.  
  2878.                  This  example  first tests to see  whether  the  "CHINESE"
  2879.                  directory exists in the root directory of the installation
  2880.                  disk. If the directory doesn't exist, JUMP.NO "jumps over"
  2881.                  the  RD command to avoid setting the internal fatal  error
  2882.                  variable.
  2883.  
  2884.     Errors:      None.
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.     ImagiSOFT, Inc.  Script File Commands                            Page 46
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.     REBOOT Command
  2900.  
  2901.     Purpose:     Instruct the computer to perform a "warm boot".
  2902.  
  2903.     Parameters:  REBOOT
  2904.  
  2905.     Remarks:     If you use REBOOT it should obviously be the last  command
  2906.                  in your script file.  It is equivalent to instructing  the
  2907.                  user to press the CTRL ALT and DEL keys simultaneously.
  2908.  
  2909.                  This  command is only generally only recommended  if  your
  2910.                  script  file  modifies the files in CONFIG.SYS  using  the
  2911.                  SET.FILES  command.   It sometimes makes sense  after  the
  2912.                  script file has changed AUTOEXEC.BAT too.
  2913.  
  2914.     Example:     WINOPEN 0 0 79
  2915.                  "This program may have increased the number of files"
  2916.                  "in your CONFIG.SYS file,  and therefore, to prevent"
  2917.                  "errors, it is necessary to REBOOT YOUR COMPUTER."
  2918.                  ""
  2919.                  "To run the TSA software, enter the command"
  2920.                  "   TSA"
  2921.                  "after you turn your computer on."
  2922.                  ""
  2923.                  ""
  2924.                  "Press [Enter] to REBOOT your computer."
  2925.                  WAIT 16 63
  2926.                  REBOOT
  2927.  
  2928.                  As you can see from the above example, it is always a good
  2929.                  idea to inform the user that you are about to reboot their
  2930.                  computer and why.
  2931.  
  2932.     Errors:      None.
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.     ImagiSOFT, Inc.  Script File Commands                            Page 47
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.     RUN Command
  2963.  
  2964.     Purpose:     To run a DOS command, utility or program without returning
  2965.                  to the installation script.
  2966.  
  2967.     Parameters:  RUN p
  2968.                  p = the name of the program you want to run.
  2969.  
  2970.     Remarks:     RUN's most common function is to run the program you  just
  2971.                  installed,  but any program or batch file can be run  with
  2972.                  the RUN command.
  2973.  
  2974.     Example:     RUN ~1~2\MYPROG
  2975.  
  2976.                  The  above  example  changes to  the  installation  drive,
  2977.                  changes  to  the installation directory,  then  fills  the
  2978.                  keyboard buffer with the command MYPROG then exits to DOS.
  2979.                  See VARIABLES in APPENDIX B for more information.
  2980.  
  2981.     Errors:      None.
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.     ImagiSOFT, Inc.  Script File Commands                            Page 48
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.     SCRIPT Command
  3026.  
  3027.     Purpose:     Load and run a different installation script.
  3028.  
  3029.     Parameters:  SCRIPT f
  3030.                  f = the file name.
  3031.  
  3032.     Remarks:     Each script file is limited to 400 lines.  We imposed this
  3033.                  limit for the following reasons:
  3034.  
  3035.                  - long script files take a long time initially to load
  3036.  
  3037.                  - we  didn't  want  The Finishing Touch to  take  so  much
  3038.                  memory the SHELL command wouldn't work.
  3039.  
  3040.                  - script  files for large programs are usually  easier  to
  3041.                  debug  and  work  with if they  are  broken  into  several
  3042.                  smaller script files rather than one long one.
  3043.  
  3044.     Example:     VIDEO EGA                   ' check for EGA or better
  3045.                  JUMP.NO MCGA_INSTALL        ' no ega, install mcga
  3046.                  EXIST EGA.FIL               ' check for EGA.FIL
  3047.                  JUMP.YES LOAD.EGA           ' found, don't prompt
  3048.                  DISK 2 EGA.FIL 0 0 31       ' prompt to insert disk 2
  3049.                  :LOAD.EGA                   ' label for jump command
  3050.                  SCRIPT EGA.FIL              ' load and process EGA script
  3051.  
  3052.                  In  the  above  example, a game company  has  a  different
  3053.                  installation script for EGA, MCGA, and CGA monitors.   The
  3054.                  above  example shows how good error checking and  multiple
  3055.                  script files can make The Finishing Touch an elegant, easy
  3056.                  to use, and truly useful tool!
  3057.  
  3058.     Errors:      None.
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.     ImagiSOFT, Inc.  Script File Commands                            Page 49
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.     SET.FILES Command
  3089.  
  3090.     Purpose:     Insure that the number of files in the FILES statement  of
  3091.                  CONFIG.SYS  is  at  least equal  to  a  specified  minimum
  3092.                  number.
  3093.  
  3094.     Parameters:  SET.FILES n
  3095.                  n = the minimum number of files
  3096.  
  3097.     Remarks:     If the FILES statement exists in CONFIG.SYS, the SET.FILES
  3098.                  will  evaluate the number of files in the  existing  FILES
  3099.                  statement.   If  the current number of files  exceeds  the
  3100.                  number  specified in the SET.FILES command no change  will
  3101.                  be  made to CONFIG.SYS.  However, if the  FILES  statement
  3102.                  does  not  exist or the number of files is less  than  the
  3103.                  number specified in the SET.FILES command, SET.FILES  will
  3104.                  change  the  FILES statement in CONFIG.SYS to  the  number
  3105.                  specified in the SET.FILES command.
  3106.  
  3107.                  SET.FILES is generally followed by a JUMP.FAIL command  in
  3108.                  case  a  disk  error  occurs.   See  JUMP.FAIL  for   more
  3109.                  information.
  3110.  
  3111.                  SET.FILES  is usually followed by REBOOT.  See the  REBOOT
  3112.                  command for a detailed example.
  3113.  
  3114.     Example:     SET.FILES 16
  3115.                  JUMP.FAIL ABORT_INSTALL
  3116.  
  3117.                  This example makes sure the FILES statement in  CONFIG.SYS
  3118.                  is  at  least equal to 16.  If, for  example,  the  user's
  3119.                  CONFIG.SYS  included the statement FILES = 32,  no  change
  3120.                  would be made to the user's CONFIG.SYS file.  On the other
  3121.                  hand,  if  there  was  no  FILES  command  in  the  user's
  3122.                  CONFIG.SYS, the statement FILES = 16 would be added.
  3123.  
  3124.     Errors:      None.
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.     ImagiSOFT, Inc.  Script File Commands                            Page 50
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.     SET.PATH Command
  3152.  
  3153.     Purpose:     Add   a   directory  name  in  the   PATH   statement   of
  3154.                  AUTOEXEC.BAT.
  3155.  
  3156.     Parameters:  SET.PATH d
  3157.                  d = directory name to add to the PATH statement
  3158.  
  3159.     Remarks:     If the PATH statement exists in AUTOEXEC.BAT, the SET.PATH
  3160.                  will  add the directory at the end of the PATH  statement.
  3161.                  If the PATH statement does not exist, SET.PATH will create
  3162.                  a  new  PATH  statement  in  AUTOEXEC.BAT  containing  the
  3163.                  specified directory name.  The most common use of SET.PATH
  3164.                  is  to  insert the drive and path where the  software  was
  3165.                  installed  using  the internal variables ~1 and  ~2.   See
  3166.                  VARIABLES in APPENDIX B for details.
  3167.  
  3168.                  SET.PATH  is generally followed by a JUMP.FAIL command  in
  3169.                  case  a  disk  error  occurs.   See  JUMP.FAIL  for   more
  3170.                  information.
  3171.  
  3172.                  SET.PATH is also sometimes is followed by REBOOT.
  3173.  
  3174.     Example:     SET.PATH ~1~2
  3175.                  JUMP.FAIL ABORT_INSTALL
  3176.  
  3177.                  The example adds the drive and path where the software was
  3178.                  installed to the PATH statement in AUTOEXEC.BAT.
  3179.  
  3180.     Errors:      None.
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.     ImagiSOFT, Inc.  Script File Commands                            Page 51
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.     SHADOW Command
  3215.  
  3216.     Purpose:     To turn shadowed windows on or off.
  3217.  
  3218.     Parameters:  SHADOW o
  3219.                  o = either on or off.
  3220.  
  3221.     Remarks:     The  default  is  to have shadowed  windows  "off".   This
  3222.                  command can be issued over and over again.
  3223.  
  3224.     Example 1:   SHADOW ON
  3225.  
  3226.                  The  above example adds "depth" to the screen display  and
  3227.                  draws the users eye to the current window.
  3228.  
  3229.     Example 2:   SHADOW OFF
  3230.  
  3231.                  You  should  turn  shadowed windows  "off"  when  you  are
  3232.                  opening  windows on top of one another.  See  the  example
  3233.                  given for the EXIST command for a detailed explanation.
  3234.  
  3235.     Errors:      None.
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.     ImagiSOFT, Inc.  Script File Commands                            Page 52
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.     SHELL Command
  3278.  
  3279.     Purpose:     To  run a DOS command, utility or program then  return  to
  3280.                  the installation script.
  3281.  
  3282.     Parameters:  SHELL
  3283.                  "command 1"
  3284.                  "command 2"
  3285.  
  3286.     Remarks:     The  shell  command clears the screen,  "shells"  to  DOS,
  3287.                  loads  another copy of COMMAND.COM into memory, then  runs
  3288.                  the  list  of  DOS commands, returns,  then  restores  the
  3289.                  screen.  This command is supported because it is the  only
  3290.                  way to add total flexibility to The Finishing Touch.  Make
  3291.                  sure the utilities and commands that you "shell" require a
  3292.                  small  amount of memory or you may have trouble with  this
  3293.                  command.
  3294.  
  3295.     Example:     SHELL
  3296.                  "~1~2\MYUTIL"
  3297.  
  3298.                  This   example  clears  the  screen,  runs   the   program
  3299.                  MYUTIL.EXE  which was installed in the installation  drive
  3300.                  and  path  of  the  user's  computer  (see  VARIABLES   in
  3301.                  APPENDIX B), then returns.
  3302.  
  3303.     Errors:      None.
  3304.  
  3305.  
  3306.  
  3307.  
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.     ImagiSOFT, Inc.  Script File Commands                            Page 53
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.     SPACE Command
  3341.  
  3342.     Purpose:     To tell INSTALL the minimum amount of disk space which  is
  3343.                  required by the software being installed.
  3344.  
  3345.     Parameters:  SPACE r
  3346.                  r = minimum required disk space in K bytes
  3347.  
  3348.     Remarks:     The  SPACE  command  should  precede  the  DRIVE  command.
  3349.                  Remember  that the minimum space required is not  the  sum
  3350.                  total  of the file sizes reported by DOS, it depends  upon
  3351.                  the  hard  drive's minimum allocation unit  (usually  2K).
  3352.                  For  example,  100 10 byte files doesn't  fill  only  1000
  3353.                  bytes  of  disk  space, it fills  200,000  bytes  on  most
  3354.                  systems.   For  an accurate measure of the  required  disk
  3355.                  space use Peter Norton's FI utility on a large hard drive.
  3356.                  It is a good practice to use a liberal SPACE requirement--
  3357.                  especially if your software creates data files after it is
  3358.                  installed.
  3359.  
  3360.     Example:     SPACE 1024
  3361.                  This  would indicate that at least a megabyte is  required
  3362.                  on  the  destination  disk or an  error  message  will  be
  3363.                  returned when the DRIVE command is issued.
  3364.  
  3365.     Errors:      None reported when this call is issued; insufficient  disk
  3366.                  space is reported after the DRIVE command is issued.
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.     ImagiSOFT, Inc.  Script File Commands                            Page 54
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.     TELESCOPE Command
  3404.  
  3405.     Purpose:     To turn telescoping (or exploding) windows on or off.
  3406.  
  3407.     Parameters:  TELESCOPE o
  3408.                  o = either on or off.
  3409.  
  3410.     Remarks:     The  default  is to have telescoping windows  "on".   This
  3411.                  command can be issued as often as is needed.
  3412.  
  3413.     Example 1:   TELESCOPE ON
  3414.  
  3415.                  The  above example gives windows a little more pizazz  and
  3416.                  draws the users eye to the current window.
  3417.  
  3418.     Example 2:   TELESCOPE OFF
  3419.  
  3420.                  Turning  telescoping  windows  "off"  makes  them   appear
  3421.                  instantly on the screen, and is especially useful when you
  3422.                  are  opening more than one window at a time or windows  on
  3423.                  top of one another.
  3424.  
  3425.     Errors:      None.
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.     ImagiSOFT, Inc.  Script File Commands                            Page 55
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.     UNPACK Command
  3467.  
  3468.     Purpose:     Unpack a compressed file and copy the contents to the hard
  3469.                  drive  in  the drive and path returned from  the  commands
  3470.                  DRIVE and PATH.
  3471.  
  3472.     Parameters:  UNPACK f wx wy wc mx my mc
  3473.                  f  = file name
  3474.                  wx = the x position of the upper left corner of the window
  3475.                  wy = the y position of the upper left corner of the window
  3476.                  wc = numeric window color (see color chart on page 12)
  3477.                  mx = error message window x position
  3478.                  my = error message window y position
  3479.                  mc = numeric error message color (see color chart page 12)
  3480.  
  3481.     Remarks:     If  UNPACK is not preceded by the DRIVE and PATH  commands
  3482.                  The  Finishing  Touch will assume drive C:  and  the  PATH
  3483.                  hard-coded into your PACKER file. (The ImagiMOVIE Guide is
  3484.                  a  legitimate  example  of  using  a  hardcoded  PATH   as
  3485.                  discussed  previously in this documentation, but  this  is
  3486.                  the exception rather than the rule).
  3487.  
  3488.                  UNPACK  always "unpacks" from the installation drive  (~0)
  3489.                  to the destination drive and path (~1~2).  You cannot  use
  3490.                  variables with the UNPACK command.
  3491.  
  3492.                  It  is valid to have more than one UNPACK command in  your
  3493.                  script  if your program has several modules  or  different
  3494.                  configuration  options.  See the ASK command  for  related
  3495.                  information.
  3496.  
  3497.     Example:     UNPACK IMOVIE.PAK 24 10 31 32 14 79
  3498.                  IMOVIE.PAK = the name of the PACKED file which contains
  3499.                               the ImagiMOVIE Guide System. This filename
  3500.                               can be any name you want.
  3501.                  24 = locate window at 12 characters across
  3502.                  10 = locate window at 10 rows down
  3503.                  31 = blue background window with bright white border
  3504.                  32 = prompt/error message located at 32 characters across
  3505.                  14 = prompt/error message located at 14 rows down
  3506.                  79 = prompt/errors displayed in a red and white window
  3507.  
  3508.     Errors:      UNPACK  does  a  32 bit CRC check on each file  as  it  is
  3509.                  uncompressed.   If the CRC check fails or there is a  disk
  3510.                  error the user will see the message
  3511.                       Cannot unpack files.
  3512.                  displayed  on  their screen.  This means the  user's  disk
  3513.                  media  is  bad,  their disk drives are out  of  alignment,
  3514.                  their  disk is full, or that they opened the floppy  drive
  3515.                  before  being  prompted to insert the next  disk.   If  an
  3516.                  error occurs the internal "fail" variable will be set.  It
  3517.                  a good idea to follow the UNPACK command with a  JUMP.FAIL
  3518.                  command.  See the sample install script on page 14 for  an
  3519.                  example.
  3520.  
  3521.  
  3522.     ImagiSOFT, Inc.  Script File Commands                            Page 56
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.     UNPACK Command  (Continued)
  3530.  
  3531.     Prompt:      UNPACK  knows which is the next disk in the set  and  will
  3532.                  display the prompt
  3533.                       Please insert disk <Number>.
  3534.                  in a message window at the appropriate time.
  3535.  
  3536.                  This  is  true even if you have prompted for  a  different
  3537.                  disk  earlier.  For example, the installation  script  for
  3538.                  the  word processor software you are sending  out  UNPACKs
  3539.                  WP.PAK  on disk 1 and 2.  You complete WP.PAK and ASK  the
  3540.                  user if they would like to install "magic fonts" which are
  3541.                  contained  on  disk 2, 3, and 4.  They say "no"  and  your
  3542.                  script  uses the DISK command to prompt for disk  4.   You
  3543.                  issue  another  UNPACK  command and start  to  unpack  the
  3544.                  dictionary  files.   UNPACK  will know when  it  needs  to
  3545.                  prompt for the next disk and that, in this case, it should
  3546.                  ask for disk 5.
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.  
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.     ImagiSOFT, Inc.  Script File Commands                            Page 57
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.     VIDEO Command
  3593.  
  3594.     Purpose:     To check for a minimum required monitor type, either  CGA,
  3595.                  EGA, VGA, or MCGA.
  3596.  
  3597.     Parameters:  VIDEO m
  3598.                  m  = CGA, EGA, VGA, or MCGA
  3599.  
  3600.     Remarks:     This  command should be one of the first commands in  your
  3601.                  script  file,  and  should be followed  immediately  by  a
  3602.                  JUMP.NO  command.   Many  software  programs,   especially
  3603.                  graphics-oriented systems require minimum screen hardware.
  3604.                  Proper  use of the VIDEO command followed by  the  JUMP.NO
  3605.                  command  will  help  the  user  configure  their  computer
  3606.                  properly.   See JUMP.YES and JUMP.NO commands  and  sample
  3607.                  script files for examples of how to use these commands  to
  3608.                  their full potential.
  3609.  
  3610.     Example:     VIDEO EGA
  3611.                  Which  tests  for  the existence of  an  EGA  monitor  (or
  3612.                  better).   If  it is found it sets the  internal  flag  to
  3613.                  "Yes", if not, the internal flag is set to "No".
  3614.  
  3615.     Errors:      None.
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.     ImagiSOFT, Inc.  Script File Commands                            Page 58
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.     VIEW Command
  3656.  
  3657.     Purpose:     Allow the user to view an ASCII file.
  3658.  
  3659.     Parameters:  VIEW f c1 c2
  3660.                  f  = file name
  3661.                  c1 = heading color numeric value   (see color chart)
  3662.                  c2 = file text color numeric value (see color chart)
  3663.  
  3664.     Remarks:     The  VIEW command will allow the user to view  most  ASCII
  3665.                  files.  A file which is longer than available free  memory
  3666.                  (about 100 - 200K) will not be loaded.
  3667.  
  3668.                  This  command is useful when you have modified the  user's
  3669.                  AUTOEXEC.BAT  or CONFIG.SYS and you want the  display  the
  3670.                  new file on the screen.
  3671.  
  3672.                  VIEW  displays  the file in 25 line mode.   The  top  line
  3673.                  gives  the  user information about the  file,  it's  name,
  3674.                  date,  time,  number of lines and file length.   The  25th
  3675.                  line  informs the user which keys are valid:  the  arrows,
  3676.                  PgUp, PgDn, and [Enter] or [Esc] to view the next file.
  3677.  
  3678.                  VIEW  sets  the  JUMP.FAIL  flag,  but  it  usually  isn't
  3679.                  necessary to error trap after a VIEW statement.
  3680.  
  3681.     Example:     VIEW ~3\AUTOEXEC.BAT 79 31
  3682.  
  3683.     Errors:      None.
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.     ImagiSOFT, Inc.  Script File Commands                            Page 59
  3712.  
  3713.  
  3714.  
  3715.  
  3716.  
  3717.  
  3718.     WAIT Command
  3719.  
  3720.     Purpose:     Wait  for the [Enter] key, usually so the user  can  read,
  3721.                  and  respond  to  a message in a window  by  pressing  the
  3722.                  [Enter] key.
  3723.  
  3724.     Parameters:  WAIT x y
  3725.                  x = x position of the cursor
  3726.                  y = y position of the cursor
  3727.  
  3728.     Remarks:     This command should generally follow the WINOPEN command.
  3729.  
  3730.     Example:     WAIT 50 17
  3731.                  This  example will locate the cursor 50 characters  across
  3732.                  and 17 rows down will wait for the user to hit the [Enter]
  3733.                  key.
  3734.  
  3735.     Errors:      None.
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.     ImagiSOFT, Inc.  Script File Commands                            Page 60
  3775.  
  3776.  
  3777.  
  3778.  
  3779.  
  3780.  
  3781.     WINCLOSE Command
  3782.  
  3783.     Purpose:     To close the last window opened with WINOPEN.
  3784.  
  3785.     Parameters:  WINCLOSE
  3786.  
  3787.     Remarks:     WINCLOSE  closes  the  last window  opened.   Windows  are
  3788.                  nested,  so that if window 1, window 2, and window 3  were
  3789.                  open,  WINCLOSE would close window 3, then window  2,  and
  3790.                  lastly window 1.  See the WINOPEN command.
  3791.  
  3792.                  Note:   If  WINCLOSE is issued without being  preceded  by
  3793.                  WINOPEN,  a  fatal error will occur and  INSTALL.EXE  will
  3794.                  drop to DOS.  As with all programming languages, make sure
  3795.                  you  test  all  possibilities  before  distributing   your
  3796.                  program.
  3797.  
  3798.     Example:     WINCLOSE
  3799.  
  3800.     Errors:      None.
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837.     ImagiSOFT, Inc.  Script File Commands                            Page 61
  3838.  
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.     WINOPEN Command
  3845.  
  3846.     Purpose:     WINOPEN  opens  "windows" to display  messages  from  your
  3847.                  script file to the user.
  3848.  
  3849.     Parameters:  WINOPEN x y c
  3850.                  "The next lines contain the contents"
  3851.                  "of the windows you want to display."
  3852.                  x = the x position of the upper left corner of the window
  3853.                  y = the y position of the upper left corner of the window
  3854.                  c = numeric color value between 0 - 255 (see color chart)
  3855.                  These  parameters are followed by a series  of  successive
  3856.                  quoted strings.
  3857.  
  3858.     Remarks:     The  width of the window is determined by amount of  space
  3859.                  between the quotes of the longest line.  The height of the
  3860.                  window  is determined by the number of  successive  quoted
  3861.                  strings you put in the script file.
  3862.  
  3863.                  You can have up to 20 windows open at the same time.   The
  3864.                  last  window opened is closed with the  WINCLOSE  command.
  3865.                  Windows  are  nested, so that if window 1, window  2,  and
  3866.                  window 3 were open, WINCLOSE would close window 3.
  3867.  
  3868.                  All windows are surrounded by a single line.  WINOPEN adds
  3869.                  a space to the right and left edges of the window so  that
  3870.                  visually  the  line appears evenly  spaced.   The  maximum
  3871.                  number of characters that will fit in a window is 76.   To
  3872.                  center  the window on the screen, enter "0" in the x or  y
  3873.                  coordinate, or both.
  3874.  
  3875.                  WINOPEN is often followed by the WAIT and ASK commands.
  3876.  
  3877.     Examples:    WINOPEN 18 2 95
  3878.                  "            ImagiSOFT, Inc."
  3879.                  "Where Imagination Brings Software to Life"
  3880.                  ""
  3881.                  "      ImagiMOVIE GUIDE Installation"
  3882.  
  3883.                  This  example opens a magenta window with  high  intensity
  3884.                  white  letters and border.  The upper left corner  of  the
  3885.                  window will be placed 18 columns across and 2 rows down.
  3886.  
  3887.                  WINOPEN 0 2 31
  3888.                  "Installing the ImagiMOVIE GUIDE to ~1~2 . . ."
  3889.  
  3890.                  This  example  opens  a blue and  white  window  which  is
  3891.                  located  2  rows  down and centered on  the  screen.   The
  3892.                  variables  ~1  and ~2 represent the drive and  path.   See
  3893.                  VARIABLES in APPENDIX B for details.
  3894.  
  3895.     Errors:      If you make your window too wide or two long INSTALL  will
  3896.                  drop to DOS and display "Window too large on line xx".
  3897.  
  3898.  
  3899.  
  3900.     ImagiSOFT, Inc.  Script File Commands                            Page 62
  3901.  
  3902.  
  3903.  
  3904.  
  3905.  
  3906.  
  3907.                                   APPENDIX B
  3908.  
  3909.                      OTHER FEATURES OF THE FINISHING TOUCH
  3910.  
  3911.  
  3912.     RENAMING INSTALL.EXE
  3913.     ~~~~~~~~~~~~~~~~~~~~
  3914.     INSTALL.EXE always loads the first script file with the same name  that
  3915.     it  is named plus the extension ".FIL", so the first thing  INSTALL.EXE
  3916.     tries  to  do  is load the script file INSTALL.FIL  into  memory.   If,
  3917.     you  want to use INSTALL.EXE as an update program, simply rename it  to
  3918.     UPDATE.EXE and name your script file UPDATE.FIL.  If you are writing  a
  3919.     script file in another language, rename INSTALL.EXE to a suitable  file
  3920.     name.  For example, rename INSTALL.EXE to INSTALE.EXE for a script file
  3921.     written in Spanish.
  3922.  
  3923.  
  3924.     LABELS
  3925.     ~~~~~~
  3926.     Labels  are similar to line numbers in BASIC; they give  INSTALL.EXE  a
  3927.     place  to  "jump" to with the JUMP, JUMP.NO,  JUMP.YES,  and  JUMP.FAIL
  3928.     commands.  Labels have the following attributes:
  3929.  
  3930.        -- They always begin with a colon
  3931.        -- Labels must reside on a line all by themselves
  3932.        -- Labels cannot exceed 32 characters in length
  3933.        -- They can use any ASCII character greater than 32 ("space")
  3934.  
  3935.     Examples of Valid Labels:
  3936.        :EXIT_TO_DOS
  3937.        :ExitToDOS
  3938.        :Exit.To.DOS
  3939.  
  3940.     Examples of Invalid Labels:
  3941.        EXIT_TO_DOS
  3942.        :EXIT TO DOS
  3943.  
  3944.     See  the documentation in APPENDIX A for the JUMP,  JUMP.NO,  JUMP.YES,
  3945.     and  JUMP.FAIL  commands  for detailed examples on how  to  use  labels
  3946.     properly.
  3947.  
  3948.  
  3949.     INTERNAL VARIABLES
  3950.     ~~~~~~~~~~~~~~~~~~
  3951.     INSTALL.EXE keeps track of four internal variables which may be used in
  3952.     your installation script:
  3953.  
  3954.        ~0 is the drive and path where the software is being installed from,
  3955.           sometimes  called the "source" directory.  This is usually A:  or
  3956.           B:,  but  INSTALL.EXE and its related files can  just  as  easily
  3957.           reside on a hard drive--especially if those files were downloaded
  3958.           from  a BBS, in which case ~0 might be C:\DOWNLOAD  for  example.
  3959.           COPY is the most likely command to use with ~0.
  3960.  
  3961.  
  3962.  
  3963.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 63
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.        ~1 is the drive letter that you are installing to, for example,  C:.
  3971.           This variable is necessary to create a file in the root directory
  3972.           of  the  user's installation drive (see the FILE command  for  an
  3973.           example of creating a batch file).  ~1 is also needed to create a
  3974.           subdirectory  on  the user's installation drive (see  MD  for  an
  3975.           example).   This  variable is set by the DRIVE  command.   If  no
  3976.           DRIVE command is issued in the script file ~1 will be set to C:.
  3977.  
  3978.        ~2 is the path  where the software is installed, generally  selected
  3979.           by the user with the PATH command.  If no PATH command is  issued
  3980.           in the script file ~2 will be set to the root.
  3981.  
  3982.           ~2 is often combined with the variable ~1.  For example:
  3983.  
  3984.               COPY ~1~2\CONTROL.LCD ~1~2\CONTROL.FIL 0 0 31
  3985.  
  3986.           copies the file CONTROL.LCD on top of the file CONTROL.FIL in the
  3987.           directory where the user installed their software.
  3988.  
  3989.  
  3990.        ~3 is the boot drive and path of the user's computer, as  determined
  3991.           by  the location COMMAND.COM, and will usually be C:\.   This  is
  3992.           necessary  when  you  are changing  the  user's  AUTOEXEC.BAT  or
  3993.           CONFIG.SYS files.  For example:
  3994.  
  3995.               COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK 0 0 31
  3996.  
  3997.           which makes a backup copy of AUTOEXEC.BAT, which is always a good
  3998.           idea before modifying it with the FILE command.
  3999.  
  4000.        Yes/No is set by the ASK, CPU, EXIST, MOUSE, and VIDEO commands  and
  4001.               remains  set  until one of these commands  is  issued.   This
  4002.               variable  allows  INSTALL.EXE to  perform  conditional  jumps
  4003.               based on the information passed from above commands.  See the
  4004.               JUMP.NO and JUMP.YES commands in APPENDIX A.
  4005.  
  4006.        FAIL is set by the COPY, DELETE, EXIST, FILE.DATE, FILE.SIZE,  FILE,
  4007.             MD,  RD,  SET.FILES, SET.PATH, VIEW, and UNPACK commands  if  a
  4008.             disk  error occurs.  Disk errors include, disk not ready,  disk
  4009.             full,  sector  not found, etc.  See the  JUMP.FAIL  command  in
  4010.             APPENDIX A for details.
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 64
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.     COMMENTS
  4034.     ~~~~~~~~
  4035.     Just  like any other programming language, it is always a good idea  to
  4036.     comment your script file.  Comments begin with the apostrophe character
  4037.     unless  the  apostrophe  is inside a quoted string.   Empty  lines  are
  4038.     ignored.
  4039.  
  4040.     Example:
  4041.  
  4042.     ' this is an example of a commented line.  It will be ignored by
  4043.     ' INSTALL.EXE because it begins with an apostrophe character.  The
  4044.     ' next line will also be ignored because it is blank.
  4045.  
  4046.     ' The next line is a valid line:
  4047.     BACKGROUND 63                          ' cyan background
  4048.  
  4049.     ' Everything after the apostrophe will be ignored.
  4050.  
  4051.  
  4052.     HIDING WINDOWS
  4053.     ~~~~~~~~~~~~~~
  4054.     There will be times when you don't want a window to be displayed on the
  4055.     screen.   The  COPY, DELETE, and PATH commands each  display  a  window
  4056.     which you may want hidden from the end user.  You can "hide" windows by
  4057.     making  them  the  same  color as the background  and  by  issuing  the
  4058.     SHADOW OFF command.
  4059.  
  4060.     Example 1:
  4061.  
  4062.     BACKGROUND 63                   ' cyan background
  4063.     TELESCOPE ON                    ' draw "exploding" windows
  4064.     SHADOW ON                       ' display shadows
  4065.     WINOPEN 18 2 95
  4066.  
  4067.     "            ImagiSOFT, Inc."
  4068.     "Where Imagination Brings Software to Life"
  4069.     ""
  4070.     "      Test Installation Script File"
  4071.     WAIT 56 6
  4072.  
  4073.     TELESCOPE OFF                   ' draw windows quickly
  4074.     SHADOW OFF                      ' no shadow
  4075.     DELETE *.BAK 1 24 51            ' cyan on cyan color hidden in corner
  4076.     WINCLOSE                        ' close ImagiSOFT window
  4077.     WINOPEN 0 0 31                  ' open tiny, centered window
  4078.     "PRESS ANY KEY TO QUIT."
  4079.     WAIT 51 13
  4080.  
  4081.     The example above uses a background of 63 (cyan) then uses color 51  on
  4082.     the DELETE command (cyan window with cyan letters) located in the lower
  4083.     left hand corner (column 1, row 24).  This way the user never sees  the
  4084.     message "Deleting <FILENAME>".
  4085.  
  4086.  
  4087.  
  4088.  
  4089.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 65
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.     HIDING WINDOWS  (Continued)
  4097.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4098.     Example 2:
  4099.  
  4100.     BACKGROUND 63
  4101.     :WINDOWS_PROMPT                 ' label for jump command
  4102.     TELESCOPE OFF                   ' draw windows quickly
  4103.     SHADOW ON                       ' shadow the window below
  4104.     WINOPEN 7 4 31                  ' window color: blue w/ white letters
  4105.     ""
  4106.     "  Tetris for Windows will be installed into the GAMES directory  "
  4107.     "  beneath the directory where WINDOWS resides."
  4108.     "  Please enter the location of your WINDOWS directory:"
  4109.     ""
  4110.     ""
  4111.     ""
  4112.     ""
  4113.     ""
  4114.     SHADOW OFF                      ' don't shadow path window
  4115.     PATH \WINDOWS 8 9 17 15 32 14 79 ' draw color 17 (blue on blue)
  4116.     EXIST ~1~2\WIN.COM              ' test for proper entry
  4117.     JUMP.NO WINDOWS_PROMPT          ' wrong: jump back
  4118.  
  4119.     The  above example shows how to write your own prompt for a  path  name
  4120.     instead of the prompt "Install to drive C: in directory" which comes up
  4121.     with  the PATH command.  This was done by opening a large  blue  window
  4122.     with  white letters (color 31), turning shadows off, then  issuing  the
  4123.     PATH command with a blue window with blue letters (color 17).
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 66
  4153.  
  4154.  
  4155.                                 ImagiSOFT, Inc.
  4156.                               THE FINISHING TOUCH
  4157.                       THE PROFESSIONAL SOFTWARE INSTALLER
  4158.  
  4159.                                REGISTRATION FORM
  4160.  
  4161.          Quantity   Description                   Price       Total
  4162.          -------------------------------------------------------------
  4163.          |      | The Finishing Touch           |  ú49.95  |         |
  4164.          -------------------------------------------------------------
  4165.          |   1  | Shipping and Handling         |   ú3.00  |   ú3.00 |
  4166.          -------------------------------------------------------------
  4167.                                      TOTAL AMOUNT ENCLOSED |         |
  4168.                                                            -----------
  4169.          Make cheques payable to The Thompson Partnership.
  4170.          Cheques  must be drawn on a UK bank.  or a EureCheck (with
  4171.          card number on reverse) if from outside the UK. We also accept
  4172.          the following Credit Cards:
  4173.  
  4174.  
  4175.          Disk Size:  ___ 5.25"  ___ 3.5"
  4176.  
  4177.          [ ] Diners   [ ] VISA   [ ] Master Card   [ ] American Express
  4178.  
  4179.          Card Number:  _____ _____ _____ _____     Exp. Date:  _______
  4180.  
  4181.  
  4182.          Name: _______________________________________________________
  4183.  
  4184.          Company Name: _______________________________________________
  4185.  
  4186.          Address: ____________________________________________________
  4187.  
  4188.          Town: _______________________________________________________
  4189.  
  4190.          County / Country: ___________________________________________
  4191.  
  4192.          Postal Code: ________________________________________________
  4193.  
  4194.          I received The Finishing Touch Software Installer from:
  4195.            [ ] friend          [ ] disk vendor      [ ] user group
  4196.            [ ] free BBS        [ ] pay BBS          [ ] other
  4197.  
  4198.          Name of vendor, BBS, friend, etc. ___________________________
  4199.  
  4200.          Comments, suggestions:
  4201.  
  4202.                   Mail to:             The Thompson Partnership
  4203.                                        Church Croft
  4204.                                        Bramshall
  4205.                                        UTTOXETER
  4206.                                        Staffs
  4207.                                        ST14 5DE
  4208.                                        England
  4209.  
  4210.          Credit Card Orders May Call:  +44(0)889 564601
  4211.          or FAX this form to us:       +44(0)889 563219
  4212.  
  4213.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 67
  4214.  
  4215.