FAQ
アプリケーションの開発とライセンスの初期化

ナレッジ番号:2626 | 登録日:2023/05/29 | 更新日:2024/07/02

サマリー

このトピックではカスタム アプリケーションのライセンシングの基本といくつかのライセンシングのシナリオを提示します。

内容


アプリケーションの開発とライセンスの初期化について

カスタム アプリケーションのライセンシングと導入モデルは、アプリケーションの機能要件と並行してアプリケーションの導入以前に熟考されなければなりません。なぜなら、数多くのエンドユーザ ソフトウェアとライセンス構成が可能であるからです。

ライセンスの概念

アプリケーションが必要とするライセンス オプションを決定した後で、そのどれに対してアプリケーションを実行することができるのか、またアプリケーションがそれらのライセンスを正しく初期化できることを確認します。

このセクションではライセンスの初期化プロセスについて述べ、複合ライセンスの初期化がどのように動作するのかを示し、そしてさまざまな初期化プロセスの例を提示します。

重要な概念

以下はいくつかの重要な概念について説明しています。

  • ライセンスの初期化は、アプリケーションの起動時に、ArcObjects コンポーネントにアクセスする前に、アプリケーションで実行する必要があります。
  • 一度アプリケーションがひとつのライセンスで初期化されると、再度初期化することはできません。アプリケーションはその実行中、ひとつのライセンスで初期化されます。
  • アプリケーションに対して有効なエクステンション ライセンスは、アプリケーションを初期化するのに使用されたライセンスと同じライセンス サーバからもたらされます。異なるライセンス サーバ上のエクステンション ライセンスはそのアプリケーションに対して有効ではありません。

ライセンス サーバはライセンスを提供するマシンです。

  • エクステンション ライセンスはアプリケーションの起動中、ずっとチェックアウトすることもできれば、アプリケーションが要求した時にチェックアウトしたりチェックインしたりすることもできます。
  • 常に最下位のライセンスを消費するようにします。

ArcObjects を使って開発された、各スタンドアロン アプリケーションをインストール先のマシンで正常に実行するには、アプリケーションを適切な ArcGIS ライセンスで初期化する必要があります。 ライセンスの初期化は、アプリケーションの起動時にアプリケーションによって行われなければならず、そして初期化した後で ArcObjects にアクセスします。初期化に失敗すると、アプリケーション エラーになります。

すべてのスタンドアロン アプリケーションは初期化されなければなりませんが、以下はスタンドアロンとして適格でないため、それゆえ説明した初期化は必要ではありません。

  • アプリケーションがダイナミック リンク ライブラリ(DLL)であり、ライセンスの初期化を実行するアプリケーションに組み込まれる。
  • アプリケーションが ArcMap またはサードパーティ アプリケーションへのエクステンションであり、 エクステンションがライセンスを管理する。

ArcGIS Desktop(ArcMap、ArcCatalog、ArcGlobe、ArcScene)の Visual Basic for Application(VBA)環境で作業をする時は、明示的なコンポーネント ライセンスの初期化は必要ではありません。アプリケーションが起動した時にこれは自動的になされるからです。

アプリケーションを初期化する時に考慮すべき 2 つの型があります。
製品ライセンス、そしてアプリケーションが ArcGIS エクステンション フィーチャ を使用している場合、エクステンション ライセンスです。これらのライセンスの型は以下のライセンスの組み合わせで可能になります。

  • Engine 同時使用― ArcGIS Engine Runtime とそのエクステンションに同時アクセスを提供するために、フレキシブル ライセンス マネージャ (FLEXlm) テクノロジが使用されています。ライセンスは複数のマシンで利用可能であり、ライセンス マネージャに保存されていて使用されるときにチェックアウトされます。
  • Engine 単独使用― ArcGIS Engine とそのエクステンション ライセンスへのアクセスを提供しています。それぞれの単独使用ライセンスは、それがインストールされているマシンに対してのみ有効です。
  • Desktop 同時使用― FLEXlm テクノロジが ArcGIS Desktop 製品(ArcMap、Standard、Advanced)とそのエクステンションへの同時アクセスを提供するために、使用されています。ライセンスは複数のマシンで利用可能であり、ライセンス マネージャに保存されていて使用されるときにチェックアウトされます。
  • Desktop 単独使用― 単独使用の ArcMap、Standard、Advanced ライセンスへのアクセスを提供しています。Engine 単独使用ライセンスと同様に、それぞれの単独使用ライセンスは、それがインストールされているマシンに対してのみ有効です。これは Desktop 同時使用ライセンスとは大きく異なりますが、同じテクノロジを利用しています。
    これは、ArcGIS Engine 開発者としては、単独使用と Desktop 同時使用ライセンスを区別する仕組みはないことを意味します。そのため、それらは同じものと扱われるのです。

