Are there any good ways to limit the number of times an application can start or limit how long it can be used for under Windows 7 and using C#?
As far as I can see the registry can be easily edited, there are programs to report any kind of file access, virtual machines can be used to change the system time back to when the application was installed, etc. For every idea I can think of there is a (usually) trivial work around.
I want to avoid the need for an internet connection. I.e. I don't want the software to request permission to start each time using hashes, etc.
I see third party license systems that have this kind of functionality. If implementing these approaches is always lame, how do they do it so it isn't lame?
Note: I don't want to "crack" a third party system. I already have my own license system that I want to improve. Generic, plausible ideas are all that I am looking for.
thanks, Andy