PowerTools SPREAD for Windows Forms 10.0J
ライセンスエラーの対処方法

ライセンス認証が正しく設定されていない場合、次のようなライセンスエラーが発生します。

製品版を使用中にライセンスエラーが表示される場合、以下のような原因が考えられます。

それぞれの場合に応じて次のような処置をすることで、ライセンスエラーが表示されなくなります。

Case1 : ライセンス認証をしていない

SPREADを使用するには、インストール後にライセンス認証の手続きが必要です。また、いったん認証したライセンスを別のマシンで使用するには、ライセンス認証解除の手続きが必要です。

ライセンス認証/認証解除の方法については、弊社Webサイトの「ライセンス認証」ページ、または製品に付属の「ライセンス認証マネージャー」のヘルプ(SAManager.chm)をご覧ください。

  • ライセンス認証マネージャーのヘルプは、スタートメニューやアプリビューの[PowerTools ライセンス認証]−[PowerTools ライセンス認証マネージャー ヘルプ]から起動できます。

- 先頭に戻る -

Case2 : 以前ビルドした中間ファイルや出力ファイルが残っている

  1. 対象のプロジェクトを開きます。
  2. Visual Studio の [ビルド(B)] メニューからプロジェクト名(またはソリューション名)のリビルドを実行します。

- 先頭に戻る -

Case3 : プロジェクト内にlicenses.licxファイルが存在しない

  1. 対象のプロジェクトを開きます。
  2. Visual Studio のソリューションエクスプローラーの [すべてのファイルを表示] ボタンをクリックします。
  3. ソリューションエクスプローラー内にlicenses.licxファイルがないことを確認します。
  4. [デザイン] ページを開いて新しいボタンコントロール(なんでもよい)をFormに貼り付けます。
  5. [ビルド(B)] メニューにある「(プロジェクト名)のリビルド」を実行します。
  6. ソリューションエクスプローラー内にlicenses.licxファイルが作成されたことを確認します。
  7. さきほど貼り付けたボタンコントロールを削除し、プロジェクトを保存します。

- 先頭に戻る -

Case4 : licenses.licxファイルが「埋め込まれたリソース」に設定されていない

  1. 対象のプロジェクトを開きます。
  2. Visual Studio のソリューションエクスプローラーの [すべてのファイルを表示] ボタンをクリックします。
  3. ソリューションエクスプローラー内にlicenses.licxファイルを選択します。
  4. プロパティウィンドウから「ビルドアクション」を「埋め込まれたリソース」に設定されているか確認します。
  5. 「ビルドアクション」が「埋め込まれたリソース」以外の場合には「埋め込まれたリソース」に設定します。

- 先頭に戻る -

Case5 : コントロールを動的に生成している

設計時にコントロールをフォームに貼り付けるとlicenses.licxファイルが自動的に作成され、プロジェクトに組み込まれます。しかし、実行時にコントロールを生成する場合には、licenses.licxファイルは作成されません。この場合は以下の手順に従ってlicenses.licxファイルを作成し、プロジェクトに追加してください。

  1. Visual Studio で新しいプロジェクトを開きます。
  2. SPREAD for Windows Formsのコンポーネントを参照設定します。
  3. ソリューションエクスプローラ上のソリューション名を右クリックします。
  4. 表示されたコンテキストメニューで[追加]-[新しい項目の追加]をクリックします。
  5. 表示されたダイアログで「テキストファイル」を選択し、ファイル名に「licenses.licx」と入力して開くボタンをクリックします。
  6. 以下、各コントロールで必要な記述です。使用するコントロールごとに以下の文字列をlicenses.licxに入力します(利用するアセンブリバージョンを記述します):

    SPREAD(FpSpread)コントロール

    FarPoint.Win.Spread.FpSpread, FarPoint.Win.SpreadJ, Version=10.0.xxxx.2012, Culture=neutral, PublicKeyToken=a5fa960294d899e7

    チャート(FpChart)コントロール

    FarPoint.Win.Chart.FpChart, FarPoint.Win.Chart, Version=10.0.xxxx.2012, Culture=neutral, PublicKeyToken=a5fa960294d899e7

    数式テキストボックス(FormulaTextBox)コントロール

    FarPoint.Win.Spread.FormulaTextBox, FarPoint.Win.SpreadJ, Version=10.0.xxxx.2012, Culture=neutral, PublicKeyToken=a5fa960294d899e7

    名前ボックス(NameBox)コントロール

    FarPoint.Win.Spread.NameBox, FarPoint.Win.SpreadJ, Version=10.0.xxxx.2012, Culture=neutral, PublicKeyToken=a5fa960294d899e7
  7. licenses.licxを保存します。
  8. licenses.licxをプロジェクトに追加し、プロパティウィンドウから「ビルドアクション」を「埋め込まれたリソース」に設定します。

