You are trying to solve something which cannot be solved. Once you provide application to the client and client deploys it on his computer he can of course do whatever he wants with your application. Even if you hardcode some security check into the application client can reverse engineer and modify your code. You can reduce his chances by using some obfuscation of your libraries but still anything deployed on client machine can be cheated. That is the reason why warez exists and there is no bullet proof solution.
If you don't want client to cheat you, build your application as web based and host it on your servers. Client will pay for access / account and he will not be able to avoid your licensing strategy.
If you want some high quality licensing strategy which is harder to cheat try to buy some existing solution instead of creating your own.