WPF Chart License Comparison: SciChart, LightningChart, Syncfusion, DevExpress vs ProEssentials

The licensing pain, deployment friction, and EULA surprises you'll hit with each library — activation wizards, runtime keys, machine locks, and subscription expiry traps

WPF chart deployment pain
license activation friction
chart library gotchas
NuGet deployment issues
air-gapped deployment
subscription expiry
runtime license key
perpetual license charting

WPF Chart License Pain Comparison:
SciChart vs LightningChart vs Syncfusion vs DevExpress vs ProEssentials — Evaluation, Activation, Deployment & Expiry

SciChart, LightningChart, Syncfusion, and DevExpress all look clean in the marketing screenshots. The comparison tables show features, the demos show smooth rendering, and the pricing page shows a number. What they don't show is the chain of licensing friction you'll hit the moment you try to evaluate, activate, deploy, move machines, or let a subscription lapse. This page documents every pain point for each library versus ProEssentials — organized by the stages you'll experience them, because that's how they actually hit you: one after another, compounding.

The friction isn't one thing. It's a lifecycle. You hit these walls sequentially — and by the time you discover the worst ones, you've already committed your codebase to the library.

WPF Chart License Pain Table: SciChart vs LightningChart vs Syncfusion vs DevExpress vs ProEssentials

This table covers every friction point a developer will encounter from first evaluation through long-term maintenance. Each row is a stage in the developer lifecycle. Read it top to bottom — that's the order you'll experience these issues.

Pain PointProEssentialsSciChartLightningChartSyncfusionDevExpress
Account required to evaluate?NoYes — scichart.com account + Licensing WizardYes — customer portal registrationYes — Syncfusion account for license keyYes — DevExpress account
Online activation per dev machine?No — fully offlineYes — Licensing Wizard + internetYes — License Manager + internetNoNo (installer writes to registry)
Runtime key embedded in every exe?NoYes — SetRuntimeLicenseKey()Yes — SetDeploymentKey() per componentYes — RegisterLicense() version-specificYes — .NET License Key (v25.1+)
Trial machine-locked?NoYes — per-machine trialYes — one machine per licenseNoNo
Move to new dev machineReinstall, same serialReactivate online via wizardDeactivate old → reactivate new (internet required, up to 2 business days offline)No machine-tieRe-register license key
Deploy to air-gapped network✅ Copy DLLs, run⚠ Offline key via email bot❌ Online activation — $300 offline fee after expiry⚠ Offline key generation✅ Offline key
Subscription expires: deployed appKeeps working forever — perpetualKeeps working (key embedded)❌ EULA revokes distribution rights — signed removal document requiredKeeps working (if final form, no modifications)Keeps working
Subscription expires: new machineN/A — perpetualCannot activate new versions$300 reactivation fee per machineNo machine-tieCannot activate new versions
Nag screen if license issue?No — perpetualNoYes — 1 fps + nag message overlayLicensing warning bannerTrial watermark + eval banners
EULA audit rights?NoRetroactive billing via telemetryNoYes — twice/year + 2 years afterNo
Mandatory code obfuscation?NoNoYes — EULA requires obfuscation of deployment keysNoNo
AI quick-app scenario (many exes)✅ Zero friction — build unlimited exesEvery exe needs runtime keyEvery exe needs deployment key per componentEvery exe needs version-matched keyEvery exe needs license key at build
NuGet package count / size1 package, 5–8 MB3–5 packages1 monolithic, 80–150 MB10+ packages5+ packages
External runtime on end-user machine?NoneVC++ 2013 Redist (3-D)Arction.DirectXFiles.dllNoneNone

Stage 1 — "Can I Even Try This?"

ProEssentials: ProEssentials is available on NuGet as a lightweight single package — but Gigasoft recommends the zero-hassle single-click download from gigasoft.com. No account, no registration, no email required. You're charting in minutes.

SciChart: You must create a scichart.com account, download and install the Cross Platform Licensing Wizard, log in with your credentials, and request a trial. The trial is machine-specific — if you transfer the app to another PC, that PC needs to start its own trial. The previous 'it just worked for 30 days' behavior was removed in v6.

LightningChart: You must register at the LightningChart customer portal, provide your email, and receive a trial download link. The trial requires installation of a License Manager application. The license is granted for one developer and one machine. Want to test on your laptop after evaluating on your desktop? That's a second activation.

Syncfusion: If you grab the NuGet package from nuget.org without a Syncfusion account, you need to create an account and obtain a trial license key — the key must be registered in your application code before any Syncfusion control will work without a licensing warning. The license key is version-specific and platform-specific.