一度アプリケーションがひとつのライセンスで初期化されると、 再度初期化することはできません。アプリケーションは、その実行期間中ずっとひとつのライセンスで初期化されます。たとえば、Basic ライセンスで起動したアプリケーションを、あとから Standard ライセンスに切り替えることはできません。
アプリケーションをライセンスで初期化する際には、次の点について検討する必要があります。

  • アプリケーションを実行することができる製品ライセンスのタイプ(種類)。例えばエンタープライズ ジオデータベースを編集するアプリケーションは ArcGIS Engine ライセンスまたは Basic ライセンスでは動作しません。しかし、Geodatabase Update エクステンション ライセンスを持つ ArcGIS Engine ライセンス、Standard ライセンス、Advanced ライセンスでは動作します。

ArcGIS Engine アプリケーションで Basic ライセンスを使用すると、ArcGIS Engine ライセンスで利用可能なすべての機能にアクセスできます。 同様に、マルチユーザ ジオデータベースを編集する ArcGIS Engine アプリケーションで Standard ライセンスを使用すると、ArcGIS Engine ライセンスと Geodatabase Update エクステンション ライセンスで利用可能なすべての機能にアクセスできます。

  • アプリケーションで利用可能な製品ライセンスのタイプ(種類)。例えば ArcGIS Engine ライセンスで動作するアプリケーションは、Basic、Standard、Advanced ライセンスでも動作します。しかし、そのようなアプリケーションで Advanced ライセンスを消費すべきではありません。

アプリケーションが特定の製品ライセンスで初期化されると、ライセンス サーバへの接続が確立されます。 それ以降エクステンションのチェックイン / チェックアウトの呼び出しは、すべて同じライセンス サーバに送信されます。そのため、異なるライセンスサーバからのライセンス、あるいは Engine 単独使用ライセンスと組み合わせて使用することはできません。

  • アプリケーションが Desktop 同時使用ライセンスで初期化されると、そのアプリケーションは Desktop 同時使用ライセンス サーバとそのエクステンション ライセンスに対してのみ、アクセスできます。
  • アプリケーションが Desktop 単独使用ライセンスで初期化されると、そのアプリケーションは単独使用ライセンスサーバとそのエクステンション ライセンスに対してのみ、アクセスできます。
  • アプリケーションが ArcGIS Engine 同時使用 ライセンスで初期化されると、そのアプリケーションは ArcGIS Engine 同時使用ライセンス サーバとそのエクステンション ライセンスに対してのみ、アクセスできます。
  • アプリケーションが、実行するマシン上の ArcGIS Engine 単独使用ライセンスで初期化されると、そのアプリケーションは ArcGIS Engine 単独使用エクステンション ライセンスに対してのみ、アクセスできます。

初期化が実行される前に、ライセンスサーバ(Desktop 同時または単独使用)と Engine (同時または単独使用)に要求しているライセンスが利用可能であるかどうか問い合わせることができます。要求しているすべてのライセンスが Engine 単独使用で利用可能ならば、Desktop 同時ライセンスや Desktop 単独使用ライセンスの代わりにそれを使用します。これは、他のユーザが利用できる Desktop 同時使用ライセンスを制限しません。

アプリケーションの初期化プロセス

以下の順番のライセンスでアプリケーションを初期化します。

  1. 利用可能な製品ライセンスの確認
  2. 利用可能なエクステンション ライセンスの確認
  3. 製品ライセンスによるアプリケーションの初期化
  4. エクステンションのチェックアウトとチェックイン(必要な場合)
  5. AoInitialize のシャットダウン

