Yeah, but if the guy copies the disc he can scripple down the key for each dupe 🙂
The only *REAL* way is to write an online ASP.
ie, create your own file format to store the data, and make your viewing application internet enabled where it can not operate without a connection to your server (Some necessary functions can be performed by the server, as well transferring necessary parts of the ASP program to the client). Then pull a Windows Product Activation kinda scheme and store the data on your server so it can't be circumvented without you providing the exception. But I can pretty much guess that this is outta reach for you (And me).