




















                                 COUNT! v3.1
                                 August 1993


                       Network Administrators Guide



    This document is intended for Network Administrators and assumes the 
    audience is familiar with MS Windows v3.0 or above, MS DOS v3.3 or 
    above, and basic network management principals.




                             Table Of Contents


                    Topic                             Page
                    ---------------------             -----
                    What is COUNT!                      1
                    Using COUNT!                        2
                    Setting up COUNT! on a network      5
                    Methods of controlling access       5
                    Scrubbing License Files             6
                    USER Messages                       7
                    Registering COUNT!                  8
                    Transferring a License to COUNT!    8


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 1


                              What is COUNT!

COUNT! is a MS Windows utility that enables you to abide to "simultaneous 
use" licenses in a network environment.  This type of license allows you 
to provide applications to a user community without buying a license for 
each potential user.  The result is typically an 80% to 90% reduction in 
the cost of the application.

Simultaneous use licenses:
    Unlike mainframe programs which base the fee on the number of 
    potential users of a product, personal computer software licenses are 
    often based on the number of people using a program at any point in 
    time.  If the network provides a dozen applications to 50 users, it is 
    probable that five to ten licenses for each application will be 
    sufficient to meet the needs of the 50 users without purchasing 50 
    licenses of each.

    Most major suppliers of personal computer software base their license 
    on simultaneous use.  However, many of these (Microsoft for example) 
    provide no means for maintaining the license.  Should you wind up in 
    court, you are required to provide evidence that adequate precautions 
    were taken to ensure that the simultaneous use license was not violated.

What does COUNT! Do:
    COUNT! launches programs in an MS windows environment and keeps track 
    of the number of users.  It will enable you to enforce simultaneous 
    use licenses.  It also provides features to make many programs which 
    function poorly in a network environment behave better.

    COUNT! enables a user to access an application as easily as if it were 
    installed on his local hard disk.  To to this, it will if necessary:

         Establish a network connection
         Modify the current DOS directory
         Check for license availability
         Execute the program
         Free the network license
         Disconnect the network connection

What COUNT! Won't Do:
    There is one possible situation where COUNT! will fail to effectively 
    enforce simultaneouse use licenses.  This would occur if a Windows 
    application primary (loading) executable file (.EXE) terminates before 
    the application does.  COUNT! cannot meter the licensing of such 
    programs since it has no way of knowing when the program ends.  It is 
    also arguable that any such application would be impossible to meter 
    licenses for.  I am not aware of any major commercial application 
    software that exhibits this behavior.
    
    I mention this only should you encounter problems using COUNT!


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 2


                               Using COUNT!

An end user needs no special knowledge to use COUNT!  He simply launches 
applications normally through Windows.  A license dialog box appears 
informing him the license is being shared.  If no more licenses are 
available, the dialog box will inform him of that and provide a list of 
current users.

In setting up applications to run under count, A network administrator 
needs to:
        1) Set up an environment on user PCs where Applications are 
           launched through COUNT! rather than directly.
        2) Create a COUNT!.INI file which controls how Count! launches 
           applications.

To launch applications through COUNT! you need to be familiar with the 
Windows Program Manager, and the methods to launch applications.  The most 
common method for the user to "double click" on an application icon in a 
Program Manager group.  The second is to use the file manager to launch an 
application with a selected data file.  A third is to launch the 
application using the Program Manager's "Run command".  You do not need to 
support all methods as a network administration manager.  All are covered 
below.

Using the COUNT! Command Line:
    To support any of the above, you need to use a valid COUNT! comand 
    line.  The launched application is a parameter for COUNT!.  For 
    instance, to launch Microsoft's Excel, the program line could be 
    "COUNT!  MS_Excel".  To launch Aldus' Persuasion, the program line 
    could be "COUNT!  Persuasion".  COUNT! would then do everything 
    necessary to make appropriate network connections, start the 
    application, and enforce software licenses.

