Skip to main content

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.

Informations de source

Dépôt
syncfusion/winforms-ui-components-skills
Dernière activité de la source
6 juillet 2026 à 07:19
Langue détectée de SKILL.md
anglais
Étoiles
2
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
6 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
syncfusion-winforms-licensing
description
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.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# 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](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](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](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](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](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) ```csharp 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) ```csharp 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 <?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) ```vb 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):** ```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):** ```cmd 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:** ```csharp // ❌ WRONG: Hardcoded key in source code SyncfusionLicenseProvider.RegisterLicense("Mgo+DSMBaFt/QHRq..."); ``` **Example - Correct Approach:** ```csharp // ✅ 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 Source | License Registration Required? | Where to Get Key | |----------------|-------------------------------|------------------| | NuGet packages from nuget.org | ✅ Yes | License & Downloads / Trial & Downloads | | Trial installer | ✅ Yes | Trial & Downloads | | Licensed installer | ❌ No | Not 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](references/licensing-overview.md) to understand requirements 2. Read [references/license-generation.md](references/license-generation.md) to generate key 3. Read [references/license-registration.md](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](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](references/licensing-overview.md) build server section 2. Determine if license registration is required based on assembly source 3. Read [references/licensing-faqs.md](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](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](references/licensing-errors.md) ## Additional Resources - **Syncfusion Account:** https://www.syncfusion.com/account/manage-trials/downloads - **License & Downloads:** https://www.syncfusion.com/account/downloads - **Support:** https://support.syncfusion.com/ ## 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).
Voir sur GitHub