Solved

How to license a VB product for distribution on CD

Posted on 2003-11-13
21
292 Views
Last Modified: 2010-05-01
I have a product that uses active lock. My purchase form accepts the product code and after a purchase is made, i email out the registration code for that product code. I have now been contacted by a distributor who wants to bundle it with their CDs that they sell.
 
How I can modify the current licensing for this?
 
The only idea I have is:
The distributor bundles the trial version on their CD. The distributer enters the email address/serial number of buyer on a web based form that I create for them. The buyer then comes to my site, authenticates himself by entering the same serial number/email address, enters the product code (gnerated after installing the trial version on CD) and gets registration information. This way I can keep a tap on how many copies are being sold and can charge accrodingly. However it does seem very painful for the CD distributor who has bulk replication facility and will have to provide me email or serail number for each CD.

Any other idea? Any professinaly available licensing options can help handle this ( sorry but I am new and not aware of many options besides activelock) ?

The answer is probably simple for someone who has experience...and even a reference to a professional company is acceptable. I am giving this max marks since its imp to me.

Will appreciate help on this...
0
Comment
Question by:sambha03
  • 9
  • 5
  • 3
  • +4
21 Comments
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 9743049
(Listening) ...
0
 
LVL 1

Expert Comment

by:atp_expert
ID: 9747085
One solution, u need to hv a application 2 generate the serial key.  During the installation, create a random number. Ask buyer to send the random number to you.  Feed the random number to ur standalone application, to get the serial number. This serial number becomes the installation key for the application.

The installation kit should also churn out the same serial key. (This is possible when, the stand alone application and installation kit shd hv the same algorithm so that serial key matches.)
0
 

Author Comment

by:sambha03
ID: 9750450
Thanks, however thats the same system I have right now (serial key is the registration code and the registration number is what I call product code). The point is how do i authenticate that the person typing the registration number and wanting the serial key for it, is someone who purchased the CD from the distributor and not someone who donwloaded a free trail version and wants to register it? Any alternatives to this mechanism ?
0
 
LVL 9

Expert Comment

by:Valliappan AN
ID: 9751910
You might request the dealer to mail/call you for the serial key. You might code it with a time limit and no. of user licenses.

Does it make sense?
0
 

Author Comment

by:sambha03
ID: 9752001
Not exactly what I am looking for. Perhaps I have not done a good job in explaining my issue here. Let me try again.

I already have a trial version. It generates a product code after installation. At the time of payment I ask for the product code for which the user wants to pay.  I then email a registration code for that product code.

Now this distributor wants to bundle a full version on CDs that include a lot of other registerd software. He is a mass distributor...may give the CD to retailer who may sell it further. So the distributor does not know the end customer always. The end customer sends me the product code ( this time they have not gone thru my payment mechanism but have purchased the CD at a shop). How do I authenticate that this user is someone who bought a CD from my distributor and not someone who downloaded a trial version from web and has not paid for it yet. I do not see a good way of doing this kind of CD sales with my current licensing mechanism. Anyone has any ideas?

PS: The distributor also has some end cusomter sales, where I can ask for some customer information to authenticate the user. But again, this looks like something that would be too painful for the distributor. What are my options here?

My product is v cheap and the sales i m looking at are not much...so please advice some cheap solution.
0
 
LVL 9

Expert Comment

by:Valliappan AN
ID: 9752164
How does your payment mechanism work? Does it handle customer's email ID also?

0
 
LVL 7

Expert Comment

by:Z_Beeblebrox
ID: 9752190
Could you produce two different versions of your software, that produce similar but differentiable product code, like trial versions start with 1 and full versions start with 2 (but maybe less obvious), that way you could tell when they give you the product code which version they have.

Zaphod.
0
 

Author Comment

by:sambha03
ID: 9752191
Currently yes. I ask user for email address and product code. But like I mentioned the distributor may/may not have access to it.
0
 
LVL 9

Expert Comment

by:Valliappan AN
ID: 9752231
Then, you might send the code to both distributr and customer by email, or to only one as the case may be.
0
 

Author Comment

by:sambha03
ID: 9752394
First let me thank all (valli_an,Z_Beeblebrox,atp_expert....)

We need to look at practical issues here. Lets say you bought a CD from a shop. Now you install it and it generates a unique product code on your computer. Then you  send me the product code for registration. I can detect from product code that it was a CD so I send you registration code . Now supposing you give the same CD to another user. It will generate another unique product code on the second users computer. If the second uses emails me his product code , I will have no way to determine if it is a paying customer.

