syncfusion-winforms-licensing について
Syncfusion Windows Forms 開発者向けのライセンス管理ガイドです。キーの生成、登録、トラブルシューティング、CI/CD 設定を扱い、バージョンとプラットフォームの要件や安全なキー管理も説明します。
主な機能
- 01ライセンスキーの生成と登録
- 02ライセンスキーとインストーラー解除キーの区別
- 03バージョンやプラットフォームの不一致を解決
- 04環境変数からキーを読み込み
- 05CI/CD のライセンス検証を設定
- 06NuGet とインストーラーの登録要件を確認
活用シーン
- 01新しい Windows Forms プロジェクトのライセンス設定
- 02未登録または無効なキーのエラー解決
- 03ビルドサーバーでのライセンス検証設定
- 04トライアルから有償ライセンスへの移行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-licensingインストール後、Claude Code で/syncfusion-winforms-licensingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/license-generation.mdlicense-registration.mdlicensing-errors.mdlicensing-faqs.mdlicensing-overview.md詳細
Syncfusion Windows Forms のライセンス実装
このスキルでは、ライセンスキーの生成、登録、トラブルシューティング、CI/CD との統合など、Windows Forms アプリケーションで Syncfusion のライセンスを実装および管理するための包括的なガイダンスを提供します。
このスキルを使用するタイミング
次のことが必要な場合は、このスキルをすぐに使用してください。
- Syncfusion コンポーネントを使用する Windows Forms アプリケーションにライセンスを実装する
- ライセンス検証エラーや試用期間の終了メッセージを解決する
- 特定のバージョンとプラットフォーム向けのライセンスキーを生成する
- C# または VB.NET の Windows Forms アプリケーションにライセンスキーを登録する
- 無効なキー、プラットフォームの不一致、バージョンの不一致などのライセンスの問題をトラブルシューティングする
- ライセンス検証を行う CI/CD パイプライン(Azure Pipelines、GitHub Actions、Jenkins)を構成する
- NuGet パッケージ、試用版インストーラー、またはライセンス版インストーラーのライセンス要件を理解する
- 購入後に試用版からライセンス版へアップグレードする
- ビルドサーバーのライセンスに関するシナリオに対応する
Syncfusion のライセンスの概要
バージョン 16.2.0.x 以降、Syncfusion は新しいライセンスシステムを導入しました。このシステムでは、次のアプリケーションにライセンスキーの登録が必要です。
- 評価版インストーラーを使用するアプリケーション
- nuget.org の Syncfusion NuGet パッケージを参照するアプリケーション
主なポイント:
- ライセンスキーはバージョンおよびプラットフォームごとに異なります
- ライセンスキーはインストーラーのロック解除キーとは異なります
- 検証はアプリケーションの実行中にオフラインで行われます(インターネット接続は不要です)
- ライセンス版インストーラーを使用する場合、ライセンスキーを登録する必要はありません
- 試用版のライセンスキーは 30 日後に期限切れになります
ドキュメントとナビゲーションガイド
ライセンスについて理解する
📄 参照: references/licensing-overview.md
このリファレンスを参照するタイミング:
- バージョン 16.2.0.x で導入されたライセンスシステムを理解する場合
- ロック解除キーとライセンスキーの違いを学ぶ場合
- ライセンス登録が必要な状況を判断する場合
- ビルドサーバーのシナリオ(NuGet、試用版、ライセンス版の各インストーラー)を理解する場合
- バージョンおよびプラットフォームごとの違いについて学ぶ場合
ライセンスキーを生成する
📄 参照: references/license-generation.md
このリファレンスを参照するタイミング:
- License & Downloads セクションからライセンスキーを生成する場合
- Trial & Downloads セクションからライセンスキーを生成する場合
- Claim License Key 機能を使用する場合
- 有効なライセンスがある場合のシナリオに対応する場合
- 有効な試用版がある場合のシナリオに対応する場合
- 期限切れのライセンスに対処する場合
- ライセンスがない状態で試用版を開始する場合
ライセンスキーを登録する
📄 参照: references/license-registration.md
このリファレンスを参照するタイミング:
- C# または VB.NET で RegisterLicense メソッドを実装する場合
- C# アプリケーションの Main() メソッドでキーを登録する場合
- VB.NET の Application.Designer.vb でキーを登録する場合
- VB.NET の Program.vb でキーを登録する場合
- Syncfusion.Licensing.dll の参照要件を理解する場合
- オフライン検証機能について学ぶ場合
ライセンスエラーをトラブルシューティングする
📄 参照: references/licensing-errors.md
このリファレンスを参照するタイミング:
- 「License key not registered」エラーを解決する場合
- 「Invalid key」エラーを修正する場合
- 「Trial expired」メッセージに対処する場合
- プラットフォームの不一致エラーを解決する場合
- バージョンの不一致エラーを修正する場合
- 「Could not load Syncfusion.Licensing.dll」エラーをトラブルシューティングする場合
- Copy Local の設定を構成する場合
- レガシーエラー(v16.2.0 - v20.3.0)について理解する場合
よくある質問と CI/CD 連携
📄 参照: references/licensing-faqs.md
このリファレンスを読むタイミング:
- CI/CD のライセンス検証を実装するとき(Azure Pipelines、GitHub Actions、Jenkins)
- ビルドパイプラインで LicenseKeyValidator ユーティリティを使用するとき
- ライセンスキーの取得先を確認するとき
- 検証にインターネット接続が必要かどうかを確認するとき
- 試用版からライセンス版にアップグレードするとき
- NuGet.org ユーザー向けに Syncfusion アカウントを登録するとき
- ライセンスキーの適用対象を確認するとき
クイックスタートの例
Windows Forms アプリケーションで Syncfusion ライセンスキーを登録する完全な例を紹介します。
C# の例(環境変数を使用 — 推奨)
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());
}
}
}
代替方法:構成ファイルを使用(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 の例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SyncfusionLicenseKey" value="" />
</appSettings>
</configuration>
VB.NET の例(環境変数を使用 — 推奨)
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
環境変数の設定
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(コマンドプロンプト):
setx SYNCFUSION_LICENSE_KEY "your-license-key-value"
よくあるパターン
パターン 1:ライセンスキーの登録ワークフロー
Syncfusion のライセンスを実装する場合:
- Syncfusion アカウントからライセンスキーを生成します
- Syncfusion.Licensing.dll への参照を追加します
- アプリケーションのエントリポイントで(Syncfusion コントロールを初期化する前に)ライセンスキーを登録します
- ライセンス検証エラーが表示されないことを確認します
パターン 2:ライセンスエラーのトラブルシューティング
ライセンス検証エラーが発生した場合:
- 特定のエラーメッセージを特定します
- ライセンスキーが正しいバージョンとプラットフォーム向けであることを確認します
- 登録場所を確認します(コントロールの初期化前である必要があります)
- Syncfusion.Licensing.dll が参照されており、Copy Local = True であることを確認します
- 必要に応じてライセンスキーを再生成します
パターン 3:CI/CD のライセンス検証
CI パイプラインにライセンス検証を実装する場合:
- CI/CD シークレットにライセンスキーを安全に保管します(ソース管理には絶対に保存しないでください)
- 検証方法を選択します:
- 推奨: 単体テストで
ValidateLicense()メソッドを使用します - 代替方法: LicenseKeyValidator ユーティリティを使用します(セキュリティを確認してください)
- 推奨: 単体テストで
- 環境変数からライセンスキーを読み取るように検証を構成します
- CI パイプライン(Azure、GitHub Actions、Jenkins)に検証を統合します
- デプロイ前にライセンスを検証します
- 検証の失敗に適切に対処します
セキュリティ要件:
- ✅ CI/CD のシークレット管理(Azure Key Vault、GitHub Secrets、Jenkins Credentials)を使用する
- ✅ キーは環境変数からのみ読み取る
- ❌ スクリプトにキーをハードコードしない
- ❌ キーをソース管理にコミットしない
パターン 4:試用版からライセンス版へのアップグレード
試用後にライセンスを購入した場合:
- 方法 A: 試用版をアンインストールし、License & Downloads からライセンス版をインストールします
- 方法 B:(NuGet ユーザー向け)試用版のライセンスキーを購入済みのライセンスキーに置き換えます
- アプリケーションでのライセンス登録を確認します
- 試用版のメッセージが表示されないことをテストします
主要な概念
ライセンスキーのセキュリティに関するベストプラクティス
-
ライセンスキーをハードコードしない
- ❌ キーをソースコードに直接埋め込まない
- ❌ キーをバージョン管理(Git、SVN など)にコミットしない
- ❌ ソース管理にチェックインするビルドスクリプトにキーを含めない
-
安全な保管方法を使用する
- ✅ 環境変数(ローカル開発に推奨)
- ✅ ソース管理から除外した構成ファイル(.gitignore)
- ✅ CI/CD のシークレット管理(GitHub Secrets、Azure Key Vault、Jenkins Credentials)
- ✅ 安全な構成管理システム(Azure App Configuration、AWS Secrets Manager)
-
アクセス制御
- ライセンスキーにアクセスできるユーザーを制限します
- キーが漏えいした場合は定期的にローテーションします
- 本番環境でのキーの使用状況を監査します
-
CI/CD のセキュリティ
- パイプラインのシークレット変数を使用します
- ビルド出力にライセンスキーを表示または記録しないでください
- 実行時に環境変数を通じてキーを注入します
例 — 避けるべき方法:
// ❌ WRONG: Hardcoded key in source code
SyncfusionLicenseProvider.RegisterLicense("Mgo+DSMBaFt/QHRq...");
例 — 正しい方法:
// ✅ CORRECT: Key from environment variable
string key = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY");
SyncfusionLicenseProvider.RegisterLicense(key);
ライセンスキーの主な特徴
- バージョン固有: ライセンスキーは Syncfusion アセンブリのバージョンと一致している必要があります
- プラットフォーム固有: Windows Forms 用のキーは Windows Forms プラットフォームでのみ機能します
- オフライン検証: 実行時にインターネット接続は必要ありません
- 文字列形式: ライセンスキーは RegisterLicense() で登録する文字列です
- 機密データ: パスワードや API キーと同様に、機密情報として扱ってください
登録要件
| アセンブリの入手元 | ライセンス登録は必要ですか? | キーの入手先 |
|---|---|---|
| nuget.org の NuGet パッケージ | ✅ はい | License & Downloads / Trial & Downloads |
| トライアルインストーラー | ✅ はい | Trial & Downloads |
| ライセンス済みインストーラー | ❌ いいえ | 該当なし |
登録に関する重要なルール
- タイミング: Syncfusion コントロールを初期化する前に、ライセンスキーを登録してください
- 場所:
- C#:
Application.Run()の前のMain()メソッド内 - VB.NET:
Application.Designer.vbのコンストラクターまたはProgram.vb
- C#:
- 依存関係:
Syncfusion.Licensing.dllが Copy Local = True の設定で参照されていることを確認してください - 形式: ライセンスキーの文字列を二重引用符で囲んでください
一般的なユースケース
ユースケース 1:Syncfusion ライセンスの初回設定
シナリオ: NuGet パッケージを使用する新しい Windows Forms プロジェクトで、開発者が Syncfusion をセットアップしています。
手順:
- references/licensing-overview.md を読み、要件を確認します
- references/license-generation.md を読み、キーを生成します
- references/license-registration.md を読み、登録を実装します
- アプリケーションをテストし、ライセンスエラーがないことを確認します
ユースケース 2:ライセンス検証エラーの解決
シナリオ: アプリケーションに「ライセンスキーが登録されていません」または「無効なキー」というエラーが表示されます。
手順:
- references/licensing-errors.md を読み、該当するエラーを特定します
- ライセンスキーのバージョンとプラットフォームが一致していることを確認します
- 登録コードの場所とタイミングを確認します
- 必要に応じてライセンスキーを再生成します
- Syncfusion.Licensing.dll の参照を確認します
ユースケース 3:ビルドサーバーの設定
シナリオ: 自動ビルドまたは CI/CD 用に Syncfusion ライセンスを設定しています。
手順:
- references/licensing-overview.md のビルドサーバーに関するセクションを読みます
- アセンブリの入手元に基づいて、ライセンス登録が必要かどうかを判断します
- パイプラインの設定について、references/licensing-faqs.md の CI/CD に関するセクションを読みます
- CI パイプラインにライセンス検証を実装します
- ビルドプロセスをテストします
ユースケース 4:トライアル版からライセンス版へのアップグレード
シナリオ: トライアル版の使用後に、開発者がライセンスを購入しました。
手順:
- references/licensing-faqs.md のアップグレードに関するセクションを読みます
- アップグレード方法(再インストールまたはキーの置き換え)を選択します
- 新しい有償ライセンスキーを生成します
- 登録コードを新しいキーに更新します
- トライアルのメッセージが表示されなくなったことを確認します
ユースケース 5:バージョンのアップグレード
シナリオ: Syncfusion コンポーネントを新しいバージョンにアップグレードしています。
手順:
- License & Downloads から対象バージョン用の新しいライセンスキーを生成します
- NuGet パッケージまたはインストーラーを新しいバージョンに更新します
- 古いライセンスキーを、バージョン固有の新しいキーに置き換えます
- アプリケーションをテストし、互換性を確認します
- エラーが発生した場合は、references/licensing-errors.md を読みます
追加リソース
- Syncfusion アカウント: https://www.syncfusion.com/account/manage-trials/downloads
- ライセンスとダウンロード: https://www.syncfusion.com/account/downloads
- サポート: https://support.syncfusion.com/
概要
このスキルでは、Syncfusion Windows Forms のライセンスに関するライフサイクル全体を扱います。
- ライセンス要件とシナリオの理解
- 特定のバージョンとプラットフォーム向けのライセンスキーの生成
- C# および VB.NET アプリケーションでのライセンスキーの登録
- よくあるライセンスエラーのトラブルシューティング
- CI/CD のライセンス検証の実装
- トライアル版からライセンス版への移行の処理
まず、具体的なニーズ(概要、生成、登録、エラー、よくある質問)に応じた適切なリファレンスファイルをお読みください。