ArcGIS Engine コントロールで構築されたアプリケーションも、このライセンス初期化プロセスに従う必要があります。マップ コントロール、ページレイアウト コントロール、シンボル コンントロール、TOC コンントロール、ツールバー コンントロール アプリケーションは ArcGIS Engine Runtime、Basic、Standard、または Advanced 製品ライセンスが必要です。GlobeControl と SceneControl は ArcGIS Engine の基本機能を拡張しますので、これらは製品ライセンスに加えて、対応する 3 次元(3D)エクステンション ライセンスが必要です。

利用可能な製品ライセンスの確認

選択した製品ライセンスによって、アプリケーションがアクセスできる機能が決定されます。一度製品ライセンスが初期化されると、アプリケーションの実行期間中は変更することができません。

  • 必要な製品が認証されていない場合、アプリケーションをより上位のライセンスで初期化するよう選択することができます。
  • 利用可能な適切な製品ライセンスがない場合、アプリケーションはユーザにその問題を知らせ、ユーザが問題を解決できるようにしたり、アプリケーションを中止したりすることができます。

利用可能なエクステンション ライセンスの確認(必要な場合)

アプリケーションがエクステンション機能を利用するように設計されている場合、アプリケーションを初期化する前にアプリケーションがエクステンション ライセンスを利用できるかどうか調べることができます。エクステンション ライセンスの有効性の確認は、アプリケーションを最終的に初期化する製品ライセンスと関連して行う必要があります。これは、すべてのエクステンション ライセンスがすべての製品ライセンスで利用可能であるとは限らないためです。

アプリケーションを正しく実行するために、アプリケーションが必要とするエクステンションが有効でない場合、アプリケーションはユーザにその問題を知らせ、アプリケーションを中止しなければなりません。

  • アプリケーションを実行するのにエクステンションの機能が必要ではなく、エクステンション ライセンスが有効でない場合、アプリケーションのエクステンションに依存する機能を無効にする必要があります。

製品ライセンスによるアプリケーションの初期化

適切な製品とエクステンション ライセンスの有効性が確立されたら、アプリケーションを製品ライセンスで初期化します。アプリケーションの初期化が完了したら、アプリケーションを再度初期化することは不可能になります。

エクステンションのチェックアウトとチェックイン(必要な場合)

アプリケーションがエクステンションの機能を要求した時にエクステンションをチェックアウトし、アプリケーションがその機能を完了するとチェックインしたり、あるいはアプリケーションが初期化された後で、エクステンションを直接チェックアウトし、シャットダウンの直前にチェックインして戻したりすることができます。
エクステンションをチェックイン、チェックアウトする方法は、アプリケーションが初期化された製品ライセンスの型に依存します。

  • アプリケーションが Engine 単独使用ライセンスのいずれかで初期化されると、アプリケーションで使用されるエクステンションもまた Engine 単独使用です。その方法で、アプリケーションが初期化された後でエクステンションを直接チェックアウトし、シャットダウンの直前にチェックインして戻すことができます。
  • アプリケーションがライセンスサーバで初期化され、正しく動作するためにエクステンションがアプリケーションによって要求されている時、アプリケーションが初期化された後でエクステンションを直接チェックアウトし、シャットダウンの直前にチェックインして戻すことができます。
  • アプリケーションがライセンス サーバで初期化され、エクステンションの機能がアプリケーションが動作するのに必要でない時、アプリケーションが初期化された後でエクステンションを直接チェックアウトするか、またはエクステンションの機能が要求された時にチェックアウトすることができます。エクステンションをチェックインした時、その機能は無効にする必要があります。

AoInitialize のシャットダウン

アプリケーションをシャットダウンする前に、ライセンスの初期化を実行するのに使用された AoInitialize オブジェクトはシャットダウンされなければなりません。これにより、使用されていた ESRI ライブラリがすべてアンロードされます。

初期化が失敗する理由