Supporting Applications Launched via a Program Manager Application Icon:
    You will need to modify the vendor supplied installation procedure to 
    modify the icon's "properties" to use COUNT! to launch the program.

    The application icon program line properties can be changed using the 
    following procedure:

         In Program Manager, select the program icon by clicking on it 
         once with the mouse.

         Select File-Properties, from the Program Manager's menu.  A 
         "Program Item Properties" dialog box should appear.

         Change the command line in the dialog box to launch the program 
         through COUNT!  ie.  "COUNT!.EXE MS_Excel".


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 3


         You should also change the icon to the application's normal icon, 
         which is typically in the main .EXE file of the application.  
         This is also done from the "Program Item Properties" dialog box.
         Press the "Change Icon" button and type in the file name 
         containing the Icon (ie. E:\EXCEL\EXCEL.EXE)
         
         The Program .exe file may not be available to Windows if the 
         network drive is not currently connected.  In this case you can 
         substitute an icon from PROGMAN.EXE or MORICONS.DLL.  You could 
         also use a 3rd party utility to extract an icon from an 
         application .exe file, and make the icon file available to Windows.

Supporting Applications Launched via File Manager:
    You need to modify the "[extensions]" section of WIN.INI to associate 
    COUNT! with the extension of data files your program runs.  Again, you 
    must supply a command line such as "XLT=COUNT!.EXE MS_Excel ^.XLT".  
    Modifing user .INI files can be automated by using the Fix_INI! 
    program which accompanies Count!

Supporting Applications Launched via Program Manager's Run Command:
    The user would have to enter a correct COUNT! command Line in Program 
    Manager's "RUN" dialog box.


How COUNT!.INI Controls the Launching of Applications:
    The COUNT!.INI file controls what COUNT! does in launching an 
    application.  COUNT!.INI is created and maintained by the Network 
    Administrator using any ASCII editor, such as NotPad.  It consists of 
    a number of applications "Sections" containing keywords describing how 
    to launch the application.  Each section begins with the 
    ApplicationName in square brackets.  You can use any ApplicationName 
    you like so long as it is less than 32 Characters.  Keywords can be 
    any of the following:

         ConnectDrive=Drive:,Network_Path,Password
             (Only Windows 3.1 and above support this command.  You can 
             use "Connect" to support Windows 3.0)  The Password is 
             optional.  However, the comma separator must be included.  
             You can use "*" as the Password and the User will be prompted 
             to provide one.  If The Drive and Network service are already 
             in use, this command is ignored.  Network Drives which are 
             connected with this command are Disconnected when the the 
             user exits the application unless DisConnectDrive=No.
         DisConnectDrive=Yes or No.


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 4

         Connect=Network connection command (you would issue at a DOS prompt.)
             The Connect and Disconnect KeyWords are provided to support 
             Windows 3.0, or for Networks incompatible with Windows 3.1 
             network management features.
         Disconnect=Network disconnection command
         StartDirectory=Starting directory.  This will overRide any 
             directory specified in a Program Manager's Icon Properties.
         Execute=Program invocation command.
         CountFile=R/W file which holds the current users/license counts.
         MaxUsers=Number of users that can use the program simultaneously.
         MaxTime=Number of minutes of program use before Count! reminds the 
             user to free the application license.
         UpdateLicense=Number of minutes between updates of the
             CountFile.  The default is 5.  A 0 inhibits updates.

         All keywords other than Execute are optional.


    If a CountFile is used, A DOS environment variable must exist prior to 
    entering Windows which provides a user name.  This is accomplished by 
    the DOS SET command as follows:
         "SET Name=UserName"

    By default, the Environment variable COUNT! uses to identify the user 
    name is "NAME=".  You can specify a different environment variable to 
    be used by adding a [Defaults] Section to Count!.ini, and adding the 
    keyword "NameEnvVar=AnyName".  "AnyName" is the environment variable 
    COUNT! will use to identify the user.

    The UserName must be unique to each network node.  It is typically 
    assigned in a the Autoexec.Bat or Network Startup File.

    Below is an example COUNT!.INI file.

         [Defaults]
         NameEnvVar=Name

         [MS Excel]
         Connect=USE E:\\MyServer\ExcelProgram /R
         Execute=E:\EXCEL\Excel.EXE
         Disconnect=USE E: /D

         [MS Project]
         ConnectDrive=L:,\\MyServer\MSProject,,
         Execute=L:\WinProj\Project.EXE
         StartDirectory=c:\Project
         CountFile=Q:\Licenses\Licenses.Dat
         MaxUsers=10
         MaxTime=120


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 5


                      Setting Up COUNT! on a Network

