To supplement what Sam suggests:
The key to this solution is that you need remote activation so you can restrict activation to a single installed instance.
We have some software that is locked using PACE AntiPiracy Interlok. It's a flexible system with lots of locking options. One of them is internet activation. You might look into using that.