製品またはエクステンションのチェックアウトに失敗した場合は、ライセンスのステータスから失敗の原因がわかります。 ライセンスのチェックアウトは、次の理由で失敗する可能性があります。

  • 製品が認証されていない。
  • ライセンスがすでに使用されているため、無効である。
  • システム管理上の問題が原因で、ライセンスのチェックアウトに失敗した。
  • ライセンスがすでに初期化されている。アプリケーションは終了するまでの間、製品ライセンスで初期化された状態です。 アプリケーションの初期化に使用された製品ライセンスは確認できます。たとえば、エンタープライズ ジオデータベースの編集を含むアプリケーションが Geodatabase Update エクステンションを有する Engine 単独使用ライセンス、Standard、Advanced ライセンスで初期化されるならば、編集機能は有効です。しかし、アプリケーションが Engine 単独使用あるいは Basic ライセンスで初期化されると、編集機能は利用できません。

ライセンスの構成

以下はカスタム アプリケーションをライセンスで構成する方法です。

もっと多様な管理がライセンスの初期化に際して必要ならば、特にエクステンション ライセンスをチェックイン、チェックアウトしている場合(LicenseControl がエクステンション ライセンスをアプリケーションが終了するまでの間、チェックアウトする場合等)は、ライセンスの初期化をプログラムから実行することも考えるとよいでしょう。アプリケーションの初期化をプログラムから実行するには、AoInitialize とそれが実装する、IAoInitialize、ILicenseInformation インタフェースを使用します。以下の図をみてください。

Image

シナリオ A―最小限のライセンスが ArcGIS Engine、3D エクステンション、Spatial エクステンション

このシナリオではアプリケーションは最低限のライセンスとして ArcGIS Engine ライセンスを必要とします。さらに、ArcGIS Engine ライセンスが利用できない場合は、代わりにアプリケーションを Basic または Standard ライセンスで実行できることになっています。このアプリケーションを正常に実行するには、3D エクステンションおよび Spatial エクステンションの機能も必要です。したがって、これらのエクステンションをアプリケーションの実行時にチェックアウトする必要があります。

この例では、Advanced も必要な機能を提供していますが、開発者は Advanced ライセンスで初期化することを選択しません。この単純なアプリケーションに Advanced ライセンスを使用する必要はないためです。  

この場合、アプリケーションはまず、ArcGIS Engine 製品ライセンスでの初期化を試みます。 これがうまくいかなかった場合は、Basic ライセンスでの初期化を試みます。これもうまくいかなかった場合は、最後に Standard 製品ライセンスでの初期化を試みます。アプリケーションをライセンスで初期化するために必要な手順を簡単にまとめます。

  • ArcGIS Engine 製品ライセンスによる初期化
  • Basic 製品ライセンスによる初期化
  • Standard 製品ライセンスによる初期化

ArcGIS Engine 製品ライセンスによる初期化

前に述べた通り、アプリケーションは正常に実行するための最低限のライセンスとして ArcGIS Engine 製品ライセンスと、対応する 3D エクステンションと Spatial エクステンション ライセンスを必要とします。アプリケーションはまず最初に、最下位の製品ライセンスに対して初期化を試みるべきです。アプリケーションは前に説明したように以下のプロセスで初期化を行います。

  1. ArcGIS Engine 製品 ライセンスが有効であるかどうか確認します。
  2. 利用可能である場合は、初期化プロセスの次の手順に進みます。 利用可能でない場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  3. 3D エクステンション ライセンスが ArcGIS Engine 製品ライセンスで利用可能かどうか決定します。
  4. 利用可能である場合は、他に必要なエクステンションの確認に進みます。 利用可能でない場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  5. Spatial エクステンションの機能もアプリケーションは必要としているため、Spatial エクステンション ライセンスが ArcGIS Engine 製品ライセンスに対して利用可能かどうか確認します。
  6. 利用可能である場合は、他に必要なエクステンションの確認に進みます。利用可能でない場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  7. この場合、他に必要なエクステンション ライセンスはありません。初期化プロセスの次の手順に進みます。
  8. アプリケーションを初期化することにより、ArcGIS Engine 製品ライセンスをチェックアウトします。 ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  9. ArcGIS Engine 製品ライセンスの 3D エクステンションをチェックアウトします。
    ライセンスがチェックアウトされたら、他に必要なエクステンションのチェックアウトに進みます。
    エクステンション. ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  10. ArcGIS Engine 製品ライセンスの Spatial エクステンションをチェックアウトします。ライセンスがチェックアウトされたら、他に必要なエクステンションのチェックアウトに進みます。
    エクステンション. ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  11. この場合、他に必要なエクステンション ライセンスはありません。 エクステンション ライセンスがチェックアウトされた場合、アプリケーションをライセンスで構成する作業は完了です。
  12. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Basic 製品ライセンスによる初期化