COUNT!.EXE and COUNT!.INI need to be placed in a common network directory 
accessible to all users.  Users should be granted READ ONLY access to 
these files.

If a CountFile is used to monitor or meter access (via MaxUsers), a common 
user READ\WRITE area needs to be made available for this file. COUNT! will 
create the CountFile as required.

Also, as mentioned previously, A DOS environment variable must exist 
(NAME=UserName) if a CountFile is used.  It is suggested that this be 
created in each nodes AutoExec.Bat or Network Connection.Bat file.


                       Methods of Controlling Access

There are two ways to use COUNT! to enforce simultaneous use licenses.  
One method is to put each application you want to control access to in a 
unique network file service, and place a limit on the number of 
connections to this service.  COUNT! could then connect to the service 
before starting the program, and disconnect when done. The server would 
preform the license counting/metering.

The above method is the most secure method of controlling access.  However, 
there may be situations in which you cannot or prefer not to create unique 
network services for each application.  You can then use COUNT!'s MaxUsers 
keyword to control access.  You can use both methods sinultaneously if you 
want to provide users with friendlier error Messages when denied access to 
applications.

When a program is launched, COUNT! first checks the CountFile (if 
specified) to see if the number of current users is less that the MaxUsers 
defined in COUNT!.INI for that application.  If so, COUNT! adds an Entry 
to the CountFile similar to the one below:

         [MS Project]
         John Doe=09:33:27 02/12/92

The timestamp is updated every 5 minutes unless overridden with the 
UpdateLicense Keyword.  The Entry is removed when the user exits the 
application.

If no Licenses are available when using a CountFile, the user will get a 
list of currently active license holders.


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 6

                          Scrubbing License Files

If you use a CountFile, you will need to periodically maintain the file to 
remove inactive licenses.  Licenses become inactive when applications are 
terminated abnormally, such as rebooting the PC while the application is 
in use.  When this occurs, the license file entry for that user is not 
freed until that same user runs and exits the application again.

The CountFile could be maintained with any ASCII editor by deleting lines 
identifing inactive licenses.  There is an easier way for registered users 
of COUNT! v3.1 and above.  A supplimental program, SCRUB.EXE, is supplied 
which can periodicallly be run to automatically remove inactive licenses.  
In addition, Count! will start SCRUB whenever a User is denied access to 
an application for lack of an available license.

SCRUB works by examining the CountFile, waiting a specified time and then 
reexamining it.  If the license entries are not updated in that time, they 
are assumed to be inactive and removed.  By default SCRUB waits for the 
UpdateLicense interval+1 minute.  The extra minute allows for programs 
which might take total control of the PC for some period of time.  For 
instance, If Excel takes several minutes to recalculate a spreadsheet, it 
may not allow COUNT! to update the CountFile during that period.  (Windows 
3.x is Not Pre-emptive.)

If you feel 1 minute is not sufficient, you can override this by specifing 
an interval in COUNT!.ini  Add a section called [SCRUB] in the file, 
followed by lines containing AppName=Interval.  An interval less than 
UpdateLicense + 1 minute will be ignored.  A interval of 0 will disable 
Scrubbing for the specified application.

When SCRUB is running, an Icon identifing the time remaining will be 
displayed on the Windows Desktop.

As mentioned, COUNT! will automatically run SCRUB when a user is denied 
access to an application due to lack of an available license.  In 
addition, a Network Administrator may want to periodically run SCRUB, 
perhaps placing it in his/her Windows startup group.

If Scrub is run without any parameters, it will Scrub the Countfile of all 
applications listed in the [SCRUB] section of COUNT!.ini  If you need to, 
you can scrub an individual application by including it as a parameter on 
SCRUB's command line.  (i.e. "SCRUB MS_Excel")


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 7

                              USER Messages

