We are creating trials with full features which will be available for 21 days. What if the customer runs the product in a different machine with the same trial key? will the trial be again activated and set to 21 days? Is there a way we can restrict that? or do we need to handle it in our code?
Trial key remains same for all the users. What you are trying to do is not appropriate. Node locked licensing is based on machines, the purpose is to restrict a machine from abusing your software licensing terms.
The moment machines are different it makes no sense to prevent the same user from using the trial twice by installing your software on different machines. That’s perfectly legal.
How would you legitimately differentiate a same user using the product on different machines or different users using the product on different machines?