Why not set up a website or helpline where the customer enters a customer ID number and his computer #, or the date or whatever you think will work and after checking that he has installs remaining, you calculate a key which he can use with whatever you've selected to unlock the software?
The trouble with all such systems though, is that no matter how hard you try, ultimately either someone can game them or you end up with highly disgruntled customers when they have to jump through hoops just to install your software.
To know why perfection in such matters is impossible, go find an old copy of Godel, Escher, Bach by Douglas Hofstedter and read it, especially the section on 'perfect' record players. Dave Dardinger