Friday, November 21, 2008 Register  Login
RSS Feeds
Categories
  
Blog Archives
  
Blog

Entries for January 2008

Licensing for .NET applications

 181 Views ::  2 Comments RSS comment feed

I had promised a potential customer that I would blog about Infralution Licensing System, a few days ago. Well, here it is.

I want to first talk about what is out there, and why I decided on Infralution. I had a 4 item list for my criteria:

  1. The system/framework must work with my .NET tools and not get in my way. This also means that it needs to be designed specifically designed for .NET applications.
  2. As a bootstrapper, I needed something inexpensive, at least in the current phase of my business. The system/framework must be $200 or less.
  3. The system/framework must be designed with small companies in mind. This means that I want it to work with the least amount of hassle possible.
  4. The system/framework must be easy to integrate with ecommerce/payment systems.

Here's a list of the frameworks that I looked at:

Your needs will most likely be different than mine, so you still need to make an evaluation of these systems yourself. I'm only giving my opinion, within my own circumstances. I'm also sure that I missed several systems that I've never heard of.

The two finalist were .NET Reactor and Infralution. Reactor is actually more than just a licensing system, it also does obfuscation, anti-debugging, assembly merging, and other sleight of hand. The reasons I ended up with Infralution were:

  • The company encourages you to copy their code into your application.
  • It's easy to create custom generators for your licensing needs.
  • It comes with a full blown licensing management application.
  • It doesn't use the annoying activation scheme that most major vendors use now-a-days. I didn't want to subject my customers to activation either.

The framework was $90 with source. I opted for also buying the source of the licensing application. That set me back another $90, for a total of $180. To me that's well worth it, since I have no desire to roll my own system, and I rather let somebody else create improvements to this area that is not my core competency.

The licensing application runs on .NET and uses MS Access to store data. Fortunately, you can hook it up with SQL Server. I just downloaded version 3.7.1, and it looks like it the included starter database work with only SQL Server 2005. No problem, I just attached it to one of my SQL Server 2005 Express instances.

I posted a inquiry about why it wasn't attaching to SQL Server 2000 on their support forums. I was surprised that I got an answer in a couple hours. I actually posted around 1:30 AM. I didn't stick around to see the response, but I was happy to find that there was a reply when I went over there to their forums.

Here's what the initial screen for the License Tracker looks like:

The first thing that you need to do is setup a product.

 

Products need to be associated with a distributor, so that's the next step.

Next, I associated SystemWidgets with the product I created earlier, and here is the result:

Once you have these setup, you can then start with your putting licensing in your application. The gist of it is that you copy a couple of their classes into your solution. The framework has a bunch of samples, that even I can follow. Their forums have information readily available, and the company is involved heavily in them.

I've never done licensing before, even though I've been developing for around nine years. It took me about 3 hours of tinkering with their code to start feeling comfortable with how it integrates with my code. I've actually wanted to wait more than 30 days after I installed this, so that I can study several expired trial scenarios.

Doing licensing for MMC snapIns has been challenging. I think I'm the only ISV that has a snapIn as their main product. Diskeeper sells a snapIn, but it is part of their whole product hard drive defrag suite.

I have several things that I need to do to get PainlessSVN out the door. The first is to create a custom generator that incorporates all of the client and sale information into the registration keys. The second thing I need to do is to create a custom assembly that will run as a step in the sales funnel in the purchasing DotNetNuke module that I bought.

Fortunately for me, this module handles all of the purchasing integration with my DotNetNuke portal, so I don't have to mess with PayPal response codes. I'm adding automatic emailing of the registration keys as part of this custom assembly. The last step is to push back the new purchased keys and sale information into the Infralution License Tracker. This should be fairly easy, since databases are my bread and butter.

Feel free to contact me through comments to this post, or through private messages. You will need to create an account in this site to use private messages though.

posted @ Monday, January 21, 2008 1:41 PM by Hector Sosa, Jr

Posted in: .NET Tools
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

SQLite in 3 minutes

 154 Views ::  0 Comments RSS comment feed

I'm a big fan of the SQLite database. Mike Duncan just put up a blog post on how to get you up to speed quite quickly with .NET and SQLite. Brian Cook, a contributor to Mike's blog, created a spiffy graphic for SQLite:

Anyways, go read Mike's post:

SQLite on .NET - Get up and running in 3 minutes

posted @ Tuesday, January 15, 2008 11:36 PM by Hector Sosa, Jr

Posted in: .NET Tools
Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us

New Years Letter (Plans for 2008)

 295 Views ::  9 Comments RSS comment feed

Happy New Year!

I wanted to start a new tradition of writing a letter every year. I want to mostly touch on where I was and where I'm going.

I spent last year (2007) getting ramped up on coding PainlessSVN. I also released two free utilities, SVN Backup Widget and Text File Splitter, that I created myself, and a third one, WinTivoDecode, from a friend. I've also been working with AdWords and several bloggers to spread the word about PainlessSVN. I had combined downloads of over 25K for all products. And this is not counting the two open sourced projects that I started and maintain.

I learned a lot from other micro ISV bloggers. There are so many of you out there! I'm heartened by your successes and hope to join your ranks in 2008.

Roadmap for 2008

Roadmaps are something that are fairly hard to predict when you are a one man company, especially with software. One thing that I know for certain, is that I will be changing the current tag line from "Where the command-line meets the GUI" to "Taming IT Operations." I worked in IT Operation during the first 6 years of my career, and I always enjoyed creating utilities to automate things. I want to focus my energies this year in helping IT people tame IT Operations with software.

PainlessSVN

The very first thing I want to do is release PainlessSVN Professional version 1.0. As some of you have noticed, I have pulled the beta download. I haven't received any problem reports in more than 3 weeks. I didn't see the point of having an open beta anymore.

I had a couple things holding back the release of PainlessSVN; payment system (ecommerce) and licensing. I got my payment system working just last week. I'm using a DotNetNuke (DNN) module called ActivePurchase, from Active Modules. This lets me integrate payments with the DNN framework and other useful modules for CRM and help desk. I will support PayPal when I first launch. So payment is now officially taken care of.

The second thing is licensing. I'm using Infralution for this. The actual holdup is that I want to automatically issue keys as soon as the payment is confirmed. ActivePurchase has something called Custom Actions that lets me add a custom business logic to the purchasing funnel by creating an assembly in .NET. The author is supposed to release the API docs for this tomorrow (Monday Jan 14th).

I will be releasing an extra couple editions of PainlessSVN shortly after the release of the Professional editions. These will be:

  • Standard - This will have just the basics for server and repository maintenance. It will also be cheaper than the Pro edition.
  • Portable - This will allow you to run PainlessSVN from your favorite USB flash drive.

Free Utilities

I also want to release at least two new free utilities. One of them will be a text file joiner to compliment my text file splitter. The second utility is a program that I created when I needed to monitor data integrations at a contract. Its current name is NSQLAudit. It is already coded. I just need to polish for release. I might create a professional version depending on demand. I'm also open to other ideas that you will like to see implemented.

I really appreciate the feedback that I have received. My hope is that you feel that you are getting good service and that my utilities help your work be less tedious. I also hope that these are helping you deal with some unpleasant tasks faster, so that you can get to the fun stuff quicker.

Here's to the new year!

posted @ Sunday, January 13, 2008 6:43 PM by Hector Sosa, Jr

Actions: E-mail | Permalink | Share on Facebook Google bookmarks Kick it! DZone it! del.icio.us
Terms Of Use | Privacy Statement | SystemWidgets
Copyright 2002-2008 by SystemWidgets