Thomas
Thomas

Reputation: 34188

how to make trial version of win and web application in .Net technology

how to develop a trial version of window or web application in dotnet technology. as a result user can use that windows or web apps for certain day and also will not be able to use after resetting his system clock.how could make this type of trial version both in window and web. please give me the concept in detail.

thanks

Upvotes: 0

Views: 5208

Answers (3)

AbrahamJP
AbrahamJP

Reputation: 3430

It all depends on how critical your software is. In order to make a trial version of a web app, you could incorporate the following mechanisms.

  1. Obfuscate assemblies - This prevents users from decompiling\reverse engineering your code and looking into how the trial version logic is implemented.

  2. Release different versions -Maintain two different versions of the product i.e. Full version and a demo version, by using compiler directives. This prevents the trial version from being cracked.

  3. Limit features - Say if its a payroll application, limit the number of users, say something between 10 or 20. Suppose if its a BI app, then embed watermarks on generated graphs and reports. Next what you could limit the number of logins per day or put restriction on major features from being used more than a specific number of times per day.

  4. Configuration Storage - Store trial version counter related data in a encrypted file and keep the hash of that file separately. Each time after writing to the file update the hash and also verify the hash before reading from the file. Also make sure the trial version configuration file's creation date is same as that of any other program file, so as to prevent it from being replaced with a new one, so as to reset the counters.

Here are couple of links from SO on this same query.

  1. Implementing a 30 day time trial

  2. https://stackoverflow.com/questions/981294/copy-protection-tool-to-limit-number-of-units/2025926#2025926

Upvotes: 0

KeithS
KeithS

Reputation: 71563

The usual way is a registry key, or set of same. You keep track of the install date, and once it's passed without the user entering a key, you set a flag saying the time's up. You could also track individual uses; after 30 "starts" it gets locked (preventing workarounds involving changing the system time). A knowledgeable person can always hack such an implementation because they can access and edit their registry, but it'll keep 95% of your users honest.

The most foolproof way requires a web service, which means the app requires an Internet connection to run (no problem if it does anyway, but you might have trouble convincing your users that a notepad app need internet access). The app will call the service on installation to say it's been installed on the current date with a given license key (or a default "trial" key) and ask for a GUID identifying the installation. Then, each startup, it will ask another service if it's allowed to run. If you expect your app to be popular, you'll need some serious hardware behind the scenes as the service will be hit every time any installation starts up.

Upvotes: 2

bratao
bratao

Reputation: 2070

One way to accomplish it on Windows it to encrypt the installation date in the Registry, and check the date of Latest Log in the System.

This way reseting the clock gives no effect.

Upvotes: 2

Related Questions