https://www.codegrape.com/category/scripts
Scripts
https://www.codegrape.com/category/scripts/net
.NET

Complete Cloud-Based .NET Software Licensing Solution

Overview:
The license system allows quick and easy product registration or activation after product installation. The simple and straight-forward license key authentication occurs in the cloud using advanced encryption and decryption methods when user enters license key from their software. It prevents the license key from sharing when installing on a second computer. You can also offer a trial period on your product. If there is a refund, the license will prevent the user from using your product. You can help your users from moving the license key from one computer to another computer in the back-end using reset feature. Hence, the license system not only takes care of licensing management but also able to detect the identity of the user’s computer which further protects unauthorized uses of your product.

Key Features:
The licensing solution has the following key features:
» Complete .NET Licensing Solution: Designed for .NET developers in C#, offering complete licensing capabilities.
» Flexible Licensing Modes: Choose between trial or lifetime licenses, tailoring the approach to your product.
» Robust Anti-Piracy Measures: Utilize hardware detection technology to safeguard your software against piracy.
» User-Friendly License Keys: Employ easily readable keys composed of clear capital letters and numbers.
» Server-Based Key Validation: Strengthen security by validating keys against a central server.
» Hardware-Tied Usage Counting: Monitor software usage through unique hardware-bound key counts.
» Tamper-Proof License Files: Store unalterable license files on local systems, tied to specific machines.
» Key Reset Functionality: Enable users to transfer keys across installations without additional consumption.
» Scheduled Server Validation: Set intervals for server-based validation, complementing local storage checks.
» Key Revocation Capability: Empower administrators to revoke unauthorized or rogue keys.
» Validation Limit: Support activation of single and multiple devices with individual license.
» Fast Processing: Very low memory footprint and fast license validation using async/await and parallel processing.
» Email Notification: Send email to user after a valid registration with license details like key, expiry date etc.
» Supported Framework: Supports .NET Framework 4.0 and higher.

Tools and Technology Used:
The licensing system is built using the following tools and technologies:
» Language: C#
» Licensing UI: .NET
» Admin Panel: ASP.NET
» Validation Service: ASP.NET Web Service
» Database: SQL Server Express
» IDE: Visual Studio

Live Preview:
Admin Panel
You can check live preview of Admin Panel from the following link. You can create your customer, assign license key to them and track key usage from this Admin Panel.
Link: http://108.181.173.241/Demo/Licenser/AdminPanel/
User ID: admin
Password: 123456.a

Tester WinForm App
You can also download a sample WinForm application to test the license key generated from the above Admin Panel:
http://108.181.173.241/Resource/Licenser/Licenser.Test.WinForm.rar

How Does It Work:
Step 1 - Admin creates key at online admin panel:


Step 2 - End user applies key at client software:


Step 3 - Admin gets key usage information at admin panel:

Validation Logic Flow:
The diagram below shows validation logic flows between client software application and licensing server:

Authentication Service:
The licensing system includes the core feature of cloud-based authentication using web service. Once you have the source code, you have total freedom to host the web service at your own server or cloud.

Database:
The authentication of the license key occurs in the cloud with web service. Inside the web service, you can connect to your database in the cloud. The source code includes SQL files of creating the tables and store procedures. Below is the database diagram of the solution showing the relationship between the tables:

Software Architecture:
The diagram below shows components of the solution and interactions between them:

List of Modules:


Licenser.Admin - Communicates with business web service to manage all aspects of admin panel of the licensing solution. It manages user security & membership, product, customer, creation of key, view key usage history. Also manipulate key for user like number of licenses, trial period, notification (reminder) period before the trial expires, force validation meaning after how many days the license will be validated against license server bypassing local storage validation etc.

Licenser.Common - It provides necessary encryption & decryption methods, unique information about user’s hardware etc.

Licenser.ClientSide - Communicates with validation web service to check authenticity of user entered key. Stores and reads validated and encrypted licensed file from local storage, detects changes to prevent unauthorized software installation etc.

Licenser.UI - Provides UI components for user interaction like registration form to enter key from client end, trial period reminder to shoe to the user, option to reset license if the user lost his device or machine.

Licenser.BusinessService - This is the web service project that provides mainly two services, one is validation web service that is used from Licenser.ClientSide and another is business web service that is used from Licenser.Admin. It includes code for data access layer to update the database.

Licenser.Test.WinForm - This module is a desktop form project that simulates client application with .NET Framework, which consists of the Main form and the Registration form that communicates with our cloud web service to authenticate the license key from the user’s entry.

How to Integrate Licensing into Your Client Application:
It is as easy as adding reference to the library “Licenser.ClientSide” and writing a single line of code into your client application’s starter method.
Step 1 - Add reference to the library “Licenser.ClientSide” into your client application.
Step 2 - Call the method “ApplyLicensing” from your client application’s starter method passing two parameters, one is the form to run after validation and the other is the name of the product.

Requirements:
To use the licensing system, you will need the following:
» .NET Framework 4 or Higher
» SQL Server Express 2019

Quick Start Guide:
To get started with the licensing system, follow these steps:
» Make sure you have the required tools and technologies installed.
» Change the settings in the web.config file according to your database connection string, email configuration, service url etc.
» Start exploring the features and functionalities of the licensing system.

What You Will Get Along With This Script:
» Full Source Code
» Database Script
» Project Documentation

Support Facility:
Have any questions, issues, or doubts? Feel free to reach out via the comments section or email for direct consultations: sharifbd88-nbt@yahoo.com. I am available for project customization as per your business requirements.

Appreciated on November 11th, 2023

More items by NetBeeTech

by in