As stated, don't even try.
The ONLY thing that keeps most people from pirating is the risk of getting caught and facing legal action. Unless you can afford an international legal team with extensive experience in the field, forget about even trying to enforce anything.
It'd just cost you a lot of money and the pirates tend to get away free.
Basically then, software distribution is based on 3 things to prevent piracy from making it utterly uneconomical:
- an honour system, where the few honest people pay willingly
- threat of legal action against corporate customers who pirate which
would destroy their reputation
- enough income from the sharply reduced sales that you can absorb the 60-90%
pirated copies in active use
To make piracy impossible for your system, you MUST have a subscription model where the registered users pay not just per time period but per use as well (in this model you wouldn't have to check on number of installed copies per license, but you can).
Which requires the software to operate as a SAAS model, with all business logic being handled on the server and billed to the customer per call to the server.
That way, if someone were to provide his license to others (which is how piracy starts...) HE gets to pay out of his own pocket for every other user using his license.
Given the speed at which pirated copies tend to proliferate, this would rapidly become a major financial burden on that person, causing them to shut down their account, invalidating every pirated copy out there.
The client software installed by the user then becomes merely a shell to input, display, and output data from a server you yourself control.
It's a system that's of course highly unpopular among users, for the obvious reason that it's
- impossible to pirate
- can get costly if the software is used a lot
- requires an active internet connection at all times
- you no longer store your own data, which makes some people paranoid (this is changing as "cloud storage" becomes more accepted)