この例は、1 番目の(ArcGIS Engine)製品レベルで正しく初期化することに失敗しても 2 番目の製品レベルが有効である場合です。アプリケーションは次のプロセスに従って、初期化を再度試みます。

  1. Basic 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  2. Basic 製品ライセンスで 3D Analyst エクステンション ライセンスが 利用可能であるかどうか決定します。利用可能である場合は、他に必要なエクステンションの確認に進みます。 利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  3. Basic 製品ライセンスで Spatial Analyst エクステンション ライセンスが利用可能かどうかを確認します。
    利用可能である場合、他に必要なエクステンション ライセンスはないので、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  4. アプリケーションを初期化することにより、Basic 製品ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。 利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。

チェックアウトの有効性は成功したにもかかわらず、ライセンスのチェックアウトに失敗することもあります。これは特にDesktop 同時使用 ライセンスが最初は利用可能であったけれども、その後他のアプリケーションによってチェックアウトされた場合に起こり得ます。

  1. 3D Analyst エクステンション ライセンスをチェックアウトします。 ライセンスがチェックアウトされたら、次に必要なエクステンションのチェックアウトに進みます。 ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  2. Spatial Analyst エクステンション ライセンスをチェックアウトします。他に必要なエクステンション ライセンスはないので、ライセンスがチェックアウトされれば、アプリケーションをライセンスで構成する作業は完了です。 利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  3. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Standard 製品ライセンスによる初期化

この例は、第 1(ArcGIS Engine)、第 2(Basic)製品レベルの両方で正しく初期化することに失敗しても、第3レベルの Standard が利用可能である場合です。
アプリケーションは次のプロセスに従って、最後の初期化を試みます。

  1. Standard 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  2. Standard 製品ライセンスで 3D Analyst エクステンション ライセンスが 利用可能であるかどうか決定します。利用可能である場合は、他に必要なエクステンションの確認に進みます。利用可能でない場合は、この最後の試みを断念します。 この時点で、アプリケーションを正常に実行することは不可能となります。
  3. Standard ライセンスで Spatial Analyst エクステンション ライセンスが利用可能かどうかを確認します。利用可能である場合、他に必要なエクステンション ライセンスはないので、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  4. アプリケーションを初期化することにより、Standard 製品ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  5. 3D Analyst エクステンション ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、次に必要なエクステンションのチェックアウトに進みます。ライセンスのチェックアウトに失敗した場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  6. Spatial Analyst エクステンション ライセンスをチェックアウトします。 他に必要なエクステンション ライセンスはないので、ライセンスがチェックアウトされれば、アプリケーションをライセンスで構成する作業は完了です。利用可能でない場合は、この最後の試みを断念します。 この時点で、アプリケーションを正常に実行することは不可能となります。
  7. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

シナリオ B―最小限のライセンスが ArcGIS Engine、Geodatabase Update、Spatial エクステンション

このシナリオでは、アプリケーションはエンタープライズ ジオデータベースを編集するプログラムです。このため、最低でも ArcGIS Engine ライセンスと Geodatabase Update エクステンション ライセンスが必要です。 さらに、ArcGIS Engine ライセンスと Geodatabase Update エクステンション ライセンスが利用できない場合は、アプリケーションを代わりに Standard または Advanced ライセンスで実行できることになっています。 このアプリケーションを正常に実行するには、Spatial エクステンションの機能も必要です。したがって、このエクステンションをアプリケーションの実行時にチェックアウトする必要があります。 この場合、アプリケーションはまず、ArcGIS Engine ライセンスと Geodatabase Update エクステンション ライセンスでの初期化を試みます。 これがうまくいかなかった場合は、Standard ライセンスでの初期化を試みます。これもうまくいかなかった場合は、最後に Advanced 製品ライセンスでの初期化を試みます。 以下に、アプリケーションをライセンスで初期化するために必要な手順を簡単にまとめます。

  • ArcGIS Engine と Geodatabase Update 製品ライセンスによる初期化
  • Standard 製品ライセンスによる初期化
  • Advanced 製品ライセンスによる初期化

