COUNT! v5.1 January 1995 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 What is COUNT!........................................1 Using COUNT!..........................................2 Installing COUNT!.....................................2 Setting Up Applications to Run Under COUNT!...........3 Controlling Access to Applications....................4 Multiple Instance Management..........................4 Scrubbing License Files...............................5 LogFiles..............................................6 Registering COUNT!....................................7 Transferring a License to COUNT!......................7 Appendix A: Applications Installation and License Metering Problems....................................8 Appendix B: Using COUNT! Without Stub Files...........9 Appendix C: How COUNT!.ini Controls the Launching of Applications........................................10 Appendix D: Installing Non-Network Software Versions.11 Appendix E: User Messages............................12 DISCLAIMER OF WARRANTY THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT WARRANTIES WHETHER EXPRESSED OR IMPLIED. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE. Product Support: COUNT! is written and copyrighted by: Ed Derzawiec 6 Sweet Fern Rd Cape Elizabeth, ME 04107 Feel free to send any product related questions or suggestions for future program enhancements to this address. Ed Derzawiec is a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER Note to Upgraders from versions prior to 5.0... Version 5.1 of COUNT! is completely backwards compatible with prior versions. Applications set up to run under earlier versions of COUNT! will work identically under this release. And, licenses granted for prior versions are transferable to v5.1 This version offers broader options for installing applications that you can take advantage of. Specifically, the use of "Stub" files can greatly simplify application installation. The new CountAdm utility handles all COUNT!.ini management and provides a GUI interface to License and Log files for monitoring applications use. COUNT! v5.1 Network Administrators Guide Page 1 What is COUNT! COUNT! is an 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 that 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 given 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 that function poorly in a network environment behave better. Finally COUNT! provides the network administrator detailed analysis on the use of licenses so that an appropriate number can be economically purchased to support user needs. COUNT! enables a user to access an application as easily as if it were installed on his local hard disk. To do 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 when the program terminates Disconnect the network connection Supported Network Environments: COUNT! runs on Windows client PCs, not servers. License management is achieved through a shared file service. It will therefore work in any network environment. COUNT! has been successfully tested under Novell Netware, Banyon Vines, Digital Pathworks, Microsoft LanManager, Windows for Workgroups, and several other Network OS's COUNT! v5.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. Setting up applications to run under COUNT! is also straight forward. A network administrator installs the application on the network using the vendor's instructions. You then use the COUNT! Administration utility (CountAdm), to replace the application's .EXE file with a "Stub" file which runs the program under COUNT! In addition to installing Stub Files, the CountAdm utility provides a convenient means of monitoring applications usage. You can easily examine the current users and usage history of each application running under COUNT!. Installing COUNT! The setup program is used to copy all necessary files to a network file server. It will also create a Count Administrator group on your Windows desktop if you wish. The CountAdm program can then be run to set up applications to run under COUNT! Before running the Setup program, determine where you would like to install the various components of COUNT!. COUNT! and associated program and configuration files should be placed in an area where the Network administrator has READ/WRITE access and all users have READ access. License or Log Files need to be placed in an area where all users have READ/WRITE access. While COUNT! can launch applications without this common READ/WRITE user access, its features will be quite limited. To run the setup program... Make a network connection to the file service you would like to install the program to. Run COUNT!'s Setup program under Windows. (i.e., from File Manager select File-Run-A:Setup.exe) COUNT! v5.1 Network Administrators Guide Page 3 The following files are part of the COUNT! package. Setup will place these in the COUNT! program Directory. COUNT!.EXE Launches Applications, Meters usage. COUNT!.INI Contains information to Launch Applications. COUNT!.TXT This Documentation File COUNTADM.EXE Provides Administrative services to Network Administrators. COUNTADM.HLP The Windows Help file for CountAdm COUNTMGR.DLL Manages multiple instances of the same application launched under COUNT! SCRUB.EXE Removes inactive users from license files STUB.EXE Replaces Application .EXE Files so they are launched under COUNT! SETUP.EXE Installs COUNT! on a Server. Setting Up Applications to Run Under COUNT! The easiest way to setup applications to run under COUNT! is to use "Stub" files. Simply install the application according to the vendor's directions on the server and each client. Then install a Stub file to launch the application through COUNT! CountAdm will automatically install stub files by replacing an applications executable file (i.e. EXCEL.EXE) with a Stub file of the same name. The original application file is renamed. The Stub file executes the main COUNT! program which in turn executes the original application. This may sound a bit "round about", but it is very efficient, and greatly simplifies application installation. To install Stub files with CountAdm, You will need Read/Write Access to the network directory where the application has been installed. You will also need Read/Write access to the Applications' .EXE file. Select Install-Add Application Stub File from CountAdm's Main Menu. Specify the Application exe file you want to create a stub file for (i.e. EXCEL.exe) and press OK. CountAdm will create an entry for the Application in COUNT!.ini using the name of the exe file (i.e. EXCEL). It will also rename the original exe file by placing an "!" at the end (i.e. EXCEL!.exe) You can modify these names by pressing the Advanced button and editing the defaults. After creating the stub file, use CountAdm to change the settings in COUNT!.ini to define the methods used to launch the application and control license counts. The stub file method has been successfully tested with numerous applications. However, if you encounter problems, see Appendix A. COUNT! also creates COUNT!.ini files in each application directory. These are not the same as the one in the COUNT! program directory. Their job is to help the Stub file communicate with the COUNT! program. COUNT! v5.1 Network Administrators Guide Page 4 Controlling Access to Applications 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 enforces the license counting/metering. In the second method, COUNT! uses a License file to monitor the number of users. You set the Maximum number of users for each application via the CountAdm Utility. Simply modify the Maximum users setting in the Set-up- Applications Dialog. COUNT will use this method to control access when a a License file is specified under License/Log File Setup. You can also use both methods simultaneously. This provides maximum security, friendlier user error messages, and more complete applications use information. If a License file is used, A DOS environment variable must exist prior to entering Windows which provides a user name. The UserName must be unique to each network node. It is typically assigned in a the Autoexec.Bat or Network Startup File using the DOS SET command as follows: "SET Name=UserName" The default "Name" environment variable may be changed in the defaults Dialog of CountAdm. The maximum name length is 20 characters. When using a License file, COUNT! checks the number of current users each time someone attempts to run an application. If no licenses are available, access is denied, and the list of license holders is displayed. Otherwise, the application is launched and an entry is added to the License file similar to the one below: [MS Project] John Doe=09:33:27 02/12/92 The timestamp is updated periodically, and is removed when the user exits the application. Multiple Instance Management Windows enables a user to run multiple copies of an application simultaneously as long as the application itself permits this. COUNT! fully supports this feature and will only reserve a single network license for each user workstation no matter how many instances of the program are running. CountMgr.DLL manages this activity as necessary. Network connections made when the first instance of an application is launched will be maintained as long as at least one instance of the application is active. COUNT! v5.1 Network Administrators Guide Page 5 Scrubbing License Files License files require periodic maintenance 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. A supplemental program, SCRUB.EXE, is supplied which automatically removes inactive licenses. COUNT! will start SCRUB whenever a user is denied access to an application for lack of an available license. SCRUB works by examining the License file, 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 License File during that period. (Windows 3.x is Not Pre-emptive.) If you feel 1 minute is not sufficient, you can override this by specifying a larger interval in CountAdm. 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 identifying 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. You can also run SCRUB from CountAdm. If SCRUB is run without any parameters, it will scrub the License File of all applications. You can also scrub an individual application by including it as a parameter on SCRUB's command line. (i.e. "SCRUB MS_Excel") COUNT! v5.1 Network Administrators Guide Page 6 LogFiles LogFiles provide valuable information to the network administrator on how licenses are being used for each application, and by whom. It is highly recommended that you use LogFiles for each application to: Keep track of the average time an application is used. The typical number of licenses in use at any time. The number of times a license has been denied. The use by Individual. Since these files can be rather large, it is recommended that a separate file be used for each application. While you can use Log Files without License Files, the log information will be somewhat limited if you do so. Viewing information in License and Log files can be accomplished using CountAdm. COUNT! v5.1 Network Administrators Guide Page 7 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 $79. If you would like to register, please fill out the form on the last page of this manual. 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". Alternatively, you can use the CountAdm menu function Install-Transfer License. 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! v5.1 Network Administrators Guide Page 8 Appendix A: Applications Installation and License Metering Problems Should you encounter problems using the Stub files installed with the CountAdm utility, the following information may be helpful. First, some applications will not work properly if their .EXE file has been renamed. If this occurs, you can try renaming all of the files in the application directory with the same base name as the original application to the base name of the renamed .EXE file. (i.e. rename MisApp.DLG to MisApp!.DLG) If this fails, you may have to resort to using COUNT! without stub files. (See Appendix B). If you need to uninstall a stub file, the CountAdm utility will do this automatically. There is another situation where COUNT! has difficulty metering applications licenses. If a Windows application's primary (loading) executable file terminates before the application does, COUNT! has no way of knowing when the program ends. Only one major application to date has been found which does this.. WordPerfect for Windows. In the case of WordPerfect (v5.1) there is a way around this problem. The program loading executable WPwin.exe file does some initialization work and then Launches the Main executable WPwinFile.Exe. If you use CountAdm to create a stub file for WPwinFile.exe rather than WPwin.exe, COUNT! can meter licenses effectively. COUNT! v5.1 Network Administrators Guide Page 9 Appendix B: Using COUNT! Without Stub Files COUNT! runs applications defined in the COUNT!.ini file passed on its command line. For instance, to launch Microsoft's Excel, the command line could be "COUNT! MS_Excel". To launch Aldus' Persuasion, the command line could be "COUNT! Persuasion". COUNT! then does everything necessary to make appropriate network connections, start the application, and enforce software licenses. To use the command line, you will need to be familiar with the methods Windows uses to launch applications. The most common method is 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". 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! i.e. "COUNT!.exe MS_Excel". 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 (i.e. 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". Modifying Windows .INI files can be automated by using the Fix_INI! program which can be found in the utilities subdirectory of the COUNT! program disk 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. COUNT! v5.1 Network Administrators Guide Page 10 Appendix C: 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 with the CountAdm utility. However, it can also be modified using any ASCII editor, such as notepad. 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 user exits the application unless DisConnectDrive=No. DisConnectDrive=Yes or No. 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 the property's of a Program Manager Icon. Execute=Program invocation command. CountFile=R/W file (License file) which holds the current users for each application. LogFile=R/W file which tracks license use for the application. 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 License File. The default is 5. A 0 inhibits updates. SkipLicenseMessage=Yes or No. If, Yes, COUNT! bypasses its initial dialog informing the user of the licensing activity and immediately launches the application. The default is No. All KeyWords other than Execute are optional. COUNT! v5.1 Network Administrators Guide Page 11 Appendix D: Installing Non-Network Software Versions Most software available today installs easily in network environments. However, you will occasionally run into an application that does not offer a network version, or one which will not install properly on your network. In such situations, you can often install the software for network use with the following procedure. From a client PC, provide Write access to the Network drive you would like the application installed upon, giving it the same DOS drive letter the user will eventually see it as. You may also need to provide Write access to the Windows directory on the server if Windows is being shared over the network. Install the software to a network drive using the vendor's instructions with the following exceptions. 1) Copy the client's WIN.ini and System.Ini files as Win.OLD and System.OLD. Also copy the Autoexec.Bat and Config.Sys files. 2) Make copies of the client's Windows and System Directory listings and the server's Window system directory if appropriate (i.e. DIR c:\Windows >Win.Dir). 3) Install the Software. 4) Compare the .INI files and directories to the original saved versions. (i.e. FC Win.OLD Win.ini). Note any changes. Typically, these changes are entries added to the [Extensions] section of WIN.ini, applications sections added to WIN.ini, and perhaps a few DLLs added or updated in the Windows System Directory. Many applications change the Path variable in the Autoexec.Bat file. In most cases, this change is not required. 5) Make these same changes on each client PC that will run the application by copying or editing files. Fix_ini!.Com and Patch!.Com are very useful utilities in automating this process. They can be found in the utilities subdirectory of the COUNT! program disk 6) If the REG.DAT file in the windows directory on the client PC was modified, some special attention is required. REG.DAT's primary purpose is to support OLE and Drag/Drop capabilities. To provide this, the application must be registered in REG.DAT of each client. You cannot simply copy the revised REG.DAT file to each client. First check the application directory for an Application.REG file. If it exists, simply RUN it from Program Manager on each client PC. If the application does not have a .REG file, you will need to examine how the installation procedure modified the REG.DAT file (using RegEdit.EXE) and manually make the changes on other clients. COUNT! v5.1 Network Administrators Guide Page 12 Appendix E: User Messages There are a few messages COUNT! passes to the user that a Network Administrator needs to be aware of. These may be modified using Count!Adm's Setup-User Messagers option. "Please release this LICENSE to the application when you are finished so that others may use the program!" This is the standard opening window message. "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 identifying users so they can try to free up a license on their own. "CANNOT WRITE TO LICENSE FILE. Your license to this application has been LOST!" Through a network error or user access rights violation, the License file could not be maintained. It should 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 arise 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 unidentifiable 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. "Count Not Load CountMgr.DLL" CountMgr.DLL 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 License File. The following two messages should not normally be seen by a user. They are generated by Stub program files. "Could Not Find COUNT!.ini in Stub Directory" When CountAdm creates a stub file, it also creates a COUNT!.ini file in the same directory. Through some mechanism, this file has been deleted or is inacessible. "Could Not Find COUNT!.exe" The Stub file could not find COUNT!.exe in the directory specified in the Stub's COUNT!.ini file. Either the Directory entry has been changed, or the COUNT! program renamed or deleted. COUNT! v5.1 User Registration Form (ASP) NAME: ____________________________________ Company: ____________________________________ Street: ____________________________________ Town, State, Zip: ____________________________________ Please register me for (____) copies of COUNT!. Enclosed is $79.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 ___ NT ____, Other _________________ Network OS: Novel ___, Vines ___, Pathworks ___, Other ________ Nodes: PC/XT (8086/8088) ____, AT (286) ____, (386/486/+ 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: ____________