How do I create an automatic 30 Day trial period?
How can I increase the security of RedRegistration
Where is the registration information stored on the customer's system?
Does the NumberUsers property restrict many users from the same company using a single license?
3. Is RedRegistration Y2K compliant?
Are there any restrictions in using RedRegistration in a commercial software package?
If the user information is not found when a call to LoadRegistration is made, then LoadRegistration returns FALSE, and registered returns FALSE. The determination of a fresh installation would depend on your implementation of it.
On installation, run a routine that automatically creates a demo registration code and adds it to the user's registry. Now when the program is loaded, LoadRegistration will return TRUE, and will be in the demo mode.
Creation of this code can be either one, or both of the following
restraints.
1) Expiration Date, which can be computed in the following manners:
a) Date of the file (setup.exe) + 30 days
b) machine date + 30 days
c) modified date on the user's registry (user.dat, system.dat) + 30 days, etc.
2) Number Uses: A fixed number of times allowed to run.
As a further safety measure, I would recommend writing to the registry, or to a file buried in the system directory, a stamp. This stamp would indicate that a successive installation of your application should not create a registration code automatically. This way if the user deletes the registry information, and/or reinstalls, no additional codes will be created.
Now if you ever get a FALSE from the methods LoadRegistration or Registered, then display a nag screen, stating that they program will not run. Give them an opportunity to enter a registration code. Unless they register, it will not run.
The biggest problem is that an expert user will be able to find these values, and after learning the process may be able to make changes. An even larger threat are hackers that will figure out the storage mechanism, and then post ways around it.
In order to increase the security of your program, I would recommend shadowing all of the restriction elements: ExpirationDate, NumberRunTimes, NumberRunTimesSpent, and NumberUsers. These key elements are stored in an encrypted state in the registry. If these values are hidden by the developer, then there can be no generic crack for RedRegistration, as each developer will implement their shadowing differently. If you compare your shadowed value to one that RedRegistration returns, and get a different number, then it should be considered unregistered.
The expiration date is a hard set date encrypted in the RegistrationCode. If your registration code contains the expiration date 05/01/1999, and you install the registration code with your date set at 05/09/1999, then RedRegistration will tell you that your registration is invalid, due to expired date. NOW: If you set your date back, when it comes to 05/09/1998, then RedRegistration will continue to think that it is valid, and will return registered.
The Number of Runtimes is available to limit further, and a combination could be used. Ex: Expires 05/09/1999 or after 300 uses.
Now it is possible to defeat the Number of uses, but it is more difficult.
If you use the "SaveRegistration" method to save it, then it is stored in the registry, under the key :"HKLM\Software\RJ Designs\RedRegistration\KeyName" where KeyName is the name you specified in the save method.
You are free to implement your own method of saving. Save/Load Registration methods are quick & simple but not necessary.
This is a way of returning the number of users allowed. The implementation would still have to be done, this is just a secure way of setting the value.
Example: Our Point-of-Sale program is valid for 1-100 users, with 5 user increments. It is the same source. I test the value of the property NumberUsers on initialization, then add an active session to the database. If the number of current sessions is greater than the NumberUsers, then I display a dialog box that says that the "Number of workstations has exceed your license.", then exits.
Otherwise the program continues.
This would not prevent multiple uses, unless you maintain an active user's session in some method. The most common is a common database.
Yes, but it would require your programming. The rights property is extremely useful, since it allows 254 characters.
For Example, Consider the CALC demo.
Rights for standard calc would be: CALC
Rights for Scientific calc would be: CALCSCI
Rights for Accounting Calc would be: CALCACT
Now you need to test Registered 3 times, in a loop by setting the RIGHTS prop to each of the 3 possibilities. If any are a success, then you know what rights to enable/disable. A user upgrading needs just a new REGCODE, and the new features are enabled.
Yes. Note: Since there are no runtime requirements, RedRegistration is not affected by the MFC42??.dll Y2k error that is still out there.
No restrictions. Once a developer registers RedRegistration, they will receive their unique registration code. This 1 code can be used as many times (provided that it is in conjunction with the developers project. Ex: Can not be given out to other parties, that would be a violation of the license), and in as many products. These products are expected to be commercial products, since this would prevent these commercial products from being "SHARED", "STOLEN", etc.
The main reason is that
Access 97 does not fully support ActiveX controls. It has a very limited
subset. I would recommend using the reference method. To do this, click on
tools, reference and check off RedRegistration v2.0.
See the help file under
Overview->Using in Microsoft Visual Basic -
Reference method for further information on this.
| © Copyright 1998-2005 RedBaron Consulting, LLC. |
RedBaron Consulting, LLC.
|
| Purchase RedRegistration |
P.O. Box
335
|
| RedRegistration Home Page |
Keene, TX
76059 |
| RedRegistration FAQ | |
| What's New |