How to make a program expire?

G

Guest

Hi, I want to be able to make one of my C# programs expire after a certain
amount of time. The problem is I would like to do this without relying on the
systems clock, as the user is just able to move the date back and the program
works again. I would also not want to rely on a registry value if possible.
How do those trial versions of programs do this kind of thing? Any ideas
would be appreciated.
 
M

Michael A. Covington

What you might do is write the date in some fairly obscure location - e.g.,
put it in your program's registry area, encrypted - and detect situations
where the date moves backward from the latest date seen in the past.

Do not write anywhere an ordinary user might not have permission to write
(e.g., in C:\Program Files).
 
U

Uchiha Jax

Rather than using a date, why not go by ticks of a timer?
So the program is say fully operable for 1 days worth of ticks? You could
store the current number of ticks in the encrypted file the other user
specified when the program closes each time.
 
M

Michael A. Covington

Uchiha Jax said:
Rather than using a date, why not go by ticks of a timer?
So the program is say fully operable for 1 days worth of ticks? You could
store the current number of ticks in the encrypted file the other user
specified when the program closes each time.

Good idea. The way GoldWave does it is that you get to perform a certain
number of operations, and the total is shown, and when it gets too high, you
have to register the program or de-install it. I think, however, that it
would start afresh if the user re-installed it.

I actually don't like programs that expire (unless the user has paid for a
time-limited license). I prefer for trial or demo versions to simply have
lesser functionality, or something.
 
?

=?ISO-8859-1?Q?Lasse_V=E5gs=E6ther_Karlsen?=

I actually don't like programs that expire (unless the user has paid for a
time-limited license). I prefer for trial or demo versions to simply have
lesser functionality, or something.

Having a cut-down version of the software available for demo purposes is
a good idea if the functions left behind are useful to the user and can
tell the user wether the functions needed by him/her will be supported
in the purchased version.

For instance, having a CD recording software that would only record 10mb
on a cd for demo purposes would be useless for checking out if it would
support overburn for instance. I've seen other similar useless versions
that cut away the features that separate out the software from
everything else, so as long as you don't fall into that trap then such a
demo would be fine.
 
W

William Stacey [MVP]

I see your point too. However I also think an expire is just strange
marketing if your goal is to sell software. You effectively loose the
customer when it expires, as they can't start the app to even look at your
about box (At least I have seen that before.) This gives user no other
option but to remove the app. If you limit function in some way and allow
the app to run, at least the possibility is there that they will register
for the full version at some point. Even if not, you have another user to
spread the word. On the other hand, a hard expire of betas may make sense.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top