I have a routine which encrypts any given string so that anyone browsing the registry is unable to read it. What I need is a way of preventing my application from being copied to another machine. To do this I wanted the app, on startup, to look for this certain encrypted registry value, and if it's not there - to close the app.
However, what is to stop a person from copying and pasting that registry value to another machine - and thereby allowing the application to run on another machine? Whether or not they are able to read and understand the registry value, if they can copy and paste it anyway (regardless of the fact that they cannot understand it) then the value might as well not be encrypted.
I want to give my app to someone to use for a couple of weeks for testing and I want to prevent their copying the Debug folder contents to other machines. Is it possible to completely 'hide' a registry value?