I was thinking about how to create a program that would only be valid for X period of time, (within a C# app).
What I was thinking was that you would have the curren
I would go with the "Phone home"-variant. And make that call important. ;) I mean, some important function in your program (some calculation maybe?) will take place on the server. So if the user decompile the program and remove that "call home" it will render the program useless.
I know that not all programs have those specifications that makes this possible but more than you think in general.