Solved

Shareware product key

Posted on 2004-10-15
4
206 Views
Last Modified: 2010-04-23
I have written an application that I would like to distribute as shareware.  I am totally new to this.
I would like to create my own activation code.

Is there any standard information to include in the code?
Example:
When the person pays money, I am planning on giving a year of free updates.  The expiration date for their updates would be something I would want.
I am considering including a number to check the name in the "registered to" box (so they cannot transfer the registration to another person).  Is there a downside to this strategy that I am not thinking of?

Are there more pieces of information that would be good to include?

Also, I am guessing that this information should be encrypted.  I would like to build a code generator in ColdFusion (a web language) so I would not have to be involved.  Any ideas for a plan for this end of things?

Thanks in advance,

Matthew
0
Comment
Question by:M256
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 10

Expert Comment

by:Hans Langer
ID: 12320658
Hi,
what happend if the user register the key in 2 different computer ? if can do that then he can give his key to anybody.
0
 
LVL 8

Expert Comment

by:bramsquad
ID: 12321076
it sucks for developers, but the bottom line i think is, and what youre going to find is that if people really want your software for free, thell get it.

as far as the date thing is concerned, you could either encorperate it into the serial, or just keep a log or database of registration names with dates registered......this way, if you did an online update, you could have them put in their reg. name, it would query your db, and return successful if the date was within a year.

in my opinion, you might as well just hardcode a serial in, i think it would be a lot more cost-time effective.  you could spend a lot of time designing an algorithm for something which may or may not increase your revenue.

~b

0
 
LVL 5

Author Comment

by:M256
ID: 12321667
Thanks for the responses folks.
I understand that anybody could rip me off.  I'm OK with that.

bramsquad, what do you mean by "hardcode a serial in"?  Would it be imbedded in each copy of the software I sell?

However, I think this is a little off the subject.  I meant to ask how most people create a product key (serial code?).
Is is just a random string that has a check at the end to verify it hasn't been tampered with?
Or, do they encode information in it?
If the second, what information do they encode?

Matthew
0
 
LVL 8

Accepted Solution

by:
bramsquad earned 500 total points
ID: 12321899
what i was talking about with "hard coding" a serial in, is mainly creating a string of characters which will give your users"full access" to the program.  

you could have your trial version for distributing, and when they send you the money you could send them a key to "unlock" the software.

this key could be hardcoded in, something as simple as

Dim ProductKey As String = "ASEF@Q#$RW#G%ASDV" '<-- or whatever you want
if Me.txtKey.Text = ProductKey Then
  UnlockSoftware()
end if

now if you were to choose to place the date in there, you could just write a small program which would create a key, and extract the date value from the key based on whatever algorithm you choose.

for example, todays date is 10/15/2004, if you wanted to incorperate that into a key, you could do something along the lines of

        Dim Gibborish() As String = {"AE$#", "EFG6", "876D"}
        Dim TodaysDate As Date = Now()
        Dim Key As String

        Key = Gibborish(0).ToString + TodaysDate.Month.ToString + _
              Gibborish(1).ToString + TodaysDate.Day.ToString + _
              Gibborish(2).ToString + TodaysDate.Year.ToString

        MsgBox(Key)

you could be more creative, but i think you get the idea.  as far as any other info, im not sure what the company would want in the serial.....i know that some programs have the serial depend on the user name....not sure why, but some do.

hope its a little more clear

~b
 
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question