Licensing

  • Thread starter Thread starter chak
  • Start date Start date
C

chak

Can someone suggest ways of creating a license for a product developed on a
CF for a Pocket PC and WIn CE ?
 
Presumably you are not looking for the verbiage of a sound license agreement
but
rather ways to ensure that a copy of your mobile software is licensed.
Based on
that assumption, a technique I use is to write the install date and an
encrypted license
key to the device's registry during installation. The app installer places
the same trial
key on all devices. At app startup, interrogate these values and determine
if the key is
valid (validity algorithm is up to you to determine - I obviously can't
share this) and whether
any desired trial period has expired by comparing it to the system date. If
the trial
period has expired, provide information on how to obtain a permanent key.
Also provide
an option to enter the new key now (so they can eventually resume using the
app).

After the initial period (where all copies of the software are running with
the same
out-of-the-box license key), the customer must obtain a new key from you
that conforms to
the same validity algorithm previously mentioned. Always keep this key
encrypted in the
device registry.

Other considerations: make sure if there is a valid permanent key in the
device registry during
installation that your installer doesn't overwrite it - it is possible the
user is just reinstalling the
software and you don't want to put them back into a trial period again.

Weaknesses:
system date/time on device may not be accurate to check expiration against
customer has a moment when the app they've become dependent on stops
working (so try to minimize the time it takes to issue them a new key)
encrypted key can be copied from one device's registry and placed on other
devices (by a sophisticated user)
if the encryption algorithm does not contain something device specific as
part of the key generation.

- Darren Shaffer
 
Back
Top