syncfusion-wpf-licensing について
Syncfusion 開発者向けに、複数プラットフォームでのライセンスキー生成、登録、トラブルシューティングを扱うガイドです。キーの安全な管理と CI/CD 検証についても説明します。
主な機能
- 01プラットフォーム・バージョン別キーの生成
- 02各種アプリへのキー登録
- 03一般的なライセンスエラーの調査
- 04CI/CD でのライセンス検証
- 05キーの安全な保管
活用シーン
- 01Syncfusion NuGet パッケージや試用インストーラーの設定
- 02プラットフォームやバージョンの不一致エラーの解決
- 03ビルドサーバーでのライセンス検証設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-licensingインストール後、Claude Code で/syncfusion-wpf-licensingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/ci-license-validation.mdgenerating-license-keys.mdlicensing-errors.mdoverview-and-differences.mdregistering-license-keys.mdSECURITY_ANALYSIS.mdupgrading-and-account-setup.md詳細
Syncfusion ライセンスの実装
すべてのプラットフォーム(WPF、Blazor、React、MAUI、Angular、Vue、ASP.NET Core など)で Syncfusion ライセンスキーを生成、登録、トラブルシューティングするための包括的なガイドです。
概要
バージョン 16.2.0.x 以降、Syncfusion は次の対象に適用されるライセンスシステムを導入しました。
- トライアルインストーラーを使用するすべての評価ユーザー
- nuget.org から NuGet パッケージを使用する有料のお客様
評価版インストーラーまたは NuGet パッケージを使用する場合、ライセンス検証メッセージを回避するため、アプリケーションに有効なライセンスキーを登録する必要があります。
重要なポイント:
- ライセンスキーはバージョンおよびプラットフォームごとに異なります
- 登録はオフラインで行われます(インターネット接続は不要です)
- インストーラーのロック解除キーとは異なります
- nuget.org の NuGet パッケージとトライアルインストーラーでは必須です
- ライセンス付きインストーラー(ライセンス付きインストールから取得したアセンブリ)では不要です
このスキルを使用するタイミング
ユーザーが次のことを必要としている場合は、すぐにこのスキルを使用します。
- Syncfusion コンポーネントのライセンスキーを生成する
- アプリケーション(WPF、Blazor、React など)にライセンスキーを登録する
- ライセンスエラーのトラブルシューティングを行う(トライアルの期限切れ、無効なキー、プラットフォーム/バージョンの不一致)
- CI/CD のライセンス検証を設定する(Azure Pipelines、GitHub Actions、Jenkins)
- トライアル版からライセンス版にアップグレードする
- ライセンスキーとロック解除キーの違いを理解する
- ビルドサーバーのライセンスを設定する
- 「ライセンス検証メッセージ」エラーを解決する
- NuGet.org ユーザー向けに Syncfusion アカウントを登録する
ValidateLicense()メソッドを使用して、プログラムからライセンスを検証する
ライセンスの種類を理解する
ライセンス登録が必要な場合
| Syncfusion の提供元 | ライセンス登録が必要ですか? | 備考 |
|---|---|---|
| NuGet パッケージ(nuget.org) | ✅ はい | バージョンおよびプラットフォームごとのキーが必要です |
| トライアルインストーラー | ✅ はい | 無料の 30 日間トライアルキーが必要です |
| ライセンス付きインストーラー | ❌ いいえ | 登録は不要です |
ライセンスキーとロック解除キー
- ライセンスキー:
SyncfusionLicenseProvider.RegisterLicense()を使用してアプリケーションコードに登録します - ロック解除キー:Syncfusion インストーラーのロック解除に使用します(旧システム)
- この 2 つは異なるキーであり、目的も異なります
ドキュメントとナビゲーションガイド
ライセンスの使用開始
📄 参照: references/overview-and-differences.md
- ライセンスシステムの概要
- ライセンスキーとロック解除キーの違い
- ライセンスキーが必要な場合(NuGet、トライアル、ライセンス付きインストーラー)
- ビルドサーバーのライセンス要件
- プラットフォームおよびバージョンごとの違い
- ビルド環境でのキーの登録
ライセンスキーの生成
📄 参照: references/generating-license-keys.md
- キーの生成場所(License & Downloads、Trial & Downloads)
- 「Claim License Key」機能の使用
- 有効なライセンスと有効なトライアルの取り扱い
- 期限切れのライセンスへの対応(一時的な 5 日間キー)
- プラットフォームとバージョンの選択方法
ライセンスキーの登録
📄 参照: references/registering-license-keys.md
- プラットフォームごとの登録コードの配置場所
- WPF:App.xaml.cs コンストラクターでの登録(C# および VB)
- Blazor、React、Angular、Vue、MAUI の登録パターン
- Syncfusion.Licensing.dll の要件
- オフライン検証機能
- 登録コードの例
ライセンスエラーのトラブルシューティング
📄 参照: references/licensing-errors.md
- 「ライセンスキーが登録されていません」エラー
- 「無効なキー」エラー
- 「トライアルの期限切れ」エラー
- 「プラットフォームの不一致」エラー
- 「バージョンの不一致」エラー
- 「Syncfusion.Licensing.dll を読み込めませんでした」エラー
- 各エラーの解決策
- アセンブリの Copy Local 設定
- バージョン別のエラーメッセージ(16.2.0+ と 20.3.0+)
CI/CD ライセンス検証
📄 参照: references/ci-license-validation.md
- CI/CD 検証ガイダンス(プログラムによる検証、単体テストによる検証、または内部ホスト型の成果物)。パイプラインで未検証の外部バイナリをダウンロードまたは実行しないでください。
- Azure Pipelines(YAML および Classic)との統合
- GitHub Actions との統合
- Jenkins パイプラインとの統合
- プログラムによる検証のための
ValidateLicense()メソッド - 単体テストプロジェクトによる検証方法
- デプロイ時のライセンスエラーの防止
アップグレードとアカウントの設定
📄 参照: references/upgrading-and-account-setup.md
- ライセンス購入後の試用版からのアップグレード
- アンインストールと再インストールの手順
- 試用版キーから有料ライセンスキーへの置き換え
- NuGet.org ユーザー向け Syncfusion アカウントの登録
- 30 日間の無料試用の開始
- インターネット接続の要件(オフライン検証が可能)
クイックスタートの例
⚠️ セキュリティ警告
ライセンスキーをコードにハードコードしないでください。 ライセンスキーは秘密情報であり、安全に保管する必要があります。認証情報を安全に扱う方法については、SECURITY_ANALYSIS.md ドキュメントをご覧ください。
WPF アプリケーション(環境変数で安全に設定)
// In App.xaml.cs
using Syncfusion.Licensing;
public partial class App : Application
{
public App()
{
// SECURE: Read from environment variable
string licenseKey = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY")
?? throw new InvalidOperationException(
"SYNCFUSION_LICENSE_KEY environment variable not set");
// Register Syncfusion license key BEFORE initializing any components
SyncfusionLicenseProvider.RegisterLicense(licenseKey);
InitializeComponent();
}
}
実行前に環境変数を設定してください:
# Windows Command Prompt
setx SYNCFUSION_LICENSE_KEY "your_actual_license_key"
# Windows PowerShell
$env:SYNCFUSION_LICENSE_KEY = "your_actual_license_key"
Blazor Server(構成で安全に設定)
// In Program.cs
using Syncfusion.Licensing;
var builder = WebApplication.CreateBuilder(args);
// SECURE: Read from configuration (loaded from environment variables or appsettings.json)
var licenseKey = builder.Configuration["Syncfusion:LicenseKey"]
?? throw new InvalidOperationException(
"Syncfusion:LicenseKey not configured. " +
"Set SYNCFUSION_LICENSE_KEY environment variable or add to appsettings.json");
// Register license key at application startup
SyncfusionLicenseProvider.RegisterLicense(licenseKey);
// ... rest of your configuration
環境の設定:
# Set environment variable
set SYNCFUSION_LICENSE_KEY=your_license_key
# Or use user secrets in development
dotnet user-secrets set "Syncfusion:LicenseKey" "your_license_key"
React/Angular/Vue(環境変数で安全に設定)
// In your main entry point (e.g., index.js, main.ts)
import { registerLicense } from '@syncfusion/ej2-base';
// SECURE: Read from environment variable (via process.env or import.meta.env)
const licenseKey = process.env.REACT_APP_SYNCFUSION_LICENSE_KEY;
if (!licenseKey) {
console.error('REACT_APP_SYNCFUSION_LICENSE_KEY environment variable not set');
throw new Error('License key not configured');
}
// Register license key before rendering components
registerLicense(licenseKey);
環境の設定(.env ファイル):
REACT_APP_SYNCFUSION_LICENSE_KEY=your_actual_license_key
重要: キーを誤ってコミットしないよう、.env と .env.local を .gitignore に追加してください。
よくあるライセンスのシナリオ
シナリオ 1:試用ユーザーの設定
- Syncfusion の無料アカウントに登録します
- アカウントポータルから 30 日間の試用を開始します
- Trial & Downloads セクションから試用版ライセンスキーを生成します
RegisterLicense()を使用して、アプリケーションにキーを登録します- 試用版キーは 30 日後に有効期限が切れます
シナリオ 2:ライセンス所有ユーザーの設定
- Syncfusion アカウントにログインします
- License & Downloads セクションに移動します
- 使用するバージョンとプラットフォームに対応するライセンスキーを生成します
RegisterLicense()を使用して、アプリケーションにキーを登録します- キーは指定されたバージョンとプラットフォームで有効です
シナリオ 3:NuGet.org ユーザーの設定
- nuget.org の Syncfusion パッケージを使用するには、ライセンス登録が必要です
- Syncfusion アカウントをお持ちでない場合は、登録します
- 試用を開始するか、ライセンスを購入します
- ライセンスキーを生成して登録します
- 登録しないと、ライセンス検証の警告が表示されます
シナリオ 4:ビルドサーバー/CI/CD
- NuGet パッケージを使用するビルドサーバーでは、ライセンス登録が必要です
- ビルド環境用のキーを生成するには、任意の開発者ライセンスを使用します
- アプリケーションコードにキーを登録します
- 必要に応じて CI ライセンス検証を設定し、エラーを早期に検出します
- ビルド中にインターネット接続は不要です(オフライン検証)
シナリオ 5:試用版からのアップグレード
- Syncfusion ライセンスを購入します
- オプション A:試用版インストーラーをアンインストールし、License & Downloads からライセンス版をインストールします
- オプション B:NuGet を使用している場合は、有料ライセンスキーを生成して試用版キーと置き換えます
- ライセンス版インストーラーのアセンブリでは、キー登録は不要です
- NuGet パッケージでは、常にキー登録が必要です
主な概念
プラットフォームとバージョンの指定
- ライセンスキーはバージョン固有です:v26.1.35 用のキーは v26.2.4 では使用できません
- ライセンスキーはプラットフォーム固有です:WPF 用のキーは Blazor では使用できません
- プラットフォームとバージョンの組み合わせごとに、別々のキーを生成します
RegisterLicense()の呼び出しでは、正しいバージョンを使用します
オフライン検証
- アプリケーションの実行中、ライセンス検証はオフラインで行われます
- アプリケーションの実行にインターネット接続は不要です
- 外部ネットワークから隔離されたシステムにもデプロイできます
- 検証はアプリケーションの起動時に行われます
ビルドサーバー
- NuGet パッケージを使用するビルドサーバーでは、ライセンス登録が必要です
- CI/CD 用のキーを生成するには、任意の開発者ライセンスを使用します
- ビルドサーバー上のライセンス済みインストーラーアセンブリには、キーは不要です
- デプロイエラーを防ぐため、CI 検証を設定します
Syncfusion.Licensing.dll
- ライセンス登録に必要なアセンブリです
RegisterLicense()を使用するプロジェクトで参照されていることを確認します- 出力に含めるには、「Copy Local」を
trueに設定します - NuGet 経由で入手できます:
Syncfusion.Licensing
登録のベストプラクティス
- 早めに登録する:Syncfusion コンポーネントを初期化する前に
RegisterLicense()を呼び出します - アプリごとに1回登録する:起動時に1回登録するだけで十分です
- 安全なストレージを使用する:✅ 環境変数、✅ 構成ファイル、✅ シークレットマネージャー(Azure Key Vault、AWS Secrets Manager) | ❌ 文字列リテラルをハードコードしないでください
- バージョンを一致させる:すべての Syncfusion パッケージで同じバージョンを使用します
- キーをハードコードしない:環境変数または安全な構成システムにキーを保存します
- .gitignore を使用する:シークレットを含む構成ファイルをバージョン管理から除外します
- CI/CD 検証:外部ツールのダウンロードではなく、プログラムによる検証方法を使用します
- キーを定期的にローテーションする:ライセンスキーを定期的に更新し、古いキーを失効させます
- アクセスを監査する:すべてのライセンスキーへのアクセスと使用状況を監視、記録します
⚠️ セキュリティ警告: 認証情報の安全な取り扱いと CI/CD 検証パターンの詳細については、SECURITY_ANALYSIS.md を参照してください。
エラー防止チェックリスト
アプリケーションをデプロイする前に、以下を確認してください。
- 正しいバージョンとプラットフォーム用のライセンスキーが生成されている
- Syncfusion コンポーネントを初期化する前に
RegisterLicense()が呼び出されている - すべての Syncfusion NuGet パッケージで同じバージョンが使用されている
- Syncfusion.Licensing.dll が参照され、「Copy Local」= true に設定されている
- ライセンスキーが使用中の Syncfusion パッケージのバージョンと一致している
- CI/CD の場合:ビルドパイプラインでライセンス検証が設定されている
- ライセンスキーが安全に保存されている(公開リポジトリにハードコードされていない)
関連スキル
- Syncfusion WPF コンポーネントの実装 - WPF 固有のコンポーネント実装
- Syncfusion Blazor コンポーネントの実装 - Blazor コンポーネント
- Syncfusion React コンポーネントの実装 - React コンポーネント