MCPInstall

syncfusion-winforms-licensing

Comprehensive guide for implementing and managing Syncfusion Windows Forms licensing. Use this when troubleshooting license validation errors, generating or registering license keys, or configuring CI/CD license validation. This skill covers license key management, trial vs licensed versions, NuGet package licensing, and build server scenarios.

Installs
80
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-licensing
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-winforms-licensing automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Syncfusion Windows Forms Licensing

This skill provides comprehensive guidance for implementing and managing Syncfusion licensing in Windows Forms applications, including license key generation, registration, troubleshooting, and CI/CD integration.

When to Use This Skill

Use this skill immediately when you need to:

  • Implement licensing in a Windows Forms application using Syncfusion components
  • Resolve license validation errors or trial expiration messages
  • Generate license keys for specific versions and platforms
  • Register license keys in C# or VB.NET Windows Forms applications
  • Troubleshoot licensing issues such as invalid keys, platform mismatches, or version mismatches
  • Configure CI/CD pipelines with license validation (Azure Pipelines, GitHub Actions, Jenkins)
  • Understand licensing requirements for NuGet packages, trial installers, or licensed installers
  • Upgrade from trial to licensed version after purchasing
  • Handle build server licensing scenarios

Overview of Syncfusion Licensing

Starting with version 16.2.0.x, Syncfusion introduced a new licensing system that requires license key registration for:

  • Applications using evaluation installers
  • Applications referencing Syncfusion NuGet packages from nuget.org

Key Points:

  • License keys are version and platform specific
  • License keys are different from installer unlock keys
  • Validation happens offline during application execution (no internet required)
  • Licensed installer users do not need to register license keys
  • Trial license keys expire after 30 days

Documentation and Navigation Guide

Understanding Licensing

📄 Read: references/licensing-overview.md

When to read this reference:

  • Understanding the licensing system introduced in version 16.2.0.x
  • Learning the difference between unlock keys and license keys
  • Determining when license registration is required
  • Understanding build server scenarios (NuGet vs Trial vs Licensed installers)
  • Learning about version and platform specificity

Generating License Keys

📄 Read: references/license-generation.md

When to read this reference:

  • Generating license keys from License & Downloads section
  • Generating license keys from Trial & Downloads section
  • Using the Claim License Key feature
  • Handling active license scenarios
  • Handling active trial scenarios
  • Dealing with expired licenses
  • Starting a trial when no license exists

Registering License Keys

📄 Read: references/license-registration.md

When to read this reference:

  • Implementing the RegisterLicense method in C# or VB.NET
  • Registering keys in Main() method for C# applications
  • Registering keys in Application.Designer.vb for VB.NET
  • Registering keys in Program.vb for VB.NET
  • Understanding Syncfusion.Licensing.dll reference requirements
  • Learning about offline validation capabilities

Troubleshooting Licensing Errors

📄 Read: references/licensing-errors.md

When to read this reference:

  • Resolving "License key not registered" errors
  • Fixing "Invalid key" errors
  • Handling "Trial expired" messages
  • Resolving platform mismatch errors
  • Fixing version mismatch errors
  • Troubleshooting "Could not load Syncfusion.Licensing.dll" errors
  • Configuring Copy Local settings
  • Understanding legacy errors (v16.2.0 - v20.3.0)

Common Questions and CI/CD Integration

📄 Read: references/licensing-faqs.md

When to read this reference:

  • Implementing CI/CD license validation (Azure Pipelines, GitHub Actions, Jenkins)
  • Using LicenseKeyValidator utility in build pipelines
  • Understanding where to get license keys
  • Checking if internet connection is required for validation
  • Upgrading from trial to licensed version
  • Registering Syncfusion account for NuGet.org users
  • Understanding license key specificity

Quick Start Example

Here's a complete example of registering a Syncfusion license key in a Windows Forms application:

C# Example (Using Environment Variable - Recommended)

using System;
using System.Windows.Forms;
using Syncfusion.Licensing;

