Contents - Index
Sheriff is designed to protect applications running on networks. In particular, the concurrency limit is used to control the maximum number of users that can simultaneously access a Sheriff-protected application. The network can be a local or wide area network, which can span time zones. The network protocol is of no importance.
Use SlsGen to Define the Licence
Whether or not a Sheriff-protected application can be run over a network will depend upon the type of licence policy that was defined using the Sheriff Licence Generator (SlsGen).
Installing Sheriff on a Network
To install Sheriff on a network, you need to have only one licence database installed; typically this will be on a file server that is accessible to all of the users who want to run the protected application.
You need to install the following files on the server:
\\BIN\SlsLocal.dllYou may install those files at any location on the server machine. A file "slsService_legacy.exe" is provided for versions of Windows prior to XP/Server 2003. Please rename to "slsService.exe".
The server process is called SlsServer. If you are only running a single Sheriff-protected product on the server you can invoke SlsServer from the command line:
All of the above parameters are optional. If "port" is not specified, Sheriff Server will listen to port 8080. If "pid", "pn" and "pp" are not specified then Sheriff Server will find product info from the registry.
Alternatively, instead of registering your product using "pid", "pn" and "pp" command line parameters, you can register your product by creating a file called "SlsServer.ini" and placing it in the same folder as SlsServer.exe. If you have more than one Sheriff-protected product, then creating the SlsServer.ini file is mandatory.
The following is an example of SlsServer.ini
Where, "Products" in the "Settings" section specifies the total number of products and within each product section there are three variables, namely:
It is usually convenient to run SlsServer as a service. SlsService can run any executable as a service -- if you just want to run SlsServer then leave Processes=1. SlsService starts the server via SlsServer.ini, where it contains the command line parameters:
CommandLine = [home]\SlsServer.exe /port:8080 /pid:9758-3050-1918-9292-6466 /pn:Sheriff Demo /pp:C:\Sheriff
To install the service, run the following command:
Licensing the Server
To install a licence on the server, you can either run SlsAdmin on the server machine, or you can call SLS_SetLicence from your own application running on any machine that is connected to the Sheriff Server
Networking environments can be highly complex and it is very desirable to allocate one machine - probably the server - for licence administration. Thus, if you intend to issue licence keys from a machine on the network you would install SlsGen on this administrator machine and also use the same machine to manage the licence keys with SlsAdmin - see below.
Use SlsAdmin to Manage Network Licences
Use the SlsAdmin application to monitor active programs and which active users have access to them. You can also suspend an active user at any time although normally you will only do this you when you have reached the limit of authorised concurrent licences and you wish to grant access to another user.
If a networked application terminates abnormally without notifying Sheriff, its licence also dies.
Sheriff will automatically reclaim the dead licence after the expiration of a predefined 'reclaim time' (which must be longer than the 'heart-beat' time). Once a licence has been reclaimed by Sheriff it can be claimed by another network user, however should the terminated application request a licence within the 'reclaim time' Sheriff will revive the dead licence immediately for that application.