Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Software licence expiry date / Adjusting Windows time

Status
Not open for further replies.

Cluggas

IS-IT--Management
Jan 21, 2004
4
GB
We have produced a small licence activation bolt on for a our software, which allows the user to activate their copy of the software. After confirming activation with us it logs the activation date on the local machine. This is then used to calculate when the software should expire.

We will know when the time is up and our central system will reinvoice the client. However, we can't stop the client cancelling the subscription and adjusting the Windows time to keep the software running.

We have considered using the BIOS date rather than the Windows date, however we came accross problems coding this (nasty code), besides the BIOS time is not always correct!!

I have some ideas for how to at least detect if the client has changed the time, but wondered if there was an excepted solution to this problem. I can't find anything out there, and am sure that we are not the first people to want to do this!!

Any ideas would be gratefully received...
 
Not exactly the answer you may be looking for but here's some suggestions:

Make the expire time use a abs(datdiff()) routine so if they first use the application with the time set in 2010 it will not work in 2004-2009..

Keep track of how many unique dates the program was started on.

Keep track of individual dates the program was started on, if the count > trialperiod then it's expired

Keep track of how many times the program was started, limit them to how many times you would expect them to start the program in the trial period.

Using all of those together should help. You may also want to keep your usage history in multiple inconspicuous locations with unsuspecting names and encrypted values so it's a little more difficult to find/crack.
 
Store the last used date - at next start up check that it's later than stored date

________________________________________________________________
If you want to get the best response to a question, please check out FAQ222-2244 first

'If we're supposed to work in Hex, why have we only got A fingers?'
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top