namespace MyWindowsFormsApp
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            // SECURITY BEST PRACTICE: Read license key from environment variable
            string licenseKey = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY");
            
            if (string.IsNullOrEmpty(licenseKey))
            {
                MessageBox.Show("Syncfusion license key not found in environment variables.", 
                    "Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            
            // Register Syncfusion license key BEFORE any Syncfusion control is initiated
            SyncfusionLicenseProvider.RegisterLicense(licenseKey);
            
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Alternative: Using Configuration File (App.config)

using System;
using System.Configuration;
using System.Windows.Forms;
using Syncfusion.Licensing;

namespace MyWindowsFormsApp
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            // Read from app.config (ensure it's not committed to source control)
            string licenseKey = ConfigurationManager.AppSettings["SyncfusionLicenseKey"];
            
            if (string.IsNullOrEmpty(licenseKey))
            {
                MessageBox.Show("Syncfusion license key not configured.", 
                    "Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            
            SyncfusionLicenseProvider.RegisterLicense(licenseKey);
            
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

App.config example:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!-- DO NOT commit actual license key to source control -->
    <!-- Use environment-specific config files or CI/CD secrets -->
    <add key="SyncfusionLicenseKey" value="" />
  </appSettings>
</configuration>

VB.NET Example (Using Environment Variable - Recommended)

Imports Syncfusion.Licensing

Namespace My
    Partial Friend Class MyApplication
        Public Sub New()
            MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
            
            ' SECURITY BEST PRACTICE: Read license key from environment variable
            Dim licenseKey As String = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY")
            
            If String.IsNullOrEmpty(licenseKey) Then
                MessageBox.Show("Syncfusion license key not found in environment variables.", _
                    "Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Return
            End If
            
            ' Register Syncfusion License
            SyncfusionLicenseProvider.RegisterLicense(licenseKey)
            
            Me.IsSingleInstance = False
            Me.EnableVisualStyles = True
            Me.SaveMySettingsOnExit = True
            Me.ShutdownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
        End Sub
    End Class
End Namespace

Setting Environment Variable

Windows (PowerShell):

# For current session
$env:SYNCFUSION_LICENSE_KEY = "your-license-key-value"

# Permanent (User level)
[System.Environment]::SetEnvironmentVariable("SYNCFUSION_LICENSE_KEY", "your-license-key-value", "User")

# Permanent (System level - requires admin)
[System.Environment]::SetEnvironmentVariable("SYNCFUSION_LICENSE_KEY", "your-license-key-value", "Machine")

Windows (Command Prompt):

setx SYNCFUSION_LICENSE_KEY "your-license-key-value"

Common Patterns

Pattern 1: License Key Registration Workflow

When implementing Syncfusion licensing:

  1. Generate license key from Syncfusion account
  2. Add reference to Syncfusion.Licensing.dll
  3. Register license key at application entry point (before any Syncfusion control initialization)
  4. Verify no license validation errors appear

Pattern 2: Troubleshooting License Errors

When encountering license validation errors:

  1. Identify the specific error message
  2. Verify license key is for correct version and platform
  3. Check registration location (must be before control initialization)
  4. Ensure Syncfusion.Licensing.dll is referenced and Copy Local = True
  5. Regenerate license key if needed

Pattern 3: CI/CD License Validation

When implementing license validation in CI pipelines:

  1. Store license key securely in CI/CD secrets (never in source control)
  2. Choose validation method:
    • Recommended: Use ValidateLicense() method in unit tests
    • Alternative: Use LicenseKeyValidator utility (with security verification)
  3. Configure validation to read license key from environment variables
  4. Integrate validation in CI pipeline (Azure, GitHub Actions, Jenkins)
  5. Validate license before deployment
  6. Handle validation failures appropriately

Security Requirements:

  • ✅ Use CI/CD secret management (Azure Key Vault, GitHub Secrets, Jenkins Credentials)
  • ✅ Read keys from environment variables only
  • ❌ Never hardcode keys in scripts
  • ❌ Never commit keys to source control

Pattern 4: Upgrading from Trial to Licensed

When purchasing a license after trial:

  1. Option A: Uninstall trial, install licensed version from License & Downloads
  2. Option B: (For NuGet users) Replace trial license key with paid license key
  3. Verify license registration in application
  4. Test to ensure no trial messages appear

Key Concepts

Security Best Practices for License Keys

  1. Never Hardcode License Keys

    • ❌ Don't embed keys directly in source code
    • ❌ Don't commit keys to version control (Git, SVN, etc.)
    • ❌ Don't include keys in build scripts checked into source control
  2. Use Secure Storage Methods

    • ✅ Environment variables (recommended for local development)
    • ✅ Configuration files excluded from source control (.gitignore)
    • ✅ CI/CD secret management (GitHub Secrets, Azure Key Vault, Jenkins Credentials)
    • ✅ Secure configuration management systems (Azure App Configuration, AWS Secrets Manager)
  3. Access Control

    • Limit who can access license keys
    • Rotate keys periodically if exposed
    • Audit key usage in production environments
  4. CI/CD Security

    • Use pipeline secret variables
    • Never echo/log license keys in build output
    • Inject keys at runtime through environment variables

Example - What NOT to Do:

// ❌ WRONG: Hardcoded key in source code
SyncfusionLicenseProvider.RegisterLicense("Mgo+DSMBaFt/QHRq...");

Example - Correct Approach:

// ✅ CORRECT: Key from environment variable
string key = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY");
SyncfusionLicenseProvider.RegisterLicense(key);

License Key Characteristics

  • Version-specific: License key must match Syncfusion assembly version
  • Platform-specific: Windows Forms keys only work for Windows Forms platform
  • Offline validation: No internet connection required during runtime
  • String format: License key is a string registered via RegisterLicense()
  • Sensitive data: Treat as confidential credential (like passwords or API keys)

Registration Requirements

Assembly SourceLicense Registration Required?Where to Get Key
NuGet packages from nuget.org✅ YesLicense & Downloads / Trial & Downloads
Trial installer✅ YesTrial & Downloads
Licensed installer❌ NoNot applicable

Critical Registration Rules

  1. Timing: Register license key BEFORE initializing any Syncfusion control
  2. Location:
    • C#: In Main() method before Application.Run()
    • VB.NET: In Application.Designer.vb constructor or Program.vb
  3. Dependencies: Ensure Syncfusion.Licensing.dll is referenced with Copy Local = True
  4. Format: Place license key string between double quotes

Common Use Cases

Use Case 1: First-Time Syncfusion License Setup

Scenario: Developer setting up Syncfusion in a new Windows Forms project using NuGet packages.

Approach:

  1. Read references/licensing-overview.md to understand requirements
  2. Read references/license-generation.md to generate key
  3. Read references/license-registration.md to implement registration
  4. Test application to verify no license errors

Use Case 2: Resolving License Validation Error

Scenario: Application shows "License key not registered" or "Invalid key" error.

Approach:

  1. Read references/licensing-errors.md to identify specific error
  2. Verify license key version and platform match
  3. Check registration code location and timing
  4. Regenerate license key if needed
  5. Verify Syncfusion.Licensing.dll reference

Use Case 3: Build Server Configuration

Scenario: Setting up Syncfusion licensing for automated builds or CI/CD.

Approach:

  1. Read references/licensing-overview.md build server section
  2. Determine if license registration is required based on assembly source
  3. Read references/licensing-faqs.md CI/CD section for pipeline setup
  4. Implement license validation in CI pipeline
  5. Test build process

Use Case 4: Trial to Licensed Upgrade

Scenario: Developer purchased license after using trial version.

Approach:

  1. Read references/licensing-faqs.md upgrade section
  2. Choose upgrade approach (reinstall or key replacement)
  3. Generate new paid license key
  4. Update registration code with new key
  5. Verify trial message is removed

Use Case 5: Version Upgrade

Scenario: Upgrading Syncfusion components to a new version.

Approach:

  1. Generate new license key for target version from License & Downloads
  2. Update NuGet packages or installer to new version
  3. Replace old license key with new version-specific key
  4. Test application to ensure compatibility
  5. If errors occur, read references/licensing-errors.md

Additional Resources

Summary

This skill covers the complete lifecycle of Syncfusion Windows Forms licensing:

  • Understanding licensing requirements and scenarios
  • Generating license keys for specific versions and platforms
  • Registering license keys in C# and VB.NET applications
  • Troubleshooting common licensing errors
  • Implementing CI/CD license validation
  • Handling trial and licensed version transitions

Always start by reading the appropriate reference file based on your specific need (overview, generation, registration, errors, or FAQs).

FAQ

What does the syncfusion-winforms-licensing skill do?

Comprehensive guide for implementing and managing Syncfusion Windows Forms licensing. Use this when troubleshooting license validation errors, generating or registering license keys, or configuring CI/CD license validation. This skill covers license key management, trial vs licensed versions, NuGet package licensing, and build server scenarios.

How do I install syncfusion-winforms-licensing?

Run npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-licensing in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winforms-licensing/ (personal) or .claude/skills/syncfusion-winforms-licensing/ (project).

Which AI agents can use syncfusion-winforms-licensing?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-winforms-licensing safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-winforms-licensing?

It is published by syncfusion in syncfusion/winforms-ui-components-skills. It has 80 recorded installs.

More from syncfusion/winforms-ui-components-skills

View all →

syncfusion-winforms-datagrid

syncfusion/winforms-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-winforms-button

syncfusion/winforms-ui-components-skills

Guide developers to implement and customize the Syncfusion Windows Forms SfButton control for desktop applications. Use this when creating interactive buttons with text, images, styling, and theming in Windows Forms applications. Covers implementation, customization, and interaction handling.

syncfusion-winforms-common

syncfusion/winforms-ui-components-skills

Comprehensive guide for implementing Syncfusion Essential Studio Windows Forms (WinForms) controls in desktop applications. Use this skill when working with Syncfusion WinForms components or Essential Studio WinForms. Covers WinForms installation, localization, high DPI support, and .NET Core compatibility. Helps with adding controls, registering license keys, and troubleshooting WinForms component issues.

syncfusion-winforms-contextmenustrip

syncfusion/winforms-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-winforms-docking-manager

syncfusion/winforms-ui-components-skills

Guide to implement Syncfusion WinForms DockingManager control for Visual Studio-style dockable windows and layouts. Use this when creating docked, floating, or tabbed windows with advanced layout management. Covers dock states, auto-hide functionality, caption customization, and serialization in WinForms applications.

syncfusion-winforms-listview

syncfusion/winforms-ui-components-skills

Open the skill to read its SKILL.md instructions.

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs