>The app will be downloaded. There is an evaluation period. The goal is to prevent the user from uninstalling and requesting (or getting away with) downloading a "fresh" evaluation and aquiring another evaluation license.
>
>I have an inocuous (how is that spelled?:) enough, yet important sounding name for the file. I may even assign "important sounding" properties to it.
>
>The file will be created at first run. The systems will be home-office XPs.
>
>My question is what folder can I depend on (or should be used) to test the desktop for an attempt to reinstall over an expired evaluation license?
>
>Is there a better way? System configuration was one thought.
>
>Thanks
Personally, I would bury it in the registry under a key that looks very important. For the stored expiration or install date value, I would store a hashed value of the date. You would need a way to de-hash the stored date so you can do a proper validation.
The way I handle this for real in one of my apps is to limit the number of records certain critical tables can have. Then when they exit the app, I run code similar to the following:
IF DEMO_VERSION
delete from customers where recno() > 10
delete from invoices where recno() > 20
delete from lineitem ;
where invoice not in (select invoice from invoices)
delete from postings ;
where invoice not in (select invoice from invoices)
delete from inventory where recno() > 50
close tables all
use customers excl
pack
use invoices excl
pack
use lineitem excl
pack
use postings excl
pack
use inventory excl
pack
ENDIF
My demo versions are always single user and I check to make sure at app launch that no other instance is running. I also scatter that DEMO_VERSION caveat through out my app to prevent them from running certain parts of it.
Mark McCasland
Midlothian, TX USA