home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_GEN / IPRO316.ZIP / INSTPRO.MAN < prev    next >
Text File  |  1994-01-25  |  100KB  |  2,592 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                      Install-Pro
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                      User's Guide
  22.  
  23.                                          and
  24.  
  25.                                    Reference Manual
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                        Copyright 1991-1993 DB/Soft Publishing.
  35.                                  All rights reserved.
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                                 Printed in the U.S.A.
  45.  
  46.                              Version 3.00, first printing
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.           Copyright
  55.  
  56.           This software is protected under  United States Copyright Law and
  57.           International Treaty provisions.  DB/Soft Publishing reserves all
  58.           rights to Install-Pro except for the following:
  59.  
  60.           A limited license is hereby granted allowing you use and evaluate
  61.           Install-Pro for up  to 30 days.  You may also distribute unregis-
  62.           tered  copies  of  Install-Pro  in its  entirety  to  any parties
  63.           interested provided no modification of the files in the  Install-
  64.           Pro archive occurs.   The maximum transaction related to  selling
  65.           media containing unregistered copies of Install-Pro (eg Shareware
  66.           vendors)  may not exceed $10.00.  Conversion to a more convenient
  67.           archive format is allowed.  All other uses of Install-Pro violate
  68.           this license and are hereby expressly disallowed.
  69.  
  70.                      Copyright 1991-1993, by DB/Soft Publishing,
  71.                                  All Rights Reserved.
  72.  
  73.                     3200 Truxel Rd #199, Sacramento, CA 95833 USA
  74.  
  75.                               Telephone: (916) 927-6951
  76.  
  77.                                  BBS: (916) 927-2349
  78.  
  79.           Limited Warranty
  80.  
  81.           DB/Soft Publishing  grants no warranties, express  or implied, by
  82.           statute  or otherwise,  regarding this  software and  its related
  83.           materials, their fitness for any purpose, their quality, or their
  84.           merchantability.  In  no way shall  DB/Soft Publishing be  liable
  85.           for  any  special, consequential,  other  damages  for breach  of
  86.           warranty.
  87.  
  88.           This Statement  shall be  construed, interpreted and  governed by
  89.           the laws of the State of California.
  90.  
  91.           This  warranty will be replaced by a limited 90-day warranty that
  92.           covers the diskette, software and documentation upon registration
  93.           of Install-Pro.   Further, the limited  license will be  replaced
  94.           with a license that  allows royalty-free distribution of Install-
  95.           Pro with your applications.
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.           Registering Install-Pro
  104.  
  105.           Install-Pro is an  example of software marketed  under the Share-
  106.           ware concept.  The premise is  simple:  you may evaluate Install-
  107.           Pro  for a  reasonable period  of time  (30 days  maximum) during
  108.           which you  decide if it is  a program worth owning  and using for
  109.           installing your applications.   If so, you must register Install-
  110.           Pro,  using order.doc  for  ordering information.    If, after  a
  111.           reasonable evaluation period, you decide not to register Install-
  112.           Pro, you then must discontinue its use.
  113.  
  114.           This provides  me with  a way to  market software  with very  low
  115.           advertising  overhead, which  results in  a price  savings passed
  116.           directly on to you.  And, it provides you with a chance to 'play'
  117.           with my product and decide if it meets your needs. 
  118.  
  119.           As  an  incentive to  speed  the  registration process,  a  minor
  120.           modification  to Install-Pro  processing occurs in  the Shareware
  121.           version.  Prior  to displaying your  opening screen(s), an  order
  122.           information notice  is displayed.  Other than this single modifi-
  123.           cation, all features that are  included in the registered version
  124.           of Install-Pro are available here.
  125.  
  126.  
  127.           Getting Help_____________________________________________________
  128.  
  129.           There are several ways of contacting the author, Jeff Dunlop, for
  130.           technical assistance if you get stuck.  From cheapest and slowest
  131.           to most expensive and fastest:
  132.  
  133.                - Fidonet's SHAREWRE echo
  134.  
  135.                - ILink's Shareware conference
  136.  
  137.                - Fidonet netmail at 1:203/16
  138.  
  139.                - Compuserve mail at 72147,3055
  140.  
  141.                - Internet at 72147.3055@compuserve.com
  142.  
  143.                - The DB/Soft Online at (916) 927-2349
  144.  
  145.           The best method of  contacting the author depends on the  type of
  146.           assistance you need.   If it's a rather complicated  problem, you
  147.           will probably be far  better served if  you prepare a message  in
  148.           advance and  upload it with the script in question to the DB/Soft
  149.           Online.  We can then test it and offer suggestions.  If it's just
  150.           a  question  or  suggestion about  Install-Pro  capabilities, the
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.           ILink  or Fidonet  conferences will work  best.   Fidonet netmail
  159.           privileges can be difficult  to get, but offer excellent  timeli-
  160.           ness at very low connect  time.  Check your local Fidonet  BBS if
  161.           interested.
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.                                   Table of Contents
  170.  
  171.  
  172.                Chapter 1 Introduction .................................. 7
  173.                     Features ........................................... 7
  174.                     Requirements ....................................... 9
  175.                     Getting Started .................................... 10
  176.                     Install-Pro Scripts ................................ 10
  177.                     Documentation Conventions .......................... 11
  178.  
  179.                Chapter 2 Creating the screens .......................... 13
  180.                     BANNER ............................................. 13
  181.                     HELLO .............................................. 14
  182.                     HELLOBREAK ......................................... 14
  183.                     GOODBYE ............................................ 14
  184.                     GOODBYEBREAK ....................................... 15
  185.                     COLORS ............................................. 15
  186.  
  187.                Chapter 3 Building the entry forms ...................... 17
  188.                     USER ............................................... 17
  189.                     DESCRIBE ........................................... 20
  190.  
  191.                Chapter 4 Transferring files ............................ 21
  192.                     SUBDIR ............................................. 21
  193.                     FILE ............................................... 22
  194.                     Splitting Files .................................... 24
  195.                     UNZIP .............................................. 25
  196.                     ATTRIBSAVE ......................................... 27
  197.  
  198.                Chapter 5 Changing Disks and Terminating ................ 28
  199.                     FIRSTDISK .......................................... 28
  200.                     DISK ............................................... 28
  201.                     END ................................................ 28
  202.                     CHAIN .............................................. 29
  203.  
  204.                Chapter 6 Verifying the target environment .............. 30
  205.                     SPACE .............................................. 30
  206.                     CPU ................................................ 30
  207.                     FPU ................................................ 30
  208.                     RAM ................................................ 30
  209.                     EMS ................................................ 31
  210.                     VCPI ............................................... 31
  211.                     DPMI ............................................... 31
  212.                     XMS ................................................ 31
  213.                     VER ................................................ 32
  214.                     CONFIGFILES ........................................ 32
  215.  
  216.                                           5
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.                     PATH ............................................... 33
  225.  
  226.                     SET ................................................ 33
  227.  
  228.  
  229.                Chapter 7 Running external programs and viewing files ... 34
  230.                     RUN ................................................ 34
  231.                     PRERUN ............................................. 36
  232.                     RUNERRNOTIFY ....................................... 37
  233.                     VIEW ............................................... 37
  234.  
  235.                Chapter 8 Customizing Install-Pro ....................... 38
  236.                     ONERROR ............................................ 38
  237.                     Linking external text .............................. 38
  238.  
  239.                Chapter 9 Miscellaneous ................................. 40
  240.                     System Variables ................................... 40
  241.                     Command Line Switches .............................. 41
  242.                     Error Messages ..................................... 40
  243.                     Critical Errors .................................... 46
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                                           6
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.           Chapter 1
  280.  
  281.           Introduction_____________________________________________________
  282.  
  283.           Install-Pro is the flexible and affordable solution to the common
  284.           problem of  transferring an application or  information base from
  285.           distribution  media to its  destination directories.   Typically,
  286.           the options  have been to write  a batch file, to  write a custom
  287.           program or to shell out hundreds of dollars for an anemic instal-
  288.           lation utility.  Until Install-Pro.
  289.  
  290.           Install-Pro is a script driven  professional installation program
  291.           that will automate the  installation process while providing your
  292.           customers  with a  crisp,  easy-to-use interface.   Unlike  other
  293.           script-driven installation  utilities,  Install-Pro is  heavy  on
  294.           features,  intelligent in  its operation,  and light  on resource
  295.           requirements.   Any application can be ready to install to multi-
  296.           ple directories from  multiple  disks in a matter of minutes.   A
  297.           brief list of features includes: 
  298.  
  299.                -    Professional look  and feel for a  better first impres-
  300.                     sion.
  301.                
  302.                -    You customize  multiple  welcome screens  and  good-bye
  303.                     screens to your own needs. 
  304.  
  305.                -    Up to 999 installation disks and unlimited installation
  306.                     files.
  307.  
  308.                -    Comprehensive environment  detection, including minimum
  309.                     CPU,  floating point  processor, installed  RAM, MS-Dos
  310.                     version, EMS, XMS, VCPI and DPMI.
  311.  
  312.                -    Powerful system variables for CPU, math coprocessor and
  313.                     video  adapter that allow  your installation  to behave
  314.                     differently depending on the target hardware.
  315.  
  316.                -    Display your readme files  at the end of the  installa-
  317.                     tion in a nifty file viewer.
  318.             
  319.                -    Intelligent  FILES=,  PATH  and  SET  VAR=  update  for
  320.                     Config.sys and Autoexec.bat.
  321.             
  322.                -    All Install-Pro  text strings may  be optionally  rede-
  323.                     fined via an external file.
  324.  
  325.                -    Files  may be split into up to  9 pieces for huge files
  326.                     spanning multiple disks.
  327.             
  328.  
  329.                                                                           7
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.                                Chapter 1, Introduction
  338.           _________________________________________________________________
  339.                                                                            
  340.                     
  341.  
  342.                -    Files  in the .zip format may be extracted.  All direc-
  343.                     tories stored in a .zip file are automatically created.
  344.                     There is  an .arj  version of Install-Pro  available on
  345.                     the DB/Soft Online for registered users.
  346.             
  347.                -    You define the  directory prompts and  default destina-
  348.                     tion directories that the user sees.
  349.  
  350.                -    You optionally define the installation disk names (such
  351.                     as "Utilities Disk" or "Install Disk")
  352.             
  353.                -    You  optionally  specify  the disk  space  requirements
  354.                     associated  with  all  portions  of  the  installation,
  355.                     including  optional  portions. (The  user is  given the
  356.                     option to try to continue with installation if short on
  357.                     disk space.)
  358.             
  359.                -    Up to 8 user-defined destination directories.
  360.             
  361.                -    Unlimited programmer-defined directories child to user-
  362.                     defined directories. 
  363.             
  364.                -    Each  destination  directory may  either  be optionally
  365.                     locked or the user may be allowed to change it.
  366.             
  367.                -    "Run"  commands  allow  your  installation  to  include
  368.                     custom  auxiliary programs  or batch files  to complete
  369.                     special tasks. The installation  diskette directory(s),
  370.                     any  of  the  user-defined directories,  and  any other
  371.                     arguments you  choose can be specified  anywhere on the
  372.                     command line.
  373.             
  374.                -    Portions of an installation may be specified as option-
  375.                     al, prompting  the user  whether  the optional  portion
  376.                     should be installed.
  377.             
  378.                -    Multi-Module installations handled seamlessly.
  379.             
  380.                -    Files may be automatically overwritten, prompted before
  381.                     overwriting  a newer file,  prompted before overwriting
  382.                     any file or protected completely from overwrite.
  383.             
  384.                -    Supports VGA/EGA 50/43 line text modes if detected.
  385.             
  386.  
  387.           8
  388.  
  389.  
  390.  
  391.  
  392.                                Chapter 1, Introduction
  393.           _________________________________________________________________
  394.                                                                            
  395.                     
  396.  
  397.                -    Robust  error  handling,  including  a  custom critical
  398.                     error handler that won't scare the  dickens out of your
  399.                     users, and  including descriptive fatal  error messages
  400.                     (no "error  14 at xxxx:yyyy" found in this program!)
  401.  
  402.  
  403.           Requirements_____________________________________________________
  404.  
  405.           Install-Pro runs  under PC-DOS and MS-DOS versions 3.0 and above.
  406.           A minimum of 220K of  RAM is required.  More memory  is desirable
  407.           if  external  programs  are run  from  Install-Pro,  or if  large
  408.           scripts are processed.
  409.  
  410.           There is virtually no limit to the size of script files.
  411.  
  412.           Script preparation  will  require a  text  editor that  does  not
  413.           insert formatting codes into the text.
  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.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.                                                                           9
  446.  
  447.  
  448.  
  449.  
  450.                                Chapter 1, Introduction
  451.           _________________________________________________________________
  452.                                                                            
  453.                     
  454.  
  455.           Getting Started__________________________________________________
  456.  
  457.           Before you can really  build an installation script, you  need an
  458.           application that needs to  be installed.  Gather enough  disks to
  459.           hold  your  installation, format  them  if needed,  and  copy the
  460.           application files over  to the disks.   Record what files  are on
  461.           which disks for later  reference, and while you're at  it, record
  462.           the  order that the disks are to  be installed.  Included on your
  463.           Install-Pro  disk  are two  files to  aid  you in  recording this
  464.           information.   They are  named MASTER.DOC  and DISKWKS.DOC.   For
  465.           each installation you  should print out  one copy of  MASTER.DOC,
  466.           and  a copy of DISKWKS.DOC  for every disk  in your installation.
  467.           If you'll  be installing your application  from compressed files,
  468.           then  you want to compress your files before transferring them to
  469.           diskettes.
  470.  
  471.           If  you have huge files that will  need to be split onto multiple
  472.           disks, you may want to take  a peek at the separate documentation
  473.           for split.exe.   All that you  really need to know  is that split
  474.           will  split filename.ext  into filename.ex1,  filename.ex2, etc.,
  475.           and that  filename.ex1 must not  be copied  to a  higher-numbered
  476.           disk than filename.ex2.
  477.  
  478.           Once you have  a good idea of what files  need to be transferred,
  479.           then you're ready to start planning your installation.
  480.  
  481.  
  482.           Install-Pro Scripts______________________________________________
  483.  
  484.           Install-Pro is script-driven.  That is to say, it looks onto your
  485.           distribution  disks  for instructions  about  how  you want  your
  486.           installation  to behave.  The  required instructions are found in
  487.           script files,  one to a  disk.  The  script file  on Disk One  is
  488.           named  INSTALL.001; the  script file  on the  next disk  is named
  489.           INSTALL.002, and so on.  
  490.  
  491.           Install-Pro is also largely global in nature.  That is,  it reads
  492.           the  entire script  on the  current distribution  diskette before
  493.           doing  any processing.    Because of  this,  there are  very  few
  494.           restrictions  on the location of most commands.  The major excep-
  495.           tion  is that USER commands  must appear before  any command that
  496.           references  a  label defined  in  that  USER command.    However,
  497.           Install-Pro's  execution  is very  strictly  defined  and can  be
  498.           described as follows:
  499.  
  500.           Disk 1
  501.           ------
  502.  
  503.           10
  504.  
  505.  
  506.  
  507.  
  508.           Equipment checks are performed.
  509.           The opening screen(s) are displayed.
  510.           The optional segments form is displayed.
  511.           The main user entry form is displayed.
  512.           PRERUN commands.
  513.           FILE commands.
  514.           UNZIP commands.
  515.           VIEW commands.
  516.           RUN commands.
  517.  
  518.           Disk 2 through Disk n - 1 (n = number of disks in installation)
  519.           ---------------------------------------------------------------
  520.  
  521.           PRERUN commands.
  522.           FILE commands.
  523.           UNZIP commands.
  524.           VIEW commands.
  525.           RUN commands.
  526.  
  527.           Last Disk
  528.           ---------
  529.  
  530.           PRERUN commands.
  531.           FILE commands.
  532.           UNZIP commands.
  533.           VIEW commands.
  534.           RUN commands.
  535.           The closing screen(s) are displayed.
  536.           Install-Pro either chains to a new copy of Install-Pro or ends.
  537.  
  538.           Because  of  this  strict   order  of  operations,  USER,  HELLO,
  539.           HELLOBREAK and  Equipment commands  are legal but  meaningless on
  540.           any  disk other than the  first disk.   GOODBYEBREAK commands are
  541.           legal on any disk, but not processed until the end of the instal-
  542.           lation.
  543.  
  544.  
  545.           Documentation conventions________________________________________
  546.  
  547.           In  general,  command parameters  appear in  three  forms.   If a
  548.           paremeter  appears in square brackets  ( [] ),  that parameter is
  549.           optional.   If it  appears in angle  brackets (  <> ), it  is re-
  550.           quired.   If it appears in quotes ( "" ), it is both required and
  551.           must be surrounded  by quotation marks.  The text that appears in
  552.           brackets may  either be  a sub-command or  a variable  parameter.
  553.           The proper use of  the parameter is determined by looking  up the
  554.           documentation  for  that  particular  parameter  below  the  main
  555.           heading for the command.
  556.  
  557.           Throughout  the text,  commands  appear as  all capital  letters.
  558.           This is to  remove any ambiguity as to whether  a particular word
  559.           is the name of a command or is being used  in some other context.
  560.  
  561.                                                                          11
  562.  
  563.  
  564.  
  565.  
  566.           However, Install-Pro is not case sensitive.  Commands, labels and
  567.           directory  paths can appear in any combination of upper and lower
  568.           case.
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.           12
  620.  
  621.  
  622.  
  623.  
  624.           Chapter 2
  625.  
  626.           Creating the Opening and Closing screens_________________________
  627.  
  628.           All commands that define the opening screen(s), BANNER, HELLO and
  629.           HELLOBREAK,  must appear in a file named INSTALL.001 on the first
  630.           diskette of your installation set.  These commands usually appear
  631.           at the top of INSTALL.001.
  632.  
  633.           The format of the opening screen is similar to the following:
  634.  
  635.  
  636.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  637.       ▒▒▒▒▒▒▒▒▒┌────────────────────────────────────────────────┐▒▒▒▒▒▒▒▒▒
  638.       ▒▒▒▒▒▒▒▒▒│Welcome to the Install-Pro Installation Program │▒▒▒▒▒▒▒▒▒
  639.       ▒▒▒▒▒▒▒▒▒└────────────────────────────────────────────────┘▒▒▒▒▒▒▒▒▒
  640.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  641.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  642.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  643.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  644.       ▒┌────────────────────────────────────────────────────────────────┐▒
  645.       ▒│ This program is going to transfer the Install-Pro files from   │▒
  646.       ▒│ the installation diskette to the directory(s) that you enter   │▒
  647.       ▒│ on the screen to follow.                                       │▒
  648.       ▒│                                                                │▒
  649.       ▒│                  Press a key to continue.                      │▒
  650.       ▒└────────────────────────────────────────────────────────────────┘▒
  651.       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  652.  
  653.  
  654.           The top message that you see is created with the  BANNER command.
  655.           The  bottom message is created  with a series  of HELLO commands.
  656.           If multiple  HELLO screens are  defined, then each  keypress will
  657.           display the following screen until all have been shown.
  658.  
  659.  
  660.           BANNER___________________________________________________________
  661.  
  662.           Syntax:  BANNER "Any text enclosed in quotes"
  663.             
  664.           The BANNER command identifies the line of text to be shown to the
  665.           user as the program name on the opening screen.  Up to 71 charac-
  666.           ters are allowed, and a box surrounding the text auto-sizes for a
  667.           neat appearance.  If the particular text used  creates unbalanced
  668.           sides, insert  an extra space on  the errant side to  even things
  669.           out.
  670.             
  671.           If quotes are  omitted, only the first word  after BANNER will be
  672.           detected. If  no text is detected after  BANNER, Install-Pro will
  673.           abort with an error  message.  The BANNER command must be defined
  674.           in install.001 to have any effect.
  675.             
  676.  
  677.                                                                          13
  678.  
  679.  
  680.  
  681.  
  682.                            Chapter 2, Creating the screens
  683.           _________________________________________________________________
  684.  
  685.           HELLO____________________________________________________________
  686.  
  687.           Syntax:  HELLO  "Any text enclosed in quotes"
  688.             
  689.           The HELLO  command identifies a line  of text to be  shown to the
  690.           user on  the welcome screen.  Each line may have a maximum length
  691.           of  71 characters.  Characters in excess of 71 are ignored (trun-
  692.           cated.)  All  of the HELLO text lines are  displayed in the order
  693.           detected in a single window, which automatically  sizes itself to
  694.           the length and height of the combined HELLO display.  If you want
  695.           empty  lines included, indicate this  with a set  of empty quotes
  696.           ("").
  697.             
  698.           Up to 13 HELLO lines will  fit on a single screen.  If  more than
  699.           13  HELLO lines  are defined  without any  intervening HELLOBREAK
  700.           commands  (described below),  the subsequent  lines will  be dis-
  701.           played on the  next screen.   Any number of  HELLO screens  (each
  702.           autosizing, with  a capacity of  up to 13  lines) can be  defined
  703.           within the confines of available memory.
  704.             
  705.  
  706.           HELLOBREAK_______________________________________________________
  707.  
  708.           Syntax:  HELLOBREAK
  709.             
  710.           This  command signifies that the following HELLO command is to be
  711.           displayed on  a new screen.  Use this if you have special format-
  712.           ting needs that require fewer than 13 lines to a screen.
  713.  
  714.           The format of the closing screen is similar to the following:
  715.  
  716.                    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  717.                    ▒┌────────────────────────────────────────────┐▒
  718.                    ▒│ The installation has completed normally.   │▒
  719.                    ▒│                                            │▒
  720.                    ▒│          Press a key to exit...            │▒
  721.                    ▒└────────────────────────────────────────────┘▒
  722.                    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  723.  
  724.           This  message that  you  see here  is  created with  a  series of
  725.           GOODBYE  commands.   If multiple-screen  messages  are necessary,
  726.           they can be separated if needed with GOODBYEBREAK commands.
  727.  
  728.  
  729.           GOODBYE__________________________________________________________
  730.             
  731.           Syntax: GOODBYE "So-long text goes here"
  732.             
  733.  
  734.  
  735.           14
  736.  
  737.  
  738.  
  739.  
  740.                            Chapter 2, Creating the screens
  741.           _________________________________________________________________
  742.  
  743.           This  command is  used  to  build  an end-of-install  message  to
  744.           display to  your users  after successful completion  of installa-
  745.           tion.  It  can be up  to 71 characters  long, and like  the HELLO
  746.           lines, the GOODBYE  text is displayed  in an auto-sizing  window.
  747.           If you want to specify an  empty line, use GOODBYE "".  Somewhere
  748.           near the bottom of the GOODBYE text, you should include something
  749.           to the effect that a keypress will exit the program.
  750.             
  751.           Any  number  of GOODBYE  lines can  be  defined, anywhere  in the
  752.           script  file(s). After  14  GOODBYE lines  have been  encountered
  753.           without  an intervening GOODBYEBREAK command (described below), a
  754.           page break is automatically inserted by Install-Pro.
  755.             
  756.           When  an install.??? file is processed that is terminated with an
  757.           END  command, after all  transfers have taken  place, the GOODBYE
  758.           messages are displayed, after which the program terminates.  
  759.  
  760.           There are two events  that can occur that will  cause the closing
  761.           screen to  not be displayed.   One is if you  choose to terminate
  762.           with a  CHAIN command, which would  load a new installation.   In
  763.           this instance, the closing screen defined with the last installa-
  764.           tion processed  would be the one  displayed.  The other  is if an
  765.           unrecoverable error  occurs.    In  this instance  the  error  is
  766.           described to the extent possible, and Install-Pro terminates (see
  767.           Chapters 8 and 9 for details).
  768.             
  769.  
  770.           GOODBYEBREAK_____________________________________________________
  771.             
  772.           Syntax: GOODBYEBREAK
  773.             
  774.           This command tells Install-Pro that the next GOODBYE line defined
  775.           in the script is to appear at the top of a new page.
  776.  
  777.                                 New with version 3.00
  778.  
  779.           COLORS___________________________________________________________
  780.  
  781.           Syntax: COLORS <Reg Fore>  <Reg Back> <Err Fore> <Err  Back> <Ent
  782.           Fore>  <Ent  Back>  <Bottom  Fore> <Bottom  Back>  <Shadow  Fore>
  783.           <Shadow Back> <Background Fore> <Background Back>
  784.  
  785.           The COLORS  command requires  exactly twelve  hexadecimal digits,
  786.           from 0 to F, where 0 through F represent the following colors:
  787.  
  788.           BLACK           0
  789.           BLUE            1
  790.           GREEN           2
  791.           CYAN            3
  792.  
  793.                                                                          15
  794.  
  795.  
  796.  
  797.  
  798.           RED             4
  799.           MAGENTA         5
  800.           BROWN           6
  801.           LIGHTGREY       7
  802.           DARKGREY        8
  803.           LIGHTBLUE       9
  804.           LIGHTGREEN      A
  805.           LIGHTCYAN       B
  806.           LIGHTRED        C
  807.           LIGHTMAGENTA    D
  808.           YELLOW          E
  809.           WHITE           F
  810.  
  811.           The default  COLORS setting for Install-Pro is COLORS 7 1 7 4 0 7
  812.           9 7 8 0 7 1 and is interpreted as:
  813.  
  814.           Regular Windows, Light Grey on Blue
  815.           Error Windows, Light Grey on Red
  816.           Entry Fields, Black on Light Grey
  817.           Bottom Line, Light Blue on Light Grey
  818.           Shadows, Dark Grey on Black
  819.           Background, Light Grey on Blue
  820.  
  821.           Each  background color (that is, each second number in the COLORS
  822.           command) must be in the range of 0 through 7.  This is  a limita-
  823.           tion in IBM PC video architecture.
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.           16
  852.  
  853.  
  854.  
  855.  
  856.           Chapter 3
  857.  
  858.           Building the Entry Forms_________________________________________
  859.  
  860.          ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  861.          ▒┌───────────────────────────────────────────────────────────┐▒
  862.          ▒│             Optional Installation Selection               │▒
  863.          ▒└───────────────────────────────────────────────────────────┘▒
  864.          ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  865.          ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  866.          ▒┌───────────────────────────────────────────────────────────┐▒
  867.          ▒│Please press your spacebar to check any of these optional  │▒
  868.          ▒│installation segments that you wish to include.            │▒
  869.          ▒│                                                           │▒
  870.          ▒│           ( ) Sample Files                                │▒
  871.          ▒│                                                           │▒
  872.          ▒└───────────────────────────────────────────────────────────┘▒
  873.          ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  874.  
  875.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  876.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒┌───────────────────────────────────────┐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  877.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│     Destination Directory Entry       │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  878.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒└───────────────────────────────────────┘▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  879.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  880.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  881.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  882.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  883.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  884.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  885.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  886.     ▒┌─────────────────────────────────────────────────────────────────────┐▒
  887.     ▒│                                                                     │▒
  888.     ▒│Program Files            C:\INSTPRO\                                 │▒
  889.     ▒│Document Files           C:\INSTPRO\                                 │▒
  890.     ▒│Sample Files             C:\INSTPRO\SAMPLE\                          │▒
  891.     ▒│                                                                     │▒
  892.     ▒└─────────────────────────────────────────────────────────────────────┘▒
  893.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  894.  
  895.  
  896.           The USER command, which is used to build the Destination Directo-
  897.           ry Entry  form   (and its  accompanying Optional  Selection form)
  898.           must  appear in Install.001 on the first diskette of your instal-
  899.           lation set.
  900.  
  901.             
  902.           USER_____________________________________________________________
  903.             
  904.           Syntax: [OPTION or ATTACH]  USER <label> "prompt" [default direc-
  905.           tory] [NOMOD]
  906.  
  907.  
  908.  
  909.                                                                          17
  910.  
  911.  
  912.  
  913.  
  914.                          Chapter 3, Building the Entry Forms
  915.           _________________________________________________________________
  916.  
  917.           This command  is the  workhorse of Install-Pro.   It  is used  to
  918.           assign a  prompt and  a default  destination to a  label that  is
  919.           specified by you, as well as specify if the files associated with
  920.           it are to  overwrite existing targets.  When the  user inputs his
  921.           destination directory it will be associated with this label name.
  922.           This command also creates the workspace inside Install-Pro needed
  923.           for FILE, RUN and SUBDIR commands to function.
  924.  
  925.           A discussion of each component of the USER command follows:
  926.             
  927.  
  928.           [OPTION]
  929.             
  930.           Before he  is shown the  destination directory Entry  Screen, all
  931.           OPTION USER  (and ATTACH USER) lines  will be resolved by  a form
  932.           similar  to the top form shown above.   This form allows the user
  933.           to toggle on or  off any or all of the  optional portions of your
  934.           installation.
  935.  
  936.           To give  the user the chance  to not install an  unneeded part of
  937.           your application (tutorials, etc.) you only need to prefix a USER
  938.           command with OPTION.  
  939.  
  940.           [ATTACH]
  941.  
  942.           Warning:   The  ATTACH  USER command  is  best classified  as  an
  943.           advanced topic.  Neophyte  Install-Pro script-writers might  best
  944.           steer  clear  until the  other  aspects of  Install-Pro  are well
  945.           understood. 
  946.  
  947.           When using an ATTACH USER command, the syntax is slightly differ-
  948.           ent:
  949.  
  950.           Syntax: ATTACH USER <label> "prompt" <parent label> [NOMOD]
  951.  
  952.           Before  he is shown  the destination directory  Entry Screen, all
  953.           ATTACH USER  (and OPTION USER) lines  will be resolved by  a form
  954.           similar to the  top form shown above.  This  form allows the user
  955.           to toggle  on or off any or all of  the optional portions of your
  956.           installation.
  957.  
  958.           The  way that  ATTACH  differs from  OPTION  is that  instead  of
  959.           displaying a data entry line on the destination directory screen,
  960.           the label instead gets its path from the path associated with the
  961.           parent label.   The  best way to  understand this  is through  an
  962.           example:
  963.  
  964.           Assume  that  you  want  your  main  program  files  to  go  into
  965.           C:\PROGSYS.  Further, assume you want optional sample files to go
  966.  
  967.           18
  968.  
  969.  
  970.  
  971.  
  972.                          Chapter 3, Building the Entry Forms
  973.           _________________________________________________________________
  974.  
  975.           into  C:\PROGSYS\SAMPLE.  But, you want no chance that the sample
  976.           files  might end up in some other directory, unaccessible to your
  977.           application.  To do that:
  978.  
  979.           USER prog_files "Program Files" C:\PROGSYS
  980.           ATTACH USER sample_files "Sample Files" prog_files
  981.  
  982.           SUBDIR sample_files \SAMPLE
  983.  
  984.           FILE prog_files filename
  985.           FILE sample_files samplefilename
  986.  
  987.           In  a  line-by-line  synopsis,  and assuming  the  defaults  were
  988.           accepted  by the  user, the  user is  first shown  a radio-button
  989.           screen asking if he wants  to install the sample files.   If yes,
  990.           then all actions with the label sample_files will  occur.  If no,
  991.           none of  those actions occur.   Now, the  user is shown  an entry
  992.           screen  WITH ONLY ONE ENTRY  LINE, for prog_files.   Whatever the
  993.           user types in for that path  will be stored into both  prog_files
  994.           AND sample_files.   Next,  the SUBDIR  command  creates a  SAMPLE
  995.           subdirectory and finally, the FILE commands transfer filename and
  996.           samplefilename over to their respective directories.
  997.  
  998.           In  a nutshell,  ATTACH USER  commands  allow optional  events to
  999.           occur in  non-optional directories.   In comparison,  OPTION USER
  1000.           commands, if  accepted, create  an additional directory  in which
  1001.           events are to occur.
  1002.  
  1003.           It is illegal to attempt to specify an OPTION USER command as the
  1004.           parent label  to an  ATTACH USER command.   The reason  is fairly
  1005.           obvious:   if the  OPTION USER  is declined  but the  ATTACH USER
  1006.           isn't, there is no way to determine a path to store in the ATTACH
  1007.           USER label.
  1008.  
  1009.           <label>:
  1010.  
  1011.           The label  portion of  the USER  command is  nothing more  than a
  1012.           tagname to assign to the information stored by  this command.  In
  1013.           some of the other commands you will want to refer to the destina-
  1014.           tion directory that this  command creates, but you won't  know if
  1015.           that directory will have been changed  by the user.  So, we refer
  1016.           to it with  a label instead.  Common labels  might be prog_files,
  1017.           help_files, etc.
  1018.  
  1019.  
  1020.           "prompt"
  1021.  
  1022.           In the above form, "Program  Files", "Sample Files" and "Document
  1023.           Files" were the prompt portions of the USER commands that created
  1024.  
  1025.                                                                          19
  1026.  
  1027.  
  1028.  
  1029.  
  1030.                          Chapter 3, Building the Entry Forms
  1031.           _________________________________________________________________
  1032.  
  1033.           the  form.   Each line  of the  Destination Directory  Entry form
  1034.           consists of a prompt and its corresponding entry field.  
  1035.  
  1036.  
  1037.           [default directory]
  1038.  
  1039.           If you  want the user  to be presented  with a default  directory
  1040.           when the Destination Directory Entry  form is displayed, then you
  1041.           can do so.  It must be in  the form of a legal DOS path.  In  the
  1042.           above form, the default directories were C:\INSTPRO  (twice)  and
  1043.           C:\INSTPRO\SAMPLE.   A default  directory is optional  unless you
  1044.           want to specify a NOMOD directory (described next).
  1045.  
  1046.  
  1047.           [NOMOD]
  1048.  
  1049.           Sometimes, you are going to want a specific directory path not to
  1050.           be  changed by the user  during installation.   For instance, you
  1051.           may  want  a \SYS  directory to  exist  on the  installation hard
  1052.           drive.  NOMOD makes this possible.  If  you tack NOMOD on the end
  1053.           of a USER command, the entry form displays "The directory portion
  1054.           of this field  cannot be  changed" whenever the  user is  editing
  1055.           this USER entry.  Since it is not possible to  know ahead of time
  1056.           what drive letters a  target computer will have available,  it is
  1057.           not allowed to freeze the destination drive, only the destination
  1058.           directory.
  1059.  
  1060.                                 New with version 3.00
  1061.  
  1062.           DESCRIBE_________________________________________________________
  1063.  
  1064.           Syntax: DESCRIBE <label_name> "Description for this label"
  1065.  
  1066.           The  DESCRIBE command allows  you to dedicate  a line of  text to
  1067.           describe what class  of files the specified  label will transfer.
  1068.           As a typical example:
  1069.  
  1070.           USER prog_files "Program Files" c:\progsys
  1071.           DESCRIBE prog_files "These are the main program files"
  1072.  
  1073.           In both the OPTION USER pre-entry  form and main entry form,  the
  1074.           DESCRIBE text  is popped up in a one-line window at the bottom of
  1075.           the screen whenever the user is accessing that particular line of
  1076.           the form.  In most cases you will either want to  describe all of
  1077.           the lines of your forms  or none of them, but consistency  is not
  1078.           required.
  1079.  
  1080.  
  1081.  
  1082.  
  1083.           20
  1084.  
  1085.  
  1086.  
  1087.  
  1088.           Chapter 4
  1089.  
  1090.           Transferring and Decompressing Files
  1091.  
  1092.           SUBDIR___________________________________________________________
  1093.             
  1094.           Syntax: SUBDIR <label_name> <dirname>
  1095.             
  1096.           When you define an entry form with USER commands, the directories
  1097.           that the  user enters during the  installation will automatically
  1098.           be created by Install-Pro.  However, if you have directories that
  1099.           you want created child to the user-defined directories, you build
  1100.           them  with SUBDIR commands.  The components of the SUBDIR command
  1101.           are now discussed:
  1102.  
  1103.  
  1104.           <label_name>:
  1105.             
  1106.           The  label name specified here  MUST have been previously defined
  1107.           with a USER command.  The subdirectory will be created as a child
  1108.           to the  directory entered by  the user  on the line  of the  form
  1109.           associated with this label.
  1110.  
  1111.  
  1112.           <dirname>:
  1113.             
  1114.           This is the name of  the child subdirectory.  It does  not matter
  1115.           how long  it is (as long  as the total directory  length is below
  1116.           the DOS maximum of 65 characters)  or how many directories are in
  1117.           the chain.  That is, \SUB1\SUB2\SUB3 is a legal directory name if
  1118.           you wanted a  long chain  created child to  a main  subdirectory.
  1119.           There is no requirement that the directory(s) begin or end with a
  1120.           backslash.
  1121.  
  1122.           SUBDIR lines may exist anywhere in any install.??? file, but must
  1123.           precede the  first use  of its created  directory or  Install-Pro
  1124.           will be unable to continue.
  1125.  
  1126.           Example 1:
  1127.             
  1128.           USER label_1 "Data Files" C:\MYAPP\DATA
  1129.           SUBDIR label_1 \MOREDATA
  1130.             
  1131.           If  the user  accepted the  default, the  C:\MYAPP\DATA directory
  1132.           would be  created.  Also,  as a  result of the  SUBDIR line,  the
  1133.           C:\MYAPP\DATA\MOREDATA directory would be created.
  1134.             
  1135.             
  1136.           Example 2:
  1137.             
  1138.           USER label_1 "Data Files" C:\MYAPP\DATA
  1139.           SUBDIR label_1 \DATA1\DATA2\DATA3
  1140.  
  1141.                                                                          21
  1142.  
  1143.  
  1144.  
  1145.  
  1146.                             Chapter 4, Transferring Files
  1147.           _________________________________________________________________
  1148.  
  1149.             
  1150.           If the  user accepted the  default above, C:\MYAPP\DATA  would be
  1151.           first created,  and then the -entire-  chain of DATA1\DATA2\DATA3
  1152.           would be created as a child.  The resultant chain would thus be
  1153.             
  1154.           C:\MYAPP\DATA\DATA1\DATA2\DATA3
  1155.             
  1156.           CAUTION:  The DOS limit for subdirectory length is 65 characters,
  1157.           including drive and colon.  Keep in mind the maximum user-entered
  1158.           directory is up to 40 characters, leaving you up to 24 characters
  1159.           with  any margin of safety.   If the total exceeds 65 characters,
  1160.           DOS returns a directory creation error.
  1161.             
  1162.  
  1163.           FILE_____________________________________________________________
  1164.  
  1165.           Syntax: FILE <label_name> <filename> [UPGRADE, VERIFY or PROTECT]
  1166.  
  1167.           This  command  transfers a  file  from  the current  installation
  1168.           diskette to the directory  associated with labelname.  Since  the
  1169.           file must be on the current diskette, this command must appear in
  1170.           the script on  the same diskette.   Thus, if you  want a file  on
  1171.           diskette  #2 to be transferred,  the FILE command  must appear in
  1172.           install.002 on that diskette.  The components of FILE are:
  1173.  
  1174.             
  1175.           <label_name>:
  1176.             
  1177.           The label  name specified  here MUST  already  have been  created
  1178.           with a USER command.  This determines the destination directory.
  1179.  
  1180.  
  1181.           <filename>:
  1182.             
  1183.           The filespec  can take  one of  two forms.   First,  it can be  a
  1184.           regular dos filename, in which case it will be transferred to the
  1185.           directory associated with the specified label.  Alternatively, it
  1186.           can include  an optional directory  chain child to  the directory
  1187.           associated with the  specified label,  in which case  it will  be
  1188.           transferred to that child directory.  For that child directory to
  1189.           exist,  it must  first  be created  a  SUBDIR command,  described
  1190.           previously. 
  1191.  
  1192.  
  1193.           [UPGRADE]:
  1194.             
  1195.           This  modifier indicates that any files newer than the file being
  1196.           transferred  are to be overwritten only with permission  from the
  1197.  
  1198.  
  1199.           22
  1200.  
  1201.  
  1202.  
  1203.  
  1204.                             Chapter 4, Transferring Files
  1205.           _________________________________________________________________
  1206.  
  1207.           user.  Therefore the  user's machine must have a  functional (and
  1208.           accurate) clock.
  1209.  
  1210.  
  1211.           [VERIFY]:
  1212.             
  1213.           This modifier directs Install-Pro  to verify all file overwrites,
  1214.           even if the file being overwritten is older than the installation
  1215.           file.
  1216.  
  1217.                                 New with version 3.00
  1218.  
  1219.           [PROTECT]:
  1220.  
  1221.           This modifier prevents an existing file from being overwritten by
  1222.           Install-Pro.  If the file exists, the copy does not occur.
  1223.  
  1224.  
  1225.           Example:
  1226.            
  1227.           USER label_1 "Data Files" C:\DATA
  1228.           FILE label_1 main.exe
  1229.           FILE label_1 main2.exe
  1230.             
  1231.           This partial  script would  transfer main.exe and  main2.exe from
  1232.           the root  directory of the  current installation diskette  to the
  1233.           directory that the user entered when prompted  with "Data Files",
  1234.           perhaps the default directory presented to him, "C:\DATA".
  1235.             
  1236.           Now, consider this more advanced example:
  1237.             
  1238.           USER label_1 "Data Files" C:\DATA
  1239.           SUBDIR label_1 \HELP
  1240.           FILE label_1 main.exe  
  1241.           FILE label_1 main2.exe
  1242.           FILE label_1 help\help.dat
  1243.             
  1244.           Assuming that the user  accepts the default C:\DATA, this  script
  1245.           will transfer main.exe  and main2.exe from the  root directory of
  1246.           the  current  installation diskette  to C:\DATA,  just as  in the
  1247.           previous  example.  Also, as child  to the user-entered directory
  1248.           will  be created a help  directory, to which  will be transferred
  1249.           help.dat.
  1250.             
  1251.           The final structure if all defaults are accepted by the user is:
  1252.             
  1253.           C:\DATA\MAIN.EXE
  1254.           C:\DATA\MAIN2.EXE
  1255.           C:\DATA\HELP\HELP.DAT
  1256.  
  1257.                                                                          23
  1258.  
  1259.  
  1260.  
  1261.  
  1262.                             Chapter 4, Transferring Files
  1263.           _________________________________________________________________
  1264.  
  1265.           If the destination file already exists, its attribute is  changed
  1266.           to  read/write  before  the transfer  is  attempted.    After the
  1267.           transfer  has completed,  if ATTRIBSAVE  has been  specified, the
  1268.           attribute of the destination file is changed to match the attrib-
  1269.           ute of the source file.
  1270.             
  1271.  
  1272.           Splitting Files__________________________________________________
  1273.             
  1274.           If  you have  files  that just  cannot  fit onto  a  distribution
  1275.           diskette,  Install-Pro has  the  ability to  handle split  files.
  1276.           First an example of how to tell Install-Pro what you want:
  1277.             
  1278.           FILE label_1 main.ex1e
  1279.           FILE label_1 main.ex2e
  1280.             
  1281.           These two FILE commands lines would cause Install-Pro to create a
  1282.           file  called main.exe in  the label_1  directory, from  TWO files
  1283.           main.ex1 and main.ex2.   What Install-Pro does is looks to see if
  1284.           an extra character has been added to a  filename.  If there is an
  1285.           extra character:
  1286.             
  1287.           1. The source (distribution disk) filename is assigned  an exten-
  1288.           sion of the  first three characters of the  filename's extension.
  1289.           This file should exist on the current distribution diskette.
  1290.             
  1291.           2. The destination filename has the third character replaced with
  1292.           the fourth, and the fourth character is removed.
  1293.             
  1294.             
  1295.           Please note that:
  1296.             
  1297.           1.  main.ex1e and main.ex2f would  not cause an  append to occur.
  1298.           The filenames (with  the exception  of the third  character of  a
  1299.           four-character  extension) MUST  match.   In this  case, main.exe
  1300.           would  be created from main.ex1, but main.exf would NOT be creat-
  1301.           ed.
  1302.             
  1303.           2. The  files MUST have the  same label name assigned  to each of
  1304.           them.  If main.ex1e and main.ex2e were assigned different labels,
  1305.           \directory1\main.exe would be  created, but  \directory2\main.exe
  1306.           would NOT.
  1307.             
  1308.             
  1309.           The append/create decision is resolved as follows:
  1310.             
  1311.           1. If  third character of the  extension is a '1'  and the fourth
  1312.           character exists, the file is CREATED.
  1313.             
  1314.  
  1315.           24
  1316.  
  1317.  
  1318.  
  1319.  
  1320.                             Chapter 4, Transferring Files
  1321.           _________________________________________________________________
  1322.  
  1323.           2. If the third character is greater than a '1', then Install-Pro
  1324.           checks to make  sure that the preceding portion   of the file was
  1325.           copied before proceeding.  If so, the file is APPENDED.  
  1326.  
  1327.           3.  If the third  character is a number,  but no fourth character
  1328.           exists, no split-file decision occurs - the file will be created.
  1329.             
  1330.           This type of  file transfer can be especially touchy if the order
  1331.           of  files transferred  and then  appended is  incorrect.   If you
  1332.           split files,  I strongly  recommend  that you  debug your  script
  1333.           carefully and compare the  created file with the original  (using
  1334.           the DOS program 'COMP') to be sure that they are identical before
  1335.           releasing your application.
  1336.  
  1337.           There  is an  accompanying  utility called  split.exe which  will
  1338.           split  your large files for you if needed.  It comes with its own
  1339.           documentation.
  1340.  
  1341.  
  1342.           UNZIP____________________________________________________________
  1343.  
  1344.           Syntax: UNZIP <labelname> <zipfile> [VERIFY, UPGRADE or PROTECT]
  1345.  
  1346.           This  command specifies a zip file that needs to be decompressed.
  1347.           The following assumptions are made with this command:
  1348.  
  1349.           1.  If the zip  file is in  a destination  directory it is  to be
  1350.           deleted  after  decompression.   (Under  no  circumstances is  it
  1351.           possible to delete a zip file on the distribution disk.)
  1352.  
  1353.           2. The  base destination  for the  extracted files  is to  be the
  1354.           directory associated  with  labelname.    That  is,  subdirectory
  1355.           information stored  in the zip file is to be used relative to the
  1356.           current zip file directory.
  1357.  
  1358.           3. The filename's default extension is 'zip'.
  1359.  
  1360.           4. The file was  compressed with a supported version  of PKWare's
  1361.           PKZip  or 100%  compatible.   Currently, all  compression methods
  1362.           through 2.04c are supported.  See the read.me file for updates on
  1363.           more recent releases.
  1364.  
  1365.           5. The file was NOT encrypted with a password.
  1366.  
  1367.           6. The file is not part of a multiple-volume archive.
  1368.  
  1369.  
  1370.           The  components of  the UNZIP  command should  be interpreted  as
  1371.           follows:
  1372.  
  1373.                                                                          25
  1374.  
  1375.  
  1376.  
  1377.  
  1378.                             Chapter 4, Transferring Files
  1379.           _________________________________________________________________
  1380.  
  1381.  
  1382.           <labelname>:
  1383.  
  1384.           The  labelname,  which must  be  previously defined  with  a USER
  1385.           command, defines the base directory for the decompression.
  1386.  
  1387.  
  1388.           <zipfile>:
  1389.  
  1390.           The zipfile may be  transferred first with a FILE command,  or it
  1391.           may be decompressed from  the installation diskette.  In  perfor-
  1392.           mance, both  methods are identical.   However, if  you decompress
  1393.           from the  diskette, extra care must  be taken to  ensure that the
  1394.           UNZIP  command occurs in the script on  the current diskette.  If
  1395.           you  transfer with a file command and decompress from the instal-
  1396.           lation directory, then  the UNZIP command can come anytime after-
  1397.           wards, even on the last diskette.
  1398.  
  1399.  
  1400.           [UPGRADE]:
  1401.  
  1402.           This modifier indicates that any files newer than the file  being
  1403.           transferred  are to be overwritten only  with permission from the
  1404.           user.  This modifier is  reliant on the user's machine   having a
  1405.           functional clock,  and  that  the files  on  the  user's  machine
  1406.           reflect actual dates.
  1407.  
  1408.  
  1409.           [VERIFY]:
  1410.  
  1411.           This modifier directs Install-Pro to verify all file overwrites.
  1412.  
  1413.           Any  directory information packed in an zip file is automatically
  1414.           created as needed during the unzip process. Under no circumstanc-
  1415.           es will a file stored in a zip file with subdirectory information
  1416.           be unpacked into the current directory.
  1417.  
  1418.                                 New with version 3.00
  1419.  
  1420.           [PROTECT]:
  1421.  
  1422.           This modifier prevents any file in the destination directory from
  1423.           being overwritten by a file in the .zip file.  
  1424.  
  1425.  
  1426.           Example:
  1427.  
  1428.           UNZIP label1 zipfile
  1429.  
  1430.  
  1431.           26
  1432.  
  1433.  
  1434.  
  1435.  
  1436.                             Chapter 4, Transferring Files
  1437.           _________________________________________________________________
  1438.  
  1439.           would unzip zipfile.zip in the directory associated with label1.
  1440.  
  1441.           If  UNZIP refers to an OPTIONal label,  the UNZIP will only occur
  1442.           if the user chose to include that part of the installation.
  1443.  
  1444.           Since  an error  extracting  a zip  file  must be  considered  as
  1445.           dangerous  as an error copying an installation file, crc or other
  1446.           unzip errors must be treated as fatal errors, with program abort,
  1447.           so double-check the integrity of your .zip files before distribu-
  1448.           tion.
  1449.  
  1450.           If the destination file already  exists, its attribute is changed
  1451.           to  read/write  before  the transfer  is  attempted.   After  the
  1452.           transfer  has completed,  if ATTRIBSAVE  has been  specified, the
  1453.           attribute of the destination file is changed to match the attrib-
  1454.           ute of the source file.
  1455.  
  1456.  
  1457.           ATTRIBSAVE_______________________________________________________
  1458.  
  1459.           Syntax: ATTRIBSAVE
  1460.  
  1461.           This command states that you want attributes assigned to files on
  1462.           your  distribution  disks and  attributes  of  files within  your
  1463.           compressed  archives to  be preserved  after they  have  been in-
  1464.           stalled in the destination directories.  Even if you install
  1465.           read-only files, however, Install-Pro will be able to overwrite
  1466.           them during subsequent installs.                                 
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.                                                                          27
  1490.  
  1491.  
  1492.  
  1493.  
  1494.           Chapter 5
  1495.  
  1496.           Changing Disks and Terminating___________________________________
  1497.  
  1498.  
  1499.           FIRSTDISK________________________________________________________
  1500.  
  1501.           Syntax: FIRSTDISK [disk name]
  1502.  
  1503.           This command allows you  to name the first disk  of the installa-
  1504.           tion something  besides the default  "Disk 1" (for  example, "In-
  1505.           stall Disk").  Other than slightly changing screen appearance and
  1506.           prompts, this  command does not affect the  physical operation of
  1507.           Install-Pro in any  way.   If no argument  follows the  FIRSTDISK
  1508.           command, the default of "Disk 1" will be used.  
  1509.  
  1510.           FIRSTDISK MUST appear in install.001 to have any affect.
  1511.  
  1512.  
  1513.           DISK_____________________________________________________________
  1514.             
  1515.           Syntax: DISK [disk name]
  1516.             
  1517.           This command specifies that when  processing for the current disk
  1518.           has  finished, the  user  is to  be prompted  to insert  the next
  1519.           numbered disk (as opposed to terminating the installation).   The
  1520.           extension  of the  script  file increments  with each  successive
  1521.           disk.  For example, if the disk being processed is disk 1 with i-
  1522.           nstall.001, specifying DISK  would cause the user  to be prompted
  1523.           to insert disk #2.  If the user presses enter and the disk in the
  1524.           drive in which  install.exe exists does  not have install.002  in
  1525.           the  current directory, the user will be instructed to try again.
  1526.           This  loop repeats  until the  user inserts  the correct  disk or
  1527.           until the user presses Escape, which would terminate the program.
  1528.             
  1529.           The  optional [disk name] argument allows you to name the follow-
  1530.           ing  disk something besides "Disk n".  Common uses are "Utilities
  1531.           Disk","Fonts  Disk"  or what-have-you.    If  you adopt  this  or
  1532.           another naming  convention,  be sure  to  look up  the  FIRSTDISK
  1533.           command for instructions on naming the FIRST disk (since the DISK
  1534.           command always names the FOLLOWING disk.)
  1535.             
  1536.  
  1537.           END______________________________________________________________
  1538.  
  1539.           Syntax: END
  1540.             
  1541.           This command  indicates  that the  end of  the last  installation
  1542.           script has been reached.  Just like DISK, END forces all informa-
  1543.           tion stored in all labels to be processed.  However, unlike DISK,
  1544.           when this processing has been completed, the program displays the
  1545.           GOODBYE messages and exits.
  1546.  
  1547.           28
  1548.  
  1549.  
  1550.  
  1551.  
  1552.                        Chapter 5, Changing Disks & Terminating
  1553.           _________________________________________________________________
  1554.  
  1555.             
  1556.           This command is mutually exclusive of the DISK command.  Whichev-
  1557.           er  is encountered first on  any given diskette  will dictate the
  1558.           processing that will occur, and the other will be ignored.
  1559.  
  1560.  
  1561.           CHAIN____________________________________________________________
  1562.  
  1563.           Syntax: CHAIN
  1564.             
  1565.           This command  indicates that  the end  of  the last  installation
  1566.           script  has been reached,  just like END.   When this  command is
  1567.           reached, all work accumulated is processed.  Unlike END, however,
  1568.           CHAIN  is a  conditional  installation terminator.   The  user is
  1569.           presented  with "Do you wish to install another module (Yes/No)".
  1570.           If the user selects NO, then the GOODBYE  screen is displayed and
  1571.           Install-Pro terminates.
  1572.             
  1573.           If  the user  selects YES,  then  he is  prompted  to insert  the
  1574.           Install Disk of the next module and Install-Pro transfers control
  1575.           to another copy of itself  on the new diskette, and the  old copy
  1576.           of Install-Pro in memory  is discarded.  Any GOODBYE  screen will
  1577.           be handled by the new copy of Install-Pro.
  1578.             
  1579.           The actual filename that  is looked for with CHAIN is the identi-
  1580.           cal path and filename of the currently executing process.  So, if
  1581.           you have renamed one copy of Install-Pro to INSTALL.EXE, they all
  1582.           must be renamed that way.
  1583.             
  1584.           The traditional use for this type  of termination is in the  case
  1585.           of integrated accounting software, where it is unknown at runtime
  1586.           how  many modules  (General Ledger,  System Manager,  Accounts R-
  1587.           eceivable,etc.) have been purchased.
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.                                                                          29
  1606.  
  1607.  
  1608.  
  1609.  
  1610.           Chapter 6
  1611.  
  1612.           Verifying the target environment_________________________________
  1613.  
  1614.  
  1615.           SPACE____________________________________________________________
  1616.  
  1617.           Syntax: SPACE <label_name> <nnnnn>
  1618.             
  1619.  
  1620.           If you  would like  the destination  drive checked  for available
  1621.           disk  space before proceeding (often a good idea) you define your
  1622.           space requirements with this command.  It is not foolproof, since
  1623.           it is  possible that the  installation will go  on top of  an old
  1624.           one, but  it provides you with an opportunity to warn the user if
  1625.           his disk is almost full.
  1626.  
  1627.           Each SPACE command must  reference a defined label (via  the USER
  1628.           command.)    After the  user  chooses his  destination  drive and
  1629.           directories  in the  entry screen,  all labels  that access  each
  1630.           drive are added together  to determine if enough free  disk space
  1631.           exists.
  1632.             
  1633.           The disk check(s) occur directly after the user has finished with
  1634.           the destination  directory entry screen.   Any OPTIONal installa-
  1635.           tion segments that are declined by the user are not counted  when
  1636.           determining adequate disk space.
  1637.  
  1638.  
  1639.           CPU______________________________________________________________
  1640.  
  1641.                               486 new with version 3.00
  1642.  
  1643.           Syntax: CPU <86, 286, 386 or 486>
  1644.  
  1645.           This command can be used to warn the  user that his machine has a
  1646.           processor that will not run your application.  This is treated as
  1647.           a warning,  and the user is  allowed to try to  continue.  Please
  1648.           note that this  detection is  not 100% reliable  due to the  huge
  1649.           number of computers available.
  1650.  
  1651.  
  1652.           FPU______________________________________________________________
  1653.  
  1654.           Syntax: FPU
  1655.             
  1656.           This command will  warn the  user that your  application needs  a
  1657.           math  co-processor installed to function.   This is  treated as a
  1658.           warning, and the user is allowed to try to continue.
  1659.  
  1660.  
  1661.           RAM______________________________________________________________
  1662.  
  1663.           30
  1664.  
  1665.  
  1666.  
  1667.  
  1668.                            Verifying the Target Environment
  1669.           _________________________________________________________________
  1670.  
  1671.             
  1672.           Syntax: RAM <nnn>
  1673.  
  1674.                           Changed starting with version 3.00
  1675.  
  1676.           This command will warn  the user if the installation  machine has
  1677.           less  ram (in kilobytes) available than would be required by your
  1678.           application.   This  is  handled by  Install-Pro calculating  its
  1679.           program  size  and adding  the amount  of  free ram  available to
  1680.           Install-Pro.  It is  fairly safe to assume that  this calculation
  1681.           will be accurate if  your application had been loaded  instead of
  1682.           Install-Pro.
  1683.  
  1684.  
  1685.           EMS______________________________________________________________
  1686.  
  1687.           Syntax: EMS <nnnn>
  1688.  
  1689.                                 New with version 3.00
  1690.  
  1691.           This command will warn  the user if less available EMS  (LIM 3.0-
  1692.           compatible  expanded memory,  in kilobytes)  is detected  than is
  1693.           required by your application.
  1694.  
  1695.  
  1696.           VCPI_____________________________________________________________
  1697.  
  1698.           Syntax: VCPI
  1699.  
  1700.                                 New with version 3.00
  1701.  
  1702.           This command  will warn the  user if there  is not a  VCPI server
  1703.           installed.
  1704.  
  1705.  
  1706.           DPMI_____________________________________________________________
  1707.  
  1708.           Syntax: DPMI <nnn>
  1709.  
  1710.                                 New with version 3.00
  1711.  
  1712.           This  command will warn  the user if  there is not  a DPMI server
  1713.           installed greater than  or equal  to the version  specified.   If
  1714.           your application requires DPMI 0.90  or newer, you would indicate
  1715.           this with DPMI 090 (or just 90).  That is, two decimal points are
  1716.           implied in the version specified.
  1717.  
  1718.  
  1719.           XMS______________________________________________________________
  1720.  
  1721.                                                                          31
  1722.  
  1723.  
  1724.  
  1725.  
  1726.                            Verifying the Target Environment
  1727.           _________________________________________________________________
  1728.  
  1729.           Syntax: XMS <nnnn>
  1730.  
  1731.                                 New with version 3.00
  1732.  
  1733.           This command will warn  the user if less available  XMS (extended
  1734.           memory,  in  kilobytes) is  detected  than  is  required by  your
  1735.           application.
  1736.            
  1737.  
  1738.           VER______________________________________________________________
  1739.  
  1740.           Syntax: VER <n.nn>
  1741.             
  1742.           This command will  warn the user if the version  of MS-Dos on the
  1743.           installation machine  is less than required  by your application.
  1744.           This is treated as  a warning, and the user is allowed  to try to
  1745.           continue.
  1746.  
  1747.  
  1748.           CONFIGFILES______________________________________________________
  1749.  
  1750.           Syntax: CONFIGFILES <nn>
  1751.             
  1752.           This command follows the following logic:
  1753.  
  1754.             
  1755.           1.   Attempt to determine the boot disk.  
  1756.  
  1757.           2.   If the boot disk is found, try to find Config.sys.
  1758.  
  1759.           3.   If Config.sys has been found, read the FILES= statement.  
  1760.  
  1761.           4.   If Config.sys  cannot be  found, or if  Config.sys has  been
  1762.                found but with FILES=  too low, ask the user  for permission
  1763.                to update  Config.sys.   If permission  is granted,  ask the
  1764.                user  for the path  to Config.sys if  Config.sys hasn't been
  1765.                found.
  1766.  
  1767.           5.   Back  up Config.sys  to Config.nnn  where nnn  is the  first
  1768.                available non-existant file  starting with  Config.001.   No
  1769.                more than one backup of Config.sys will occur  per installa-
  1770.                tion.
  1771.  
  1772.           6.   Modify Config.sys if given permission.
  1773.  
  1774.           Please note that the goal here is to:
  1775.             
  1776.           1.   Only  disturb the user if unable to determine that FILES= is
  1777.                okay.
  1778.  
  1779.           32
  1780.  
  1781.  
  1782.  
  1783.  
  1784.                            Verifying the Target Environment
  1785.           _________________________________________________________________
  1786.  
  1787.           2.   Never modify Config.sys without permission.
  1788.  
  1789.           3.   Don't  access a  Bios-reported  floppy  diskette unless  the
  1790.                user inputs it as the boot disk.
  1791.             
  1792.           A  message is  displayed notifying  the  user whether  the update
  1793.           occurred, or whether it wasn't needed after all.
  1794.  
  1795.  
  1796.           PATH_____________________________________________________________
  1797.  
  1798.           Syntax: PATH <labelname>
  1799.  
  1800.           This command allows a path associated with a label to be inserted
  1801.           into  the path statement in Autoexec.bat.  If the particular path
  1802.           entry  is found in the PATH statement in Autoexec.bat, no attempt
  1803.           is made to add it again.   Like with Config.Sys, the user is only
  1804.           disturbed  if Install-Pro is  unable to  determine that  the PATH
  1805.           setting is okay.  If Autoexec.bat is to be modified,  it is first
  1806.           backed up to Autoexec.nnn.
  1807.  
  1808.  
  1809.           SET______________________________________________________________
  1810.  
  1811.           Syntax: SET <ENVVAR>=<value>
  1812.  
  1813.                                 New with version 3.00
  1814.  
  1815.           This  command allows  you to  place any value  you wish  into the
  1816.           user's Autoexec.bat.   <ENVVAR> is  your environmental  variable.
  1817.           <value>  is the value you wish to  place in the environment.  All
  1818.           instances of a label name prepended with an exclamation point (eg
  1819.           !label_name)  are directly replaced  with the path  that the user
  1820.           types  in for the USER  command associated with  that label name.
  1821.           Trailing  backslashes on  that  path are  always stripped  before
  1822.           passed to the SET command.
  1823.  
  1824.           If <ENVVAR> is already  in Autoexec.bat, it is replaced  with the
  1825.           new value.  If Autoexec.bat is to be modified, it is first backed
  1826.           up to Autoexec.nnn.
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.                                                                          33
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.           Chapter 7
  1844.  
  1845.           Running External Programs________________________________________
  1846.  
  1847.  
  1848.           RUN______________________________________________________________
  1849.  
  1850.           Syntax: RUN "any command line in quotes" [log-to directory]
  1851.             
  1852.           This command defines  a command line to  be built to  execute any
  1853.           special programs or batch  files that are needed to  customize an
  1854.           installation.  One  use for  this might  be to  run a  config.exe
  1855.           program that  will bring the  user straight into  configuring the
  1856.           application he is  installing.   Another use might  be to  create
  1857.           application  menu  definition files  that  couldn't  be built  at
  1858.           install-time otherwise.
  1859.  
  1860.                                 New with version 3.00
  1861.  
  1862.           [Optional Directory]
  1863.  
  1864.           If an  optional directory is specified, then Install-Pro will log
  1865.           onto that directory (it can even be  on a different drive) before
  1866.           executing the  command.   If  you want  to log  onto  one of  the
  1867.           directories  entered by the user  on the entry  form, indicate it
  1868.           with  an  exclamation  point  followed  by  the  label  name  (eg
  1869.           !prog_files).   If you  want an  absolute directory logged  onto,
  1870.           just specify the directory  verbatim (eg c:\progsys).  Specifying
  1871.           an absolute directory is risky, as there is  no guarantee that it
  1872.           exists!
  1873.             
  1874.  
  1875.           "any command line in quotes"
  1876.  
  1877.           Run works by one of two methods.  If the command specified on the
  1878.           command line has the  extension ".EXE" or ".COM", the  program is
  1879.           executed directly by Install-Pro.   If no .EXE or  .COM extension
  1880.           is specified, your command is run by invoking a command processor
  1881.           shell and  passing it the command  line that you specify.   There
  1882.           must be enough memory to load both your  program or command shell
  1883.           in addition to that used by Install-Pro.
  1884.             
  1885.           Run command  lines of  longer than one  word MUST be  enclosed in
  1886.           quotes.  
  1887.             
  1888.           Further, the  directory(s) that  the user  enters at  runtime are
  1889.           available on the  RUN command  lines.  Simply  specify any  label
  1890.           with  a  preceding exclamation  point  (!)  and the  user-entered
  1891.           directory will  be directly substituted  for that portion  of the
  1892.           text.   The directory is inserted without any leading or trailing
  1893.  
  1894.  
  1895.           34
  1896.  
  1897.  
  1898.  
  1899.  
  1900.                          Chapter 7, Running External Programs
  1901.           _________________________________________________________________
  1902.  
  1903.           spaces, but the  spaces on  the RUN command  line are  UNTOUCHED.
  1904.           Some examples follow:
  1905.             
  1906.           RUN "dir !label_1"
  1907.           RUN "!label_1\myprog.exe" !label_1
  1908.  
  1909.           This example would first  change to the directory entered  by the
  1910.           user for label_1 before executing myprog.exe.
  1911.  
  1912.           RUN "copy !label_1\this.fil !label_2"
  1913.  
  1914.           RUN "anydir\anyprog.exe" c:\progsys
  1915.  
  1916.           This  example would log into c:\progsys  before attempting to run
  1917.           c:\progsys\anydir\anyprog.exe.  
  1918.             
  1919.           Finally, a  special sequence, !home,  signifies that you  wish to
  1920.           specify the installation directory of the installation disk.  For
  1921.           obvious reasons,  don't create any labels called  'home' with the
  1922.           USER command, or  the !home sequence will no longer  point at the
  1923.           home directory, but rather  at the directory entered by  the user
  1924.           for this labelname.
  1925.             
  1926.           RUN "!home\myprog.exe"
  1927.  
  1928.             
  1929.           would  execute  myprog from  the  installation  directory of  the
  1930.           installation disk.
  1931.             
  1932.           When a RUN command is executed,  the screen is saved and  cleared
  1933.           first.  After it has completed, the screen is restored.
  1934.             
  1935.           If the command shell attempt fails, the user will  be notified of
  1936.           the reason (usually  memory) but the INSTALLATION WILL NOT ABORT.
  1937.           If there is a critical part of your installation occurring with a
  1938.           RUN command, be sure  to document it in your  manual installation
  1939.           instructions for the user.
  1940.             
  1941.           A few points to keep in mind:
  1942.             
  1943.           1.   The error trapping is much more solid if Install-Pro direct-
  1944.                ly executes your program.   This is due to the fact  that if
  1945.                the command  shell is used instead,  success constitutes the
  1946.                shell having successfully loaded.  Whether enough ram exist-
  1947.                ed for your program or your program was found is not detect-
  1948.                able by Install-Pro.   What's  worse, in the  case of  older
  1949.                versions  of  the alternative  command  processor  4Dos, the
  1950.                command shell load process  occurs in two parts.   The first
  1951.  
  1952.  
  1953.                                                                          35
  1954.  
  1955.  
  1956.  
  1957.  
  1958.                          Chapter 7, Running External Programs
  1959.           _________________________________________________________________
  1960.  
  1961.                part of 4dos can load successfully but fail to load the rest
  1962.                of itself and still return success to Install-Pro.
  1963.             
  1964.           2.   Memory requirements  for command  shell RUN commands  can be
  1965.                significantly  higher,  especially  if  COMMAND.COM  is  the
  1966.                target of COMSPEC (about 27k).
  1967.             
  1968.           3.   A single RUN  command in .EXE mode is allowed  up to 9 argu-
  1969.                ments. Additional  arguments are ignored.   In command shell
  1970.                mode, there is no limit to the number of arguments allowed.
  1971.             
  1972.           4.   A single  RUN command in .EXE mode is allowed a length of up
  1973.                to 256 characters.  The length of any single argument is re-
  1974.                stricted to  128 characters.   If argument zero  (the direc-
  1975.                tory,  path and filename of the executing program) is longer
  1976.                than  128 characters, DOS will  return an error message back
  1977.                to  Install-Pro.  If any  other argument is  longer than 128
  1978.                characters, the argument will be truncated.
  1979.             
  1980.           5.   A  single RUN  command in  command shell  mode is  allowed a
  1981.                total length of up to 256 characters,  but keep in mind that
  1982.                the  widely-used command  interpreter COMMAND.COM  will only
  1983.                allow  128 characters total.  4dos,  among others, allows up
  1984.                to 256 characters.
  1985.             
  1986.           6.   RUN commands  MAY access OPTIONal directories.   However, if
  1987.                any of the optional directories listed in a RUN command line
  1988.                were not accepted by the user (even if the directory already
  1989.                exists),  the command  will  be ignored.    This allows  RUN
  1990.                commands to  be conditional  on whether  an OPTION  has been
  1991.                accepted.   If an OPTION is  declined, you can be  sure that
  1992.                the associated RUN commands will not be executed.
  1993.  
  1994.  
  1995.           PRERUN___________________________________________________________
  1996.  
  1997.           Syntax: PRERUN "any command-line in quotes" [log-to directory]
  1998.  
  1999.                                 New with version 3.00
  2000.  
  2001.           This command is identical to the  RUN command, except that it  is
  2002.           processed BEFORE  any  FILE, UNZIP  or  VIEW commands  have  been
  2003.           executed.   If you have a task  that needs to be completed before
  2004.           any  work  has been  actually started  on  the current  disk, use
  2005.           PRERUN.  For example, if you would like to back some files before
  2006.           installing  an  upgrade,  you  could  do  so  with  this command.
  2007.           RUNERRNOTIFY affects PRERUN just as it does RUN.
  2008.  
  2009.  
  2010.  
  2011.           36
  2012.  
  2013.  
  2014.  
  2015.  
  2016.           RUNERRNOTIFY_____________________________________________________
  2017.  
  2018.           Syntax: RUNERRNOTIFY
  2019.  
  2020.                                 New with version 3.00
  2021.  
  2022.           Ordinarily,  Install-Pro only  notices whether  or not  a program
  2023.           executed  with a  RUN command  successfully loaded,  ignoring the
  2024.           return value.  Including  RUNERRNOTIFY notifies Install-Pro  that
  2025.           you want any non-zero errorlevel exits of your RUN commands to be
  2026.           flagged as an error.  Thus,  you can force non-zero exits to have
  2027.           the  same warning message displayed that is shown on program load
  2028.           errors.  Just like regular RUN error processing, the installation
  2029.           still attempts to continue.
  2030.  
  2031.  
  2032.           VIEW_____________________________________________________________
  2033.  
  2034.           Syntax: VIEW [filename]
  2035.  
  2036.                                 New with version 3.00
  2037.  
  2038.           This command allows a very nice scrollable window to be popped up
  2039.           with your read.me files.  Just like  with the RUN command, labels
  2040.           can be used  in the path.   For example, to  view read.me on  the
  2041.           distribution diskette:
  2042.  
  2043.           VIEW !HOME\READ.ME
  2044.  
  2045.           Just as  a side note:   the functionality of the  VIEW command is
  2046.           generally  available to C  programmers through DB/Soft's ViewLib,
  2047.           which  is  a library  that brings  flexible  report viewing  to C
  2048.           object-compatible programs.  An evaluation version of ViewLib can
  2049.           be downloaded from the DB/Soft Online.
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.                                                                          37
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.           Chapter 8
  2076.  
  2077.           Customizing Install-Pro__________________________________________
  2078.  
  2079.  
  2080.           ONERROR__________________________________________________________
  2081.  
  2082.           Syntax: ONERROR "Any text in quotes"
  2083.  
  2084.           If an error occurs, you may have a specific suggestion that you'd
  2085.           like to  present your customer, for example a number to call.  If
  2086.           ONERROR is defined in install.001, the unrecoverable message text
  2087.           "Please  refer to  your manual  installation instructions  if the
  2088.           problem cannot be corrected."  is directly replaced with whatever
  2089.           text you specify.   The text in quotes  may be up to  200 charac-
  2090.           ters.
  2091.  
  2092.  
  2093.           Linking external text____________________________________________
  2094.  
  2095.           Distributed with Install-Pro  comes a  file called  EXTERNAL.LNG.
  2096.           This  optional file,  if found  in the Install-Pro  directory, is
  2097.           used  to  replace the  internally  defined  text strings.    This
  2098.           feature allows  total prompt  redefinition for  specialized needs
  2099.           such as foreign language translations.  The linkage occurs before
  2100.           ONERROR text  is read  into memory, so  ONERROR takes  precedence
  2101.           over its counterpart in the redefinition file.
  2102.             
  2103.           If  EXTERNAL.LNG is  found,  Install-Pro inserts  the text  found
  2104.           directly into the  program space, and  will behave as  if it  had
  2105.           been developed with that text.   The file is read on a one-to-one
  2106.           correspondence  to internal  string space.   That  is, each  line
  2107.           replaces  a specific string of text.  In  the case of some of the
  2108.           longer  strings, you may specify a line continuation with the '\'
  2109.           (backslash) character.  Thus, 
  2110.            
  2111.           "String definition 1 " \
  2112.           "String definition continued"
  2113.             
  2114.           would be treated as the following single definition:
  2115.             
  2116.           "String definition 1 String definition continued"
  2117.             
  2118.           Don't forget that you  probably want a space character  after the
  2119.           last word of  continued string definitions.  The quotations marks
  2120.           are mandatory.   Please be  aware that there is  a slight perfor-
  2121.           mance penalty involved in reading the definition file.  If you do
  2122.           not  want redefinition  to take  place, remove  external.lng from
  2123.           your Install-Pro directory.
  2124.  
  2125.  
  2126.  
  2127.           38
  2128.  
  2129.  
  2130.  
  2131.  
  2132.                           Chapter 8, Customizing Install-Pro
  2133.           _________________________________________________________________
  2134.  
  2135.           Lines beginning  with a  semicolon  or empty  lines are  ignored.
  2136.           Liberal use  of semicolon-preceded comments will  greatly aid the
  2137.           redefinition  process, especially  when translating  between lan-
  2138.           guages.
  2139.             
  2140.           Some of the string definitions are included with %s or  %d format
  2141.           specifiers.   If you are  not familiar with  the programming lan-
  2142.           guage C, these  are used to insert variable text into the string.
  2143.           When  you redefine  a string,  you must  remember to  include the
  2144.           format specifiers in  a similar position in  the new string.   If
  2145.           you include  more format specifiers in the string than originally
  2146.           defined, garbage will display in your string at runtime.  If  you
  2147.           display fewer format specifiers,  important information will  not
  2148.           be displayed to your users.
  2149.             
  2150.           Some of the text strings are menu items (they are labeled as such
  2151.           in external.lng.)  They  must be preceded with a  space character
  2152.           (e.g. " Yes " for the menu hotkeys to work correctly.
  2153.             
  2154.           The order of  the string  definitions is significant.   You  must
  2155.           redefine all of the text if you redefine any of it.
  2156.             
  2157.           When  redefining text, I strongly suggest  that the original text
  2158.           definitions provided in the  sample be commented out and  left in
  2159.           the file for reference.   Generally, the new definitions  need to
  2160.           be  approximately the same length as the originals.  Where possi-
  2161.           ble (e.g. some of the longer messages) I  have allowed some extra
  2162.           leeway  by implementing  word-wrap  in  the  message box  and  by
  2163.           leaving  extra space.  Generally,  if a text  redefinition is too
  2164.           long, the part that is  too long will either be truncated  or run
  2165.           into menu selection bars.  If  you cannot satisfactorily redefine
  2166.           a line, please contact us.
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.                                                                          39
  2186.  
  2187.  
  2188.  
  2189.  
  2190.           Chapter 9
  2191.  
  2192.           Miscellaneous____________________________________________________
  2193.  
  2194.  
  2195.           System Variables_________________________________________________
  2196.  
  2197.           For  all  of  Install-Pro's  flexibility, there  are  still  some
  2198.           decisions  that  cannot be  made ahead  of  time.   The following
  2199.           system  variables  are defined  at runtime,  and  can be  used to
  2200.           modify the  installation depending  on the  destination hardware.
  2201.           The system variables available are:
  2202.  
  2203.           IS86   - True if the processor is a 8086 or higher.
  2204.           IS286  - True if the processor is a 80286 or higher.
  2205.           IS386  - True if the processor is a 80386 or higher.
  2206.           IS486  - True if the processor is a 80486 or higher.
  2207.           ISFPU  - True if a math coprocessor is installed.
  2208.           ISMONO - True if the video adapter is monochrome.
  2209.           ISVGA  - True if the video adapter is EGA, VGA or higher.
  2210.           ISCGA  - True if not ISMONO and not ISVGA.
  2211.  
  2212.           It  is never  the case  that  more than  one of  the three  video
  2213.           adapter system variables will be true.
  2214.  
  2215.           Using system variables is easy: just precede ANY command with the
  2216.           appropriate  system  variable,  and  that command  will  only  be
  2217.           executed if the system variable is TRUE.  Assume as an example:
  2218.  
  2219.           IS386 FILE prog_files progfile.zip
  2220.           IS386 UNZIP prog_files progfile
  2221.  
  2222.           If  this were  run on  a 80386  computer, both of  these commands
  2223.           would be executed.  On any  other computer, neither of them would
  2224.           be. 
  2225.  
  2226.           Further,  the complement of each of these system variables can be
  2227.           achieved with  the keyword NOT.   For instance, if  you wanted to
  2228.           transfer  a file to the  destination directory only  if the video
  2229.           hardware is not monochrome, you would use a command like this:
  2230.  
  2231.           NOT ISMONO FILE prog_files colorset.dat
  2232.  
  2233.           Note  that a NOT <sysvar> <command> in conjunction with an accom-
  2234.           panying <sysvar> <command> provides 100% coverage of the hardware
  2235.           in question -- video, processor or math coprocessor.  
  2236.  
  2237.           Also note that it is not usually necessary and often dangerous to
  2238.           precede a  USER command with a [NOT] <sysvar> prefix.  The reason
  2239.           is that the  USER command disappears if the prefix  is false.  If
  2240.           the USER command disappears, then  ANY command that accesses that
  2241.  
  2242.  
  2243.           40
  2244.  
  2245.  
  2246.  
  2247.  
  2248.                                     Miscellaneous
  2249.           _________________________________________________________________
  2250.  
  2251.           USER  command's label  is  illegal  unless  the command  has  the
  2252.           identical prefix that the USER command has. 
  2253.  
  2254.           It  is legal  to  stack multiple  system  variables on  a  single
  2255.           command, for instance:
  2256.  
  2257.           IS286 NOT ISVGA <command>
  2258.  
  2259.           would be exceuted on a computer with a 80286 or greater processor
  2260.           and no VGA adapter installed.  
  2261.  
  2262.           If  you have candidates for other system variables that you would
  2263.           like considered, please notify us.
  2264.  
  2265.  
  2266.           Command Line Switches____________________________________________
  2267.  
  2268.           The following command line switches are supported:
  2269.  
  2270.           -m - use black and white colors.  
  2271.  
  2272.           Install-Pro should display correctly on all video adapter/monitor
  2273.           combinations.   It  has been  tested with  a wide  combination of
  2274.           adapters, including  CGA lcd  laptops and VGA  mono workstations,
  2275.           and the display has  always proved to be crisp and readable (even
  2276.           if  by chance  Install-Pro thinks  it's using  a color  monitor).
  2277.           But,  if a customer reports to you  that he is unable to read the
  2278.           text,  this switch  will throw Install-Pro  into black  and white
  2279.           regardless of the adapter  it is writing to.   This switch should
  2280.           be mentioned in the installation literature that accompanies your
  2281.           application whenever possible.   Selecting -m disables any COLORS
  2282.           command in  your script,  which is  just as well  as it  was your
  2283.           COLORS command  that  made the  screen  unreadable in  the  first
  2284.           place.  The -m switch does NOT affect the ISMONO system variable.
  2285.  
  2286.  
  2287.           -a=root - use alternate script file name.
  2288.  
  2289.           The  syntax  supported  has  a  certain  degree  of  flexibility.
  2290.           /A=root,  /a=root, /a:root and -a:root will all work.  Use which-
  2291.           ever style you are most comfortable with.  You cannot specify the
  2292.           extension  of your scriptfiles  (they always start  with .001 and
  2293.           continue), but you can specify the root  (base) name of the file.
  2294.           Some examples  might be NETINST  or UPGRADE.  This  gives you the
  2295.           flexibility of containing multiple installation procedures on the
  2296.           same  distribution diskettes.   For  instance, you  might include
  2297.           instructions  for  current  users  of your  application  to  type
  2298.           A:UPGRADE  instead  of  A:INSTALL,  and in  a  batch  file  named
  2299.  
  2300.  
  2301.                                                                          41
  2302.  
  2303.  
  2304.  
  2305.  
  2306.                                     Miscellaneous
  2307.           _________________________________________________________________
  2308.  
  2309.           UPGRADE.BAT on  your distribution disk you  yourself could handle
  2310.           the syntax INSTPRO -a=upgrade. 
  2311.  
  2312.  
  2313.           Error Messages___________________________________________________
  2314.  
  2315.           The following are the standard error messages built into Install-
  2316.           Pro.  The  nature of these errors is such that Install-Pro cannot
  2317.           continue, so these error messages  can probably be classified  as
  2318.           Fatal Errors.   The message the  user sees is similar  to the one
  2319.           that follows:
  2320.  
  2321.                 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2322.                 ▒┌───────────────────────────────────────────────────┐
  2323.                 ▒│ The following unrecoverable error has  occurred:  │
  2324.                 ▒│                                                   │
  2325.                 ▒│             Error opening install.001             │
  2326.                 ▒│                                                   │
  2327.                 ▒│                                                   │
  2328.                 ▒│ Please refer to your documentation for manual     │
  2329.                 ▒│ installation instructions if the problem cannot   │
  2330.                 ▒│ corrected                                         │
  2331.                 ▒│                                                   │
  2332.                 ▒│              Press a key to terminate...          │
  2333.                 ▒└───────────────────────────────────────────────────┘
  2334.                 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2335.  
  2336.           As previously mentioned, the instructions can be modified with an
  2337.           ONERROR command.
  2338.             
  2339.  
  2340.           DOS version 3.0 or higher required
  2341.             
  2342.           A  DOS version prior to  3.0 was detected.   Install-Pro requires
  2343.           MS-DOS 3.0 or later.
  2344.  
  2345.             
  2346.           Error opening install.001
  2347.             
  2348.           INSTALL.001 was not found  in the same directory  as Install-Pro,
  2349.           or there were no file handles available.
  2350.  
  2351.             
  2352.           Token was expected but not found: line nn
  2353.  
  2354.           A token  was expected but not  found on the  indicated line. This
  2355.           usually means that one or more words is missing on this line.
  2356.  
  2357.  
  2358.  
  2359.           42
  2360.  
  2361.  
  2362.  
  2363.  
  2364.                                     Miscellaneous
  2365.           _________________________________________________________________
  2366.  
  2367.           Memory allocation error
  2368.  
  2369.           A request for more memory was denied.  This is extremely unlikely
  2370.           to occur, as Install-Pro requires under 200k of free RAM.
  2371.  
  2372.  
  2373.           Error copying xxxxxxx
  2374.  
  2375.           DOS returned  an  error while  trying to  transfer the  indicated
  2376.           file.
  2377.  
  2378.  
  2379.           Cannot copy a file onto itself
  2380.  
  2381.           The user specified the installation diskette as the destination.
  2382.  
  2383.  
  2384.           Error creating directory: zzzzzzz
  2385.  
  2386.           DOS  returned  an  error while  trying  to  create  the indicated
  2387.           directory.  The most likely cause is if the user tries to install
  2388.           the  application to  a  directory that  is  the same  name as  an
  2389.           existing file.
  2390.  
  2391.  
  2392.           Authorization Error
  2393.  
  2394.           Install-Pro detected an authorization code that did not match the
  2395.           accompanying script  file (install.001).   Run  Install-Pro again
  2396.           with your key to authorize your script.
  2397.             
  2398.  
  2399.           Executable integrity error - bad executable
  2400.  
  2401.           Install-Pro detected  internal  errors in  its  executable  file.
  2402.           This usually means that  the file has become corrupted.   Restore
  2403.           an original from your backup and retry.
  2404.  
  2405.  
  2406.           Label not found: xxxxx, line nn
  2407.  
  2408.           The token in the <label name> position on the specified line does
  2409.           not  correspond to a previously defined label name created with a
  2410.           USER command.
  2411.  
  2412.  
  2413.           Invalid Disk Space Number
  2414.  
  2415.  
  2416.  
  2417.                                                                          43
  2418.  
  2419.  
  2420.  
  2421.  
  2422.                                     Miscellaneous
  2423.           _________________________________________________________________
  2424.  
  2425.           Either  no token,  or an  invalid token,  was detected  after the
  2426.           SPACE command.
  2427.  
  2428.  
  2429.           Unexpected EOF - AUTHORIZATION, END, CHAIN or DISK expected
  2430.  
  2431.           If Install-Pro parses to the end of a script without finding some
  2432.           indication of how to terminate, it returns this error.
  2433.  
  2434.  
  2435.           Zip output file creation error
  2436.  
  2437.           An error was detected while trying to create a file imbedded in a
  2438.           zip file.  The usual causes are out of disk space, network rights
  2439.           insufficient, or an existing directory of the same name.
  2440.             
  2441.  
  2442.           Zip file open error
  2443.  
  2444.           The zip file was not found, or no file handles were available. 
  2445.  
  2446.  
  2447.           Invalid zip file header
  2448.  
  2449.           An inconsistency was detected in the zip file.
  2450.  
  2451.  
  2452.           Zip file corrupted
  2453.  
  2454.           An extracted file's crc did not match its reported crc.
  2455.  
  2456.  
  2457.           Zip file encrypted
  2458.  
  2459.           Encrypted zip  files (and the  inherent password needed  to build
  2460.           the decryption key) are not supported.
  2461.  
  2462.  
  2463.           Error chaining to new program
  2464.  
  2465.           An error  was encountered  while trying  to load  a  new copy  of
  2466.           Install-Pro. Possible causes are  insufficient memory or file not
  2467.           found.
  2468.  
  2469.  
  2470.           System Error - current directory not available
  2471.  
  2472.           Install-Pro requested from DOS the name of the current directory,
  2473.           but DOS returned an error.
  2474.  
  2475.           44
  2476.  
  2477.  
  2478.  
  2479.  
  2480.                                     Miscellaneous
  2481.           _________________________________________________________________
  2482.  
  2483.  
  2484.           System Error - change directory failed
  2485.  
  2486.           An  attempt  by Install-Pro  to change  to another  directory (to
  2487.           unzip a file) failed.
  2488.             
  2489.  
  2490.           Unexpected end of file
  2491.  
  2492.           The  end of  an  zip file  was  encountered unexpectedly.    This
  2493.           usually means the file is damaged.
  2494.  
  2495.  
  2496.           Disk Write Error - target disk full?
  2497.  
  2498.           The majority of disk write errors are a full disk, but they could
  2499.           also be caused by hard disk  failure or logical errors in the FAT
  2500.           table.
  2501.             
  2502.  
  2503.           Directories must be 65 characters or less
  2504.  
  2505.           The  path entered  by the  user  plus the  SUBDIR attached  to it
  2506.           exceeded DOS'  maximum.   Don't  define  SUBDIRs longer  than  20
  2507.           characters to be safe.
  2508.  
  2509.  
  2510.           Unsupported ZIP version
  2511.  
  2512.           A  ZIP version of  higher than 2.04  was detected in  a zip file.
  2513.           Since  no  release version  of  ZIP greater  than  2.04 currently
  2514.           exists, this error may likely indicate zip file corruption.
  2515.  
  2516.  
  2517.           Invalid command
  2518.  
  2519.           The first token encountered  on the indicated line in  the script
  2520.           was not a valid command.
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.                                                                          45
  2534.  
  2535.  
  2536.  
  2537.  
  2538.                                     Miscellaneous
  2539.           _________________________________________________________________
  2540.  
  2541.           Critical Errors__________________________________________________
  2542.  
  2543.           Should a  disk door  be left  open (or  any other critical  error
  2544.           trapped by DOS, for  that matter) a Critical Error  handler built
  2545.           into  Install-Pro will take control  and provide the  user with a
  2546.           menu similar to this one:
  2547.  
  2548.                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2549.                      ▒┌──────────[DOS Critical Error]──────────┐▒
  2550.                      ▒│                                        │▒
  2551.                      ▒│   [Abort]  [Retry]  [Ignore]  [Fail]   │▒
  2552.                      ▒│                                        │▒
  2553.                      ▒└────────────────────────────────────────┘▒
  2554.                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2555.  
  2556.           If the user  accepts retry, he  will be in  most cases safe.   Of
  2557.           course, if his  computer picked  the exact moment  that he's  in-
  2558.           stalling  your application to  crash its hard  drive, no Critical
  2559.           Error handler is going to recover very gracefully.
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.           46
  2592.