Preparing an Application for Sale

  • Thread starter Thread starter David A. Schramm
  • Start date Start date
D

David A. Schramm

Is there a good book that describes how to create a good setup program and
implement licensing for a .net application? Thanks.
 
Good question ^_^
Anyway:
- Setup: if you have VisualStudio you could create Setup project, otherwise
you could use InnoSetup.
- Sales: You could use Paypal (plenty of C# sample), unfortunately Paypal
doesn't seems to be a real good solution and I would advise you an option
with less sample: http://www.eSellerate.net
If you wait 2 month I might even put a sample on CodeProject :-)

Anyway, what's your software?
 
David said:
Is there a good book that describes how to create a good setup program and
implement licensing for a .net application? Thanks.
Lloyd already answered the setup/installer part (there are so many ways
to do this and so many apps that do just this...)

As for the licensing, I doubt you'd find a book on that. However, I bet
google will give lots of relevant results. Coding a good protection
isn't necessarily easy. There are many ways you can go about it, but
eventually you get into some pretty complex stuff (cryptography,
obfuscation, hidden checks, online checks/activation, etc). It comes to
a point where if you want to write a protection that won't be broken
easily, you may end up spending a lot of time at it - then it's your
program that's compensating (less new compelling features which is what
sells the software in the first place)... Even major corporation's
products get pirated, and they don't seem to have "the answer" to that
either... If you don't have the experience/expertize or that you'd
rather spend your time coding the actual app instead of the protection,
there are 3rd party "licensing" components you can buy too (for a fixed
price or a portion of the sales).
 
To truly protect your code you should do or implement at least all of these
things:

1. Obfuscate your code using an industrial-strength obfuscator; like
dotFuscator from www.preemptive.com

2. Implement an industrial-strength licensing system, like the one from
Desaware: http://www.desaware.com/products/licensingsystem/index.aspx
They also sell a good eBook on the topic of obfuscation.

3. Implement logic in your code that has public server components or members
verify the identity of calling components. The server components would
basically fail if/when the caller is unrecognized. This means everything's
gotta have a strong name.

Doing anything less than all 3 of these things and you might as well not do
any of them.

Remember it's an economics game.

-HTH
 
Back
Top