How to Create Trial Version of .Net Software

How to create trial version of .NET software?

The "trial" status is a relatively fuzzy concept. It would be hard to specify it so precisely so that a "tool" can be built for it.

What option?

Locally installable software:

  • Legal restriction. Full functionality is give right off, but the user should willlingly stop using it after the trial period is over. Basically, protection by trust (for private users) or protection by legal prosecution (for company users).

  • Restricted functionality. Users can download a lite version. Whenever they decide to come to the full one, they request some license key that unlocks the rest of the functionality. Alternatively, you provide a secret download link for a full version. Even better, if you create watermarked binaries so you can track unauthorized usage/distribution to its source.

Web software:

  • Trial or full is a matter of activated features in the users account. As all users access the application via web, nobody has the software copy to install it in an unauthorized way. Each users works with their own account and has access to only features which are granted to them.

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

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.

Need help for making Trial version product in .Net technology

This step is often delegated to 3rd party tools, such as NET Reactor or Dotfuscator.

Those tools (and others) will not only obfuscate your code, but can also support various degrees of licensing protection.

For instance, NET Reactor will let you specify timeouts, or number-of-times-run to expire your application. You can then distribute license files to unlock the app for another period of time (or permanently).

Dotfuscator has some fancy features where your app can report back to your server when it is run, when exceptions occur, etc. allowing you to get an idea of how your app is behaving in the wild, in addition to supporting various licensing models.

Of course, your customers may or may not like the idea of the app 'phoning home', but the tools are out there if that's what you want.

How can I make my product as a trial version for 30 days?

You could have another registry key that you increment after every day's use. That way, even if they change the computer's date, this key would indicate to your program that it's been running for > 30 days.

Additionally, this value could be encrypted so that if the user tries to manually change it, the program can refuse to run because it was unable to decrypt the value and get a valid number out of it.

To get around reinstalls, you could add some information to any file saved with the trial version of your app which is unique to that specific version of the app (perhaps a timestamp from when it was installed). When a trial version of your app tries to open a file, it will check this signature and ensure that it was created with that same instance, otherwise refuse to open the file. This essentially neuters the ability to simply reinstall the app and continue using it.

At the end of the day though, the user has complete control over their machine and can probably find a way around whatever it is you want to do (short of accessing a web service where these details are kept before you let the user use the app). You probably shouldn't expend so much energy trying to stop the guys who are willing to go through this extra trouble, but instead spend that extra time/money/energy improving the app for those who are willing to pay.

Create 30 day Trial Version

There is no way, which is one hundred percent reliable. You can query online website for current date, and users will reverse the requests with network sniffer and spoof the server. You can compare most recent temporary file date to detect clock rewinding, but it might cause other issues. You can do something else, and users will patch your code to remove the protection.

Do it the way that makes sense to you, still without having an obsession around it. Your code will stay hackable anyway. You will be better of reasonably pricing it so that hacking makes no sense.



Related Topics



Leave a reply



Submit