ArcGIS Engine と Geodatabase Update 製品ライセンスによる初期化

前に述べた通り、正常に実行するには, アプリケーションは最低限のライセンスとしてArcGIS Engine と Geodatabase Update エクステンション、製品ライセンスと対応する Spatial エクステンション ライセンスを必要とします。アプリケーションはまず最初に、この最下位の製品ライセンスに対して初期化を試みるべきです。アプリケーションは前に説明したように以下のプロセスで初期化を行います。

  1. ArcGIS Engine と Geodatabase Update エクステンション製品ライセンスが利用可能であることを確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  2. Spatial エクステンション ライセンスが ArcGIS Engine と Geodatabase Update エクステンション 製品ライセンスで利用可能であることを確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。 利用可能でない場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  3. アプリケーションを初期化することにより、ArcGIS Engine ライセンスと Geodatabase Update エクステンション ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  4. Spatial エクステンション ライセンスをチェックアウトします。他に必要なエクステンション ライセンスはないので、このライセンスがチェックアウトされれば、アプリケーションをライセンスで構成する作業は完了です。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 2 レベルの製品ライセンスで初期化を再度試みます。
  5.  初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Standard 製品ライセンスによる初期化

このシナリオでは 1 番目の(ArcGIS Engine)製品レベルで正しく初期化することに失敗しても 2 番目の製品レベルが有効である場合です アプリケーションは次のプロセスに従って、初期化を再度試みます。

  1. Standard 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  2. ArcGIS Spatial Analyst エクステンション ライセンスが Standard 製品ライセンスで利用可能であることを確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第3レベルの製品ライセンスで初期化を再度試みます。
  3. アプリケーションを初期化することにより、Standard 製品ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。

    チェックアウトの有効性は成功しているにもかかわらず、ライセンスのチェックアウトに失敗することもあります。これは特に Desktop 同時使用 ライセンスは当初は利用可能だったけれども、その後他のアプリケーションによってチェックアウトされるかもしれない場合に起こり得ます。
  4. Spatial Analyst エクステンション ライセンスをチェックアウトします。他に必要なエクステンション ライセンスはないので、このライセンスがチェックアウトされれば、アプリケーションをライセンスで構成する作業は完了です。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  5. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Advanced 製品ライセンスによる初期化

この例は、第1(ArcGIS Engine)、第2(Standard)製品レベルの両方で正しく初期化することに失敗しても、第3(Standard)レベルのライセンスが利用可能である場合です。アプリケーションは次のプロセスに従って、最後の初期化を試みます。

  1. Advanced 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。 この時点で、アプリケーションを正常に実行することは不可能となります。
  2. Spatial Analyst エクステンション ライセンスが Advanced 製品ライセンスで利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  3. アプリケーションを初期化することにより、Advanced 製品ライセンスをチェックアウトします。ライセンスのチェックアウトに失敗した場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  4. Spatial Analyst エクステンション ライセンスをチェックアウトします。他に必要なエクステンション ライセンスはないので、ライセンスがチェックアウトされれば、アプリケーションをライセンスで構成する作業は完了です。ライセンスのチェックアウトに失敗した場合は、この最後の試みを断念します。この時点で、アプリケーションを正常に実行することは不可能となります。
  5. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

シナリオ C ―最小限のライセンスが ArcGIS Engine、オプションのネットワーク機能


もう一度、アプリケーションが最小限の ArcGIS Engine ライセンスを必要とする例です。ArcGIS Engine ライセンスが利用できない場合は、アプリケーションを代わりに Basic、Standard、または Advanced ライセンスで実行できることになっています。前の例と同じように、このアプリケーションでは、ネットワーク エクステンションの機能も使用します。ただし、この場合は、アプリケーションの実行にネットワーク エクステンションは必要ありません。ネットワーク エクステンションを使用するアプリケーションの機能は、アプリケーションの起動後に有効にします。そのため、ネットワーク エクステンションはアプリケーションの起動時ではなく、アプリケーションの起動中に直接チェックアウトします。

