Relative time restrictions can be placed on each key. When this restriction is used, the software license will expire after a specified number of days since the key was first used.
This is typically used to allow for a "Trial Period" of your software package. By setting the default key to have a time restriction, any user who downloads and runs your software will be allowed to use it for a period of time before the default license key expires. You can generate additional keys with time restrictions to give to the use if they need more time to evaluate your software.
Local Time versusUniversal Time Coordinated (UTC)
The initial time the key was first used is recorded in UTC (Universal Time Cordinated) and the current time is compared using UTC as well so if the user changes time zones during that period the trial period will remain accurate.
Setting a relative time restriction
Using the Thinstall GUI, you can set a relative time restriction for the default license key as well as for generated license keys.
GUI Version:
Menu -> Link -> License System / Trial Demo -> License System Version 2 (Default Key / Generate Key)
You can issue multiple keys that have time restrictions. When the user enters a new key, the "first-use" time is set for that key. If the user enters a key that has been previously used, the "first-use" for that key will remain at its original value. If you issue 2 license keys to the user, both having 15 day relative time restrictions - the total amount of time the user has depends on the time they enter the keys. If they are both entered on the first day, the user will have 15 days. If the first key is entered on day 1 second key is entered on the 16th day, the user will have a total of 30 days.
Security Concerns with Relative Time Restrictions
Clock Set-backs: Thinstall will automatically detect if the user tries to set their clock back. If this situation is detected the current license key will remain expired until the clock is restored.
Note: Thinstall allows the user to set their clock forward to an expired date, and the return the clock to the current date. This prevents users from inadvertently locking themselves out if they accidently set the wrong month or year on their computer.
Thinstall does not permit the user to set their clock back to a date prior to their previous execution. For example:
- Build EXE with 30 day trial
- Run EXE - it reports 29 days remaining
- Quit, and set clock forward 1 year
- Run EXE - it reports "Your current license has expired"
- Quit, and set clock backward 1 year
- Run EXE - it reports 29 days remaining
- Quit, and set clock forward 10 days
- Run EXE - it reports 19 days remaining
- Quit, and restore clock to today (-10 days)
- Run EXE - it reports "Your current license has expired"
In the last case the user cannot set their clock prior to the date of their previous execution.
Disk Re-imaging:
It is possible to "re-image" a computer's hard drive so that the entire hard drive is restored to the state before your license key was first used. A user could use this technique to keep re-using the license key indefinately to bypass relative time restrictions. Software packages such as VMWare offer a hard-drive restore feature that makes this process easier.