ComponentOne 利用ガイド
ユーザーコントロールへのライセンスの埋め込み
ライセンスガイド > 特定のケースにおけるライセンスの組み込み > ユーザーコントロールへのライセンスの埋め込み

.NET では、複数のコンポーネントを共通のコンテナにカプセル化したユーザーコントロールを作成できます。ユーザ-コントロールは、それが定義されているプロジェクト、またはそのユーザーコントロールのライブラリを参照している別のプロジェクトで使用できます。

ユーザーコントロールに ComponentOne コンポーネントを配置している場合は、ユーザーコントロールのライブラリだけでなく、そのユーザーコントロールを使用する最終的なアプリケーションに対してもライセンスを適用する必要があります。ライセンスの解決方法については、以下のいずれかの方法をご参考ください。

いずれも、ユーザーコントロールに適切なライセンスが付与されていることを前提としています。ユーザーコントロールのライブラリに対してライセンスが適切に付与されていない場合は、ランタイムライセンスを手動で作成する必要があります。詳しくは「ランタイムライセンスの作成」をご参照ください。
 厳密な名前のキーを使用してアセンブリに署名する

ユーザーコントロールが含まれるアセンブリと、そのユーザーコントロールを使用する最終的なアプリケーションの両方に対して、同じ SN キー(厳密な名前のキー)を使用して署名します。これにより、ユーザーコントロールに適用されているライセンスが、最終的なアプリケーションに対しても適用されるようになります。

Visual Studio のプロジェクトプロパティの「署名」タブから、ユーザーコントロールと呼び出し元のメインアプリケーションに対して同じキーファイルを使用して署名できます。

 最終的なアプリケーションに対してランタイムライセンスを生成する

厳密な名前にキーによるソリューションが機能しない場合は、最終的なアプリケーションに対してランタイムライセンスを手動で生成できます。これは、MESCIUS Visual Studio メニューまたはコマンドラインから実行できます。

Visual Studio でランタイムライセンスを生成する

  1. ライセンスを埋め込むアプリケーションを Visual Studio で開きます。

  2. [ツール] メニューから [MESCIUS] > [ライセンスマネージャー] を選択し、「MESCIUS ライセンスマネージャー」拡張機能を開きます。

  3. [ランタイムライセンスの作成] をクリックします。

  4. プロジェクトの形式として「カスタム」を選択します。

    • [アプリ名] に、既知のアプリケーション名を含むユーザー コントロールの完全なファイル名を入力します。[アプリ名] にファイル拡張子を含めるかどうかは任意です。
      例:MyApplication.dll。

    • ランタイムライセンスを保存する場所を選択します。このファイルは後で手動でプロジェクトに追加するので、保存場所については任意です。

    • [プロダクトキータイプ]で、認証済みライセンスの製品を選択します。

  5. [作成する] をクリックします。

  6. 生成処理が完了したことを確認し、ダイアログを閉じます。

これにより、指定した場所にランタイムライセンスファイル(.gclicx)が生成されます。生成された .gclicx ファイルをユーザーコントロールプロジェクトに追加し、ビルドアクションを「埋め込みリソース」に設定してください。

コマンドラインからランタイムライセンスを生成する

ランタイムライセンスは、MESCIUS ライセンスマネージャー(gclm)を使用して、コマンドラインから生成することもできます。

例えば、ComponentOne Enterprise の認証済みライセンスがあり、アプリケーションの名前が MyApplication.exe の場合、Windows のコマンドラインは次のようになります。
C:\ProgramData\GrapeCity\gclm\gclm.exe "154b86e3-6b5b-4b2e-acdc-91d24d249879" -lc ./.gclicx "MyApplication.dll"

生成された .gclicx ファイルをアプリケーションのプロジェクトに追加し、ビルドアクションを「埋め込みリソース」に設定してください。

上記で示したように、認証済みのライセンスを使用してユーザーコントロールまたはクラスライブラリのライセンスを取得するには、アプリケーション名が明らかである必要があります。アプリケーション名が不明で、厳密な名前付きキーを使用できない場合は、ランタイムライセンスを適切に付与することができません。

関連トピック