この場合も、アプリケーションはまず、ArcGIS Engine 製品ライセンスでの初期化を試みます。これがうまくいかなかった場合は、さらに Basic ライセンスで、そして Standard ライセンスでの初期化を試みます。これもうまくいかなかった場合は、最後に Advanced 製品ライセンスでの初期化を試みます。 次に、アプリケーションをライセンスで初期化するために必要な手順を簡単にまとめます。

  • ArcGIS Engine 製品ライセンスによる初期化
  • Basic 製品ライセンスによる初期化
  • Standard 製品ライセンスによる初期化
  • Advanced 製品ライセンスによる初期化
  • ネットワーク機能の使用

ArcGIS Engine 製品ライセンスによる初期化

前に述べた通り、 正常に実行するにはアプリケーションは最低限のライセンスとして ArcGIS Engine 製品ライセンスを必要としますネットワーク機能はアプリケーション内で利用可能ですが、エクステンション ライセンスは、セッションの間中ではなく必要な時にチェックアウトされます。アプリケーションはまず最初に、この最下位の製品ライセンスに対して初期化を試みるべきです。アプリケーションは前に説明したように以下のプロセスで初期化を行います。

  1. ArcGIS Engine 製品 ライセンスが有効であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第2レベルの製品ライセンスで初期化を再度試みます。
  2. ネットワーク エクステンション ライセンスが ArcGIS Engine 製品ライセンスで利用可能であるかどうか確認します。利用可能であっても利用可能でなくても、初期化プロセスの次の手順に進みます
  3. アプリケーションを初期化することにより、ArcGIS Engine 製品ライセンスをチェックアウトします。 ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。 ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第2レベルの製品ライセンスで初期化を再度試みます。

    このアプリケーションでは ネットワーク エクステンション ライセンスを動的にチェックアウトするので、この段階では、この手順は実行しません。代わりに、ネットワーク エクステンションの機能を使用するときにライセンスをチェックアウトします。このプロセスについての詳細は、このトピックの ネットワーク機能の使用をご覧ください。

    この例では、ArcGIS Engine 製品ライセンスより上位のライセンスをチェックアウトする必要はありません。
    そのため、ライセンスがチェックアウトされた場合、アプリケーションをライセンスで構成する作業は完了です。
  4. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Basic 製品ライセンスによる初期化

この例では、1 番目の(ArcGIS Engine)製品レベルで正しく初期化することに失敗しても 2 番目の製品レベルが有効である場合です アプリケーションは次のプロセスに従って、初期化を再度試みます。

  1. Basic 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  2. ArcGIS ネットワーク エクステンション ライセンスが Basic 製品ライセンスで 利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。
  3. アプリケーションを初期化することにより、Basic 製品ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 3 レベルの製品ライセンスで初期化を再度試みます。

    このアプリケーションではネットワーク エクステンション ライセンスを動的にチェックアウトするので、この段階ではこの手順は実行しません。代わりに、ネットワーク エクステンションの機能を使用するときにライセンスをチェックアウトします。このプロセスについての詳細は、このトピック内で前に述べた ネットワーク機能の使用 をご覧ください。
    この例では、ArcGIS Engine 製品ライセンスより上位のライセンスをチェックアウトする必要はありません。そのため、ライセンスがチェックアウトされるとアプリケーションをライセンスで構成する作業は完了です。
  4. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Standard 製品ライセンスによる初期化

この例は、第 1(ArcGIS Engine)、第 2(Basic)製品レベルの両方で正しく初期化することに失敗しても、第 3 レベルの Standard が利用可能である場合です。アプリケーションは次のプロセスに従って、初期化を再度試みます。

  1. Standard 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。
  2. ArcGIS ネットワーク エクステンション ライセンスが Standard 製品ライセンスで 利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この試みを断念し、第4レベルの製品ライセンスで初期化を再度試みます。
  3. アプリケーションを初期化することにより、Standard 製品ライセンスをチェックアウトします。 ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この試みを断念し、第 4 レベルの製品ライセンスで初期化を再度試みます。

    このアプリケーションでは ネットワーク エクステンション ライセンスを動的にチェックアウトするので、この段階では、この手順は実行しません。代わりに、ネットワーク エクステンションの機能を使用するときにライセンスをチェックアウトします。 このプロセスについての詳細は、前述の ネットワーク機能の使用をご覧ください。

    この例では, ArcGIS Engine 製品ライセンスより上位のライセンスをチェックアウトする必要はありません。そのため、ライセンスがチェックアウトされた場合、アプリケーションを ライセンスで構成する作業は完了です。
  4. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

