Hi Cadyn

Your suggestion does seem an improvement over my initial idea. 
However, I'm not sure how it would work on a network regarding 
licensing. Wouldnt it mean that each user would have to register the 
software?

Thanks
Pete

--- In [email protected], [EMAIL PROTECTED] wrote:
> Hi Pete,
> 
> A while back, I pondered all of these questions and more, though 
my application ended 
> up using a different copy protection method, I can give some 
advice with regard to the 
> basic copy protection design: 
> 
> - Use the HKEY_LOCAL_MACHINE key when putting data in the 
registry. Most 
> applications are bought on a per machine basis, with the logic 
being that no matter how 
> many users the machine has, only one of them can use it at any one 
time.
> 
> - Do not just store your timeout information in a .INI file. 
Rather store it in both the .INI 
> and in the registry. This gives you two points to compare. (I.e. 
To check if someone is 
> trying to extend their timeout period)
> 
> Copy Protection Check
> - Check registry for "FirstRun" flag
>       - If the flag is not found, create the .INI, and set 
additional registry keys
>         (e.g. timeout)
>       - If the flag is found, check if the .INI exists
>               - If the INI exists, compare the timeout value in 
the INI to the
>                 timeout value in the registry:
>                       - If they are equal, exit check
>                       - If they are not equal, set the timeout to 
zero (Disable app)
>               - If the INI does not exist, merely recreate it 
(using the timeout from
>                 the registry. Or, you may choose to disable the 
app here too.
>       - When done, update the timeout.
>       (I.e. Lower the value if enough time has passed)
> 
> I went a bit further with the above strategy, using two points in 
the registry which are 
> encrypted using different Keys. If anything doesn't match up, the 
application is 
> immediately disabled. It's up to you as to balance how secure you 
want it with how 
> much time you wish to spend on it.
> 
> Good luck.
> 
> Regards,
> Cadyn Bridgman
> 
> On 2 Jun 2005 at 19:39, petesouthwest wrote:
> 
> > Hi
> > 
> > Firstly please excuse the disgusting length of this post, and 
thanks 
> > to those that read it all!!
> > 
> > I read with interest everyone who has replied to my earlier 
posts, 
> > so thanks everyone!
> > 
> > I must admit however to being confused over some issues, 
> > particularly register keys, possibly as the conflicting 
information 
> > regards different OSs and environments?
> > 
> > Can I just clarify some issues?
> > 
> > The app I am working on is intended to be installed by Network 
> > Support staff in colleges and used by teachers. The app is a 
`try 
> > before you buy' that functions for 21 days before requiring a
> > code to license it. When the app is first run, if no key is 
present, 
> > it generates a code  that will expire in 21 days, that code is 
then 
> > saved in the newly created registry key. We can then use the 
OnGuard 
> > components to generate a code that uses the school name as a 
> > modifier, that maybe used to `unlock' the trial version by a
> > user.This may not be hacker proof but is a deterrent for most 
> > colleges, at least the ones I've worked in! 
> > 
> > The users rarely have anything except basic privileges and would 
> > certainly NOT be admin. The networks maybe anything from win98 
> > onwards. I was assuming that the easiest way for network staff 
to 
> > install my app would be as a package and assigning it to groups 
of 
> > users if the OS had ASD. This I believe would result in the app 
> > being installed locally when it was used by the teachers. I have 
yet 
> > to consider other OSs.
> > 
> > In this scenario what register keys could my app use? Would it 
be 
> > able to use anything in HKEY_CURRENT_USER and/or 
HKEY_LOCAL_MACHINE?
> > 
> > It has also occurred to me that if the app is installed locally 
and 
> > I store the release key in the registry that it would require 
> > licensing by each person using the software or on each machine 
that 
> > it is used on (depending on registry key?). 
> > 
> > I would prefer that my app could be licensed by anyone using it 
for 
> > the entire site. However, I'm unsure of how to write my code to 
> > achieve this.
> > 
> > The above assumption and associated problem has made me consider 
> > suggesting that the software is installed on a shared drive, 
with 
> > shortcuts being placed on the users desktops.  Rather than 
storing 
> > the release code in the registry, it could be stored in an ini 
file 
> > in the apps folder. This however makes it really easy for people 
to 
> > delete the ini file that would result in my app thinking it was 
> > being run for the first time and giving another 21 days trial. 
> > 
> > So how about this:
> >  
> > look for a registry key 
> > if the reg key is not there then 
> > // the app hasn't been run on this machine before
> >   begin 
> >   create the reg key
> >   if the ini file exists then
> >     read and use code
> >   else 
> >     begin
> >     generate a release code that will expire in 21 days from now
> >     create ini file
> >     store code in ini file
> >     end
> > else // the key is in the registry so the app has run before
> >     begin
> >     try to read and use the code stored in the ini file,
> >     end
> > 
> > The incoreect code or a missing code would then result in the 
trial 
> > ending.
> > 
> > Hmmm my heads spinning but that seems to be sound in my mind.
> > 
> > Any comments appreciated.
> > 
> > Thanks for reading down to here! ;)
> > 
> > Pete 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > -----------------------------------------------------
> > Home page: http://groups.yahoo.com/group/delphi-en/
> > To unsubscribe: [EMAIL PROTECTED] 
> > Yahoo! Groups Links
> > 
> > 
> > 
> >  
> > 
> > 
> > 
> > 
> > 
> > -- 
> > No virus found in this incoming message.
> > Checked by AVG Anti-Virus.
> > Version: 7.0.322 / Virus Database: 267.5.0 - Release Date: 
2005/06/02
> > 
> 
> 
> 
>   ----------
> 
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.322 / Virus Database: 267.5.0 - Release Date: 
2005/06/02
> 
> 
> [Non-text portions of this message have been removed]




-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/delphi-en/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to