home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR9 / UNST13.ZIP / INSTALL.DOC < prev    next >
Text File  |  1993-08-16  |  72KB  |  2,273 lines

  1.  
  2.  
  3.  
  4.  
  5.                         
  6.                         
  7.                        
  8.                  
  9.  
  10.  
  11.                                    Universal
  12.                            === =  =  == === === =   =
  13.                             |  |\ | |    |  | | |   |
  14.                             |  | \|  \\  |  |=| |   |
  15.                            === =  = ===  |  = = === ===
  16.  
  17.  
  18.                                 Universal INSTALL
  19.                           Software Installation Utility
  20.                                    version 1.3
  21.  
  22.  
  23.                       SHAREWARE KIT DOCUMENTATION (39 Pages)
  24.                  More information available by running README.EXE!
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.   Produced by
  46.  
  47.      The GoodSoft Co.
  48.      1630 30th Street, Suite 235
  49.      Boulder, Colorado 80301 USA
  50.  
  51.      CompuServe Mail ID 72073,225
  52.      FAX Number: (303) 430-7943 
  53.      
  54.      <ASP> Member
  55.  
  56.  
  57.  
  58.                                        Page 1
  59.   CONTENTS
  60.   =============
  61.  
  62.   About Universal Install/The GoodSoft Co...........4
  63.   ASP Ombudsman Statement...........................4
  64.   Purchasing Universal INSTALL......................5
  65.   Foreign language versions of INSTALL..............6     
  66.  
  67.   What is a script file?............................7
  68.   How to create a script file.......................7
  69.   The script file format............................7
  70.  
  71.   SCRIPT FILE COMMANDS (BY CATEGORY)
  72.  
  73.   Creating and Using Windows
  74.     Creating a window section.......................8
  75.     Border..........................................8
  76.     BottomTitle.....................................8
  77.     CloseWindow.....................................9
  78.     ColumnMargin....................................9
  79.     PopUp...........................................9
  80.     RowMargin.......................................9
  81.     ShadowColor.....................................10
  82.     ShadowType......................................10
  83.     StartColumn.....................................10
  84.     StartRow........................................11
  85.     Text............................................11
  86.     TopTitle........................................11
  87.     WindowColor.....................................12
  88.  
  89.   General Screen Commands
  90.     BackPlane.......................................13
  91.     BottomBar.......................................13
  92.     ClearPlane......................................13
  93.     ClearScreen.....................................14
  94.     Text............................................14
  95.     TopBar..........................................14
  96.  
  97.   General System Commands
  98.     CheckDiskSpace..................................15
  99.     ColdBoot........................................15
  100.     DiskSpaceReq....................................15
  101.     DOSVersion......................................16
  102.     FindDisk........................................16
  103.     FindBootDrive...................................16
  104.     Jump............................................17
  105.     KeepLogFile.....................................17
  106.     RunProgram......................................18
  107.     SystemDelay.....................................18
  108.     Wait............................................19
  109.     WarmBoot........................................19
  110.  
  111.   Getting Keyboard Input From the User
  112.     Creating a user-input section...................20
  113.     Action..........................................20
  114.  
  115.                                        Page 2
  116.     Default.........................................20
  117.     StartColumn.....................................21
  118.     StartRow........................................21
  119.     TextColor.......................................21
  120.     Width...........................................22
  121.  
  122.   Using Script Variables
  123.     Script variables................................23
  124.  
  125.   Using Buttons
  126.     Creating a buttons section......................24
  127.     ButtonOffColor..................................24
  128.     ButtonOnColor...................................24
  129.     ColumnMargin....................................25
  130.     RowMargin.......................................25
  131.     Distance........................................25
  132.     Message.........................................26
  133.     Result..........................................26
  134.     GoButton........................................26
  135.     StartColumn.....................................27
  136.     StartRow........................................28
  137.     Travel..........................................28
  138.  
  139.   Copying Files
  140.     Creating a copy files section...................29
  141.     DestPath........................................29
  142.     DiskLabel.......................................29
  143.     CopyFile........................................30
  144.     SourceDisk......................................30
  145.     SourcePath......................................31
  146.     StatusLineBG....................................31
  147.     StatusLineFG....................................31
  148.     StatusColumn....................................31
  149.     StatusRow.......................................32
  150.  
  151.   Modifying CONFIG.SYS
  152.     Creating a modify config section................33
  153.     AddLine.........................................33
  154.     FindString......................................33
  155.     Adding Parameters...............................34
  156.     RemarkString....................................34
  157.     SaveOriginal....................................35
  158.  
  159.   Modifying AUTOEXEC.BAT
  160.     Creating a modify autoexec section..............36
  161.     AddLine.........................................36
  162.     AddPath.........................................36
  163.     SaveOriginal....................................37
  164.   
  165.   Using the "Un-Install" Feature                      
  166.     How "un-install" works..........................38
  167.     Creating an installation log file...............38
  168.     Using the REMOVE utility........................38    
  169.     The REMOVE utility data file....................38    
  170.     Tips on using REMOVE............................39    
  171.  
  172.  
  173.  
  174.                                        Page 3
  175.   ABOUT UNIVERSAL INSTALL
  176.   ===========================
  177.  
  178.      Universal INSTALL is a product of The GoodSoft Co., a contract
  179.  software development firm based in Boulder, Colorado.  The GoodSoft Co.
  180.  was established in 1988 through consulting and custom programming
  181.  contracts. We have been developing commercial software for others for many
  182.  years, and Universal INSTALL originally began as a project for us to 
  183.  simplify the installation of the software we created for our clients. 
  184.      
  185.      Universal INSTALL is being offered through the shareware concept, e.g.
  186.  try it before you buy it. While copyright laws apply to shareware in the
  187.  same manner as with commercial software, you are encouraged to pass this
  188.  SHAREWARE KIT (with all files included and un-modified) around freely, so 
  189.  long as you don't charge more than a reasonable fee for actual distribution 
  190.  costs. If you use Universal INSTALL on a basis past an "evaluation period", 
  191.  or expect to distribute your INSTALL programs with your software, you are 
  192.  expected to pay for the product. (Please see "Registering..." below). 
  193.  
  194.  
  195.                            _______
  196.                       ____|__     |               (R)
  197.                    --|       |    |-------------------
  198.                      |   ____|__  |  Association of
  199.                      |  |       |_|  Shareware
  200.                      |__|   o   |    Professionals
  201.                    -----|   |   |---------------------
  202.                         |___|___|    MEMBER
  203.  
  204.  
  205.  
  206.   ASP OMBUDSMAN STATEMENT
  207.   ===========================
  208.  
  209.     " The GoodSoft Co. is a member of the ASP (Association of Shareware
  210.  Professionals). ASP wants to make sure that the shareware concept works
  211.  for you. If you are unable to resolve a shareware-related problem with an
  212.  ASP member by contacting the member directly, ASP may be able to help. The
  213.  ASP Ombudsman can help you resolve a dispute or problem with an ASP
  214.  member, but does not provide technical support for members' products.
  215.  Please write to the ASP Ombudsman at: 545 Grover Road, Muskegon, MI 
  216.  49442-9247 USA. ASP ombudsman FAX #: (616) 788-2765. Or, send a CompuServe 
  217.  message via CompuServe Mail to 70007,3536. "
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.                                        Page 4
  233.   PURCHASING UNIVERSAL INSTALL
  234.   ==================================
  235.  
  236.       Because the shareware concept is based on trust, if you use Universal
  237.  INSTALL beyond a reasonable evaluation period, you need to purchase the
  238.  product. This is known as "registering" or becoming a registered user.
  239.  Becoming a registered Universal INSTALL user has many advantages, as
  240.  described in README.EXE and listed below...
  241.  
  242.              - Script generator package registered to your company.
  243.              - Your choice of a script file distribution filename (instead
  244.                of the SHAREWRE.VER filename used in this kit), also
  245.                registered in our database for your company's exclusive use.
  246.              - Winster, a "screen painting" tool that creates script
  247.                files for you.
  248.              - Published developer documentation and script file tips.
  249.              - Viewer, a utility that allows your user's to view a text
  250.                file in a manner similar to our README.EXE.
  251.              - DiskMake, a great time-saving media build utility. We use it
  252.                to create our distribution disks.
  253.              - Remove, a utility to allow your users to "undo" an 
  254.                installation.
  255.              - Access to non-English versions of INSTALL.
  256.              - An extra set of pre-written scripts - adapt them for
  257.                your use.
  258.              - Access to the latest news about Universal INSTALL.
  259.              - Participation in developing future releases and features.
  260.              - The next upgrade...free!
  261.  
  262.  
  263.   To order:
  264.  
  265.      Registered user package...........$36.00 (US), $40.00 (Outside U.S.)
  266.      Shareware kit.....................$ 1.00 (US), $ 3.00 (Outside U.S.)
  267.  
  268.      Send a company/personal check or money order (in U.S. funds) to:
  269.  
  270.                         The GoodSoft Co.
  271.                         1630 30th Street - Suite 235
  272.                         Boulder, Colorado 80301 U.S.A.
  273.  
  274.  
  275.      CompuServe Mail    72073,225
  276.      Inquiries only:    FAX: (303) 430-7943 
  277.  
  278.      If you prefer to pay via credit card, the following organizations
  279.      will accept orders for Universal INSTALL:
  280.  
  281.                    CompuServe (GO SWREG, database ID# 907)
  282.                    Software Excitement! 1-800-444-5457
  283.  
  284.   
  285.  
  286.  
  287.  
  288.  
  289.  
  290.                                        Page 5
  291.   NON-ENGLISH LANGUAGE VERSIONS OF UNIVERSAL INSTALL
  292.   ======================================================
  293.  
  294.       The great part about using script files for your installation process 
  295.  is that you have complete control over what is shown to your users. This 
  296.  means that creating an installation that uses a language other than English 
  297.  is rather simple - just create a script file that displays text in the 
  298.  language desired.
  299.  
  300.       The one aspect of INSTALL that is not under script file control is
  301.  the error messages displayed if something unexpected happens. These error
  302.  messages are built into INSTALL on purpose: (1) to have them always 
  303.  available to the program, and (2) to avoid having to mess with more files
  304.  during the installation process. This keeps INSTALL as self-contained and 
  305.  fast as possible!
  306.  
  307.       Since many of our customers are using Universal INSTALL in non
  308.  English-language countries, we've decided to offer foreign language 
  309.  versions of INSTALL. Although only a German-language version is currently
  310.  available (as of 8/16/93), we are looking to offer more languages 
  311.  immediately. Our standard practice is to offer a free Universal INSTALL 
  312.  package to the first developer willing to translate a few lines of text. 
  313.  We then build the translated text into a new language version of INSTALL.
  314.  So, if you're interested in a non-English version, please ask us for the 
  315.  current availablity of different languages. And if you would like to 
  316.  offer us your translation skills, drop us a line for more information.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.                                        Page 6
  349.   WHAT IS A SCRIPT FILE?
  350.   ==========================
  351.  
  352.       A script file is just our name for a special text file that
  353.  SCRIPT.EXE, the Universal INSTALL script generator, can understand. Script
  354.  files contain special keywords that tell Universal INSTALL what colors to
  355.  use, the size of your windows, etc.
  356.  
  357.       The advantage of using a script file is that you get total control
  358.  over how your installation will look and operate. Rather than answer a few
  359.  questions and create a "canned"-looking install utility, YOU control
  360.  every aspect of the installation process. In fact, Universal INSTALL makes
  361.  it easy for you to MATCH the look and feel of your own software!
  362.  
  363.  
  364.  
  365.   HOW TO CREATE A SCRIPT FILE
  366.   ===============================
  367.  
  368.       Script files may be written with your favorite text editor or with a
  369.  word processor that can save files in a text (ASCII) format. Included with
  370.  this Universal INSTALL shareware kit is a sample set of pre-written script
  371.  files that are easy to modify for your product.
  372.  
  373.       Try writing a simple script file or modifying one of the sample script 
  374.  files included in this shareware kit. Keep in mind that registered users 
  375.  get our Winster utility, which allows you to "paint" your screens, text, 
  376.  windows, etc. and let Winster write the script for you.
  377.  
  378.       Once you've written a script file, you'll run it through the script
  379.  generator (SCRIPT.EXE). This utility will compress your script file and
  380.  put your instructions into the binary format INSTALL.EXE understands.
  381.  For this shareware kit, the script generator creates an output file called
  382.  "SHAREWRE.VER". Registered users pick the name that their script generator
  383.  creates.
  384.  
  385.  
  386.  
  387.   THE SCRIPT FILE FORMAT
  388.   ==========================
  389.  
  390.       Script file commands may be capitalized in any way you desire. A
  391.  quick glance through our GOODSOFT or SIMPLE script files included in this
  392.  kit will give you a good idea of the proper format for a script file. The
  393.  format is really not as strict as it looks. When you run your script
  394.  through the script generator, the utility will tell you if it doesn't
  395.  understand something you have written. The entire process is much like
  396.  using a language compiler, but much, much simpler!
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.                                        Page 7
  407.   C R E A T I N G   A N D   U S I N G   W I N D O W S
  408.  
  409.  
  410.   Creating a "BuildWindow" Section
  411.   ====================================
  412.  
  413.       To create a window, start a section in your script file as follows.
  414.  This type of section uses all the script file commands that are relevant
  415.  to windows...
  416.  
  417.              BUILDWINDOW
  418.                WindowColor =White
  419.                Border =Blue
  420.                StartRow =Center
  421.                StartColumn =Center
  422.                ColumnMargin =1
  423.                RowMargin =8
  424.                PopUp =No
  425.                ShadowType =Big
  426.                TopTitle =Welcome!
  427.                BottomTitle =Press ENTER to continue...
  428.              ENDWINDOW
  429.  
  430.  
  431.  
  432.   BORDER Command
  433.   ==================
  434.  
  435.   What it does....determines a border and border color for a window.
  436.   See also........ShadowColor
  437.   Usage...........Border =<Blue, Gray, etc...>
  438.   Example.........Border =Blue
  439.  
  440.      If this command is used, it tells INSTALL to put a border around the
  441.  window in the specified color. The default situation for windows is no
  442.  border, so if you want a bordered window, use this command. Otherwise,
  443.  leave it out of your window section.
  444.  
  445.  
  446.   BOTTOMTITLE Command
  447.   =======================
  448.  
  449.   What it does...puts a message on the bottom border of a window.
  450.   See also.......TopTitle
  451.   Usage..........BottomTitle =<text message>
  452.   Example........BottomTitle =Press ENTER to continue
  453.  
  454.      The default for a window is no bottom or top titles, so you must use
  455.  these commands if you want some messages on the window borders. Note that
  456.  the message will be centered on the bottom border. This is a short-cut to
  457.  using the Text command for putting some text on the window border. The
  458.  text will be displayed with white characters on the border color
  459.  background. 
  460.  
  461.  
  462.  
  463.  
  464.                                        Page 8
  465.  
  466.   CLOSEWINDOW Command
  467.   =======================
  468.  
  469.   What it does....removes a "pop up" window and restores the screen to
  470.                   its original appearance.
  471.   See also........PopUp
  472.   Usage...........CloseWindow
  473.   Example.........CloseWindow
  474.  
  475.      This command restores the screen to its original display before the
  476.  pop up window was put on the screen.
  477.  
  478.  
  479.  
  480.   COLUMNMARGIN Command
  481.   ========================
  482.  
  483.   What it does....leaves X number of columns as space between a window
  484.                   border and the interior text.
  485.   See also........RowMargin
  486.   Usage...........ColumnMargin =<number of columns>
  487.   Examples........ColumnMargin =7
  488.  
  489.      This command is useful for keeping the window text from being crammed
  490.  up against the border of a window and helps you create a balanced look for
  491.  your windows.
  492.  
  493.  
  494.  
  495.   POPUP Command
  496.   =================
  497.  
  498.   What it does....determines whether a window is a "pop up" window
  499.   Usage...........PopUp =<Yes or No>
  500.   Example.........PopUp =Yes
  501.  
  502.      A "pop up" window does not overwrite the screen below it, so that when
  503.  you restore a window with the CloseWindow command, your screen will look
  504.  unchanged. This is useful for error messages or help windows. The default
  505.  type of window is not a pop up, so if you want this feature, you must use
  506.  the PopUp command. 
  507.  
  508.  
  509.  
  510.   ROWMARGIN Command
  511.   =====================
  512.  
  513.   What it does....leaves X number of rows as space between a window border
  514.                   and the interior text.
  515.   See also........ColumnMargin
  516.   Usage...........RowMargin =<number of rows>
  517.   Example.........RowMargin =1
  518.  
  519.      This command is useful for keeping the window text from being crammed
  520.  up against the border of a window and helps you create a balanced look for
  521.  your windows.
  522.  
  523.                                        Page 9
  524.  
  525.  
  526.  
  527.   SHADOWCOLOR Command
  528.   =======================
  529.  
  530.   What it does....determines the color of a window.
  531.   See also........ShadowType, Border
  532.   Usage...........ShadowColor =<White, Blue, etc...>
  533.   Example.........ShadowColor =Gray
  534.  
  535.      This command can give different looks for windows placed within other
  536.  windows. Experiment with different colors to find an interesting look.
  537.  
  538.  
  539.  
  540.   SHADOWTYPE Command
  541.   ======================
  542.  
  543.   What it does....determines the type of shadow to use for a window.
  544.   See also........ShadowColor, Border
  545.   Usage...........ShadowType =<None, Big, Small>
  546.   Examples........ShadowType =None
  547.                   ShadowType =Small
  548.  
  549.      The ShadowType command determines the type of shadow to use for the
  550.  window. A shadow creates a minor 3-D effect for the window. A Big shadow
  551.  uses the backplane characters to create the shadow. This type looks best
  552.  for windows displayed directly on the backplane. A Small shadow type looks
  553.  best for windows placed within other windows. The default type for a
  554.  window is Big. 
  555.  
  556.  
  557.  
  558.   STARTCOLUMN Command
  559.   =======================
  560.  
  561.   What it does....specifies the column on which to start the left edge of
  562.                   the window.
  563.   See also........StartRow
  564.   Usage...........StartColumn =<col #> or <Center> or <Window + <col #>>
  565.   Examples........StartColumn =5
  566.                   StartColumn =Center
  567.                   StartColumn =Window+1
  568.  
  569.      The first example is used when you want to start the window on a
  570.  specific column. The second example is a short-cut and tells the script
  571.  generator to automatically center the window on the screen. The third
  572.  example is useful for placing windows within another window. The example
  573.  will start the new window on the previous window's StartColumn plus one 
  574.  more column. You can see how this will place the window within the 
  575.  previous window. See the GOODSOFT script for more examples.
  576.  
  577.  
  578.  
  579.  
  580.   
  581.  
  582.                                        Page 10
  583.   STARTROW Command
  584.   ====================
  585.  
  586.   What it does....specifies the row on which to start the top edge of the
  587.                   window.
  588.   See also........StartColumn
  589.   Usage...........StartRow =<row #> or <Center> or <Window + <row #>>
  590.   Examples........StartRow =2
  591.                   StartRow =Center
  592.                   StartRow =Window+2
  593.  
  594.      The first example is used when you want to start the window on a
  595.  specific row. The second example is a short-cut and tells the script
  596.  generator to automatically center the window on the screen. The third
  597.  example is useful for placing windows within another window. The example
  598.  will start the new window on the previous window's StartRow plus two 
  599.  more rows. See the GOODSOFT script for more examples.
  600.  
  601.  
  602.  
  603.   TEXT Command
  604.   ================
  605.  
  606.   What it does....draws text on the screen.
  607.   Usage...........Text <color> on <color> <column> <row> = <text>
  608.   Example.........Text white on blue 10,15 =Sample text string!
  609.  
  610.      The Text command allows you to place a text string on the screen in a
  611.  specified color. This is useful for updating the text of a window after
  612.  the window has already been drawn, for example. Note that the row and
  613.  column coordinates are based on the top left corner of the screen being
  614.  (1,1) and the lower right corner being (80,25).
  615.  
  616.      This command may also be used within a window section. If it is used
  617.  in this way, the column and row coordinates will be based on the top, left
  618.  corner of the window, instead of this screen. This allows you to move the
  619.  window around without having to update your text coordinates.
  620.  
  621.  
  622.  
  623.   TOPTITLE Command
  624.   ====================
  625.  
  626.   What it does....puts a text message on the top border of a window.
  627.   See also........BottomTitle
  628.   Usage...........TopTitle = <text message>
  629.   Example.........TopTitle =Sample Installation Program
  630.  
  631.      The message will be centered in the window and be displayed with white
  632.  characters on the border color background. Also see the BottomTitle
  633.  command. 
  634.  
  635.  
  636.                                   
  637.  
  638.  
  639.  
  640.  
  641.                                        Page 11
  642.   WINDOWCOLOR Command
  643.   =======================
  644.   
  645.   What it does....specifies the color of a window.
  646.   See also........ShadowColor, Border
  647.   Usage...........WindowColor =<Blue, White, Gray, etc...>
  648.   Example.........WindowColor =Gray
  649.  
  650.      This command determines that color of a window. See the Border command
  651.  to determine the border color for the window and the ShadowColor command
  652.  to specify the shadow color for a window.
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.                                        Page 12
  700.   G E N E R A L   S C R E E N   C O M M A N D S
  701.  
  702.  
  703.  
  704.   BACKPLANE Command
  705.   =====================
  706.  
  707.   What it does....defines the color and character used for the screen
  708.                   background.  
  709.   See also........ClearPlane, ClearScreen
  710.   Usage...........BackPlane <custom color> = <ASCII character>
  711.                   BackPlane <color> on <color> = <ASCII character>
  712.   Examples........BackPlane teal =▒
  713.                   BackPlane blue on gray =A
  714.  
  715.      The backplane can be used to create a colorful "workspace" for your
  716.  installation program. It is not required - if you desire a standard black
  717.  background, see the ClearScreen command. Custom colors are color
  718.  combinations we have come up with to save you some time (and you might not
  719.  have tried)! ASCII characters 176-178 look especially good as backplane
  720.  characters. 
  721.               Possible custom colors are:
  722.                          Royal     (dark blue)
  723.                          Teal      (greenish blue)
  724.                          Purple    (purple)
  725.                          Orange    (orange)
  726.                          Mint      (pastel green)
  727.                          Sky       (bright light blue)
  728.                          Steel     (dark gray blue)
  729.                          Slate     (gray)
  730.  
  731.  
  732.  
  733.  
  734.   BOTTOMBAR Command
  735.   =====================
  736.  
  737.   What it does...puts a "status line" on the bottom of the screen.
  738.   See also.......TopBar
  739.   Usage..........BottomBar <color> on <color> = <text>
  740.   Example........BottomBar blue on white =This is a sample line!
  741.  
  742.      A bottom status line may be useful for displaying the names of files
  743.  that are being copied, keeping a message such as "Press ESC to quit"
  744.  constantly visable, or just to put a border around your screen. The "=" is
  745.  optional, and if left out, indicates you don't want any text displayed on
  746.  the line (i.e. blank status bar).
  747.  
  748.  
  749.   CLEARPLANE Command
  750.   ======================
  751.  
  752.   What it does....clears the backplane.
  753.   See also........ClearScreen, BackPlane, TopBar, BottomBar
  754.   Usage...........ClearPlane
  755.   Example.........ClearPlane
  756.  
  757.                                        Page 13
  758.  
  759.      ClearPlane will redraw the backplane. This is very useful for getting
  760.  rid of windows and text in preparation for the next window. Note that this
  761.  command will leave any top or bottom status bars intact. If you want to
  762.  erase everything on the screen, use the ClearScreen command.
  763.  
  764.  
  765.  
  766.   CLEARSCREEN Command
  767.   =======================
  768.  
  769.   What it does....clears the entire screen.
  770.   See also........ClearPlane
  771.   Usage...........ClearScreen
  772.   Example.........ClearScreen
  773.  
  774.      ClearScreen creates an entirely black screen. This is very useful as
  775.  the first and last commands in your script.
  776.  
  777.  
  778.  
  779.   TEXT Command
  780.   ================
  781.  
  782.   What it does....draws text on the screen.
  783.   Usage...........Text <color> on <color> <column> <row> = <text>
  784.   Example.........Text white on blue 10,15 =Sample text string!
  785.  
  786.      The Text command allows you to place a text string on the screen in a
  787.  specified color. This is useful for updating the text of a window after
  788.  the window has already been drawn, for example. Note that the row and
  789.  column coordinates are based on the top left corner of the screen being
  790.  (1,1) and the lower right corner being (80,25).
  791.  
  792.      This command may also be used within a window section. If it is used
  793.  in this way, the column and row coordinates will be based on the top, left
  794.  corner of the window, instead of this screen. This allows you to move the
  795.  window around without having to update your text coordinates.
  796.  
  797.  
  798.  
  799.   TOPBAR Command
  800.   ==================
  801.  
  802.   What it does....puts a "status line" at the top of the screen.
  803.   See also........BottomBar
  804.   Usage...........TopBar <color> on <color> = <text>
  805.   Example.........TopBar white on red =Sample Installation Program
  806.  
  807.      A top status line can be very useful for displaying the name of your
  808.  product or the name of the installation program. The "=" is optional, and
  809.  if left out, indicates you don't want any text displayed on the line (i.e.
  810.  blank status bar). 
  811.  
  812.  
  813.  
  814.  
  815.  
  816.                                        Page 14
  817.   G E N E R A L   S Y S T E M   C O M M A N D S
  818.  
  819.  
  820.  
  821.   CHECKDISKSPACE Command
  822.   ==========================
  823.  
  824.   What it does....Asks INSTALL to make sure there is enough available 
  825.                   space on a disk for the installed software.
  826.   Usage...........CheckDiskSpace =[drive letter designation]
  827.   Example.........CheckDiskSpace =C:\
  828.   
  829.      Sometimes it is useful to make sure that a user has enough disk
  830.   space available to install your software, BEFORE getting deep into the
  831.   install process! The CheckDiskSpace command is used for this purpose. 
  832.   When INSTALL checks for available space and there is not enough space 
  833.   available, it will display a pop-up error message and recommend that 
  834.   the user free up some disk space before installing. INSTALL does not 
  835.   do anything special if there is enough room for the installation. 
  836.   
  837.   
  838.   COLDBOOT Command
  839.   ====================
  840.  
  841.   What it does....initiates a "cold" reboot of the user's computer.
  842.   See also........WarmBoot
  843.   Usage...........ColdBoot
  844.   Example.........ColdBoot
  845.  
  846.      A "cold" reboot is the same as if the user had just turned on his/her
  847.  computer. Most computers check the system memory at this point. For most
  848.  installations, a warm reboot will be sufficient, however. It is probably a
  849.  good idea to allow the user to decide if they want to reboot the computer.
  850.  
  851.  
  852.  
  853.   DISKSPACEREQ Command
  854.   ======================
  855.  
  856.   What it does....specifies required disk free space for installation.
  857.   Usage...........DiskSpaceReq =<amount expressed in K / 1000>
  858.   Examples........DiskSpaceReq =2000
  859.                   DiskSpaceReq =600
  860.   
  861.      This command is used in conjunction with the CheckDiskSpace command
  862.   to tell INSTALL the total amount of disk space required for the 
  863.   installation of your software. The amount of free space specified is 
  864.   multiplied by 1K (1000 bytes) by INSTALL. So, the first example above 
  865.   specifies a requirement for 2MB worth of free space. The second example 
  866.   states that 600K free space is required. See the CheckDiskSpace command 
  867.   for more information. Due to memory limitations, INSTALL can only check 
  868.   for free space of 60MB or less.  
  869.  
  870.   
  871.  
  872.  
  873.  
  874.                                        Page 15
  875.   DOSVERSION Command
  876.   ======================
  877.  
  878.   What it does....checks the user's DOS for a minimum acceptable version.
  879.   Usage...........DOSVersion =<version number>
  880.   Examples........DOSVersion =5.0
  881.  
  882.      If your product requires a minimum DOS version to run correctly (i.e.
  883.  DOS > 3.2), this allows you to stop the installation process and warn the
  884.  user before your software has been installed. This command would usually
  885.  be one of the first commands in your script file.
  886.  
  887.      If INSTALL determines that the user's DOS is LOWER than the version
  888.  you specifiy, the following message will be displayed and INSTALL will
  889.  halt.... 
  890.  
  891.        " Sorry, the minimum DOS version required for this product is X.XX
  892.          Please contact your service representative or dealer for help. "
  893.  
  894.      Note: Don't use this command unless DOS versions are important to you.
  895.  INSTALL doesn't do any checking unless this command is in your script file. 
  896.  
  897.  
  898.  
  899.   FINDDISK Command
  900.   ====================
  901.  
  902.   What it does....searches all the user's disk drives for a disk with the
  903.                   specified volume label.
  904.   Usage...........FindDisk =<Volume Label (a.k.a. Volume ID)>
  905.   Example.........FindDisk =INSTALL
  906.  
  907.      When this command is used, INSTALL will search all the user's disk
  908.  drives until it finds a disk with the same volume label. If a match is
  909.  found, INSTALL returns the drive letter in the $FINDRESULT script
  910.  variable. Otherwise, $FINDRESULT is blank.
  911.  
  912.      This command is useful when you want to locate one of your old product
  913.  software disks for an update or just want to locate the drive that your
  914.  distribution disk is in.
  915.  
  916.  
  917.  
  918.  
  919.   FINDBOOTDRIVE Command
  920.   =========================
  921.  
  922.   What it does....locates the user's boot drive and returns the drive
  923.                   specification in the script variable, $BOOTDRIVE.
  924.   Usage...........FindBootDrive
  925.   Example.........FindBootDrive
  926.  
  927.      This command will return a string such as "C:\" in the script variable
  928.  $BOOTDRIVE. You may then use the result of this command for setting up the
  929.  default answer to questions such as...
  930.  
  931.  
  932.                                        Page 16
  933.              what directory to install to?  C:\DEMO
  934.  
  935.      In the example above, $BOOTDRIVE is used in place of the usual text
  936.  string. Like all script variables, you may use $BOOTDRIVE anywhere regular
  937.  text strings are used in a command.
  938.  
  939.  
  940.  
  941.   JUMP Command
  942.   ================
  943.  
  944.   What it does....skips file execution to the specified procedure name.
  945.   Usage...........Jump =<Procedure Name>
  946.              or   On <Key> Jump =<Procedure Name>
  947.   Examples........Jump =Quit to DOS
  948.                   On ESC   Jump =Quit to DOS
  949.                   On ENTER Jump =Start Installation
  950.  
  951.      Jump is used to branch to different sections of the script file based
  952.  on something the user has done. For example, if the user presses ESC to
  953.  quit, you might want to jump to a procedure explaining what has been
  954.  installed so far. Think of Jump as a GOTO statement. If you use the 
  955.  On..Jump format of the command, INSTALL will only jump to the procedure if 
  956.  the user has pressed the specified key. This is most useful after a Wait 
  957.  command, so that you can branch somewhere if the user presses ESC and 
  958.  somewhere else if the user presses ENTER.
  959.  
  960.      Note that the procedure name should be capitalized exactly the same as
  961.  you capitalized it for the procedure. We did this to make sure that
  962.  procedures were not confused with each other. Procedure names follow the
  963.  format: [XXXXXX], where XXXXXX is the procedure name. See our example
  964.  scripts for more guidance. 
  965.  
  966.  
  967.  
  968.  
  969.   KEEPLOGFILE Command
  970.   =======================
  971.  
  972.   What it does....tells INSTALL to maintain an installation log file.
  973.   Usage...........KeepLogFile =<path and filename>
  974.   Example.........KeepLogFile =c:\install.log
  975.  
  976.      This command is used when you want to distribute the REMOVE utility
  977.  to your users. By using this command and the REMOVE utility, you are
  978.  providing the ability for end-users to "undo" an installation, either
  979.  immediately or sometime in the future. Many users seem to really 
  980.  appreciate the ability to un-install software that they no longer need.
  981.  Please see the section on the "Using the Un-install Feature" for more 
  982.  information.
  983.   
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.                                        Page 17
  992.   RUNPROGRAM Command
  993.   ======================
  994.  
  995.   What it does....run a program outside of INSTALL.
  996.   Usage...........RunProgram =<program command line>
  997.   Example.........RunProgram =pkunzip test.zip
  998.                   RunProgram =!DOS!chkdsk c:
  999.  
  1000.  
  1001.      This command causes INSTALL to run a DOS process and execute the
  1002.  specified command line, just as if it was typed at the DOS prompt. INSTALL
  1003.  loses control of the screen at this point, so it's important for you to
  1004.  make sure that the screen looks the way you want.
  1005.  
  1006.   - INSTALL will handle any DOS errors that occur when trying to run the
  1007.  program (such as "File not found"), but it is up to the external program
  1008.  to handle errors once it has control. This is especially important to
  1009.  note, because running external programs require a large amount of memory.
  1010.  Since INSTALL loses control to the external program, out of memory errors
  1011.  may be ugly (depending on the program, of course!). We recommend using
  1012.  this feature for smaller-sized programs. 
  1013.  
  1014.   - To run a DOS command, imbed "!DOS!" in your command line string
  1015.  (example 2 above).
  1016.  
  1017.   - You must specify the exact path and FULL filename of the program. You
  1018.  may use the $CURRENTPATH variable to your advantage here. For example,
  1019.  running the readme program on the install disk: $CURRENTPATH\readme.exe.
  1020.  
  1021.   - If the external program is one of your own programs, it is possible to
  1022.  match the installation look to the external program, so that the user will
  1023.  see a "seamless" installation.
  1024.  
  1025.  
  1026.  
  1027.  
  1028.   SYSTEMDELAY Command
  1029.   =======================
  1030.   What it does....Pauses operation for X seconds.
  1031.   Usage...........SystemDelay =# of seconds
  1032.   Example.........SystemDelay =2
  1033.  
  1034.      Useful for opening screens or slowing down copy file status messages
  1035.  so the user can see them. The number of seconds is approximate, and will
  1036.  vary slightly for faster/slower machines.
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.                                        Page 18
  1050.   WAIT Command
  1051.   ================
  1052.  
  1053.   What it does....waits for the user to press a specified set of keys.
  1054.   Usage...........Wait =<key>, <key>,....
  1055.   Examples........Wait = Enter, Esc
  1056.  
  1057.      The wait command is useful when you want a user to "press ENTER to
  1058.  continue...". The INSTALL program will wait for the user to press one of
  1059.  the keys you specify. See the Jump command for branching to a different
  1060.  section of the script file based on which key the user presses.
  1061.  
  1062.   Possible script file keywords are:
  1063.        Esc                            (escape key)
  1064.        Enter                          (enter or return key)
  1065.        Space                          (space bar)
  1066.        BackSp                         (backspace key)
  1067.        Tab                            (tab key)
  1068.        PageUp                         (PgUp key)
  1069.        PageDn                         (PgDn key)
  1070.        F1  F2  F3  F4  F5             (function keys)
  1071.        F6  F7  F8  F9  F10            (function keys)
  1072.  
  1073.  
  1074.  
  1075.  
  1076.   WARMBOOT Command
  1077.   ====================
  1078.  
  1079.   What it does....initiates a "warm" reboot of the user's computer.
  1080.   See also........ColdBoot
  1081.   Usage...........WarmBoot
  1082.   Example.........WarmBoot
  1083.  
  1084.      A "warm" reboot is the same as if the user had pressed the
  1085.  Ctrl+Alt+Del keys. For products such as device drivers, this command can
  1086.  allow you to install your product automatically without having to instruct 
  1087.  the user to reboot their computer. It is probably a good idea to allow the
  1088.  user to decide to reboot, however. If you want to do a memory check during
  1089.  the reboot, see the ColdBoot command.
  1090.                                   
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.                                        Page 19
  1108.  G E T T I N G   K E Y B O A R D   I N P U T   F R O M   T H E   U S E R
  1109.  
  1110.  
  1111.   Creating an INPUT section
  1112.   =============================
  1113.  
  1114.      This section allows you to get string input from your user. This is
  1115.  useful for verifying the destination drive or directory with your user,
  1116.  for example. The format of the input section follows...
  1117.  
  1118.                        INPUT
  1119.                          StartRow = window+9
  1120.                          StartColumn =window+30
  1121.                          Action =Enter, Esc
  1122.                          TextColor =White on Blue
  1123.                          Default =$BOOTDRIVEDEMO
  1124.                          Width =15
  1125.                        ENDINPUT
  1126.  
  1127.  
  1128.  
  1129.   ACTION Command
  1130.   ==================
  1131.  
  1132.   What it does....specifies what keys the user may press during data entry.
  1133.   Usage...........Action =<key keyword>, <key keyword>, etc...
  1134.   Example.........Action =ESC, F1
  1135.  
  1136.      Other than the standard insert, delete, and arrow movement commands,
  1137.  INSTALL needs to know what other keys you want to allow the user to press.
  1138.      
  1139.      When you define extra keys with this command, the jump command may be
  1140.  used to branch to different sections of the script depending on which key
  1141.  the user presses. This could be useful for providing on-line help during
  1142.  data entry when the user presses F1, for example. See our GOODSOFT script
  1143.  for a real example. 
  1144.  
  1145.  
  1146.  
  1147.   DEFAULT Command
  1148.   ===================
  1149.  
  1150.   What it does....the default text string for an Input section.
  1151.   Usage...........Default =<text string>
  1152.   Example.........Default =C:\DEMO
  1153.  
  1154.      If this command is used, INSTALL will display the specified string as
  1155.  the initial string in the data entry field. The user may simply press the
  1156.  ENTER key to accept the default choice. Or, the user may modify the
  1157.  default string. Use this command for presenting the user with your
  1158.  preferred choice. If this command is not used in the Input section,
  1159.  INSTALL will simply display a blank field.
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.                                        Page 20
  1166.   STARTCOLUMN Command
  1167.   =======================
  1168.  
  1169.   What it does....specifies the column on which to start the left edge of
  1170.                   the window.
  1171.   See also........StartRow
  1172.   Usage...........StartColumn =<col #> or <Center> or <Window + <col #>>
  1173.   Examples........StartColumn =5
  1174.                   StartColumn =Center
  1175.                   StartColumn =Window+1
  1176.  
  1177.      The first example is used when you want to start the window on a
  1178.  specific column. The second example is a short-cut and tells the script
  1179.  generator to automatically center the window on the screen. The third
  1180.  example is useful for placing windows within another window. This example
  1181.  will start the new window on the previous window's StartColumn plus one 
  1182.  more column. You can see how this will place the window within the 
  1183.  previous window. See the GOODSOFT script for more examples.
  1184.  
  1185.  
  1186.  
  1187.   STARTROW Command
  1188.   ====================
  1189.  
  1190.   What it does....specifies the row on which to start the top edge of the
  1191.                   window.  
  1192.   See also........StartColumn
  1193.   Usage...........StartRow =<row #> or <Center> or <Window + <row #>>
  1194.   Examples........StartRow =2
  1195.                   StartRow =Center
  1196.                   StartRow =Window+2
  1197.  
  1198.      The first example is used when you want to start the window on a
  1199.  specific row. The second example is a short-cut and tells the script
  1200.  generator to automatically center the window on the screen. The third
  1201.  example is useful for placing windows within another window. This example
  1202.  will start the new window on the previous window's StartRow plus two more 
  1203.  rows. See the GOODSOFT script for more examples.
  1204.  
  1205.  
  1206.  
  1207.   TEXTCOLOR Command
  1208.   =====================
  1209.  
  1210.   What it does....specifies input field foreground and background colors.
  1211.   Usage...........TextColor =[color] ON [color]
  1212.   Example.........StartRow =White on Blue
  1213.  
  1214.      This command determines what colors INSTALL uses for displaying the
  1215.  input field.
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.                                        Page 21
  1225.   WIDTH Command
  1226.   =================
  1227.  
  1228.   What it does....specifies the width of data entry for an Input section.
  1229.   Usage...........Width =<# of columns>
  1230.   Example.........Width =10
  1231.  
  1232.      The width of the user's data entry will determine the maximum amount
  1233.  of characters the user may enter. For example, if you were asking the user
  1234.  for a filename, you would probably want to keep the width at 12, the DOS
  1235.  limit for filenames.
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.                                        Page 22
  1283.   U S I N G   S C R I P T   F I L E   V A R I A B L E S
  1284.  
  1285.  
  1286.  
  1287.   SCRIPT VARIABLES
  1288.   ====================
  1289.  
  1290.      Script variables may be used in a script file in place or in
  1291.  conjunction with any command that uses a text string. When INSTALL is 
  1292.  running, it will keep the variables updated on current operations such as
  1293.  the current directory, the user's boot disk, etc. This can be very useful
  1294.  for adding some "smarts" to your installation. Instead of asking the user
  1295.  to type in his/her boot drive letter, you could have INSTALL automatically
  1296.  provide a default response, for example. 
  1297.  
  1298.    $AUTOEXECRESULT          - The first line added to AUTOEXEC.BAT as a
  1299.                               result of a ModifyAutoExec section.
  1300.  
  1301.    $BOOTDRIVE               - The user's boot drive and path (i.e. "C:\").
  1302.  
  1303.    $BUTTONRESULT            - The result (as specified with the Result
  1304.                               command) of the button selected by the user.
  1305.  
  1306.    $CONFIGRESULT            - The first line added to CONFIG.SYS as a
  1307.                               result of a ModifyConfig section.
  1308.  
  1309.    $CURRENTDIR              - The current directory name/path.
  1310.  
  1311.    $CURRENTDRIVE            - The current disk drive letter.
  1312.  
  1313.    $CURRENTPATH             - The current disk drive and directory path.
  1314.  
  1315.    $INPUTRESULT             - Result of an input section.
  1316.  
  1317.    $FINDRESULT              - Drive letter of the most recent disk found
  1318.                               with the FindDisk command.
  1319.                                   
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.                                        Page 23
  1341.   U S I N G   B U T T O N S
  1342.  
  1343.  
  1344.  
  1345.   Creating a BUTTONS Section
  1346.   ==============================
  1347.  
  1348.      Buttons provide another means of getting input from the user. Rather
  1349.  than having the user type in information, you can present him/her with
  1350.  several choices. The user then just selects a choice. We like to use
  1351.  buttons to get such information as "install package A" or "package B"? 
  1352.  Defining a button is much like defining a window, as follows...
  1353.  
  1354.                     BUTTONS
  1355.                       RowMargin =1
  1356.                       ColumnMargin =4
  1357.                       StartRow =window+7
  1358.                       StartCol =window+9
  1359.                       ButtonOnColor  =White on Blue
  1360.                       ButtonOffColor =Black on Gray
  1361.                       Travel =Horizontal
  1362.                       Distance =8
  1363.                       Message =A:
  1364.                       Result =A:\
  1365.                       GoButton =Drive A
  1366.                       Message =B:
  1367.                       Result =B:\
  1368.                       GoButton =Drive B
  1369.                     ENDBUTTONS
  1370.  
  1371.  
  1372.  
  1373.   BUTTONOFFCOLOR Command
  1374.   ==========================
  1375.  
  1376.   What it does...Foreground and background color of a button when it is not
  1377.                  highlighted.
  1378.   See also.......ButtonOnColor
  1379.   Usage..........ButtonOffColor =<color> on <color>
  1380.   Example........ButtonOffColor =Gray on Blue
  1381.  
  1382.      This command determines how a button will look when it is not
  1383.  currently highlighted by the user. When a button is highlighted, the
  1384.  ButtonOnColor command determines how it will look. Run the sample
  1385.  installation for a real example. 
  1386.  
  1387.  
  1388.  
  1389.   BUTTONONCOLOR Command
  1390.   =========================
  1391.   What it does...Foreground and background color of a button when it is
  1392.                  highlighted.
  1393.   See also.......ButtonOffColor
  1394.   Usage..........ButtonOnColor =<color> on <color>
  1395.   Example........ButtonOnColor =White on Blue
  1396.  
  1397.  
  1398.                                        Page 24
  1399.      This command determines how a button will look when it is currently
  1400.  highlighted by the user. When a button is highlighted and the user presses
  1401.  the ENTER key, the user is "choosing" the highlighted button.
  1402.  
  1403.  
  1404.  
  1405.   COLUMNMARGIN Command
  1406.   ========================
  1407.  
  1408.   What it does....leaves X number of columns as space between a button
  1409.                   border and the interior text.
  1410.   See also........RowMargin
  1411.   Usage...........ColumnMargin =<number of columns>
  1412.   Examples........ColumnMargin =7
  1413.  
  1414.      This command is useful for keeping the button text from being crammed
  1415.  up against the border of the button.
  1416.  
  1417.  
  1418.  
  1419.  
  1420.   ROWMARGIN Command
  1421.   =====================
  1422.  
  1423.   What it does....leaves X number of rows as space between a button border
  1424.                   and the interior text.
  1425.   See also........ColumnMargin
  1426.   Usage...........RowMargin =<number of rows>
  1427.   Example.........RowMargin =1
  1428.  
  1429.      This command is useful for keeping the button text from being crammed
  1430.  up against the border of the button.
  1431.  
  1432.  
  1433.  
  1434.   DISTANCE Command
  1435.   ====================
  1436.  
  1437.   What it does....tells INSTALL how much space to leave between buttons
  1438.   See also........Travel
  1439.   Usage...........Distance =<# of columns> or <# of rows>
  1440.   Example.........Distance =10
  1441.  
  1442.      This command is interrelated with the Travel command. If you specify
  1443.  Vertical travel, INSTALL assumes that the Distance you give is in rows.
  1444.  Conversely, Horizontal travel means that the distance between buttons will
  1445.  be in columns. In either case, this is the amount of space INSTALL puts
  1446.  between buttons when it displays them on-screen.
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.                                        Page 25
  1458.   MESSAGE Command
  1459.   ===================
  1460.  
  1461.   What it does....defines the text displayed on a button.
  1462.   See also........Result
  1463.   Usage...........Message =<text message>
  1464.   Example.........Message =Choose me!
  1465.  
  1466.      The message of a button is what will be shown as a choice for the
  1467.  user. When the user actually chooses a button, the value specified with
  1468.  the Result command will be used by INSTALL. We did this to allow you to
  1469.  use more descriptive text for your buttons, while still getting the
  1470.  information you need from the user. For example...
  1471.  
  1472.                        Message  =Disk Drive A
  1473.                        Result   =A:\
  1474.  
  1475.      Each time you use a Message command in a button section, you are
  1476.  creating a new button # that can have a corresponding Result command 
  1477.  following it. 
  1478.  
  1479.  
  1480.  
  1481.   RESULT Command
  1482.   ==================
  1483.  
  1484.   What it does....specifies the result of a button.
  1485.   See also........Message
  1486.   Usage...........Result =<text string>
  1487.   Examples........Result =A:\
  1488.                   Result =B:\
  1489.  
  1490.      This command is used to determine what value will be returned by
  1491.  INSTALL when the user chooses a button. You may use the a string in your 
  1492.  script that corresponds to which button is selected. The button result is 
  1493.  returned by INSTALL in the $BUTTONRESULT script variable. You may use this 
  1494.  variable anywhere you would use a normal text string. This command is 
  1495.  optional.
  1496.  
  1497.  
  1498.  
  1499.   GOBUTTON Command
  1500.   ==================
  1501.  
  1502.   What it does....jumps to a procedure if the button is selected.
  1503.   Usage...........GoButton =<procedure name>
  1504.   Examples........GoButton =Quit
  1505.  
  1506.      This command is useful when you want to branch to a different dection
  1507.  of your script depending on which button your user selects. An example 
  1508.  would be asking the user which package to install, and then JUMPing to the
  1509.  appropriate file copy section. The GoButton command should be used in the
  1510.  format shown in the Button section example. As shown in the example, the
  1511.  first GoButton command happens if the first button is selected, the 
  1512.  second GoButton command happens if the second button is selected, and so 
  1513.  on. This command is optional. 
  1514.  
  1515.                                        Page 26
  1516.  
  1517.  
  1518.   STARTCOLUMN Command
  1519.   =======================
  1520.  
  1521.   What it does....specifies the column on which to start the left edge of
  1522.                   the button.
  1523.   See also........StartRow
  1524.   Usage...........StartColumn =<col #> or <Center> or <Window + <col #>>
  1525.   Examples........StartColumn =5
  1526.                   StartColumn =Center
  1527.                   StartColumn =Window+1
  1528.  
  1529.      The first example is used when you want to start the button on a
  1530.  specific column. The second example is a short-cut and tells the script
  1531.  generator to automatically center the button on the screen. The third
  1532.  example is useful for placing buttons within another window. This example
  1533.  will start the button on the previous window's StartColumn plus one 
  1534.  more column. You can see how this will place the button within the 
  1535.  previous window. See the GOODSOFT script for a working example.
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.                                        Page 27
  1575.   STARTROW Command
  1576.   ====================
  1577.  
  1578.   What it does....specifies the row on which to start the top edge of the
  1579.                   button.
  1580.   See also........StartColumn
  1581.   Usage...........StartRow =<row #> or <Center> or <Window + <row #>>
  1582.   Examples........StartRow =2
  1583.                   StartRow =Center
  1584.                   StartRow =Window+2
  1585.  
  1586.      The first example is used when you want to start the button on a
  1587.  specific row. The second example is a short-cut and tells the script
  1588.  generator to automatically center the button on the screen. The third
  1589.  example is useful for placing buttons within another window. This example
  1590.  will start the button on the previous window's StartRow plus two more 
  1591.  rows. See the GOODSOFT script for more examples.
  1592.  
  1593.  
  1594.  
  1595.   TRAVEL Command
  1596.   ==================
  1597.   What it does....tells INSTALL what keys the user may press to move
  1598.                   through the button choices.
  1599.   See also........Distance
  1600.   Usage...........Travel = <Horizontal> OR  <Vertical>
  1601.   Examples........Travel =Horizontal
  1602.                   Travel =Vertical
  1603.  
  1604.      This command is used by the script generator to determine what keys
  1605.  the user will be allowed to press to highlight the different button
  1606.  choices. For example, if you specify Vertical travel INSTALL assumes that
  1607.  the buttons are arranged vertically, and lets the user press the UP and
  1608.  DOWN arrow keys to choose. Alternatively, Horizontal travel indicates that
  1609.  the buttons are arranged horizontally and INSTALL lets the user press the
  1610.  left and right arrow keys. There is no default, so you must use this
  1611.  command. 
  1612.                                   
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.                                        Page 28
  1633.   C O P Y I N G   F I L E S
  1634.  
  1635.  
  1636.   Creating a STARTCOPY Section
  1637.   ================================
  1638.  
  1639.      The StartCopy command is used to begin a file copying section of a
  1640.  script file. This section is necessary before you use the DiskLabel,
  1641.  SourceDisk, DestDisk, DestDirectory, etc. copying commands. Every
  1642.  StartCopy command must eventually be followed by an EndCopy command, as in
  1643.  the example below... 
  1644.  
  1645.             STARTCOPY
  1646.               DiskLabel    =SAMPLE
  1647.               SourceDisk   =$BUTTONRESULT
  1648.               DestDisk     =$BOOTDRIVE
  1649.               DestDirecoty =DEMO
  1650.               File         =DEMO.EXE
  1651.               File         =DEMO.DAT
  1652.             ENDCOPY
  1653.  
  1654.      Note that there are several tricks to keep in mind when using the file
  1655.  copying script commands. One: each copy section can only copy a maximum of 
  1656.  40 files at one time. If you need to copy more, just start another copy 
  1657.  section. Two: If you have multiple distribution disks, just prompt the 
  1658.  user to insert the next disk and then start a new copy section for that 
  1659.  disk.
  1660.  
  1661.  
  1662.   DESTPATH Command
  1663.   ====================
  1664.  
  1665.   What it does....specifies which disk and directory to copy files to.
  1666.   See also........DiskLabel, SourceDisk, SourcePath, CopyFile, StatusRow,
  1667.                   StatusColumn, StatusLineFG, StatusLineBG
  1668.   Usage...........DestPath =<drive letter and directory name>
  1669.   Example.........DestPath =C:\DEMO
  1670.  
  1671.      This command will tell INSTALL where to copy your files to. If the
  1672.  destination disk does not have a directory name as specified, INSTALL will 
  1673.  create a new directory. You may have only one directory level specified 
  1674.  with the DestDirectory command, but copying files to a multiple directory 
  1675.  structure is easy - just use more copy sections. (A script example is 
  1676.  included with the full Universal INSTALL package).
  1677.  
  1678.  
  1679.   DISKLABEL Command
  1680.   =====================
  1681.  
  1682.   What it does....checks for the expected disk during the file copying
  1683.                   process.
  1684.   Usage...........DiskLabel =<DOS volume ID>
  1685.   Examples........DiskLabel =DEMODISK
  1686.  
  1687.  
  1688.  
  1689.  
  1690.                                        Page 29
  1691.      DiskLabel is used to make sure that the disk the user has inserted
  1692.  into the disk drive is the disk that contains the files you are about to
  1693.  copy. Think of this as "verifying" that the correct distribution disk has
  1694.  been inserted. This command is especially useful if the user has multiple
  1695.  distribution disks to choose from.
  1696.  
  1697.      If INSTALL does not find a match between the disk the user has
  1698.  inserted and the disk specified by this command, an error message will be
  1699.  displayed and INSTALL will instruct the user to "try again" or quit the
  1700.  installation process. 
  1701.  
  1702.    - This command is not required, but is recommended to avoid confusion   
  1703.      for the user during multiple disk installations.
  1704.    - A volume ID consists of up to 11 characters.
  1705.    - You can set the volume ID of your disks using the DOS LABEL command.
  1706.  
  1707.  
  1708.  
  1709.   COPYFILE Command
  1710.   ====================
  1711.  
  1712.   What it does....specifies a file for INSTALL to copy.
  1713.   See also........DestDisk, DestDirectory, SourceDisk
  1714.   Usage...........CopyFile <path and name of file>
  1715.   Example.........CopyFile =FILE.EXE
  1716.  
  1717.      This command is used to tell INSTALL what files you want copied from
  1718.  your distribution disk. To copy a bunch of files, just use a CopyFile
  1719.  command for each one. Each file name and path should be no longer than 40
  1720.  characters and you can only copy up to 40 files with each copy section.
  1721.  If you need to copy more than 40 files, just use another copy section.
  1722.  
  1723.  
  1724.  
  1725.  
  1726.   SOURCEDISK Command
  1727.   ======================
  1728.  
  1729.   What it does....specifies where to locate files for a copy.
  1730.   See also........DiskLabel, DestDisk, DestDirectory, File, StatusRow,
  1731.                   StatusColumn, StatusLineFG, StatusLineBG
  1732.   Usage...........SourceDisk =<Drive letter>
  1733.   Examples........SourceDisk =A:\
  1734.                   SourceDisk =$BUTTONRESULT
  1735.  
  1736.      SourceDisk is used to tell INSTALL where to find files that you want
  1737.  to copy somewhere. Note that instead of directly specifying the drive
  1738.  letter, you can use a script variable such as $BOOTDRIVE or $BUTTONRESULT.
  1739.  This is useful for allowing your user to choose the drive where your
  1740.  software disks are located. 
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.                                        Page 30
  1749.   SOURCEPATH Command
  1750.   ======================
  1751.  
  1752.   What it does....specifies where to locate files for a copy.
  1753.   See also........DiskLabel, SourceDisk
  1754.   Usage...........SourcePath =<directory\directory\...>
  1755.   Examples........SourcePath =DEMO\EXAMPLES
  1756.                   SourcePath =DEMO
  1757.  
  1758.      SourcePath is used to tell INSTALL where to find files that you want
  1759.  to copy somewhere. Use this command along with the SourceDisk command to
  1760.  tell INSTALL where to find files on your distribution disk.
  1761.  
  1762.  
  1763.  
  1764.   STATUSLINEBG Command
  1765.   ========================
  1766.  
  1767.   What it does....specifies the background color for a copying status
  1768.                   message.
  1769.   See also........DiskLabel, SourceDisk, DestDisk, DestDirectory,
  1770.                   StatusRow, StatusColumn, StatusLineFG, File
  1771.   Usage...........StatusLineBG =<Blue, Gray, White, etc...>
  1772.   Example.........StatusLineBG =Blue
  1773.  
  1774.      Please see the StatusLineFG command for a more detailed description.
  1775.  
  1776.  
  1777.  
  1778.   STATUSLINEFG Command
  1779.   ========================
  1780.  
  1781.   What it does....specifies the foreground color for a copying status
  1782.                   message.
  1783.   See also........DiskLabel, SourceDisk, DestDisk, DestDirectory,
  1784.                   EndCopy, StatusRow, StatusColumn, StatusLineBG, File
  1785.   Usage...........StatusLineFG =<Blue, Gray, White, etc...>
  1786.   Example.........StatusLineFG =White
  1787.  
  1788.      This command will determine the forground color of a copying status
  1789.  message that INSTALL displays. Specifying the colors of the message allow
  1790.  you to match any existing windows or text you have on the screen.
  1791.  
  1792.  
  1793.  
  1794.   STATUSCOLUMN Command
  1795.   ========================
  1796.  
  1797.   What it does....column (or X) coordinate for a "now copying file:  " type
  1798.                   of status message.
  1799.   See also........DiskLabel, SourceDisk, DestDisk, DestDirectory,
  1800.                   StatusRow, StatusLineFG, StatusLineBG, File
  1801.   Usage...........StatusColumn =<Screen column number>
  1802.   Example.........StatusRolumn =10
  1803.  
  1804.   Please see the StatusRow command for a more detailed description.
  1805.  
  1806.                                        Page 31
  1807.   STATUSROW Command
  1808.   =====================
  1809.  
  1810.   What it does....row (or Y) coordinate for a "now copying file: " type of
  1811.                   status message.
  1812.   See also........DiskLabel, SourceDisk, DestDisk, StatusColumn,
  1813.                   StatusLineFG, StatusLineBG, File
  1814.   Usage...........StatusRow =<Screen row number>
  1815.   Example.........StatusRow =10
  1816.  
  1817.      The StatusRow command, when used with the other StatusXXX commands,
  1818.  allows you to keep your user up to date about which file is currently
  1819.  being copied. INSTALL needs to know the row and column coordinate, as well
  1820.  as the colors you wish to use for the message. The message itself consists
  1821.  of the filename (with extension) in capital letters. You should plan for a
  1822.  maximum of 40 characters to be displayed if you use the copy status
  1823.  message feature. 
  1824.                                   
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.                                        Page 32
  1865.   M O D I F Y I N G   C O N F I G . S Y S
  1866.  
  1867.  
  1868.  
  1869.   Creating a MODIFYCONFIG Section
  1870.   ===================================
  1871.  
  1872.       This section tells INSTALL how you want to change the user's
  1873.  CONFIG.SYS file. You can add a line to the file, REM (comment out) a line,
  1874.  and add a line with CPU-dependent parameters. The format for this section
  1875.  follows... 
  1876.  
  1877.                MODIFYCONFIG
  1878.                  SaveOriginal =config.old
  1879.                  AddLine =REM device=sample.sys
  1880.                  FindString =device
  1881.                  Parameters
  1882.                    8088  = /PC-XT
  1883.                    80286 = /PC-AT
  1884.                    80386 = /80386
  1885.                    80486 = /80486
  1886.                  EndParameters
  1887.                ENDCONFIG
  1888.  
  1889.  
  1890.  
  1891.   ADDLINE Command
  1892.   ===================
  1893.  
  1894.   What it does....adds a line to the user's CONFIG.SYS or AUTOEXEC.BAT
  1895.                   file.
  1896.   Usage...........AddLine =<text string>
  1897.   Example.........AddLine =echo Have a nice day!
  1898.  
  1899.      This command will add a line to the CONFIG.SYS file when it is located
  1900.  in a ModifyConfig script section, or add a line to the AUTOEXEC.BAT file
  1901.  when placed within a ModifyAutoExec section. For CONFIG.SYS: The point in
  1902.  the file where the new line is inserted depends on if you use a FindString
  1903.  command. See the FindString command for more information.
  1904.      
  1905.      For AUTOEXEC.BAT: AddLine always adds lines to the end of the file.
  1906.      
  1907.    - Note that you may use more than one AddLine command to add multiple
  1908.      lines to the user's file.
  1909.  
  1910.  
  1911.  
  1912.  
  1913.   FINDSTRING Command
  1914.   ======================
  1915.  
  1916.   What it does....inserts an AddLine line at the point in the CONFIG.SYS
  1917.                   file where the specified string is found.
  1918.   Usage...........FindString =<text string>
  1919.   Example.........FindString =device
  1920.  
  1921.  
  1922.                                        Page 33
  1923.      In the example above, FindString will search the user's CONFIG.SYS
  1924.  file for any lines containing "device". If a match is found, lines added
  1925.  with the AddLine command will be inserted at the point where a FindString
  1926.  match was made. This is useful for ensuring that your product is the first
  1927.  device driver in the file, as our example would do. If no match is found,
  1928.  INSTALL will insert all lin+es at the end of the file. See our GOODSOFT
  1929.  script for a real example. 
  1930.  
  1931.  
  1932.  
  1933.   PARAMETERS Command
  1934.   ======================
  1935.  
  1936.   What it does....lets you add product command line switches to any added
  1937.                   CONFIG.SYS lines based on the user's CPU type.
  1938.   Usage...........See below
  1939.   Example.........See Below
  1940.  
  1941.   The format for the Parameters command follows...
  1942.  
  1943.                   PARAMETERS
  1944.                     8088  = /PC-XT
  1945.                     80286 = /PC-AT
  1946.                     80386 = /80386
  1947.                     80486 = /80486
  1948.                   ENDPARAMETERS
  1949.  
  1950.      This example tells INSTALL to run a system check and determine what
  1951.  type of CPU the user's computer has. If the user has an 8088/86 CPU,
  1952.  INSTALL will append "/PC-XT" to any lines added to CONFIG.SYS with the
  1953.  AddLine command. If the user has a '286 type of CPU, INSTALL will append
  1954.  "/PC-AT" to any AddLines (and so on).
  1955.  
  1956.      This feature is primarily useful for device driver products, where the
  1957.  device driver needs software switches to run at different speeds or with
  1958.  different features. 
  1959.  
  1960.  
  1961.  
  1962.  
  1963.   REMARKSTRING Command
  1964.   ========================
  1965.  
  1966.   What it does...."comments out" a line in CONFIG.SYS.
  1967.   Usage...........RemarkString =<search text>
  1968.   Example.........RemarkString =Old product
  1969.  
  1970.      When used in a ModifyConfig section, this command allows you to
  1971.  disable lines in the user's CONFIG.SYS that might conflict with your
  1972.  product without actually removing the lines. Examples might be REMarking a
  1973.  "Files=10" statement and adding a "Files=20" line, or disabling a
  1974.  reference to an older version of your product.
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.                                        Page 34
  1982.   SAVEORIGINAL Command
  1983.   ========================
  1984.  
  1985.   What it does....allows you to save a copy of the user's CONFIG.SYS or
  1986.                   AUTOEXEC.BAT file before you make any modifications.
  1987.   Usage...........SaveOriginal =<file name>
  1988.   Example.........SaveOriginal =CONFIG.OLD
  1989.  
  1990.      This command tells INSTALL to make a copy of the user's CONFIG.SYS or
  1991.  AUTOEXEC.BAT file before any changes are made. This can help you assure
  1992.  the customer that any changes to their setup can be reversed.
  1993.                                   
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.                                        Page 35
  2040.  M O D I F Y I N G   A U T O E X E C . B A T
  2041.  
  2042.  
  2043.   Creating a MODIFYAUTOEXEC Section
  2044.   =====================================
  2045.  
  2046.   This section tells INSTALL how you want to modify the user's AUTOEXEC.BAT
  2047.   file. The format for this section is as follows...
  2048.  
  2049.              MODIFYAUTOEXEC
  2050.                 SaveOriginal =autoexec.old
  2051.                 AddLine =echo Have a nice day from The GoodSoft Co!
  2052.                 AddPath =c:\demo
  2053.              ENDAUTOEXEC
  2054.  
  2055.  
  2056.  
  2057.  
  2058.   ADDLINE Command
  2059.   ===================
  2060.  
  2061.   What it does....adds a line to the user's CONFIG.SYS or AUTOEXEC.BAT
  2062.                   file.
  2063.   Usage...........AddLine =<text string>
  2064.   Example.........AddLine =echo Have a nice day!
  2065.  
  2066.      This command will add a line to the CONFIG.SYS file when it is located
  2067.  in a ModifyConfig script section, or add a line to the AUTOEXEC.BAT file
  2068.  when placed within a ModifyAutoExec section. For CONFIG.SYS: The point in
  2069.  the file where the new line is inserted depends on if you use a FindString
  2070.  command. See the FindString command for more information.
  2071.      
  2072.      For AUTOEXEC.BAT: AddLine always adds lines to the end of the file.
  2073.    
  2074.    - Note that you may use more than one AddLine command to add multiple
  2075.      lines to the user's file.
  2076.  
  2077.  
  2078.  
  2079.   ADDPATH Command
  2080.   ===================
  2081.  
  2082.   What it does....updates, modifies, or adds to the user's PATH statement
  2083.                   in AUTOEXEC.BAT.
  2084.   Usage...........AddPath =<text string>
  2085.   Example.........AddPath =c:\demo
  2086.  
  2087.       When you use this command, INSTALL will search the existing path for
  2088.  a similar or matching path in AUTOEXEC.BAT. A "similar" path is one where
  2089.  only the drive letter is different. A matching path is the exact same
  2090.  string as you specified. If a similar path is found, INSTALL will update
  2091.  the drive letter. If a matching path is found, INSTALL will not make any
  2092.  modifications. If NO path or no matching path is found, INSTALL will add a
  2093.  PATH statement or add your path to the end of the existing PATH
  2094.  statement. 
  2095.  
  2096.  
  2097.                                        Page 36
  2098.   SAVEORIGINAL Command
  2099.   ========================
  2100.  
  2101.   What it does....allows you to save a copy of the user's CONFIG.SYS or
  2102.                   AUTOEXEC.BAT file before you make any modifications.
  2103.   Usage...........SaveOriginal =<file name>
  2104.   Example.........SaveOriginal =CONFIG.OLD
  2105.                   SaveOriginal =AUTOEXEC.OLD
  2106.  
  2107.      This command tells INSTALL to make a copy of the user's CONFIG.SYS or
  2108.  AUTOEXEC.BAT file before any changes are made. This can help you assure
  2109.  the customer that any changes to their setup can be reversed.
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.                                        Page 37
  2156.  U T I L I Z I N G   T H E   U N - I N S T A L L   F E A T U R E
  2157.  
  2158.   
  2159.  How "un-install" works
  2160.  ==========================
  2161.  
  2162.      Universal INSTALL has a useful feature that many end-users really 
  2163.  appreciate: the ability to "undo" an installation. During an installation,
  2164.  INSTALL can be instructed to maintain an installation "log file". This 
  2165.  file contains all the crucial operations performed by INSTALL, such as 
  2166.  creating directories, copying files, and modifying CONFIG/AUTOEXEC.
  2167.  
  2168.      Once this log file is created, the installation process may be 
  2169.  "undone" by the user through running the REMOVE.EXE utility. This program 
  2170.  simply reads the installation log file and reverses the process.
  2171.  
  2172.  
  2173.  Creating an installation log file
  2174.  =====================================
  2175.  
  2176.      Use the KEEPLOGFILE command (described under General System Commands)
  2177.  to instruct INSTALL to maintain a log of the installation. For example,
  2178.  the following command would tell INSTALL to create an INSTALL.LOG file
  2179.  in the current directory...
  2180.  
  2181.                         KeepLogFile =INSTALL.LOG
  2182.  
  2183.  
  2184.  Using the REMOVE Utility
  2185.  ============================
  2186.  
  2187.  To "undo" an install, all your user has to do is type the following:
  2188.       
  2189.                       REMOVE [install log filename]
  2190.   
  2191.          to match KeepLogFile example above: REMOVE install.log
  2192.  
  2193.  "REMOVE" is just what we called the program. You are free to rename the
  2194.  file anything you want. If you do rename the file, you'll probably want
  2195.  to rename REMOVE's data file as well. This can be accomplished via 
  2196.  programs that let you edit an .EXE file, such as The Norton Utilities. 
  2197.  Simply search for "REMOVE  .DAT" and replace the text. NOTE: Editing
  2198.  .EXE files is NOT recommended, and The GoodSoft Co. assumes absolutely
  2199.  NO responsibility for any consequences of doing this. 
  2200.  
  2201.  
  2202.  
  2203.  REMOVE Utility Data File (REMOVE.DAT)
  2204.  =========================================
  2205.  
  2206.      The remove utility's on-screen messages may be customized through
  2207.  the program's data file, REMOVE.DAT. This file contains the text messages
  2208.  REMOVE displays before beginning the un-install process. To customize 
  2209.  REMOVE, simply edit this file to your liking. Note: Only the first 11 
  2210.  lines of text contained in this file are used by REMOVE, and text lines 
  2211.  will be truncated to 78 characters, so plan accordingly!
  2212.  
  2213.                                        Page 38
  2214.  Tips on Using REMOVE
  2215.  =========================
  2216.  
  2217.  - REMOVE will only "undo" something that was done in the log file. This 
  2218.    means that if your users have created new files in your directories, 
  2219.    these files will NOT be removed. If there are still files in a directory 
  2220.    that are not yours, the directory will not be removed either. We do 
  2221.    recommend that you warn your users that any configuration changes made 
  2222.    to your software (e.g. color changes, etc.) will, of course, be lost.
  2223.  
  2224.  - Be sure to specify in your documentation what filename the user needs
  2225.    to specify when running REMOVE. Also, if the file is created in a
  2226.    place other than the install disk, you might want to tell the user how
  2227.    to look for the file.
  2228.  
  2229.  - Keep in mind that if you are using an installation log file, INSTALL 
  2230.    will be accessing this file throughout the installation. For installs
  2231.    spanning several disks, you will not want INSTALL to create the log
  2232.    file on the first disk, for example! If you do this, and INSTALL is 
  2233.    unable to update the file when it needs to, the program will stop
  2234.    trying. While you'll end up with only a partial log file, at least
  2235.    your user won't see a bunch of error messages. This outcome seemed to
  2236.    be the least obtrusive method during our testing with end-users.
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.                                        Page 39
  2273.