Advanced 製品ライセンスによる初期化

第1(ArcGIS Engine)、第2(Basic)、第3(Standard)製品レベルで正しく初期化することに失敗しても、最後のひとつのライセンスレベル(Advanced)が利用できます。アプリケーションは次のプロセスに従って、最後の初期化を試みます。

  1. Advanced 製品ライセンスが利用可能であるかどうか確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。
  2. ArcGIS ネットワーク エクステンション ライセンスが Advanced 製品ライセンスで利用可能であることを確認します。利用可能である場合は、初期化プロセスの次の手順に進みます。利用可能でない場合は、この最後の試みを断念します。
  3. アプリケーションを初期化することにより、Advanced 製品ライセンスをチェックアウトします。ライセンスがチェックアウトされたら、初期化プロセスの次の手順に進みます。ライセンスのチェックアウトに失敗した場合は、この最後の試みを断念します。

    このアプリケーションではネットワーク エクステンション ライセンスを動的にチェックアウトするので、この段階では、この手順は実行しません。代わりに、ネットワーク エクステンションの機能を使用するときにライセンスをチェックアウトします。このプロセスについての詳細は、前述の ネットワーク機能の使用をご覧ください。

    このシナリオでは ArcGIS Engine 製品ライセンスより上位のライセンスをチェックアウトする必要はありません。そのため、ライセンスがチェックアウトされた場合、アプリケーションをライセンスで構成する作業は完了です。
  4. 初期化プロセスの最後の手順は、アプリケーションの終了時にライセンスを解放することです。

ネットワーク機能の使用

この例では、各初期化においてネットワーク エクステンションのチェックアウトはアプリケーションの起動時には行いません。代わりに、アプリケーション内で ネットワーク エクステンションの機能にアクセスしたときに、ライセンスが動的にチェックアウトされます。これは、アプリケーションで使用されていない間は、ネットワーク エクステンション ライセンスを他のユーザが使用できることを意味します。

先に述べたように、エクステンション ライセンスと基本ライセンスの製品タイプは同じでなければなりません。アプリケーションが ArcGIS Engine 製品ライセンスで初期化された場合、ArcGIS Engine の ネットワーク エクステンション ライセンスが利用できなければ、ネットワーク エクステンションの機能を初期化することはできません。アプリケーションのユーザがネットワークの機能を実行しようとした場合、アプリケーションは次の手順に従って、必要な機能を有効にします。

  1. ネットワーク エクステンションがすでにチェックアウトされていることを確認します。
    ライセンスがチェックアウトされている場合、アプリケーションは ネットワーク エクステンションの機能を使用することができます。ライセンスがチェックアウトされていない場合は、ライセンスをチェックアウトします。
  2. ネットワーク エクステンション ライセンスをチェックアウトします。ライセンスのチェックアウトに失敗した場合、アプリケーションでネットワーク エクステンションの機能を使用することはできません。ライセンスがチェックアウトされた場合、アプリケーションはネットワーク エクステンションの機能を使用することができます。

チェックアウトの有効性は成功しているにもかかわらず、ライセンスのチェックアウトに失敗することもあります。これは特に、Desktop 同時使用 ライセンスは当初は利用可能だったけれども、その後他のアプリケーションによってチェックアウトされているかもしれない場合に起こり得ます。
カスタム スタンドアロン アプリケーショを開発した後、エンドユーザのマシンに導入する前に ArcGIS Engine Runtime でアプリケーションをテストします。ArcGIS Engine 開発者キットの一部として、再配布が可能な ArcGIS Engine Runtime とレジストレーション番号が、カスタム アプリケーションの実行テストのために提供されています。

参照:

ライセンスとコピープロテクションに関する質問と回答

導入の概要

ArcGIS Desktop ライセンスを使用した ArcGIS Engine アプリケーションの実行


この文書は、ArcObjects Help for .NET Developers 内のトピック  Application development and license initialization を元に翻訳したものです。

メタデータ

種類

製品

バージョン