Though my current licesing mechanism works well for web sales ( to direct consumer), I do not think it would be appropriate for CD sales where CDs may go to retailer.. I am pretty sure ppl use soemthing else for licensing on CDs......if anyone has any ideas ( any modifications you can think to current mechanism)...please go ahead and write them in ...lets discuss.

Thanks for all the ideas/help till now....
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 7

Expert Comment

by:Z_Beeblebrox
ID: 9752462
If you require the user to register with a valid e-mail, and provide his name and stuff, chances are this will discourage the majority of casual pirating, because they wouldn't want to identify themselves for fear that you might track them down. This is the scheme that Microsoft uses with their product licensing, and as far as I know, it is the most successful scheme that does not involve the product calling home everytime it is run. If you were willing to implement a call home scheme, then what you would do is have the distribute put a unique CD key on every CD they distribute, it doesn't matter what it is, maybe even the key for another of the products. Then, you have the user enter that key into the product, and then everytime it starts up, it sends you the key along with a code generated based on the hardware of the machine. If you get two call ins using the same key and different hardware configurations within a short period, you know something is fishy.

Zaphod.
0
 

Author Comment

by:sambha03
ID: 9752477
Thanks Z_Beeblebrox; How abt if someone copies the software, places it on the web. Then the whole world might start registering and i'll be handing out registration codes for free? Sorry, if I am not getting something...I am new to licensing and this is my first product. I dont like the idea of a call-home scheme. Is there any professional company that manages CD licensing/provides licensing software etc?
0
 

Author Comment

by:sambha03
ID: 9752478
Thanks Z_Beeblebrox; How abt if someone copies the software, places it on the web. Then the whole world might start registering and i'll be handing out registration codes for free? Sorry, if I am not getting something...I am new to licensing and this is my first product. I dont like the idea of a call-home scheme. Is there any professional company that manages CD licensing/provides licensing software etc?
0
 
LVL 7

Accepted Solution

by:
Z_Beeblebrox earned 500 total points
ID: 9752634
Ok, how about this.

You have a unique CD key sent out with each CD. When the user registers, they must provide the CD key, along with a key that is generated based on the computer's hardware. You then provide them with a license key that only works on that hardware. This way, you will only provide one license key per CD key, and that license key will only work on one machine.

Zaphod.
0
 

Author Comment

by:sambha03
ID: 9752657
Z_Beeblebrox: That sounds excellent idea to tie up license key with CD keys. I'll check with distributor if they have some CD keys/serial number on their CD. This way they just need to provide me the CD serial numbers that have been sold with my product. It helps me keep a check on how many copies are being sold by them also. It is reasonable to expect a mass distributor of many products to provide you with serial numbers right? Most CD distributors shoudl have atleast some number/unique key with each package right?
0
 
LVL 7

Expert Comment

by:Z_Beeblebrox
ID: 9752682
If the distributor puts CD keys on the CDs, then I think it would be reasonable for them to provide you with that list, or for them to allow you to put your own CD keys. As for whether they will put a CD key at all, it depends, most major software retail CDs have CD keys, but I am not sure about packages like you describe.

Zaphod.
0
 

Author Comment

by:sambha03
ID: 9752695
Zaphod: Sorry to bother so much. Could yuo advice on how I can put CD keys? I am supposed to provide the distributor with an installable that he can copy and send to his mass replication facility. Any ideas here?
0
 
LVL 7

Expert Comment

by:Z_Beeblebrox
ID: 9753028
The CD key must be printed and stuck on the CD case or documentation, you can't include it in the installation package, because the installation package will be the same for everyone.

Zaphod.
0
 
LVL 1

Expert Comment

by:gideonn
ID: 9754682
{Listening...}
0
 
LVL 5

Expert Comment

by:dc197
ID: 9814268
I generate a 32 byte code when my software is installed.
I hash the PC's hard disk serial number and on first use send this hash and the 32B key to my site, I combine the two and produce a third key, this is saved.  Each time my program starts it checks the serial number.  Different?  means keys are being shared.  It also performs the same hash on the two keys as my site does.  Different?  Does not run.

For you I would use this method.
I would supply a slightly different version of your program on the CD that produces a 32 byte key that always contains a given string, or alsways starts with the same numbers, or always has the same check sum.
Then when your program is first run it will call home ONCE to get the key, your site knows that this product is a paid-for version and does not charge for the key.

0
 

Author Comment

by:sambha03
ID: 10108590
My deal dint wrk so wont be needing this :-(
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

759 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now