First Looks

Desaware: Secure Your Intellectual Property

Versitile, .NET-based licensing-management software.

Desaware Licensing System is a complete package for authorizing the use of .NET software, including Windows applications, Web services, and ASP.NET components. The system supports a wide range of licensing scenarios, including time-limited demo installations, subscriptions, product key-only authorization, deferred activation (until an Internet connection is available), and mandatory Internet activation before installation. For ASP.NET applications, you can restrict a license to a specific domain or to a range of IP addresses (see Figure).

The Desaware Licensing System is itself protected by the Desaware Licensing System. After I entered a GUID-like keycode, the installer sent a SOAP message to its Web service at, which returned an encrypted key and a readable value of Success.

The setup includes PDF documentation that I wish I'd downloaded from Desaware's Web site before running the MSI file. The document contains heart-stopping warnings in several locations. One deals with the high-security scenario where you require activation for your software to install. If your licensing-server system or database breaks down, nobody can install your product. Forget about a backdoor, hack, or secret code to recover your private key. Another warning says not to count on the licensing system to protect your intellectual property; you should run an obfuscator (included) against your .NET assemblies to deter reverse engineering.

My intention for the review was to put the licensing Web service on a publicly hosted site. The documentation says: "The Licensing Server requires full trust to run." That rules out most shared-hosting options. In practical terms, you need to "own" the Internet box. Resigned to running on a VPC, I configured the license server on IIS using an Access database. It was easy and worked fine after I set the Web application to use ASP.NET 2.0 instead of 1.1. I pointed Desaware's License Manager to the Web service, and I had no difficulty registering applications and their associated license keys.

You can also expect to spend a day getting your head around the various facets of the system. The documentation is fine for the administrative operations (using License Manager), but I found the code examples (in VB and C#) more instructive for integrating licensing into a Visual Studio project.

As a reviewer, it's frustrating that I'm unable to say whether the Desaware Licensing System can withstand attacks by hackers. That said, any activation scheme risks spawning a key generator on a crackz site. Perhaps that's why the license agreement states that Desaware "makes no representation or warranty that the software is fit for any particular purpose."

At A Glance
Desaware Licensing System
Phone: 408-404-4760
Price: $1,495
Quick Facts: Versatile licensing-management software, and activation services for Windows and Web-based applications using Microsoft .NET.
Pros: Wide range of licensing scenarios including time-based trial and IP address restrictions; easy installation; useful examples in VB and C#; good documentation.
Cons: ASP.NET activation service component requires Full Trust; license tied to a machine; no warranty except on CD media.

About the Author

Ken Cox is a Canadian .NET programming writer and the author of "ASP.NET 3.5 for Dummies" (Wiley).

comments powered by Disqus


  • Vendors Update Controls for .NET Core 3.1, Blazor

    This week saw two third-party vendors of dev tools -- UX and UI toolkits and controls -- release new offerings that include support for two of Microsoft's main open source frameworks, the cross-platform .NET Core 3.1 and Blazor, which allows for creating browser-based web applications with C# instead of JavaScript.

  • C++ Is Focus of New Visual Studio 2019 v16.7 Preview 2

    C++ development is a focus point of the new Visual Studio 2019 v16.7 Preview 2, featuring a slew of tweaks and improvements touching upon remote SSH connections, IntelliSense support and more.

  • Clustering Non-Numeric Data Using C#

    Clustering non-numeric -- or categorial -- data is surprisingly difficult, but it's explained here by resident data scientist Dr. James McCaffrey of Microsoft Research, who provides all the code you need for a complete system using an algorithm based on a metric called category utility (CU), a measure how much information you gain by clustering.

  • So What's Up with Microsoft's (and Everyone Else's) Love of Rust?

    Microsoft already stewards several popular programming languages -- C#, TypeScript, F# -- so what's up with its love of Rust, along with the rest of the world?

  • C# Steps Up Programming Language Popularity Ladder

    Microsoft's C# programming language climbed a year-over-year notch on the TIOBE Index, which measures popularity among developers.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events