Any thoughts, pointers, ideas relating to controlling dll's in such a way
that they have an expiry date.
eg, After, say, 1st September 2005 they no longer work.
I'd like to do this as we are installing our product (complex web
application + database) into a potential clients environment to allow them to
trial it. Problem is that we're setting up the full blown application. The
client is on the other side of the world so we're doing this remotely. All
they need to do is remove us from their firewall hole and we can't uninstall
the app.
The obvious (and presumably weakest?) way would be to check the machine
date/time during application startup. Changing the system clock or hacking
the dll would get round this, so this doesn't really appeal.
Is there some approach via signing the dll's I could investigate?
Should I get the application to "call home" via some sort of encrypted
messages to ensure it's allowed to run?
Is there some sort of method / approach / design that allows me to make this
reasonably secure (or at least enough effort / knowledge required to bypass
that makes it secure).
Gentlemen, your thoughts please!