syncfusion-wpf-licensing
Implementing Syncfusion Licensing
A comprehensive guide for generating, registering, and troubleshooting Syncfusion license keys across all platforms (WPF, Blazor, React, MAUI, Angular, Vue, ASP.NET Core, etc.).
Overview
Starting with version 16.2.0.x, Syncfusion introduced a licensing system that applies to:
- All evaluators using trial installers
- Paid customers using NuGet packages from nuget.org
If you use the evaluation installer or NuGet packages, you must register a valid license key in your application to avoid license validation messages.
Key Points:
- License keys are version and platform specific
- Registration is done offline (no internet connection required)
- Different from the installer unlock key
- Required for NuGet packages from nuget.org and trial installers
- NOT required for licensed installers (assemblies from licensed installation)
When to Use This Skill
Use this skill immediately when users need to:
- Generate license keys for Syncfusion components
- Register license keys in their applications (WPF, Blazor, React, etc.)
- Troubleshoot licensing errors (trial expired, invalid key, platform/version mismatch)
- Set up CI/CD license validation (Azure Pipelines, GitHub Actions, Jenkins)
- Upgrade from trial to licensed version
- Understand license vs unlock key differences
- Configure build server licensing
- Resolve "license validation message" errors
- Register Syncfusion accounts for NuGet.org users
- Validate licenses programmatically using
ValidateLicense()method
Understanding License Types
When License Registration is Required
| Syncfusion Source | License Registration Required? | Notes |
|---|---|---|
| NuGet packages (nuget.org) | ✅ YES | Version and platform specific key required |
| Trial installer | ✅ YES | Free 30-day trial key required |
| Licensed installer | ❌ NO | No registration needed |
License Key vs Unlock Key
- License Key: Registered in application code using
SyncfusionLicenseProvider.RegisterLicense() - Unlock Key: Used to unlock the Syncfusion installer (older system)
- These are different keys and serve different purposes
Documentation and Navigation Guide
Getting Started with Licensing
📄 Read: references/overview-and-differences.md
- Licensing system overview
- License key vs unlock key differences
- When license keys are required (NuGet, trial, licensed installers)
- Build server licensing requirements
- Platform and version specificity
- Registering keys in build environments
Generating License Keys
📄 Read: references/generating-license-keys.md
- Where to generate keys (License & Downloads, Trial & Downloads)
- Using the "Claim License Key" feature
- Handling active licenses vs active trials
- Dealing with expired licenses (temporary 5-day keys)
- Platform and version selection guidance
Registering License Keys
📄 Read: references/registering-license-keys.md
- Platform-specific registration code placement
- WPF: App.xaml.cs constructor registration (C# and VB)
- Blazor, React, Angular, Vue, MAUI registration patterns
- Syncfusion.Licensing.dll requirements
- Offline validation capabilities
- Registration code examples
Troubleshooting Licensing Errors
📄 Read: references/licensing-errors.md
- "License key not registered" error
- "Invalid key" error
- "Trial expired" error
- "Platform mismatch" error
- "Version mismatch" error
- "Could not load Syncfusion.Licensing.dll" error
- Solutions for each error type
- Copy Local settings for assemblies
- Error messages by version (16.2.0+ vs 20.3.0+)
CI/CD License Validation
📄 Read: references/ci-license-validation.md
- LicenseKeyValidator utility setup and usage
- Azure Pipelines (YAML and Classic) integration
- GitHub Actions integration
- Jenkins pipeline integration
- ValidateLicense() method for programmatic validation
- Unit test project validation approach
- Preventing licensing errors during deployment
Upgrading and Account Setup
📄 Read: references/upgrading-and-account-setup.md
- Upgrading from trial version after purchasing a license
- Uninstall and reinstall process
- Replacing trial keys with paid license keys
- Registering Syncfusion account for NuGet.org users
- Starting free 30-day trials
- Internet connection requirements (offline validation works)
Quick Start Example
WPF Application
// In App.xaml.cs
using Syncfusion.Licensing;
public partial class App : Application
{
public App()
{
// Register Syncfusion license key BEFORE initializing any components
SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY_HERE");
InitializeComponent();
}
}
Blazor Server
// In Program.cs
using Syncfusion.Licensing;
var builder = WebApplication.CreateBuilder(args);
// Register license key at application startup
SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY_HERE");
// ... rest of your configuration
React/Angular/Vue
// In your main entry point (e.g., index.js, main.ts)
import { registerLicense } from '@syncfusion/ej2-base';
// Register license key before rendering components
registerLicense('YOUR_LICENSE_KEY_HERE');
Common Licensing Scenarios
Scenario 1: Trial User Setup
- Register for a free Syncfusion account
- Start a 30-day trial from the account portal
- Generate trial license key from Trial & Downloads section
- Register the key in your application using
RegisterLicense() - Trial key expires after 30 days
Scenario 2: Licensed User Setup
- Log in to your Syncfusion account
- Go to License & Downloads section
- Generate license key for your specific version and platform
- Register the key in your application using
RegisterLicense() - Key is valid for the specified version and platform
Scenario 3: NuGet.org User Setup
- Using Syncfusion packages from nuget.org requires license registration
- Register for a Syncfusion account if you don't have one
- Start a trial or purchase a license
- Generate and register the license key
- Without registration, you'll see license validation warnings
Scenario 4: Build Server / CI/CD
- License registration is required on build servers using NuGet packages
- Use any developer license to generate keys for build environments
- Register the key in your application code
- Optionally set up CI license validation to catch errors early
- No internet connection needed during build (offline validation)
Scenario 5: Upgrading from Trial
- Purchase a Syncfusion license
- Option A: Uninstall trial installer, install licensed version from License & Downloads
- Option B: If using NuGet, generate paid license key and replace trial key
- Licensed installer assemblies don't require key registration
- NuGet packages always require key registration
Key Concepts
Platform and Version Specificity
- License keys are version-specific: Key for v26.1.35 won't work for v26.2.4
- License keys are platform-specific: WPF key won't work for Blazor
- Generate separate keys for each platform/version combination
- Use the correct version in your
RegisterLicense()call
Offline Validation
- License validation happens offline during application execution
- No internet connection required for apps to run
- You can deploy to air-gapped systems
- Validation checks happen at application startup
Build Servers
- Build servers using NuGet packages need license registration
- Use any developer license to generate keys for CI/CD
- Licensed installer assemblies on build servers don't need keys
- Set up CI validation to prevent deployment errors
Syncfusion.Licensing.dll
- Required assembly for license registration
- Ensure it's referenced in projects using
RegisterLicense() - Set "Copy Local" to
trueto include in output - Available via NuGet:
Syncfusion.Licensing
Registration Best Practices
- Register early: Call
RegisterLicense()before initializing any Syncfusion components - One registration per app: Only need to register once at startup
- Use string literal: Place license key between double quotes in code
- Version matching: Ensure all Syncfusion packages use the same version
- Environment variables: Consider storing keys in environment variables or secure configuration
- Don't commit keys: Avoid committing license keys to public repositories
- CI/CD validation: Set up automated validation in build pipelines
Error Prevention Checklist
Before deploying your application:
- License key generated for correct version and platform
-
RegisterLicense()called before any Syncfusion component initialization - All Syncfusion NuGet packages are the same version
- Syncfusion.Licensing.dll is referenced and has "Copy Local" = true
- License key matches the version of Syncfusion packages in use
- For CI/CD: License validation configured in build pipeline
- License key stored securely (not hardcoded in public repos)
Related Skills
- Implementing Syncfusion WPF Components - WPF-specific component implementation
- Implementing Syncfusion Blazor Components - Blazor components
- Implementing Syncfusion React Components - React components