Right now we are developing a small Windows-based application. We used to provide trial version license for a period of 30 days and after the expiration of 30 days, the product would be unusable.
Now here's my problem:
Imagine a client who downloaded and installed the application on Jan 1 and by Feb 1, the trial period would end. Now on Jan 31, if he changes the system time to Jan 1 again, the system starts to count from beginning, so the client can extend the trial period by simply changing the system time.
And as per community suggestions, we can check the internet/date time, but as a small concern, we can't randomly validate license through a server and if the user goes offline and changes his system date time, then there will be a problem again. Are there any other ways to tackle this problem?
I have already checked this question.
What are the best ways to tackle this problem? The product is a C# application.