Link to home
Start Free TrialLog in
Avatar of Alex
AlexFlag for Greece

asked on

Your Trial version has expired!

Hi experts,

Here is my Q:

I want my application to be something like a trial version.I want to give a date for example let's say 10/16/2007 to my application as the date that will expired and show a message to the user to contact me and give him/her an update version.
But... i want a "Ā hard code" example because i don't want if the user change the date by hand in his pc to be able to cheat my application so it will never be expired.

Thanks in advance.

Alex_Code.
ASKER CERTIFIED SOLUTION
Avatar of Bradley Haynes
Bradley Haynes
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
There is no fool-proof way of doing that - there are various tools and methods of cheating software.

There is MXProtector - which secretly stores the date the application was installed in the system registry in encrypted form in an unknown key and can detect when the user tries to run the application with a changed date.
BUT, with all the security issues with Windows Vista, I don't think it works properly with Vista which creates a separate registry tree for each user, if the trial expired after 15 days, you could just install the application on another user and (I haven't tested this) in theory you'd have cracked the trial.

Here's the About.com article on MX protector (freeware) and how to set it up
http://delphi.about.com/od/productreviews/l/aa022503a.htm
Avatar of Alex

ASKER

Thank you for the posts.

Before this i had download another component the TmRegApp and it works fine.
Do you know this component or do you know if the mxProtector component is better than this and finally which the best way to make an app trial?A source code or a component?
Another way would be by storing the data online and having your application check the data when it runs.

The only problem with this is that you user would have to have an internet connection but I think everyone has one now-a-days. You could connect to an online file using
Indy for example.

This way you wouldn't need any extra components just somewhere to host the file.
Component is the best way to go. Here are some free and almost free options for you:
http://www.delphi32.com/vcl/lists/sc_n_26.asp