DevExpress: Your 30-day trial period starts when you first download a non-licensed NuGet package. When it ends, you lose access to non-licensed packages entirely. Until v25.1, DevExpress used a private NuGet feed requiring account credentials — they are moving to nuget.org in v26.1, but the transition adds its own configuration overhead.

Stage 2 — "I Bought It. Now How Do I Activate on My Dev Machine?"

ProEssentials: ProEssentials uses a serial number stamped into the DLL at install time, plus a set of keys you set once in code. Entirely offline. No wizard, no internet connection, no account portal, no activation server. Works identically on an air-gapped classified network as it does on your home laptop.

SciChart: Download the Cross Platform Licensing Wizard and activate your developer license online. Without this activation, you cannot compile or debug applications built with SciChart. You log in with your scichart.com username (not email) and password, enter your serial key, and activate via the internet. Behind a corporate firewall? You'll need the offline email-bot activation process instead. Note: licensing issues can occur if your PC hostname contains non-Latin characters (Cyrillic, Chinese, Japanese) — you'll need to rename your machine.

LightningChart: Online activation through the License Manager. The license is tied to one machine. If you need to move it, you must first deactivate from the old machine (requires internet), then reactivate on the new one. If internet isn't available for deactivation, you need to do it via email — which can take up to two business days.

Syncfusion: Starting with v16.2, you must include a platform-specific, version-specific license key in your projects. This key is different from the old installer unlock key. You generate it from the Syncfusion website, then register it in your application code via SyncfusionLicenseProvider.RegisterLicense(). Every time you upgrade to a new Syncfusion version, you must regenerate the key.

DevExpress: The DevExpress Unified Installer writes a .NET License Key to your system registry and a key file. Starting in v25.1, this .NET License Key is now mandatory and is separate from your NuGet Feed URL/Key — you now have two different credentials to manage. When upgrading major versions (e.g. v25.1 to v25.2+), you must obtain and re-register an updated license key.

Stage 3 — "I Want to Ship My Exe to Users or Test Machines"

This is where the friction compounds. You've evaluated, you've bought, you've activated — now you want to build an application and give it to someone. Every competitor except ProEssentials requires you to embed a licensing artifact in every executable you produce.

ProEssentials: Copy DLLs, run. That's it. No runtime key, no activation on end-user machines, no deployment key, no license validation at startup. Your end users never interact with licensing. Your IT team never configures anything. The DLL works because it was licensed at install time — every exe you build with it inherits that license silently.

SciChart: You must call SciChartSurface.SetRuntimeLicenseKey() in your application startup code before any SciChartSurface is instantiated. This is required for every application you distribute. The runtime key is a long XML string containing your company name, order ID, license count, support expiry date, and keycode — all embedded in your source code. For 3-D applications, you use SciChart2D3DInitializer.LoadLibrariesAndLicenseAsync() instead, which also requires a temporary directory with write permissions and must complete before any chart surface is created.

LightningChart: You must extract a Deployment Key from your license using the License Manager, then call SetDeploymentKey() in your application code — separately for each LightningChart component type (bindable chart, non-bindable chart, SignalGenerator, AudioInput, AudioOutput, SpectrumCalculator, SignalReader, FilterRoutines). That's potentially 8 separate SetDeploymentKey() calls in your App.xaml.cs. Without the deployment key, LightningChart enters a 30-day trial on the target machine. With the deployment key but no dev license on the machine, debugging drops to approximately 1 fps with a nag message overlay. LightningChart's EULA also requires you to obfuscate your application code so that license keys are not visible to disassembly tools — leaking keys can lead to license termination and legal action.

Syncfusion: Your version-matched license key must be registered in code via SyncfusionLicenseProvider.RegisterLicense(). You must also ensure the Syncfusion.Licensing.dll assembly is deployed with CopyLocal set to true. If the license key version doesn't match the Syncfusion NuGet package version, you get runtime licensing errors. Upgrade Syncfusion? Regenerate the key. Every time.

