views:

45

answers:

1

Any good alternatives to tying software activation to a hardware piece on the machine beside using the MAC address? Using hard drive serial numbers will not work as they are not always available. Machine GUID is also not always guaranteed from Microsoft from my readings. Any other thoughts? This would be using Microsoft API or technologies. No .NET specific references please.

A: 

Which versions of Windows are you targeting? Windows 2000 and greater will always return a system volume serial number. It's not technically the same as a hard drive serial number, but every logical Windows partition will have one, regardless of the platform. See GetVolumeInformation.

I say, don't worry about tying it to hardware. Instead, use the Windows Product ID and the above volume serial number. It's good until they reformat the partition or update/install a different copy of Windows.

Let them reactivate every month or so without intervention, and you're still blocking pirating while avoiding support calls and inconveniencing the user.

Now, for the more technical part. How will you keep them from cracking your program?

Marcus Adams