Contents - Index


2.2 How Does Sheriff Work?

Sheriff uses an encrypted Licence Key (a sequence of numbers) to authorise an application to run on a given machine.

  1. When a user installs or runs your application for the first time on a particular machine, they are presented with a Reference Code that is unique to that machine.

  2. The user passes the Reference Code on to you and you use the Sheriff Licence Generator application (SlsGen) to turn the Reference Code into a Licence Key.

  3. You give the Licence Key to the user and they enter it into the dialog box that gave them the Reference Code.

  4. Sheriff records the Licence Key in a securely encrypted Licence Database.

  5. Whenever your application runs it calls Sheriff to check whether the application is licensed on that machine; it does this by passing the application's unique Product ID to Sheriff for checking against the Licence Database. If this validation is successful your application runs normally, if unsuccessful your application can either exit or continue running in demo/evaluation mode.

Your application is now protected from illegal copying - it is bound to the user's hardware.

Some points worth noting:

  • Steps 2 & 3 can be automated via the Internet using Sheriff ISR

  • Users can temporarily export their licence key(s) to another machine. They do this using the Sheriff Administrator application (SlsAdmin) that you can supply along with your application (or you can replicate its functions in your app via the Sheriff API). Users can also permanently export the original licence file to another machine. Either or both of these facilities can be disabled if you wish.

  • The functions of the Sheriff Licence Generator for issuing licence keys etc. are made available to developers via the Extended API (SlsApiEx).

  • You can create licences that restrict the use of your application to a given number of runs, a given number of days or to a given date.

  • You can create licences that authorise a specified number of users to share your application over a network. While your application is running it periodically communicates with Sheriff to ensure the Licence Database knows your application is still running. Before an application exits it notifies Sheriff to free-up its resources, making them available for the next user. Should an application terminate abnormally Sheriff automatically reclaims the licence. Further details of running Sheriff-protected applications over a network can be found in the topics Sheriff Administrator and FAQ: Network Licences.