Can you give me an idea on the Software or Code needed for distributing Windows Desktop Applications on 30 days trial basis and providing the user the option for turning the trial into a full version?
On the first run (or install) of the program you save some information (the date) to the pc. Every time the program runs, check the information versus the current date. Disable this check programmatically when the full version is installed.
That sounds easy, right?
The problem is preventing a smart user (also know as a hacker) of deleting this piece of information so the program think that it runs for the first time. I have only heard of 2 ways of doing that:
1) use the registry. Place several keys in different places (all microsoft folders as good because they are usually not cleaned by registry cleaners). Further more encrypt the information so that it does not look like a date.
2) Embed the information in another file. E.g. in the bitmap format there is unused space and it is actually possible to place the information here - and the bitmap will still look the same as ever.
Good Luck
Sunaj
'The gap between theory and practice is not as wide in theory as it is in practice'
This is a problem that I have been thinking about recently, one worry being that the user will change the date on the PC so the program works past its exporation date.
One method of combating this is to check the the time from some external source, IE the internet. You would need to check every hour or so (or before the program saved a file) not just at start up so that the user cannot keep on using your program by never closing it down.
Another method would be not to have a thirty day trial but have a hundred hour ( or some other number) trial so that after the program has run for a hundred hours it will stop working, you can store the time elapsed using the methods described by Sunaj.
I like the idea of the 100 hours of use. Would it be possible to have a timer inside the same application that will start running only when the application is started and will maintain its value even when the application is not running any longer?
This way we do not have to depend on the Registry. Can this be done, If so how?
As a different method of attack, why re-invent the wheel? There are a number of utilities that will do this for you. I have found one that works exceptionally well, and gives you as much or as little control over how it works as you want. You can either use it's built in forms for entering reg info etc, or build your own. The program is called "Armadillo" from siliconrealms. I think I paid about $80 for the version I have, which is sufficent for my needs. Their website for anyone interested is:
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.