Desaware Licensing System


VB.NET Forum Admin
Jun 3, 2004
Programming Experience
The latest reports according to news sources is that software piracy is up $29 billion! As software developers, we are continually struggling with methods to ensure our hard work is properly paid for.

A few months ago, VB.NET Forums set out to test the .NET licensing systems available and we chose two to review: 1) Xheo, and 2) Desaware's Licensing System.

We initially tested Xheo but soon found that the developer (Paul) did not take well to criticism as we were simply reporting bugs in an upcoming 2.x release. We never received one responce to our inquiries in an attempt to resolve the issues. We then had a catastrophic failure of our test system's C drive and unfortunately had to accomplish a reinstall. Come to find out, the only product that would not reactivate was Xheo. This really caught our attention as it appeared, and held true, that Xheo was only binding to the C drive for protection and would not reactivate even with the C drive as the only hardware piece that was replaced. We contacted Xheo and were met with hostility and they refused to allow us to reactivate the license for review while we even provided the PDF receipt of our C drive warranty replacement. In talks with other developers, they too were met with hostility and therefore we knew we had to go no further with a review of the Xheo licensing system.

We then moved to Desaware's Licensing system and what a breath of fresh air this experience has been. This is simply a top notch product that we highly endorse for use for your .NET applications, Windows or Web!

The Desaware licensing system runs as a web service and is completely customizable as to what you want your licensing to bind to. There are default combinations of hardware it will bind to out of the box, however, as we did with our ASP.NET licensing scenarios, we simply added binding options to ensure it met our needs.

The installation was simple, installing the client locally and the server component (web service) to our production server. We read the PDF documentation and reviewed the extensive samples provided with the component. Now armed with the knowledge, we challenged Desaware with the ability to license an individual web application, in our case, an e-commerce store such that our component could not be used repetitively on a web server.

In understanding the system and the competence of the support staff at Desaware, we began to e-mail support and presented them our scenarios. We were immediately responded to by Franky Wong and he offered his suggestions. We then decided to call Desaware to see if we could speak of the scenarious, we were immediately put in touch with support, again Franky for immediate consultion! Impressive! We came up on one stumbling point, and we were also pressing a MUST 4/27 release of our application. Friday night we received a call from the developer, Dan Appleman hisself! We continued to code away and again sent an e-mail over the weekend and Dan not only responded to the e-mail on Sunday, but later called that day and verified our system! Once again, impressive.

The Desaware system is now in use in 35 different applications in use by us and it is solid and so simple to use. The following process outlines that of creating the integration with your .NET application.

The first step is to create your application in the Desaware Licensing system. You do so with the simple straight-forward GUI provided with the system.

Figure 1. Creating a new Licensed Application​

Figure 2. Configuring new application​

Figure 2 (above) shows the simple building of the new unique license application that will be embedded into the target .NET application for use. Configure a unique name, a description, a warning count and block count that correspond to how tight your security will be, and if demo's are allowed, the number of days a demo can run before showing expired.​

The above step takes just a few seconds, then the next step is to go to the Developer Info area to quickly embed the licensing directly into your application.​

Figure 3. Devleoper Info Area​

The easiest way to embed the licensing into your application is to click the Save ResX... button. Then save the .resx file into your applications folder, go to VS.NET click the show all files button and select this file and include it in your application. It will be an embedded resource compiled into your application and easily called for licensing checks.​

Figure 4. Creating Serial Numbers​

After embedding the licensing resource you can then generate license codes such as we do in blocks of 1,000 then uploading to our SQL server to be purchased. You can create codes on the fly by selecting the number to generate in the Count textbox, then click Create. You can save them to a .txt file using the Save... button or Copy to the Windows Clipboard by clicking the Copy button. These serial numbers are used by the end-user to license their component/application.​

That's all there is to creating the licensing component, it is fast, simple, reliable and it works! The next part is to code the licensing into your .NET application. There are numerous examples both in the documentation as well as sample applications that ship with this great product and requires a simple reference to the Desaware Licensing component you deploy with your application and use the simple IsLicensed method to check for a valid license. There are options to easily install a demo license activating the demo functionality as well as background activation of the license. Numerous properties are available such as returning the number of demo days remaining, what the licensing error is if an IsLicensed call fails, installing licenses (activations) etc.​

In summary, it has been an outstanding experience working with the Desaware staff, using this component in numerous applications, and the customers have had no issues whatsoever with the component's reliability, it just works!​

We give Xheo 1 star and Desaware 5 Stars in our review of .NET licensing systems. Check out more information on Desaware licensing for more information and protect your applications from the rising software piracy in today's rapidly growing technical society.​

VB.NET Forums Review Staff
To have your components reviewed, submit your request to