Hi All The way I do it in the schools where my software is installed, it that they use MSSQL for the database and when first install the program by the administrator they have to put there School name in the registration screen then the unlock code
This is then encrypted into the MSSQL database with their school name, the expire date (a year from this date) and 4 checksums and a lot of extra characters all mixed up, Then when the program is run from any pc, while the splash screen is running, the program looks at the MSSQL database. gets the encrypted text and looks at it, if the date is over the expire date then the program will stop, (it checks 7 before and lets the user know) as they use dates in the program for logging calls, Software Library, Stock etc, they don't change the date on the PC, and when the run the splash screen it shows their school name, and the school name is built into and shown in all the reports would you like someone else's school name on your program my 2 bobs worth Steve -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Behalf Of petesouthwest Sent: 02 June 2005 20:40 To: [email protected] Subject: [delphi-en] licensing strategies for networks? 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 ----------------------------------------------------- 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/