- 先頭に戻る -

Case6 : SPREADをユーザーコントロール内で使用している

製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。作成したコントロールにLicenseProvider属性を設定していない場合は、製品のライセンス情報を参照できないので、そのコントロールを使ったアプリケーションを実行したときに、ライセンスエラーが表示されます。コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。


C#
コードのコピー
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
   
// 継承コントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
    public class MyControl : FarPoint.Win.Spread.FpSpread
    {
        ・・・
    }
   
// ユーザーコントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
    public class MyControl : UserControl
    {
        ・・・
    }
Visual Basic
コードのコピー
Imports System.Drawing
    Imports System.Windows.Forms
    Imports System.ComponentModel
   
'' 継承コントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
    Public Class MyControl
        Inherits FarPoint.Win.Spread.FpSpread
     ・・・
    End Class
   
'' ユーザーコントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
    Public Class MyControl
        Inherits UserControl
     ・・・
    End Class

- 先頭に戻る -

Case7 : クラスライブラリなどに配置して他のアセンブリから呼び出している

SPREADを使用していないアセンブリから、SPREADが使用されているアセンブリを呼び出した場合に発生します。これは製品のライセンス仕様上の正しい処理です。


SPREADをクラスライブラリなどで使用し、他のアセンブリから呼び出して使用する場合は、呼び出し元のプロジェクトにもSPREADのライセンスが必要です。この場合、SPREADのライセンス情報を記述したlicenses.licxファイルを作成し、埋め込みリソースとして呼び出し元のプロジェクトに追加します。licenses.licxファイルに記載する内容については、このページの「Case5 : コントロールを動的に生成している」を参照してください。

- 先頭に戻る -

Case8 : VSS (Visual Source Safe) によるモジュール管理を行っている

当ツールよるモジュール管理を行う場合、特に licenses.licx ファイルの扱いには十分に注意する必要があります。

たとえば 「最新情報の取得」 や 「チェックイン/アウト」 が適切に行われなかった場合、サーバ側とクライアント側の licenses.licx ファイルの同期が取られていない(例:クライアント側の情報が古いままになっている)などの理由から、正しいライセンス情報がプロジェクトに読み込まれず、結果的にライセンスエラーが表示してしまう可能性もあります。つまり、これらは当ツールにおけるユーザー操作に大きく依存する現象であるため、製品側での抜本的な解決策はありません。

このような場合は、たとえばソースコード編集の際には licenses.licx ファイルも同時にチェックイン/アウトする(または常に最新情報の取得を行う)などの運用面を考慮することで常に同期を保ったり、場合によってはあらかじめ本ファイルを管理下から除外する等の対応もご検討ください。なお、当ツールの使用方法に関しては MSDN ライブラリ等の各種参考文献をご覧ください。

- 先頭に戻る -

Case9 : UAC(ユーザーアカウント制御)を有効にしている

UAC(ユーザーアカウント制御)により、製品情報をレジストリから取得できない場合があります。その結果、正しいライセンス情報がプロジェクトに読み込まれず、結果的にライセンスエラーが表示される場合があります。 Visual Studioを管理者として実行してください。

- 先頭に戻る -

Case10 : 仮想マシン上でSPREADを使用している

SPREADがインストールされたVMWareなどの仮想マシンイメージを別のPCにコピーして使用した場合、ライセンス認証(ソフトウェアアクティベーション)の仕組み上、ハードウェア構成が変わったと判断され、ライセンスエラーが表示される場合があります。

この場合は、仮想マシンをコピーしたマシン上で製品のライセンス認証を実行してください。また、使用中のライセンスを別のマシンに移動する場合、既存のマシンでライセンス認証解除の手続き行った上で、別のマシンでライセンス認証の手続きを行うという手順になります。

- 先頭に戻る -

  • 当現象が発生した場合、はじめに新規プロジェクトを作成し、フォーム上にSPREADコントロールだけを配置した場合の動作を確認することをお勧めします。

    正常動作の場合、ある特定のプロジェクトでのみ発生する問題と考えられます。各対応(Case2〜8)をご確認ください。

  • licenses.licxファイルは.NET Framework が提供するサードパーティ製コントロールのライセンス管理機構で使用されるものであり、製品独自の仕様ではありません。
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.