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.
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): 22.214.171.124
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 any 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?
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.
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.