Hi All, I'm following this discussion with interest because I have had - and still have - the same problem. I also tried the solution of using a masquerade DLL saved in a shared folder. In fact I had three 'hidden' traces that all had to be compatible before the app would run properly - a masquerade file, an encrypted registry entry and (because the app used an embedded database) encrypted stuff in the user details of the table of users. This allowed me to control quite precisely what to do if users started playing around or the time ran out on various stages of their trial period or license period.
In the end I removed the masquerade file, for several reasons. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ First, I tried out the 'security' with one of my children who explained (with that resigned, patient, long suffering tone reserved for when parents do daft things ;-) ) just how quick and easy it is to use Windows Search to find new files that are copied or created when a new application runs. It was the first thing he tried when the app wouldn't run after reinstalling. And he found the spoof DLL. And deleted it. I even tried changing the date on the file using FileAttr but that didn't help. Also it became too hard to manage the infrequent, but reasonable, need to deal with users who don't do the obvious things. For example one point of using a hidden file is to deter users who uninstall the app in order to reinstall and get a whole new trial period. But what about users who trial a product, decide they don't like it, uninstall it then (legitimately) change their mind? Maybe their needs change, maybe they like the new widgets in version 1.1 - lots of reasons. Then they can't install because there is a hidden file stopping them. There is a way around this by writing another hidden file ... and maybe another ... but believe me, that way leads to some messy code trying to deal with all the possibilities. Then there are the users who want to change their PCs or HDDs and need to reinstall their apps. (This might or might not cause you a problem, but it might if you record license periods in the hidden files). .. or users who were kind enough to beta test an app and now have litter lying around on their HDDs. Again, You have to put yet another hidden file in there to make the release version work. There are some organisations which follow strict policies about where users are allowed to install files. In one case I had a user who had to call IT support to install the app because the PC was set up in such a way that it wouldn't write files in shared folders because the user didn't have authorisation. Of course the IT support was curious (very curious) about why the app needed access to parts of the folder tree that on the face of it were nothing to do with the app. Thought I was up to no good. I read: http://www.inner-smile.com/nocrack.phtml which IMHO is an essential starting point. But he does say: "Often heard and read: "..give it a DLL file name and store it in the System directory." Too often heard, don't use it. ;-)" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ So I still haven't found a solution that I'm satisfied with and eagerly wait for more good tips ... Regards to all Rob _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

