Hi Peter,
Does anyone have solid code for setting up a 30 day experiation timer
on your software.
Before committing yourself to making trialware you might want to
consider making a restricted demo instead. This can be achieved using
pre-compile directives, i.e.
#IF (Not DEMOVERSION)
Do full version stuff, this code will not be in the
demo version, it does not get compiled
#ELSE
Display error message and information on upgrading,
this code will not be in the full version, it does not get
compiled.
#END IF
The reason I say this is because you would then end up with 2 versions
of your application, a full version and a demo version, the demo version
would be impossible to change into the full version as the full version code
wouldn't even be compiled into the executable.
If you were to do as Bob Powell suggests you would have to hard code the
expiration date into the application, thus the timer would not start when
the application is first installed. This *may* be an issue to you depending
on how your distributing your application.
If you choose to make a demo and full version you can then implement a
license provider to protect your full version, if no license is available
refuse to run. This makes the licensing fiasco much easier to deal with
than attempting to hide installation dates around the users system which
will always be found.
My personal opinion is that if .NET code is so easily decompiled, you
may as well make that the *only* way a hacker is going to get it working,
make them resort to diving around in thousands of lines of code. I've
implemented licensing in this way and believe it to be most effective, I'm
not distributing "nagware" to the public, which I find highly irritating.
Anyway, just my 2 pence worth.
Nick.