I am afraid to say that few, if any, software protection mechanisms are 100% secure.
Registry monitoring tools exist that make simply writing value to the registry a waste of time.
However, if you believe that you need some protection for your product, I would offer this suggestion:
1. During the installation, your application/installer obtains the serial number of the hard drive and the network card ID also.
2. It uses this information to request an authorisation key from a web service that you have implemented. You will then have control over how many PCs the software is installed on.
3. However, as you cannot expect a user to tell you when their PC is stolen or destroyed, you may not be able to verify whether your software has been uninstalled, such that a re-install is allowable.
4. You can make the method a little better by incorporating your own unique serial number against each product - the web service can then use this to match up products to hard drives/network cards, thus helping you with repeat installs.
Your only decent chance of protection is to go down a hardware route using a dongle. Even then, software emulators for many dongles exist. However it is my preferred recommendation should you *really* need to incorporate some form of proection for your product.
HTH
Enter your message below
Sign in or Join us (it's free).