> I am seeking a method to enforce shareware registration
> after the evaluation period, even if:
> - user changes the date
> - user erases the application and installs it again
>
This question inevitably begins a religious war over whether
applications should leave (or some would say "hide") data on the user's
device, even after the application is deleted. Those who argue that leaving
so much as a byte behind is bad form contend that since removing the
application will also destroy the data, the inconvenience will cause most
users not to take this route (nothing would stop them, of course, from using
a third party app to backup the database before deleting the app). If you
don't buy this argument, then you can cause pref data to be left behind by
writing it with a creator code that does not match your application (thus,
it will not be deleted when your app is deleted). No doubt there are other
ways to leave data behind.
Depending on how you distribute your app, there are all sorts of code
schemes you could try.. Some vendors generate trial codes which are tied to
the date they are generated, and will allow the software to run only up
until a specified date, no matter how many times you reinstall it. Sure,
the user could change the date, but what good is a PIM if the date is wrong?
You could go a step further and not allow the app to operate BEFORE or AFTER
a specified range of dates, which means the user will constantly be
resetting their date (they can't just shove it back a year). You have to
decide how much trouble you're willing to go through, and more importantly,
how much trouble you're willing to put the majority of HONEST users through,
in order to protect yourself. Clearly, there's a balance that only you can
find.
I am now setting up my email filter to automatically delete the oncoming
debate over registration codes, trial-ware, and leaving data behind...
--
Dan Rowley
Innovative Computer Solutions
Developers of fine software for Newton, Windows CE, Palm Computing Platform,
Windows, and MacOS