As Mr Dog says.
One prime reason I used to come across depends a lot on the age of the software. Also installation of any software detects the serial number of the drive as well as the operating system it gets installed on. An early security tip to stop people from just copying and sharing the folder the program is installed in.
There is an if to all this. I find that if I want to move software about on my server or my PC drives or swap between them, I make an ISO image of the drive and move it wholesale from the source drive to the target drive. Once it is where it needs to be I can mount the image and run the software which thinks it is still on the source drive but is on a Virtual drive.
Obviously there are cases where this doesnt work because of the security in the software, but a little careful tampering with a few keys and you can usually get it to behave itself.