Evaluation Copy of Product for 30 days !!!

Hi Gurus,

I am developing a standalone DeskTop product which is now almost finished. There is no database is used for product.

I want to deploy this product as a free eveluation copy for the first 30 days.
And I want to make product disable after that and keep on prompting for that purchasing it.

I do not want to store the date of Installation as a benchmark for 30 days. It is possible that user may change the system date and use the product.

One more thing, I also do not want the User to Uninstall and then Install again the Software and Use it after eveluation period.

I know this is bit tricky question, but i m sure u guys will definetely help me out !!!


Thx
Anand

LVL 1
anand2kAsked:
Who is Participating?
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.

GrahamSkanRetiredCommented:
All methods involve hiding something on the user's system. Encrypted data somewhere is the registry is favourite.
To overcome clock setting, you'll have to use some soort of decrement count.
If you don't wat to do-it yourself , you could try this (it's free):

http://www.activelock.com/
0
juliancrawfordCommented:
The registry is the most common way, but someone with a bit of a clue would take a registry snapshot prior to installing the software - then another after the install - then another after the 30 day period - easy to see what key is where - just delete the key and reinstall and you have another 30 days.
0
zljkCommented:
Hi,

As other posters said, storing something on the user's system is a general solution. In a bit more details, you can do this:

- Encrypt data and duplicate it in several places - a few places in the registry, ini file in system32 folder, file in the documents and settings\user folder, etc. If data in any of these places doesn't match, you'll know user has tampered with the file.
- Do not rely on system date. Instead, remember when the user last time used the application, and if the date is different than the last one, increment a counter. When the counter reaches e.g. 30, you do whatever you want to do when evalutaion period expires.
- Insert checks in several places - application startup, menu click, application close, somewhere in the middle of the business process. Hacker might find only one of these places.
- DO NOT write a function that does anything related to protection mechanism. Wherever you do any of these things, COPY and PASTE the code. This will make reverse engeneering more difficult. If u use a function, hacker can disable all protection code by disabling the function.
- If you detect that someone has tempered with the values you stored on the system, DO NOT react immediately. Postpone reaction for some time. Hackers will have harder time detecting where is your protection check.
- Do not insert symbolic debug info in the application.
- Compile to native code and optimize for fast code, or don't use optimization.
- Do not use any third party components.
- Finally - whatever you do, you are not making app impossible to hack, just making that job more difficult.
0

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
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
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.