What is the best way to secure desktop software?

My company created a desktop application that will be licensed to other companies, on a per user basis. Does anyone have any ideas on how to set up security on this so that the user can't copy it, and send it to other people? And also so that I can verify login creditials.

Here are some ideas I have heard, but don't really know anything about them:

1. Distribute thumb drives to each user that the user must have to login to the software
2. We have a website, so somehow connecting the application to check login credintials through the website.

Any other ideas, or help with the ones listed above, would be greatly appreciated.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Éric MoreauSenior .Net ConsultantCommented:
what I don't like about item 2 is that if you are on the road or simply if your web connection is down, you won't be able to use the application.

have a look at http://www.emoreau.com/Entries/Articles/2007/12/Licensing-a-VBNet-application.aspx

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
tiehazeAuthor Commented:
Do you have anything where the source code is in C#? I think I accidently posted this in the vb.net section.
Éric MoreauSenior .Net ConsultantCommented:
>>Do you have anything where the source code is in C#?

Sorry but no. If you add ; here and there, it should work ;)
tiehazeAuthor Commented:
Has anyone ever imlemented SecurID? If so, is this an option I should consider?
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.