Hi Albert thanks for your suggestions, which I am now well on the way
through. To be more specific I want to distribute and instal an MDE
application together with fonts. I found installers with licence key
security, but once the programs are unpacked they lose their
protection. Hence I am looking for a licence key feature that I can
build into an MDE file.
What I do is build a small text file (named .dll to confuse users). I then
simply put in the name of the company into this file. (along with check-sum
routine with some cool math in it...so if you modify the company name..the
license key will fail).
Now, in large friendly letters in the about and start-up screens, and on all
reports the company name appears.
The above idea really depends on how the software is going to be
distributed. I rolled my own "key" system which was less then a days work.
While the code base does not need to be changed, I do in fact generate a
related .dll file for each customer. The install thus does NOT even requite
the users to enter the customer info (as I done that for them!). (users find
all that stuff a pain anyway).
So, the downfall of this is that I have to enter this stuff for each
customer. I am VERY close to changing this, as I want larger (and easier)
distribution here.
I will say that the beauty of this system is that the install is easy easy
easy. And, employees can thus steal (copy) the program when they move on to
another company. (they don't have to write down some serial number key etc).
Just pop the disk in, and install. (actually, I am using the web in addition
to CD's to provide the installs to customers).
Often, that other company the employee moves to is a competitor. And,
having the company name appear on reports, and also the company name shows
on the main form also. You VERY quickly find that the employee is going to
his/her new boss asking for my application to be purchased. I need this
great program that I used when I worked at such and such.
I cannot stress how important the above is. I know for a fact that 5+ copies
of my application this year have been sold on the above scenario (and, I am
talking 5 different companies). If a person can easily copy the application
and use it, they will. (so, let them!!!).
I always been amazed at how much copied the office97 disk was. Many
companies I did work for had one copy for 30+ machines. Thankfully, virally
ALL of the customers I now have (and including that one that copied office)
are now all on legitimate versions of their software (and, virtually all of
them are now office 2002 or later and windows xp). I think these companies
simply felt a bit guilty, and further the newer licensing systems that MS
uses really helped. Further, most companies that have any success want to be
viewed as legitimate. How can you encourage honest behavior when you got
pirated software all over the office? So, most companies are quite good, but
you a little "bit" of encouragement for them.
So, make your install very easy, but bond a name to it, and dispense even
with a serial number key. However, the above type approach is good up to
about 100+ customers, after that, you will want an approach that scales
better (ie: no new work for each copy sold). And, I suppose it depends on
the kind of software. My events manger software is VERY sales orientated
system with CRM built in. And, sales reports in terms of dollars sold etc do
have the company name appearing on the top of each report. (hard to use that
in another company meeting!!).
If your product was some type of editor, or graphics system, then users
might not mind using something with another company name on it since no one
else will really see this fact. (again, depends on the type of software you
made). However, you did desing it to operate with differnt company
names...right?
So, I think the kind of approach you choose is much going to depend on how
many copies you plan to sell, and what kind of software, and the target
audiance.
I like my current approach, but this approach of mine does currently requite
user interaction on my part to build the license key.