Hard disk drives have manufacturer serial numbers and i can determine and use them to make my exe run on a certain harddisk only. This provides enough copy protection for me. But now i have to make my exe to run on a USB Flash Disk so that end-user can take it anywhere he wants and run on any computer but it should not run if it is copied to a harddrive, to another flash disk etc. Is there a way to do this? I'm using Delphi 7. Thanks to everyone answering.