There are a few messages COUNT! passes to the user that a Network 
Administrator needs to be aware of.  These are covered below:
     
       "All Licenses for this application are currently in use!"  A user 
        will get this message when all licenses set by the MaxUsers 
        parameter are in use.  They will also get a list box identifing 
        users so they can try to free up a license on their own.
     
       "Please Exit AppName IMMEDIATELY!  License VIOLATION!"  Through an 
        Application error or user tampering, the license reserved for this 
        user in the CountFile has been erased.  A user should Never get 
        this message.  It sould be looked into by the Network 
        Administrator.

       "You have exceeded the recommended time limit for this application
        and are reminded to free this license when you are finished so 
        that others may use the program."  A user will get this message if 
        he uses the program beyond the MaxTime variable.

The remaining messages should not normally be seen by a user, but may 
arrise in setting up applications to run under COUNT!

       "Could Not Connect (to Drive)"  A network Error caused by an 
        incorrect DOS drive or Network file service specification in 
        COUNT!.ini, or unidentifable network connection problem.

       "Drive In Use on Different Service"  A failure to connect to the 
        requested network service in COUNT!.ini because the requested Drive 
        is already being used for a different network service.  You should 
        not set up two network applications to share a DOS drive letter 
        for different file services.

       "Could Not Execute"  Execution of the application failed.  Most 
        often this is caused by an error in COUNT!.ini or perhaps a DOS 
        PATH Error.

       "Could Not Find Count!.ini"  COUNT!.ini is not in the same 
        subdirectory as COUNT!.exe.

       "No Application Specified"  No ApplicationName was specified on the 
        COUNT! Command Line.

       "No Program to Execute in Count!.Ini"  No "Execute=" was included.

       "Name Environment Variable Not Defined!"  You MUST have a Name 
       Environment Variable defined if you are using a CountFile.


                                COUNT! v3.1
                       Network Administrators Guide
                                  Page 8


                            Registering COUNT!

COUNT! is copyrighted software and all rights are reserved by the author.  
You are free to evaluate the product for 30 days to determine its 
suitability to your needs.  Use beyond 30 days requires registration.

Anyone with the conscience to use COUNT! will want to register it.  A 
license to COUNT! enables you copy and use the software on a single server 
for up to 100 Users.  The cost of the license is $59.  If you would like 
to register, please fill out the form on the next page.

In return, you will be sent a diskette with a registered version of the 
software.

                      Transferring a License to COUNT!

Upon registering, you will receive a license number.  To license the 
software, you will need Read/Write access to the directory where 
COUNT!.EXE is located.  From Windows Program Manager, use "File Run" and 
place in the command Line "Drive:\Path\COUNT!.EXE /L".

You will prompted you for your company and server name.  You are limited to 
a total of 50 characters, so you may have to abbreviate.  If the name 
appears truncated in the Main dialog box, you can reinstall the license.


                            COUNT! v3.1 User Registration

     NAME:             ____________________________________

     Company:          ____________________________________

     Street:           ____________________________________

     Town, State, Zip: ____________________________________


     Please register me for (____) copies of COUNT!.  Enclosed is $59.00 for
     each copy (plus 6% Sales tax for Maine residents).

     Preferred Media:  5.25"(360K) ____  3.5" (720K) ____

     Please make checks payable to:
                       Edward Derzawiec
                       6 Sweet Fern Road
                       Cape Elizabeth, ME  04107

     Signature:   ____________________________________

     In signing this form I agree:
          1. Not to make copies of the registered software received for
             purposes outside of my use on a single network server.

          2. Not to modify the software without written consent of the author.

     I welcome your comments on the merits or limitations of COUNT!, or
     enhancements you would like to see added.

         _______________________________________________________________

         _______________________________________________________________


     To improve the testing of COUNT!, please answer the following:

         Server Type:
              Operating System: DOS ____, OS2 ____, VMS ____, UNIX ____
                               Other _________________

              Network OS:  Novel ____, Vines ____, PCSA ____, Other ________

         Nodes:
              PC/XT (8086/8088) ____,   AT (286) ____,  (386/486/SX CPU) ____
              Display: Mono, ____, CGA, ____ EGA, ____ VGA, ____  Color ____
              Windows Version ____

         Applications Count! is Used For:
              
               ______________________________________________________________

     ========================================================================
     Do not write below this line:

         Serial number licensed to above user: ____________

