                             NETUPD

The netupd program was designed to allow a network/PC administrator
to easily update files on user workstations (without having to
physically visit each location).  It is designed to replace files
that already exist on the PC in question.  It will not attempt to
place a file on a disk where it didn't previously exist.  The
program is not designed to update multi-file applications, but it
can do so if necessary by listing each file separately.


                          Program Setup

The program is designed to be invoked from a network login script. 
It requires that several parameters be passed that inform it as to
the locations of files that it maintains, as well as the location
of files to be updated.  It is required that there be at least 1
directory where the user has complete read/write privileges.  This
is the location where the error log for the application resides,
and the user status files (for those people with registered
copies).  There should also be 1 or more directories where the user
has read-only privileges, where the files to be updated will reside
(It is important that these directories be read-only to prevent
someone from replacing the update file with some other program,
such as a virus).  System options are entered on the command line
by preceding them with a '/', or a '-' character (For Example
'/?').  When an options requires a parameter, it should follow the
option with no intervening spaces (For example '/DN:\tmp').  The
system options are:

?-   Provide a short system help screen.  If the '?' is followed by
     another letter, the system will provide detailed help on that
     option.
A-   This option should be followed by a quoted string that
     contains a line of text that is displayed giving the user
     information on who to contact with questions regarding the
     program.  
D-   This option should be followed by the name of the directory to
     store the user data files.  All users must have complete
     read/write permissions in this directory.
E-   This option should be followed by the name of the environment
     variable that contains a unique identifier for the
     workstation/user who is executing the program.  Ideally, this
     should identify the workstation, since a user might log in and
     execute this program from more than 1 workstation.  The
     default that the system uses if this is not specified is
     'USER'.  Note that the '/U' option bypasses this check.
F-   This option should be followed by the name of an update list
     file.  As with the normal update files, this should be located
     in a directory where the user has read-only privileges.
I-   This option forces the system to ignore the users update file,
     and perform all currently defined updates.
L-   This option should be followed by the name of a directory to
     store the system error log file.  All users must have complete
     read/write permissions in this directory.  The file is named
     'netupd.log'.
P-   This option activates a prompting function that queries the
     user if they wish a file to be replaced.
U-   This option should be followed by the users name/machine ID. 
     It overrides the '/E' option or the system default.


                      Replacement Criteria

This program currently uses a simple comparison of the date, time,
file size, and files CRC16 value to determine if the update should
take place.  If any of these values are not the same, then the
replacement will be performed.


                             User ID

The system will attempt to read an environment variable called
'USER' (or whatever was specified by the '/E' option), and will use
this as the user ID for this execution of the program.  This can be
overridden by using the '/U' option, and specifying the actual user
ID.  The ID is truncated to 8 character since it is used as a file
name.  (8 is the least common denominator, so that is what you
get.)


                        User Update File

Each user of the system has a file that contains information
concerning which files that have already been updated.  This
information is checked to prevent a file from being updated every
time the user logs into the system.  

If an actual logon ID is used for this identifier then a problem
could occur if the user logs in on more then 1 machine.  The
program will see the second login, will check the users data file,
and will say that all of the files have already been updated. 
Therefore, the second machine would not be updated (see /I option). 
This problem can be avoided if every machine is assigned a unique
ID which is used instead of the users login ID (see /E option). 
This could be implemented by using the network ID of each
workstation if this is available (and unique).  In this case it
would have to be truncated to 8 characters (See User ID text).

NOTE:     This option has been disabled in non-registered copies of
          the program.  This doesn't prevent the program from
          operating, it just makes it slower to complete, since it
          must do all updates every time the user logs in.


                           File Lists

The system can read the names of the files to be updated from an
ASCII text file that contains the fully qualified names of each
file to be updated.Each file name should be on a line by itself.


                          On-line Help

This program implements an on-line help system.  This help is
oriented towards the systems administrator, and provides
information on each of the command line options.  This help is
accessed by typing 'netupd /?x' where 'x' is the option you want
help on.  Typing 'netupd' by itself will provide an general title
and help screen.


                       Future Enhancements

The following are possible future enhancements to this product.

1.   Make the date/time comparison smarter, such that if the local
     copy of the file is more recent, it prompts the user about the
     replacement (with an appropriate warning).  It would also log
     that a more recent copy existed on that users workstation in
     the system error log.

2.   Add a comment field to the update file description (both for
     the command line and file specification) that would be
     displayed if the system was running in the prompt first mode. 
     this could give general information such as the version number
     of the replacement file, or descriptions of who should not
     perform the update.

3.   Add an exclude drive/directory mode.  Another possibility
     would be to create a user profile file that contains this type
     of information plus other similar parameters.

4.   Make the /E parameter treat the following text as a semi-colon
     delimited list of environment variables to use to derive the
     user ID.  This list could be searched until the first defined
     variable was found, or could concatenate the contents until
     the complete ID size was exceeded.

5.   Make the truncation size for the User ID field a parameter. 
     This would allow longer ID's for those systems that support
     them.

         ----------------end-of-author's-documentation---------------

                         Software Library Information:

                    This disk copy provided as a service of

                           Public (software) Library

         We are not the authors of this program, nor are we associated
         with the author in any way other than as a distributor of the
         program in accordance with the author's terms of distribution.

         Please direct shareware payments and specific questions about
         this program to the author of the program, whose name appears
         elsewhere in  this documentation. If you have trouble getting
         in touch with the author,  we will do whatever we can to help
         you with your questions. All programs have been tested and do
         run.  To report problems,  please use the form that is in the
         file PROBLEM.DOC on many of our disks or in other written for-
         mat with screen printouts, if possible.  PsL cannot debug pro-
         programs over the telephone, though we can answer questions.

         Disks in the PsL are updated  monthly,  so if you did not get
         this disk directly from the PsL, you should be aware that the
         files in this set may no longer be the current versions. Also,
         if you got this disk from another vendor and are having prob-
         lems,  be aware that  some files may have become corrupted or
         lost by that vendor. Get a current, working disk from PsL.

         For a copy of the latest monthly software library newsletter
         and a list of the 3,000+ disks in the library, call or write

                           Public (software) Library
                               P.O.Box 35705 - F
                            Houston, TX 77235-5705

                                 Orders only:
                                1-800-2424-PSL
                              MC/Visa/AmEx/Discover

                          Outside of U.S. or in Texas
                          or for general information,
                              Call 1-713-524-6394

                          PsL also has an outstanding
                          catalog for the Macintosh.


