Licensing System for your .Net Applications Pt. 2.3

Today I’m going to review/test one of the licensing systems from the first post. The lucky system is Ionworx SerialShield. I’ve decided to review one at a time because the posts were tending to get very long in some cases, so I’ve broken them out. If the post isn’t too large I’ll see about combining multiple reviews.

Ok, so now that we have the first  licensing systems to test I’m going to cover what I’m looking for again, which is an out of the box licensing system capable of tracking licenses via a web service. I also am interested in the look and feel of the system, documentation, web site support and possibly the forum on the site.

IonWorx SerialShield
     Cost Range: $531.00 – $1,061.00
     Source Code Available: No
     Model: Per Developer
     Last Update (As of this post): 1/20/2009 (Aprox)
     Last Version (As of this post): 
     VS Support: 2005/2008

What can I say about SerialShield, it’s supports non .Net Environments and seems like it was originally geared for a non .Net Environment. My initial impression from installing the software on my Vista x64 development system was that it installed to C:\ionworx\serialshield and did not have anyimage start menu options. 

No I’d like to think I’m not a picky or prima donna ‘power user’ but I think some things are just fundamental, a start menu item is nice and don’t clutter my root with too many folders. But thats just a personal gripe and not really a major issue, so I’ll just forget it ever happened.

Once I found the application and fired it up I was lost, what was I supposed to do and how do I do it? I like to think I’m a reasonably smart person, although my co-worker would probably disagree I just started clicking around. Before I went any further I decided to try and locate the help or documentation, which I couldn’t find in the application itself so I looked in the directory and found a .chm file, just what I was looking for….or was it?

image  Some applications just don’t need a lot of documentation. I’m working on a tiny one that just doesn’t have a lot of features and is really simple, but even it has more pages then this, which is a sign of concern for something that I’m supposed to be integrating with my applications.

Although I spot them quick in everyone else’s writing and find none in my own spelling errors just jump out at me. No I have many spelling errors in my writings and applications and I’m a native speaker, the makers of this application may not be, so I won’t comment on it.


The SerialShield API SDK and overview are not too bad, and have a fair amount of information in them. But I want to try and use the application, I’m not even to the point of trying to use the API. So I clicked on the “How SerialSheild work” topic and started reading. Almost to the bottom of the page something popped out at me.


After I read that I asked the documentation, “Shouldn’t you be doing that for me?”. But it never responded. After, finally, getting the app into a state where I could start integrating it into my application I came across something strange, SerialSheild has a concept of a Serial ID and a Serial Number, which threw me for a loop.

The Serial ID is like the keys found of the back of CD or DVD, commonly referred to as CD-Keys. Normally those keys active the software product, as they are the license key, but in SerialShield those keys can be used to identify the unique version of the product. The Serial Number is the actual license key in SerialShield and it has to be locked to a license owner.


The License Number is actually a very long hex string. An example of it is (FEF90307-4AEE3351-03199F44-F9BDA0CB-4A8E5F23), 5 blocks of 8 hex characters for a total of 40 values, ouch. By adding a lock key to Serial ID and Machine ID I did get it to add another character making it 41 total values.

To get the trial working you need to generate and embed the trial Serial Number in the application, along with the AppliationName and ApplicationKey information. Now came the point where I wanted to try and get SerialShield working in my application, so I fired up the C# demo app and took a look.

First I noticed that the SerialShield.dll was not referenced in the application, but instead was using DLL Import, which means that the SerialShield DLL was not managed, for some that could be a deal breaker. image

After that you had to do a fair amount yourself to get it to validate the license and do some checks. I must admit I stopped testing here as was pretty put off by this point and couldn’t see SerialShield further redeeming itself. To me this is fifty dollar application and I was extremely surprised to see it selling for a little over $500 for the manager and an additional $300 for the activation service. You can buy DeployLX for under that, the full version with source costs $999.99, so even that is cheaper then this product, and light years more powerful.

About: Shawn Jackson

I’ve spent the last 18 years in the world of Information Technology on both the IT and Development sides of the aisle. I’m currently a Software Engineer for Paylocity. In addition to working at Paylocity, I’m also the Founder of Resgrid, a cloud services company dedicated to providing logistics and management solutions to first responder organizations, volunteer and career fire departments, EMS, ambulance services, search and rescue, public safety, HAZMAT and others.