home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / FILE / IPRO121.ZIP / INSTPRO.MAN < prev    next >
Encoding:
Text File  |  1991-08-01  |  56.4 KB  |  1,490 lines

  1.      
  2.      
  3.      
  4.      
  5.       
  6.      
  7.      
  8.      
  9.      
  10.      
  11.      
  12.      
  13.                        The Install-Pro Reference Manual
  14.      
  15.                           Version 1.21 August 1, 1991
  16.      
  17.                      Copyright 1991 DB/Soft Publishing Co.
  18.      
  19.                               All Rights Reserved
  20.      
  21.      
  22.      
  23.      
  24.      
  25.      
  26.      
  27.      
  28.      
  29.      
  30.      
  31.      
  32.                             DB/Soft Publishing Co.
  33.                             3200 Truxel Rd.
  34.                             #199 Sacramento, CA 95833
  35.      
  36.                             Sole Proprietor: Jeff Dunlop
  37.                             Voice: (916) 927-6951
  38.                             Data: (916) 927-2349
  39.                             Fidonet Address: 1:203/38.6
  40.      
  41.      
  42.      
  43.      
  44.      
  45.      
  46.      
  47.      
  48.      
  49.      
  50.      
  51.      
  52.      
  53.      
  54.      
  55.      
  56.      
  57.      
  58.      
  59.      
  60.      
  61.      
  62.      
  63.             
  64.      
  65.      
  66.      
  67.       
  68.                                Table of Contents
  69.      
  70.      
  71.      
  72.       Introduction ..................................... 1
  73.       Program Requirements (Programmer) ................ 2
  74.       Program Requirements (User) ...................... 3
  75.       Distribution Files ............................... 3
  76.       Registration ..................................... 3
  77.       Shareware License ................................ 3
  78.       Shareware Warranty ............................... 4
  79.       Registered License ............................... 4
  80.       Registered Warranty .............................. 4
  81.       Registered Support ............................... 4
  82.       Frankness Clause ................................. 5
  83.       Disclaimer ....................................... 5
  84.       About Config.sys and Autoexec.bat ................ 5
  85.       Contacting the Author ............................ 5
  86.       The Future ....................................... 6
  87.       About the User's Guide ........................... 6
  88.       Script Syntax .................................... 6
  89.       Script Tokens .................................... 8
  90.           BANNER ....................................... 8
  91.           HELLO ........................................ 9
  92.           USER ......................................... 10
  93.           SUBDIR ....................................... 10
  94.           FILE ......................................... 11
  95.                   Splitting Files ...................... 13
  96.           RUN .......................................... 14
  97.           GOODBYE ...................................... 16
  98.           DISK ......................................... 16
  99.           END .......................................... 18
  100.           AUTHORIZATION ................................ 18
  101.       Script Debugging ................................. 18
  102.       Error Messages ................................... 18
  103.       Critical Errors .................................. 20
  104.       Registration Keys ................................ 21
  105.       Virus Protection ................................. 21
  106.      
  107.      
  108.      
  109.      
  110.      
  111.      
  112.      
  113.      
  114.      
  115.      
  116.      
  117.      
  118.      
  119.      
  120.      
  121.      
  122.      
  123.      
  124.      
  125.             
  126.      
  127.      
  128.      
  129.       
  130.                                     Introduction
  131.                                     ------------
  132.      
  133.      
  134.      
  135.      Install-Pro is a script driven professional installation program that
  136.      you as a programmer can use to install your applications on your
  137.      customers' computers. My personal goal with this program was to never
  138.      write an installation again (heaven forbid a batch file!) which meant
  139.      that the entire installation procedure HAD to be configurable quickly
  140.      and easily. Any application can be ready to install to multiple
  141.      directories from multiple disks in a matter of minutes.  A brief list
  142.      of features includes:
  143.      
  144.              -     Professional look and feel for a better first
  145.                    impression.
  146.      
  147.              -     You customize the welcome screen and good-bye screen to
  148.                    your own needs. (Welcome screen -  registered version only)
  149.      
  150.              -     Up to 999 installation disks.
  151.      
  152.              -     Unlimited installation files.
  153.      
  154.              -     Files may be split into up to 9 pieces for huge files
  155.                    spanning multiple disks.
  156.      
  157.              -     You define the directory prompts that the user sees.
  158.      
  159.              -     You define the default destination directories that the
  160.                    user sees.
  161.      
  162.              -     Up to 13 user-defined destination directories.
  163.      
  164.              -     Unlimited programmer-defined directories child to
  165.                    user-defined directories.
  166.      
  167.              -     "Run" commands allow your installation to include custom
  168.                    auxiliary programs or batch files to complete special
  169.                    tasks. The installation diskette directory(s), any of
  170.                    the user-defined directories, and any other arguments
  171.                    you choose can be specified anywhere on the command
  172.                    line.
  173.      
  174.              -     Supports VGA/EGA 50/43 line text modes if detected.
  175.      
  176.              -     Robust error handling, including a custom critical error
  177.                    handler that won't scare the dickens out of your users,
  178.                    and including descriptive fatal error messages (no "error
  179.                    14 at xxxx:yyyy" found in this program!)
  180.      
  181.      
  182.      
  183.      
  184.      
  185.                           Install-Pro Reference Manual
  186.                                       - 1 -
  187.             
  188.      
  189.      
  190.      
  191.       
  192.                        Program Requirements (Programmer)
  193.                        ---------------------------------
  194.      
  195.            1. Text editor for creating and modifying the script file(s).
  196.               This text editor must not insert tab characters into your
  197.               screen definition lines.
  198.            2. MSDos 3.0 or higher.
  199.            3. IBM PC bios compatible MS-Dos computer with at least 110k
  200.               free ram.
  201.            4. Standard CGA or Hercules compatible video subsystem.
  202.      
  203.      
  204.      
  205.      
  206.      
  207.      
  208.      
  209.      
  210.      
  211.      
  212.      
  213.      
  214.      
  215.      
  216.      
  217.      
  218.      
  219.      
  220.      
  221.      
  222.      
  223.      
  224.      
  225.      
  226.      
  227.      
  228.      
  229.      
  230.      
  231.      
  232.      
  233.      
  234.      
  235.      
  236.      
  237.      
  238.      
  239.      
  240.      
  241.      
  242.      
  243.      
  244.      
  245.      
  246.      
  247.                           Install-Pro Reference Manual
  248.                                       - 2 -
  249.             
  250.      
  251.      
  252.      
  253.       
  254.                           Program Requirements (User)
  255.                           ---------------------------
  256.      
  257.            1. MS-DOS 3.0 or higher.
  258.            2. IBM PC bios-compatible MS-DOS computer with 110k free ram
  259.               (more ram needed for RUN commands)
  260.            3. Standard CGA or Hercules compatible video subsystem.
  261.      
  262.      
  263.                               Distribution Files
  264.                               ------------------
  265.      
  266.      Install-Pro comes distributes with the following files:
  267.      
  268.              instpro.exe - the executable
  269.              instpro.man - this reference manual
  270.              instpro.usr - the user's guide
  271.              install.001 - sample script file #1
  272.              order.doc   - order form
  273.              read.me     - quick hello
  274.              example.001 - script examples to get you started
  275.      
  276.      If any of these files were missing, feel free to download the latest
  277.      version from the DB/Soft Online.  Also, when you distribute
  278.      Install-Pro with your applications, feel encouraged to rename it
  279.      'install.exe.'  I refrained from naming the executable that way to
  280.      avoid accidentally having it write over one of the other install.exe's
  281.      you may have lying around.  Also, feel encouraged to modify the user's
  282.      guide or include part of it in your documentation - that's what it's
  283.      for.  Just please remember not to distribute modified copies (or
  284.      registered copies with the key) of Install-Pro.
  285.      
  286.      
  287.      
  288.                                  Registration
  289.                                  ------------
  290.      
  291.      Upon receipt of the registration price of $27.50 (U.S. funds only) you
  292.      will be sent a disk with the most current version that will enable you
  293.      to display your application's name instead of my shareware notice. Use
  294.      the file "order.doc" to order. Sorry, MC/Visa not accepted.
  295.      
  296.      
  297.                                Shareware License
  298.                                -----------------
  299.      
  300.      You are free to distribute shareware copies of Install-Pro provided
  301.      that none of the included files are modified or removed, and provided
  302.      that no additional files are included in the archive.  Modifying the
  303.      archive format (from .zip to some other format perhaps more
  304.      convenient) is permitted.
  305.      
  306.      
  307.      
  308.      
  309.                           Install-Pro Reference Manual
  310.                                       - 3 -
  311.             
  312.      
  313.      
  314.      
  315.       
  316.                               Shareware Warranty
  317.                               ------------------
  318.      
  319.      The shareware version of Install-Pro is guaranteed to take up disk
  320.      space. The author of this product is more than happy to hear about any
  321.      bugs or unexpected behavior through non-voice channels (netmail, US
  322.      Postal Service, or logging on to the DB/Soft BBS), but will not
  323.      guarantee that immediate bug fixes will be forthcoming.
  324.      
  325.      
  326.                               Registered License
  327.                               ------------------
  328.      
  329.      You are free to make unlimited backup copies of this program for
  330.      archival purposes.  You may not distribute copies of this program
  331.      except under the following provisions:  You may at your choosing give
  332.      away or sell your program with its accompanying key to ONE party,
  333.      provided you destroy all copies of the software in your possession
  334.      after the time of the transaction.  The copies of the program that are
  335.      used to install your applications MUST NOT be distributed with the key
  336.      that enables script modifications.  Each key is unique to the
  337.      purchaser, and I will hold each purchaser responsible to the
  338.      confidentiality of his/her key.
  339.      
  340.      
  341.                               Registered Warranty
  342.                               -------------------
  343.                                                  
  344.      The registered version is warranted to meet in all key aspects its
  345.      defined behavior as listed in the documentation.  Key aspects are
  346.      those features without which the program will fail in some gross
  347.      manner to transfer an application.  Minor specifications (such as
  348.      prompt lengths, etc. are subject to change without notice.  The final
  349.      arbiter as to the interpretation of the documentation shall be the
  350.      author of the program. The sole remedy available to the purchaser of
  351.      Install-Pro shall be bug fixes or a refund, as determined by the
  352.      author.  Work-arounds for the purposes of warranty consideration will
  353.      be considered acceptable if they make possible the same task that any
  354.      bug renders impossible.  If verified bugs are not corrected within 30
  355.      days of notification, and if the purchaser is working in good faith to
  356.      keep in contact with the author, the purchaser at his option is
  357.      entitled to a refund. Verified bugs are those which the author is able
  358.      to duplicate on machines that fall within the equipment requirements
  359.      list.
  360.      
  361.      
  362.                               Registered Support
  363.                               ------------------
  364.      
  365.      The registered version entitles the purchaser to unlimited support via
  366.      netmail, the DB/Soft BBS or via US Mail.  I am unable, however, to
  367.      provide telephone support.
  368.      
  369.      
  370.      
  371.                           Install-Pro Reference Manual
  372.                                       - 4 -
  373.             
  374.      
  375.      
  376.      
  377.       
  378.      
  379.                                Frankness Clause
  380.                                ----------------
  381.      
  382.      As you well know, it's darned difficult to get a publisher to stand
  383.      behind his product.  He usually guarantees the diskette (what a joke)
  384.      and hangs you out to dry.  If there is an error in the program, I will
  385.      do anything possible to correct it in a timely fashion.  I am also
  386.      very interested in any ambiguities or errors in this documentation.
  387.      Whatever problems you do find, I would appreciate a note.
  388.      
  389.      
  390.                                   Disclaimer
  391.                                   ----------
  392.      
  393.      While every effort has been made by the author to ensure the fitness
  394.      of use and integrity of Install-Pro, the author cannot and will not
  395.      accept responsibility for any damage, physical or otherwise, to any
  396.      equipment owned by the purchaser.  The author habitually recommends
  397.      that all customers back up their data regularly and frequently;  that
  398.      recommendation applies here as well.  The maximum remedy available to
  399.      the purchaser in the event of any type of dispute is the purchase cost
  400.      of the software.
  401.      
  402.      
  403.                        About Config.sys and Autoexec.bat
  404.                        ---------------------------------
  405.      
  406.      This is ever a controversial subject if I've ever seen one.  I have
  407.      seen opinions ranging from "My users are too stupid to know about
  408.      these things" to "No programmer had better touch it!"  I worried about
  409.      this for a long time before concluding that I choose to leave it up to
  410.      the programmer (literally).  If you want to write a routine modifying
  411.      system files, have at it, and run it with the RUN command, described
  412.      later.
  413.      
  414.      Given the multiple locations for FILES commands (either autoexec.bat,
  415.      config.sys, 4dstart.bat or heavens knows where) as well as the loadhi
  416.      complications of DOS 5, DR DOS and Quarterdeck products, the installer
  417.      is likely to cause more damage trying to change them through an
  418.      install process than to increase the chance of an application running
  419.      successfully.
  420.      
  421.      It is naive for a programmer to believe that he is going to improve a
  422.      machine setup, especially since that machine is quite likely running
  423.      applications even more sophisticated - perhaps Quattro Pro or Windows
  424.      3.0. Since all system configurations must be determined at run-time
  425.      anyway, just document system requirements and leave the system files
  426.      be.  One idea that can be quite easily handled is to offer to load the
  427.      file(s) in a text editor to give the user the opportunity to make
  428.      changes immediately.
  429.      
  430.      
  431.      
  432.      
  433.                           Install-Pro Reference Manual
  434.                                       - 5 -
  435.             
  436.      
  437.      
  438.      
  439.       
  440.                              Contacting the Author
  441.                              ---------------------
  442.      
  443.      If you have access to Fidonet netmail, contacting me at 1:203/38.6
  444.      will get the fastest response.  The DB/Soft Online is available 24
  445.      hours a day if netmail is not available to you - just leave a comment
  446.      to the sysop when logging off.  If you leave a netmail or snail-mail
  447.      return address, you won't have to call back for a response, I'll be
  448.      happy to drop the price of postage or a crash netmail message. Failing
  449.      that, mailing me at 3200 Truxel Rd. #199 Sacramento CA 95833 will get
  450.      a prompt response, but will take about a week for the two-ended
  451.      delivery.  My voice number has been included on page one, but should
  452.      only be used by those interested in ordering the software.
  453.      
  454.      
  455.                                   The Future
  456.                                   ----------
  457.      
  458.      I am currently working on a VIEW command that will allow you to
  459.      specify a file to be scrolled through by the user.  This would remove
  460.      the current necessity of you providing your own viewer and accessing
  461.      it with a RUN command.  This will be included in Install-Pro 1.21.
  462.      
  463.      Also in the works is multiple-page Hello and Good-Bye screens.  Any
  464.      lines in excess of the maximum would be shown on a subsequent screen,
  465.      with new-page codes being allowed.  The number of pages allowed will
  466.      only be limited by available ram.
  467.      
  468.      Finally, I am planning an optional SIZE command that will specify the
  469.      total disk space that the files assigned to each label will occupy.
  470.      At installation time, if insufficient disk space is detected, the user
  471.      will be given the opportunity to abort.
  472.      
  473.      
  474.                             About the User's Guide
  475.                             ----------------------
  476.      
  477.      The file instpro.usr contains a user's guide for Install-Pro from the
  478.      user's point of view.  That is, it discusses the screens he is going
  479.      to see, what actions are expected of him, etc.  Feel free to modify
  480.      and print this file in any way you see fit to help your users out
  481.      during installation.  In most cases this won't be necessary, but just
  482.      in case, it's available.
  483.      
  484.                                  Script Syntax
  485.                                  -------------
  486.      
  487.      When install.exe is executed, the first file it looks for is
  488.      install.001 in the root directory of the drive that install.exe is
  489.      located on.  If install.001 is not available, the program terminates.
  490.      If install.001 is processed successfully, and an additional
  491.      installation disk is specified, then the user will be prompted for the
  492.      correct disk to insert to continue.
  493.      
  494.      
  495.                           Install-Pro Reference Manual
  496.                                       - 6 -
  497.             
  498.      
  499.      
  500.      
  501.       
  502.      
  503.      Before beginning immediately with the syntax proper, an explanation of
  504.      how Install-Pro functions is in order.  The concept of Install-Pro
  505.      centers around what I call a label name. A label name is simply an
  506.      arbitrary name that you give to the characteristics of a single
  507.      installation directory. These characteristics include the prompt that
  508.      user is going to see when asked where to put this directory, the
  509.      default that the user is going to see when prompted, the
  510.      subdirectories that are going to be created child to this directory,
  511.      and the files that are going to be transferred to this directory or
  512.      one of its children. Since you the programmer don't know what a user
  513.      is going to name his installation directory, a label name provides you
  514.      with an alias to refer to it by.   Before you can refer to a label
  515.      name, it must first exist.  The USER token, discussed below, is the
  516.      token that creates space for a label name and all of its associated
  517.      characteristics.  FILE, SUBDIR and RUN tokens that refer to a label
  518.      must come after the USER token that defines it. It's that simple.
  519.      
  520.      The following is a brief overview of the syntax needed for
  521.      install.001:
  522.      
  523.      BANNER "Banner goes here"
  524.      HELLO "Welcome text goes here"
  525.              (additional HELLO lines)
  526.      USER <label name> "User prompt" [Default Destination]
  527.              (additional USER lines)
  528.      SUBDIR <label name> <child subdirectory>
  529.              (additional SUBDIR lines)
  530.      FILE <label name> <filename>
  531.              (additional FILE lines)
  532.      RUN "command line"
  533.              (additional RUN commands)
  534.      GOODBYE "So-long text goes here"
  535.              (additional GOODBYE lines)
  536.      DISK 2 -or- END
  537.      AUTHORIZATION <nnnnn>
  538.      
  539.      The omission of the last line (disk <disk number>) indicates that no
  540.      more installation disks need to be processed.  The syntax for
  541.      install.002 through install.999 is slightly different, as follows:
  542.      
  543.      FILE <label name> <filename>
  544.              (additional FILE lines)
  545.      RUN "command line"
  546.              (additional RUN commands)
  547.      GOODBYE "So-long text goes here"
  548.              (additional GOODBYE lines)
  549.      DISK n -or- END
  550.      
  551.      
  552.      
  553.      In both of these examples, the order that the tokens appear is the
  554.      most logical, but is not strictly required.  The following is a list
  555.      
  556.      
  557.                           Install-Pro Reference Manual
  558.                                       - 7 -
  559.             
  560.      
  561.      
  562.      
  563.       
  564.      of token order requirements:
  565.      
  566.            1.    HELLO and BANNER tokens must appear before the first DISK
  567.                  token (if any) in install.001.
  568.      
  569.            2.    RUN commands are executed BEFORE disk swaps, but after all
  570.                  other processing.  This means that the files on the
  571.                  current installation diskette are guaranteed to exist for
  572.                  the current RUN commands.  Furthermore, this guarantees
  573.                  that directories created with SUBDIR, files transferred
  574.                  with FILE and directories created by the user with USER
  575.                  tokens will exist at the time of any RUN commands.
  576.                  Essentially, the final state of a particular installation
  577.                  disk exists for the RUN command.
  578.      
  579.            3.    AUTHORIZATION must occupy the last line of install.001
  580.                  (Registered versions only.)
  581.      
  582.            4.    DISK must occupy the line directly before AUTHORIZATION on
  583.                  install.001, or the last line on all other installation
  584.                  disks. In effect, DISK flushes the accumulated tokens into
  585.                  actual processing, and is followed by a disk swap.
  586.      
  587.            5.    FILE, SUBDIR and RUN lines MUST come AFTER the USER line
  588.                  that defines any label names used for these commands.
  589.      
  590.            6.    Lines with a preceding semi-colon, or empty lines are
  591.                  ignored by Install-Pro.  An empty line is a line with all
  592.                  whitespace, with no tokens detected by the parser.
  593.      
  594.            7.    FILE tokens transfer files on the CURRENT installation
  595.                  diskette when END or DISK is encountered.  The filename
  596.                  specified with FILE must be on the same installation
  597.                  diskette as the FILE token.
  598.      
  599.                                  Script Tokens
  600.                                  -------------
  601.      
  602.      
  603.                                     BANNER
  604.                                     ------
  605.      
  606.      Syntax:  BANNER "Any text enclosed in quotes"
  607.      
  608.      The BANNER token identifies the line of text to be shown to the user
  609.      as the program name on the opening screen.  Up to 71 characters are
  610.      allowed, and a box surrounding the text auto-sizes for a neat
  611.      appearance.  If the particular text used creates unbalanced sides,
  612.      insert an extra space on the errant side to even things out.
  613.      
  614.      If quotes are omitted, only the first word after BANNER will be
  615.      detected. If no text is detected after BANNER, Install-Pro will abort
  616.      with an error message.
  617.      
  618.      
  619.                           Install-Pro Reference Manual
  620.                                       - 8 -
  621.             
  622.      
  623.      
  624.      
  625.       
  626.      
  627.      BANNER overwrites any previous BANNER definitions.
  628.      
  629.      BANNER is recognized only in install.001, on any line previous to DISK
  630.      2 (or AUTHORIZATION on single-disk installations.)  If BANNER appears
  631.      in install.002+, it will be ignored.
  632.      
  633.      If DISK or End-of-file are reached in install.001 and no BANNER has
  634.      been found, a very small message-less box will be formed - harmless
  635.      but unattractive.
  636.      
  637.      Shareware note:  Although the BANNER token will be recognized and
  638.      parsed, it is ignored in unregistered versions of Install-Pro. It
  639.      makes no difference if it is included or not.
  640.      
  641.      
  642.      
  643.                                      HELLO
  644.                                      -----
  645.      
  646.      Syntax:  HELLO  "Any text enclosed in quotes"
  647.      
  648.      The HELLO token identifies a line of text to be shown to the user on
  649.      the welcome screen.  Up to 13 HELLO lines can be scripted, with each
  650.      line having a maximum length of 71 characters.  Characters in excess
  651.      of 71 are ignored (truncated.)  All of the HELLO text lines are
  652.      displayed in the order detected in a single window, which
  653.      automatically sizes itself to the length and height of the combined
  654.      HELLO display.  If you want empty lines included, indicate this with a
  655.      set of empty quotes ("").
  656.      
  657.      If quotes are omitted, only the first word after HELLO will be
  658.      detected.
  659.      
  660.      If no text is detected after HELLO ("" DOES qualify as text) then
  661.      Install-Pro will abort with a message.
  662.      
  663.      Up to 13 HELLO lines are allowed - subsequent HELLO lines over-write
  664.      the most recent HELLO line.
  665.      
  666.      HELLO is recognized in install.001, on any line previous to DISK 2 (or
  667.      AUTHORIZATION on single-disk installations.)  If HELLO appears in
  668.      install.002+, it will be ignored.
  669.      
  670.      If DISK or End-of-file are reached in install.001 and no HELLO has
  671.      been found, a very small message-less box will be formed - harmless
  672.      but unattractive.
  673.      
  674.      Shareware note:  Although HELLO tokens will be recognized and parsed,
  675.      they are not displayed in unregistered versions of Install-Pro.  It
  676.      makes no difference if it is included or not.
  677.      
  678.      
  679.      
  680.      
  681.                           Install-Pro Reference Manual
  682.                                       - 9 -
  683.             
  684.      
  685.      
  686.      
  687.       
  688.      
  689.                                      USER
  690.                                      ----
  691.      
  692.      Syntax:  USER <label_name> "prompt" [default directory]
  693.      
  694.      This token is used to assign a prompt and a default destination to a
  695.      label that is specified by the programmer.  When the user inputs his
  696.      destination directory it will be associated with this label name. This
  697.      token also creates the space needed for FILE, RUN and SUBDIR tokens to
  698.      function.
  699.      
  700.      label_name:
  701.      
  702.              The label name can be any single word of up to 40 characters,
  703.              although less than ten characters is usually more than enough.
  704.              A typical label name might be prog_files, data_files, etc.
  705.      
  706.      prompt:
  707.      
  708.              The user prompt can be up to 23 characters.  Examples of
  709.              typical prompts are "Help Files:", or "Data Files:".  The quotes
  710.              are required if more than one word is in the prompt.
  711.      
  712.      default directory:
  713.      
  714.              A default directory is optional.  If specified, the directory
  715.              must be in the form of a fully qualified DOS path, complete
  716.              with drive and semi-colon.  Keep in mind your default will not
  717.              be checked for validity until it is accepted by the user.
  718.      
  719.      Up to 14 USER lines may be specified.  Any additional USER lines cause
  720.      the least recent line to be ignored.
  721.      
  722.      If no labelname or user prompt are detected, Install-Pro will abort
  723.      with an error message.  Only the default destination is optional.
  724.      
  725.      USER lines may occur anywhere in install.001 prior to DISK or
  726.      End-of-file (in the absence of DISK.)
  727.      
  728.      
  729.                                     SUBDIR
  730.                                     ------
  731.      
  732.      Syntax: SUBDIR <label_name> <dirname>
  733.      
  734.      This OPTIONAL token defines any directories that the programmer wishes
  735.      created as children to the user-specified directories. The specified
  736.      label name must match one of the label names defined under the USER
  737.      token, described above.  Any number of SUBDIR lines may be used in the
  738.      script.
  739.      
  740.      label_name:
  741.      
  742.      
  743.                           Install-Pro Reference Manual
  744.                                       - 10 -
  745.             
  746.      
  747.      
  748.      
  749.       
  750.      
  751.              The label name specified here MUST have been previously
  752.              defined with a USER token.
  753.      
  754.      dirname:
  755.      
  756.              The directory structure is not required to start with a
  757.              leading backslash, but it may be less confusing if it does.
  758.              Either way, the directory will be created as a child as
  759.              expected.
  760.      
  761.      SUBDIR lines may exist anywhere in any install.??? file, but must
  762.      precede the first use of its created directory or the program will
  763.      error out with a Subdirectory Error.  SUBDIR must also come after the
  764.      USER line that defines the label name to which SUBDIR refers.
  765.      
  766.      For example, assume the following partial script:
  767.      
  768.      USER label_1 "Data Files" C:\MYAPP\DATA
  769.      SUBDIR label_1 \MOREDATA
  770.      
  771.      If the user accepted the default, the C:\MYAPP\DATA directory would be
  772.      created.  Also, as a result of the SUBDIR line, the
  773.      C:\MYAPP\DATA\MOREDATA directory would be created.  Furthermore, if
  774.      the SUBDIR line had instead read:
  775.      
  776.      SUBDIR label_1 \MOREDATA\DATADATA
  777.      
  778.      all directories parent to DATADATA will created as well as DATADATA.
  779.      That is to say, you don't have to specify explicitly all directories
  780.      that you want created, just the entire chain that you want to be
  781.      ensured exists.  In a more extreme example to illustrate this point,
  782.      assume:
  783.      
  784.      USER, label_1, "Data Files", "C:\DATA"
  785.      ENDUSER
  786.      SUBDIR, label_1, "\MORE\DATA\DATA\DATA"
  787.      ENDSUBS
  788.      
  789.      All five of the specified directories would be created.
  790.      
  791.      CAUTION:  The DOS limit for subdirectory length is 65 characters,
  792.      including drive and colon.  Keep in mind the maximum user-entered
  793.      directory is up to 40 characters, leaving you up to 24 characters with
  794.      any margin of safety.  If the total exceeds 65 characters, DOS returns
  795.      a directory creation error.
  796.      
  797.      
  798.                                      FILE
  799.                                      ----
  800.      
  801.      Syntax: FILE <label_name> <filename>
  802.      
  803.      
  804.      
  805.                           Install-Pro Reference Manual
  806.                                       - 11 -
  807.             
  808.      
  809.      
  810.      
  811.       
  812.      This token defines the files that are to be transferred from the
  813.      current installation diskette.  The word following the FILE token must
  814.      be a label defined on one of the USER lines.
  815.      
  816.      label_name:
  817.      
  818.              The label name specified here MUST already have been created
  819.              with a USER token.
  820.      
  821.      filename:
  822.      
  823.              The filespec can take one of two forms.  First, it can be a
  824.              regular dos filename, in which case it would be transferred to
  825.              the directory associated with the specified label.  Or second,
  826.              it can include an optional directory chain child to the
  827.              directory associated with the specified label, in which case
  828.              it would be transferred to that child directory.  For that
  829.              child directory to exist, it would be necessary to previously
  830.              create it with a SUBDIR line, described previously. Any number
  831.              of FILE lines can be specified.  Two examples follow:
  832.      
  833.      Assume the following partial script:
  834.      
  835.      USER label_1 "Data Files" C:\DATA
  836.      FILE label_1 main.exe
  837.      FILE label_1 main2.exe
  838.      
  839.      This script would transfer main.exe and main2.exe from the root
  840.      directory of the current installation diskette to the directory that
  841.      the user entered when prompted with "Data Files", perhaps the default
  842.      directory presented to him, "C:\DATA".
  843.      
  844.      Now, consider this more advanced example:
  845.      
  846.      USER label_1 "Data Files" C:\DATA
  847.      SUBDIR label_1 \HELP
  848.      FILE label_1 main.exe
  849.      FILE label_1 main2.exe
  850.      FILE label_1 help\help.dat
  851.      
  852.      Assuming that the user accepts the default C:\DATA, this script would
  853.      transfer main.exe and main2.exe from the root directory of the current
  854.      installation diskette to the directory that the user entered when
  855.      prompted with "Data Files", just as in the previous example.  Also, as
  856.      child to the user-entered directory would be created a help directory,
  857.      to which would be transferred help.dat.
  858.      
  859.      The final structure if all defaults were accepted by the user would
  860.      be:
  861.      
  862.      C:\DATA\MAIN.EXE
  863.      C:\DATA\MAIN2.EXE
  864.      C:\DATA\HELP\HELP.DAT
  865.      
  866.      
  867.                           Install-Pro Reference Manual
  868.                                       - 12 -
  869.             
  870.      
  871.      
  872.      
  873.       
  874.      
  875.      If no label or filename are detected, Install-Pro will abort with an
  876.      error message.
  877.      
  878.                                 Splitting Files
  879.                                 ---------------
  880.      
  881.      If you have files that just cannot fit onto a distribution diskette,
  882.      Install-Pro has the ability to handle split files.  First an example
  883.      of how to accomplish this:
  884.      
  885.      FILE label_1 main.ex1e
  886.      FILE label_1 main.ex2e
  887.      
  888.      These two file lines would create a file called main.exe in the
  889.      label_1 directory, from TWO files main.ex1 and main.ex2.  What
  890.      Install-Pro does is looks to see if an extra character has been added
  891.      to a filename.  If there is an extra character:
  892.      
  893.              1. The source filename is assigned an extension of the first
  894.                 three characters of the filename's extension.  This file
  895.                 should exist on the current distribution floppy.
  896.      
  897.              2. The destination filename has the third character replaced with
  898.                 the fourth, and the fourth character removed.
  899.      
  900.      Please note that:
  901.      
  902.              1. main.ex1e and main.ex2f would not cause an append to occur.
  903.                 The filenames (with the exception of the third character of
  904.                 a four-character extension) MUST match.  In this case,
  905.                 main.exe would be created from main.ex1, but main.exf would
  906.                 NOT be created.
  907.      
  908.              2. The files MUST have the same label name assigned to each of
  909.                 them.  If main.ex1e and main.ex2e were assigned different
  910.                 labels, \directory1\main.exe would be created, but
  911.                 \directory2\main.exe would NOT.
  912.      
  913.              3. I strongly urge that multiple split files of the SAME name
  914.                 NOT be installed.  For example, if you had two huge, but
  915.                 different, files called main.dat, and wanted them both
  916.                 split using main.da1t and main.da2t for each of them, but
  917.                 assigning different labels to them, the user COULD still
  918.                 assign both labels to the same directory, with
  919.                 unpredictable results.  This is an extreme example that I
  920.                 don't thing you will run into.
  921.      
  922.      
  923.      The append/create decision is resolved as follows:
  924.      
  925.              1. If third character of the extension is a '1' and the fourth
  926.                 character exists, the file is CREATED.
  927.      
  928.      
  929.                           Install-Pro Reference Manual
  930.                                       - 13 -
  931.             
  932.      
  933.      
  934.      
  935.       
  936.      
  937.              2. If the third character is greater than a '1' and the fourth
  938.                 character exists, the file is APPENDED.  Note that trying
  939.                 to append to to a file that does not yet exist will cause
  940.                 DOS to return a 'file not found' error, and is used to
  941.                 prevent accidentally append filename.ex2t on top of an
  942.                 existing file.  The practical limit to the number of splits
  943.                 is up to 9.
  944.      
  945.              3. If the third character is a number, but no fourth character
  946.                 exists, no split-file decision occurs - the file will be
  947.                 created.
  948.      
  949.              4. Note that main.0011, for example, is perfectly legal.  What
  950.                 it specifies is that main.001 is to be created, and that
  951.                 it's the first file of a split file.   Main.0021 would be
  952.                 appended to main.0011.
  953.      
  954.      
  955.      This type of file transfer can be especially touchy if the order of
  956.      files transferred and then appended is incorrect.  If you split files,
  957.      I strongly recommend that you debug your script carefully and compare
  958.      the created file with the original (using the DOS program 'COMP' to be
  959.      sure that they are identical to before releasing your application.
  960.      
  961.      
  962.                                       RUN
  963.                                       ---
  964.      
  965.      Syntax: RUN <command line>
  966.      
  967.      This token defines the command lines to be built to execute any
  968.      special programs or batch files that are needed to customize an
  969.      installation.  One use for this might be to run a config.exe program
  970.      that will bring the user straight into configuring the application he
  971.      is installing.  Another use might be to create application menu
  972.      definition files that couldn't be built at install-time otherwise.
  973.      
  974.      Run works by one of two methods.  If the command specified on the
  975.      command line has the extension ".EXE" or ".COM", the program is
  976.      executed directly by Install-Pro.  If no .EXE or .COM extension is
  977.      specified, your command is run by invoking a command processor shell
  978.      and passing it the command line that you specify.  There must be
  979.      enough memory to load both your program or command shell in addition
  980.      to that used by Install-Pro - about 112k.  Run command lines of longer
  981.      than one word must be enclosed in quotes.
  982.      
  983.      
  984.      
  985.      Any number of RUN command lines can be defined.
  986.      
  987.      Further, the directory(s) that the user enters at runtime are
  988.      available on the RUN command lines.  Simply specify any label with a
  989.      
  990.      
  991.                           Install-Pro Reference Manual
  992.                                       - 14 -
  993.             
  994.      
  995.      
  996.      
  997.       
  998.      preceding exclamation point (!) and the user-entered directory will be
  999.      directly substituted for that portion of the text.  The directory is
  1000.      inserted without any leading or trailing spaces, but the spaces on the
  1001.      RUN command line are UNTOUCHED. That means that the following RUN
  1002.      commands would work:
  1003.      
  1004.      RUN dir !label_1
  1005.      RUN !label_1\myprog
  1006.      RUN copy !label_1\this.fil !label_2
  1007.      RUN anydir\anyprog
  1008.      
  1009.      Finally, a special sequence, !home, signifies that you wish to specify
  1010.      the root directory of the installation disk.  For obvious reasons,
  1011.      don't create any labels called 'home' with the USER command, or the
  1012.      !home sequence will no longer point at the home directory, but rather
  1013.      at the directory entered by the user for this labelname.
  1014.      
  1015.      RUN !home\myprog
  1016.      
  1017.      would execute myprog from the root directory of the installation disk.
  1018.      
  1019.      When a RUN command is executed, the screen is saved and cleared first.
  1020.      After it has completed, the screen is restored.
  1021.      
  1022.      If the command shell attempt fails, the user will be notified of the
  1023.      reason (usually memory) but the INSTALLATION WILL NOT ABORT.  If there
  1024.      is a critical part of your installation occuring with a RUN command,
  1025.      be sure to document it in your manual installation instructions for
  1026.      the user.
  1027.      
  1028.      A few points to keep in mind:
  1029.      
  1030.              1.  The error trapping is much more solid if Install-Pro
  1031.                  directly executes your program.  This is due to the fact
  1032.                  that if the command shell is used instead, success
  1033.                  constitutes the shell having successfully loaded.  Whether
  1034.                  enough ram existed for your program or your program was
  1035.                  found is not detectable by Install-Pro.  Whats worse, in
  1036.                  the case of the alternative command processor 4dos, the
  1037.                  command shell load process occurs in two parts.  The first
  1038.                  part of 4dos can load successfully but fail to load the
  1039.                  rest of itself and still return success to Install-Pro.
  1040.      
  1041.              2.  Memory requirements for command shell RUN commands can be
  1042.                  significantly higher, especially if COMMAND.COM is the
  1043.                  target of COMSPEC (about 27k).
  1044.      
  1045.              3.  A single RUN command in .EXE mode is allowed up to 9
  1046.                  arguments. Additional arguments are ignored.  In command
  1047.                  shell mode, there is no limit to the number of arguments
  1048.                  allowed.
  1049.      
  1050.              4.  A single RUN command in .EXE mode is allowed a length of
  1051.      
  1052.      
  1053.                           Install-Pro Reference Manual
  1054.                                       - 15 -
  1055.             
  1056.      
  1057.      
  1058.      
  1059.       
  1060.                  up to 256 characters.  The length of any single argument
  1061.                  is restricted to 128 characters.  If argument zero (the
  1062.                  directory, path and filename of the executing program) is
  1063.                  longer than 128 characters, DOS will return an error
  1064.                  message back to Install-Pro.  If any other argument is
  1065.                  longer than 128 characters, the argument will be truncated
  1066.                  (undesirable, indeed.)
  1067.      
  1068.              5.  A single RUN command in command shell mode is allowed a
  1069.                  total length of up to 256 characters, but keep in mind
  1070.                  that the widely-used command interpreter COMMAND.COM will
  1071.                  only allow 128 characters total.  4dos, among others,
  1072.                  allows up to 256 characters.
  1073.      
  1074.              6.  I gave consideration to errorlevels from executed
  1075.                  programs (they are not available from shelled commands),
  1076.                  but considering the fact that the only recourse is to
  1077.                  report the errorlevel to the user as a 'possible error' or
  1078.                  alternatively to abort the installation, I abstained.
  1079.                  Registered users with special errorlevel needs are free to
  1080.                  contact me for a custom version of Install-Pro that will
  1081.                  handle errorlevels in one of these two fashions.
  1082.      
  1083.      
  1084.      
  1085.                                     GOODBYE
  1086.                                     -------
  1087.      
  1088.      Syntax: GOODBYE "So-long text goes here"
  1089.      
  1090.      This token is used to build an end-of-install message to display to
  1091.      your users after successful completion of installation.  It can be up
  1092.      to 71 characters long, and like the HELLO lines, the GOODBYE text is
  1093.      displayed in an auto-sizing window.  If you want to specify an empty
  1094.      line, use GOODBYE "".  The lack of any GOODBYE lines would cause a
  1095.      small, empty box to appear, harmless but silly looking.  Somewhere
  1096.      near the bottom of the GOODBYE text, you should include something to
  1097.      the effect that a keypress will exit the program.
  1098.      
  1099.      Up to 14 GOODBYE lines can be defined, anywhere in the script file(s).
  1100.      GOODBYE lines after the 14th are ignored.  When an install.??? file is
  1101.      processed that does not have a DISK token, after all transfers have
  1102.      taken place, the GOODBYE messages are displayed, after which the
  1103.      program terminates.
  1104.      
  1105.      
  1106.      
  1107.                                      DISK
  1108.                                      ----
  1109.      
  1110.      Syntax: DISK
  1111.      
  1112.      This token specifies that the user is to be prompted to insert the
  1113.      
  1114.      
  1115.                           Install-Pro Reference Manual
  1116.                                       - 16 -
  1117.             
  1118.      
  1119.      
  1120.      
  1121.       
  1122.      next numbered disk.  If the disk being processed is disk 1 with
  1123.      install.001, specifying DISK would cause the user to be prompted to
  1124.      insert disk #2. If the user presses enter and the disk in the drive in
  1125.      which install.exe exists does not have install.002 in the root
  1126.      directory, the user will be instructed to try again.  This loop
  1127.      repeats until the user inserts the correct disk (if you've ensured
  1128.      that the user received it) or until the user presses Escape, which
  1129.      would terminate the program.
  1130.      
  1131.      DISK MUST come before AUTHORIZATION in install.001
  1132.      
  1133.      
  1134.      
  1135.      
  1136.      
  1137.      
  1138.      
  1139.      
  1140.      
  1141.      
  1142.      
  1143.      
  1144.      
  1145.      
  1146.      
  1147.      
  1148.      
  1149.      
  1150.      
  1151.      
  1152.      
  1153.      
  1154.      
  1155.      
  1156.      
  1157.      
  1158.      
  1159.      
  1160.      
  1161.      
  1162.      
  1163.      
  1164.      
  1165.      
  1166.      
  1167.      
  1168.      
  1169.      
  1170.      
  1171.      
  1172.      
  1173.      
  1174.      
  1175.      
  1176.      
  1177.                           Install-Pro Reference Manual
  1178.                                       - 17 -
  1179.             
  1180.      
  1181.      
  1182.      
  1183.       
  1184.                                       END
  1185.                                       ---
  1186.      
  1187.      Syntax: END
  1188.      
  1189.      This token indicates that the end of the last installation script has
  1190.      been reached.  Just like DISK, END forces all information stored in
  1191.      all labels to be processed.  However, unlike DISK, when this
  1192.      processing is completed, the program displays the GOODBYE messages and
  1193.      exits.
  1194.      
  1195.      This token is mutually exclusive of the DISK token.  Whichever is
  1196.      encountered first will dictate the processing that will occur, and the
  1197.      other will be ignored.
  1198.      
  1199.      END MUST come before AUTHORIZATION in install.001.
  1200.      
  1201.      
  1202.      
  1203.                                  AUTHORIZATION
  1204.                                  -------------
  1205.      
  1206.      Syntax: AUTHORIZATION 00000
  1207.      
  1208.      This token is only required on the last line of install.001.  Its
  1209.      function is solely to create a space for Install-Pro to write an
  1210.      authorization code. After you have run Install-Pro with your key on
  1211.      the command line, this line will be updated with the appropriate
  1212.      authorization code for the current script.
  1213.      
  1214.      If you are evaluating an unregistered copy of Install-Pro, you need
  1215.      not worry about this line. The authorization concept is used purely to
  1216.      ensure the integrity of registered versions.
  1217.      
  1218.      
  1219.                                Script Debugging
  1220.                                ----------------
  1221.      
  1222.      Before you send your latest sale to your customers, you are going to
  1223.      want to make sure that the installation as you envision it is actually
  1224.      going to happen.  I have made a great effort to make all error
  1225.      messages as descriptive as possible.  In the cases of DOS returning an
  1226.      error, the error message is given verbatim back to you.  I have taken
  1227.      great lengths to make the parser as smart as possible; however, it is
  1228.      possible to make any parser look stupid with intentional or lucky
  1229.      entries (just leave a terminating curly bracket off a c function if
  1230.      you need proof.)  If you follow the syntax closely, the parser will
  1231.      make both Install-Pro and your application look great.  If you feel
  1232.      that your syntax is correct, or should be, but the parser seems to
  1233.      disagree with you, leave me a note through the channels described in
  1234.      "Contacting the Author."
  1235.      
  1236.      
  1237.      
  1238.      
  1239.                           Install-Pro Reference Manual
  1240.                                       - 18 -
  1241.             
  1242.      
  1243.      
  1244.      
  1245.       
  1246.                                 Error Messages
  1247.                                 --------------
  1248.      
  1249.      The following are the standard error messages built into Install-Pro.
  1250.      The nature of these errors is such that Install-Pro cannot continue,
  1251.      so these error messages can probably be classified as Fatal Errors.
  1252.      Of course, the message the user sees doesn't include the word 'Fatal'
  1253.      for obvious reasons.  The message the user sees is similar to the one
  1254.      that follows:
  1255.      
  1256.           ┌───────────────────────────────────────────────────────────┐
  1257.           │     The following unrecoverable error has occurred:       │
  1258.           │                                                           │
  1259.           │                 Error opening install.001                 │
  1260.           │                                                           │
  1261.           │ Please refer to your documenation for manual installation │
  1262.           │ instructions if the problem cannot be corrected.          │
  1263.           │                                                           │
  1264.           │                Press a key to terminate...                │
  1265.           └───────────────────────────────────────────────────────────┘
  1266.      
  1267.      Any application should be distributed with manual installation
  1268.      instructions to help alleviate the unexpected, hence the wordage of
  1269.      the error message.  The documentation that you provide your users
  1270.      should include a telephone number in case of installation
  1271.      difficulties, or in case manual procedures also didn't succeed.
  1272.      
  1273.      DOS version 3.0 or higher required
  1274.      
  1275.            A DOS version prior to 3.0 was detected.  Install-Pro requires
  1276.            MS-DOS 3.0 or later.
  1277.      
  1278.      Error opening install.001
  1279.      
  1280.            INSTALL.001 was not found in the root directory of the disk that
  1281.            Install-Pro is located on.
  1282.      
  1283.      Error parsing installation script: line nn
  1284.      
  1285.            A token was expected but not found on the indicated line. This
  1286.            usually means that one or more words is missing on this line.
  1287.      
  1288.      Memory allocation error
  1289.      
  1290.            A request for more memory was denied.  This is extremely
  1291.            unlikely to occur, as Install-Pro requires only about 112k of
  1292.            free RAM.
  1293.      
  1294.      Error transferring xxxxx to yyyyy
  1295.      
  1296.            DOS returned an error while trying to transfer the indicated
  1297.            file to the indicated destination.
  1298.      
  1299.      
  1300.      
  1301.                           Install-Pro Reference Manual
  1302.                                       - 19 -
  1303.             
  1304.      
  1305.      
  1306.      
  1307.       
  1308.      Error creating directory: zzzzz
  1309.      
  1310.            DOS returned an error while trying to create the indicated
  1311.            directory.  The most likely cause is if the user tries to
  1312.            install the application to a directory that is the same name as
  1313.            an existing file.
  1314.      
  1315.      Authorization Error (registered versions only)
  1316.      
  1317.            Install-Pro detected an authorization code that did not match
  1318.            the accompanying script file (install.001).  Run Install-Pro
  1319.            again with your key to authorize your script.
  1320.      
  1321.      Executable integrity Error - bad executable
  1322.      
  1323.            Install-Pro detected internal errors in its executable file.
  1324.            This may mean that the file has become corrupted or infected by
  1325.            a creepy-crawly.  Restore an original from your backup and
  1326.            retry.
  1327.      
  1328.      Label not found: xxxxx, line nn
  1329.      
  1330.            The token in the <label name> position on the specified line
  1331.            does not correspond to a previously defined label name created
  1332.            with a USER line.
  1333.      
  1334.      Unexpected EOF - AUTHORIZATION, END or DISK expected
  1335.      
  1336.            If Install-Pro parses to the end of a script without finding
  1337.            some indication of how to terminate, it returns this error.
  1338.      
  1339.                                 Critical Errors
  1340.                                 ---------------
  1341.      
  1342.      Should a disk door be left open (or any other critical error trapped
  1343.      by DOS, for that matter) a Critical Error handler built into
  1344.      Install-Pro will take control and provide the user with a menu similar
  1345.      to this one:
  1346.      
  1347.           ╔════════════════════[ CRITICAL ERROR ]═════════════════════╗
  1348.           ║                                                           ║
  1349.           ║ Error Code     : Device not ready                         ║
  1350.           ║ Class of Error : Hardware failure                         ║
  1351.           ║ Location       : Unknown source                           ║
  1352.           ║                  Read error on drive C:  DOS error        ║
  1353.           ║ Recommended Action : Retry after correcting error         ║
  1354.           ║───────────────────────────────────────────────────────────
  1355.           ║     Retry        Abort        Ignore       Fail           ║
  1356.           ╚═══════════════════════════════════════════════════════════╝
  1357.      
  1358.      If the user accepts the default (Retry after correcting error), he
  1359.      will be in most cases safe.  Of course, if his computer picked the
  1360.      exact moment that he's installing your application to crash its hard
  1361.      
  1362.      
  1363.                           Install-Pro Reference Manual
  1364.                                       - 20 -
  1365.             
  1366.      
  1367.      
  1368.      
  1369.       
  1370.      drive, no Critical Error handler is going to recover very gracefully.
  1371.      
  1372.      
  1373.      
  1374.                                Registration Keys
  1375.                                -----------------
  1376.      
  1377.      This section deals only with registered copies of Install-Pro.
  1378.      Shareware versions have no distribution protection built in
  1379.      whatsoever.
  1380.      
  1381.      With your registered Install-Pro diskette you received a key in the
  1382.      form of a series of characters.  This key protects copies of
  1383.      Install-Pro that are released with your applications from being used
  1384.      with scripts other than the one you defined.  This key is utilized
  1385.      simply by you the programmer including it with absolutely no
  1386.      accompanying punctuation whatsoever as the only argument on the
  1387.      install.exe command line.  The result is that the script is processed
  1388.      normally, with an authorization code created on the AUTHORIZATION
  1389.      line.  Observing this procedure ensures that your scripts never cause
  1390.      Install-Pro to abort with an Authorization Error message.  For
  1391.      development purposes, just create a batch file to save repeatedly
  1392.      typing in your key.  Then, when you release your product, the script
  1393.      has the latest AUTHORIZATION (see above) encoded in your script,
  1394.      enabling install.exe to only to work with the unmodified script.  This
  1395.      protects my product, as well as protects your installation from
  1396.      unwanted tampering.
  1397.      
  1398.      Warning:  Each purchaser of Install-Pro receives an exclusive key.
  1399.      Your conscience may not be the only person that will know if you
  1400.      distribute it - my personal key will tell me the original purchaser of
  1401.      any copy of Install-Pro.  PLEASE do not give your key to anyone,
  1402.      including purchasers of your own software.  To do so is unethical,
  1403.      immoral, violates your License Agreement (meaning illegal) and causes
  1404.      baggy, shiftless eyes.  (If you'd never dream of it, your heart is all
  1405.      programmer and I sincerely thank you!)
  1406.      
  1407.      
  1408.                                Virus Protection
  1409.                                ----------------
  1410.      
  1411.      In consideration of the large number of creepy-crawlies that can
  1412.      infect programs, I have installed multiple internal checks to verify
  1413.      the integrity of Install-Pro.  If you run across the error message:
  1414.      "Executable Integrity Error", a discrepancy has been discovered in the
  1415.      executable.  However, viruses are not the only possible cause;  Pklite
  1416.      or Lzexe, if used on Install-Pro, will trigger this error.  If you
  1417.      have major space considerations, and were considering making
  1418.      Install-Pro smaller, remember that you can put the largest of the
  1419.      files on diskettes 002 and higher, where install.exe does not need to
  1420.      exist.  Another possible cause of this error message could be good
  1421.      old-fashioned file corruption.  In any case, restore the executable
  1422.      from the original distribution floppy or .zip file and you should be
  1423.      
  1424.      
  1425.                           Install-Pro Reference Manual
  1426.                                       - 21 -
  1427.             
  1428.      
  1429.      
  1430.      
  1431.       
  1432.      fine. If you come across an original copy of Install-Pro, shareware or
  1433.      otherwise, that has an Integrity Error message, I'd appreciate you
  1434.      letting me know its source and/or circumstances.
  1435.      
  1436.      
  1437.      
  1438.      
  1439.      
  1440.      
  1441.      
  1442.      
  1443.      
  1444.      
  1445.      
  1446.      
  1447.      
  1448.      
  1449.      
  1450.      
  1451.      
  1452.      
  1453.      
  1454.      
  1455.      
  1456.      
  1457.      
  1458.      
  1459.      
  1460.      
  1461.      
  1462.      
  1463.      
  1464.      
  1465.      
  1466.      
  1467.      
  1468.      
  1469.      
  1470.      
  1471.      
  1472.      
  1473.      
  1474.      
  1475.      
  1476.      
  1477.      
  1478.      
  1479.      
  1480.      
  1481.      
  1482.      
  1483.      
  1484.      
  1485.      
  1486.      
  1487.                           Install-Pro Reference Manual
  1488.                                       - 22 -
  1489.       
  1490.