I have also never seen such a design, likely because it fails to consider several issues, namely how do you keep users from:
- reinstalling it?
- installing it on another machine, or on a VM with snapshots?
- restoring a hard drive backup over it?
- killing the uninstallation?
Software licensing is hard to get right. I would recommend using a third-party licensing package that offers trial licensing. I would avoid trying to roll your own solution, as it will likely take you a lot of time to develop and be ineffective nonetheless. Picking the right product for this depends on first answering some questions, though:
- How a. skilled and how b. determined will the adversaries be who are costing you the most amount of financial loss? That is determined by:
- How much money will you lose if you don't protect it? This should determine the next question, which is:
- What is your budget for software protection? It should be less than the amount you would lose without it. This should include the next question, which is:
- How many hours do you want to invest to get this working?
It sounds to me like you want an automated wrapper that will work with precompiled applications / installers, as opposed to using an SDK you must integrate into your code.