DevExpress: Your .NET License Key must be accessible at build time — DevExpress code locates the key during compilation. For CI/CD pipelines, you need to store the license key as an environment variable (case-sensitive — DEVEXPRESS_LICENSE on Linux won't match devexpress_license). For team deployments, each developer's license is individually assigned by a license manager — if the license holder reassigns your license to someone else, your NuGet feed automatically converts to trial mode.

Stage 4 — "I Got a New Laptop" or "I Moved Machines"

ProEssentials: Reinstall, same serial number, keep working. No deactivation of the old machine. No internet required. No waiting period. The license is in the DLL, not tied to a machine ID.

SciChart: Re-run the Licensing Wizard on the new machine, log in to scichart.com, and activate online. If behind a firewall, use the offline email-bot process. Relatively straightforward while your subscription is active.

LightningChart: You must deactivate the license from the old machine first (requires internet or email-based deactivation that takes up to two business days). Then activate on the new machine. If your subscription has expired, see Stage 5 — the reactivation fee applies.

Syncfusion: No machine-tie for the developer license itself. But you'll need to ensure your version-matched license key is in the new project. Straightforward.

DevExpress: Re-run the Unified Installer or manually register your license key on the new machine. If your subscription is active, this is straightforward.

Stage 5 — "My Subscription Expired"

This is where the EULA fine print becomes reality. Read these carefully — some of these clauses will surprise you.

ProEssentials: Nothing changes. ProEssentials is a perpetual license. Your app keeps working. Your license keeps working. Your support keeps working — free, unlimited, forever, from the developers who built the engine. There is no subscription to expire. There is no renewal to forget. There is no cliff.

SciChart: Deployed applications with embedded runtime keys continue to work. However: you lose all technical support (forums will not answer your questions, your profile shows 'Support Expired'), you cannot use your license key on newer SciChart versions released after expiry, and test domains stop working. SciChart's EULA includes a retroactive billing clause: through telemetry data or license audit, if SciChart determines your usage exceeds purchased licenses, they will provide a custom quote at renewal — and 'excessive mismatch' may result in retroactive billing. SciChart also reserves the right to vary the terms of the EULA and fees at any time, though existing subscriptions are honored for their duration.

LightningChart: LightningChart has the harshest subscription expiry terms in the WPF charting market. Their EULA states that subscription expiry revokes the Licensee's rights to distribute deployed products and applications to end-users. The Licensee is required to send an official confirmation on a signed document stating that the software was fully removed from all deployed applications. If you need to reactivate on a new machine after expiry, there is a $300 per-occurrence offline reactivation fee. Online activations remain free, but if you're on a non-perpetual (subscription) license and it expires, the license itself expires — you must renew or remove the software from both developer and end-user machines. On machines without a valid license, the chart drops to approximately 1 frame per second with a nag message overlay, effectively rendering your deployed application unusable. Subscription must be renewed within 1 month of expiry or you lose eligibility to renew entirely and must purchase at full price.

Syncfusion: Syncfusion's EULA includes a general audit clause: Syncfusion (or its chosen independent certified public accountant) has the right to audit your books and records up to twice per calendar year, during the time you possess any copy of the software and for two years after. If the audit reveals underpayment of 3% or more, you reimburse Syncfusion for the cost of the audit. Failure to cooperate with an audit is a material breach not subject to cure — Syncfusion can immediately terminate all rights without further notice. If you were on a Community License (free for companies under $1M revenue) and your revenue passes that threshold, the license is revoked with 'absolutely no exceptions' — and if your company is controlled by a larger entity, the parent company's revenue counts too. Upon termination, you must immediately return or destroy the software and certify in writing that you've done so.

DevExpress: DevExpress is the most reasonable of the competitors on expiry. You can continue using the last version you obtained. However: you lose support, you lose updates, and renewal costs increase on a monthly basis starting 30 days after expiration. If you violate the EULA, DevExpress requires you to destroy all copies and remove all use of DevExpress intellectual property from any distributed applications. Starting in v25.1, the new .NET License Key system adds another credential that must be re-registered when upgrading major versions.

Stage 6 — "I Just Want to Plot Some Data"

ProEssentials has zero pain and zero friction when used as a tool. Install once, build anything — one exe or a hundred. No runtime key, no activation, no per-exe validation. In the AI era, where developers generate quick plotting apps constantly, this is the difference between a tool that stays out of your way and a library that makes you manage licensing for every executable you produce.

ProEssentials: Build a quick data visualization app with AI. Run it. Build another one tomorrow. No licensing ceremony for any of them. ProEssentials is an engineering tool — you install it, you use it, you move on. The DLL doesn't care what exe it's running inside, how many exes exist, or who built them.

SciChart: Every exe you build — whether it's a quick plot or a production dashboard — needs SetRuntimeLicenseKey() called before any chart surface is created. Forget the key, the chart won't render.

LightningChart: Every exe needs SetDeploymentKey() called for each component type used. Without it, the chart enters trial mode or drops to 1 fps. A quick plotting tool requires the same licensing ceremony as a production application.

Syncfusion: Every exe needs RegisterLicense() with a version-matched key. Upgrade the NuGet package? Regenerate the key from the Syncfusion website and update your code.

DevExpress: Every exe needs the .NET License Key accessible at build time. Less friction than SciChart or LightningChart, but still a key to manage.

SciChart, LightningChart, Syncfusion & DevExpress EULA Clauses Nobody Reads — Until It's Too Late

Every clause below is from the vendor's publicly available EULA or official documentation. Nothing is paraphrased beyond what the original text states. These are the terms you agree to when you click 'Accept.'

LightningChart: Distribution Rights Revoked on Expiry

LightningChart's EULA states that subscription expiry revokes the Licensee's rights to distribute deployed products and applications to end-users with the Licensor's software in it. The Licensee is then required to send an official confirmation on a signed document stating that the software was fully removed from all deployed applications. This means an application your customers are already running can become a licensing violation if your subscription lapses.

Additionally, the EULA requires licensees to use an obfuscation tool to prevent all license keys and deployment keys from being visible to reverse-engineering and disassembler tools. Leaking license keys may lead to license termination, legal actions, and claims for damages.

SciChart: Retroactive Billing and Telemetry

SciChart's EULA includes a retroactive billing clause: through the use of telemetry data or license audit, SciChart generates usage reports. Where a licensee exceeds the usage of their developer licenses or OEM license fees, SciChart will provide a custom quote at renewal time. Excessive mismatch between licenses purchased and usage may result in retroactive billing.

SciChart also reserves the right to vary the terms of the SLA and relevant charges and fees from time to time. Existing licensees with active subscriptions will be honored on existing terms for the duration of their active subscriptions — but once that subscription lapses, the new terms apply to renewal.

Syncfusion: Financial Audits and Revenue Cliffs

Syncfusion's EULA grants the company (or its chosen independent certified public accountant) the right to audit your books and records up to twice per calendar year, during regular business hours, for the entire time you possess any copy of the software and for two years after. If the audit reveals underpayment of 3% or more, you reimburse Syncfusion for the cost of the audit.

If you fail to cooperate with an audit, it is considered a material breach not subject to cure — Syncfusion reserves the right to immediately terminate all rights without further notice. The Community License ($0 for companies under $1M revenue) includes a strict eligibility clause: there are 'absolutely no exceptions' for the revenue threshold, parent company revenue counts toward the limit, and government organizations are entirely ineligible.

DevExpress: Destroy and Remove

DevExpress's termination clause requires the licensee to destroy all copies of the software and all component parts including related documentation, and remove any and all use of DevExpress intellectual property from any applications distributed by the licensee, whether in native, altered, or compiled states.

Of the four competitors, DevExpress has the most reasonable ongoing terms — you can continue using the last version obtained after subscription expiry, with no runtime degradation and no distribution restrictions. However, the new .NET License Key system (v25.1+) adds a credential management burden that didn't previously exist.

ProEssentials: One Page, No Surprises

Perpetual license. No audit clause. No telemetry. No retroactive billing. No distribution revocation. No mandatory obfuscation. No signed removal documents. No revenue thresholds. You buy it, you use it, you ship it, you keep using it. The license agreement is what you'd expect from a tool purchase, not a legal engagement.

The Bottom Line: SciChart, LightningChart, Syncfusion & DevExpress Licensing vs ProEssentials

ProEssentials is the only WPF charting library where the licensing model is designed to disappear after purchase. No runtime keys in code, no online activation, no per-exe validation, no machine-tied licenses, no subscription cliffs, no EULA audit rights, no distribution revocation, no signed removal documents. It is an engineering tool that behaves like one.

Every competitor requires you to embed licensing artifacts in your application code, manage activation across machines, and navigate EULA terms that can affect your deployed applications after subscription expiry. The friction is manageable when you know about it in advance — the problem is that most developers don't discover these constraints until they've already committed.

This page exists so you discover them now, not later.

Performance & Architecture

GPU compute shaders vs game-engine loops and what it means for your application's speed and power budget.

Read more
Pricing & Support

Perpetual vs subscription math, support ticket limits, and the real 5-year total cost of ownership for teams of all sizes.

Read more
Platform Coverage

WPF, WinForms, C++ MFC, Delphi VCL, and ActiveX — why ProEssentials covers legacy and modern stacks that competitors cannot.

Read more
Questions? Talk to the Developers.

ProEssentials support is free, unlimited, and provided directly by the developers who built the charting engine. No ticket limits, no subscription required, no expiration. Ask us anything about licensing, deployment, or migration from a competitor.

Contact the ProEssentials Team →

Our Mission

Your success is our #1 goal by providing the easiest and most professional benefit to your organization and end-users.

We are Engineers

ProEssentials was born from professional Electrical Engineers needing their own charting components. Join our large list of top engineering companies using ProEssentials.

Thank You

Thank you for being a ProEssentials customer, and thank you for researching the ProEssentials charting engine.