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