(57)【要約】【課題】  画像形成装置等の情報処理装置に不要なプログラムがインストールされることを従来よりも防止できるようにする。【解決手段】  情報配信装置は、画像形成装置から入力されたシリアル番号と、画像形成装置に接続されている装置に関する情報を取得する。情報配信装置は、シリアル番号で特定される夫々のプログラムについて、配信の可否を決定する。【選択図】  図１
2010250806.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と通信可能な情報配信装置であって、
前記画像形成装置の代わりに所定のプログラムを実行できる外部装置が前記画像形成装置に接続されているか否かを示す情報を前記画像形成装置から取得する取得手段と、
前記所定のプログラムを前記画像形成装置にインストールさせるべく前記所定のプログラムを配信する配信手段とを有し、
前記取得手段により取得された情報から、前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信手段を制御することを特徴とする情報配信装置。
【請求項２】
前記取得手段は前記画像形成装置が所定のプログラムを実行できるか否かを示す情報もさらに取得し、
前記取得手段により取得された情報から前記画像形成装置は前記所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信手段を制御し、
前記取得手段により取得された情報から前記画像形成装置は前記所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていないと判断された場合、前記所定のプログラムを配信するよう前記配信手段を制御することを特徴とする請求項１に記載の情報配信装置。
【請求項３】
前記配信手段が前記所定のプログラムを配信する場合であって、かつ前記所定のプログラムが、前記画像形成装置にインストールさせる際に前記所定のプログラムとは異なるプログラムがインストールされていることがインストールの条件であるプログラムであった場合、
前記配信手段は、前記所定のプログラムと、前記所定のプログラムとは異なるプログラムと、前記画像形成装置がそれらのプログラムをインストールする順番を指定した情報を配信することを特徴とする請求項１または２に記載の情報配信装置。
【請求項４】
画像形成装置と通信可能な情報配信装置を制御する情報配信装置の制御方法であって、
前記画像形成装置の代わりに所定のプログラムを実行できる外部装置が前記画像形成装置に接続されているか否かを示す情報を前記画像形成装置から取得する取得工程と、
前記所定のプログラムを前記画像形成装置にインストールさせるべく前記所定のプログラムを配信する配信工程とを含み、
前記取得工程により取得された情報から、前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信工程を制御することを特徴とする情報配信装置の制御方法。
【請求項５】
前記取得工程は前記画像形成装置が所定のプログラムを実行できるか否かを示す情報も取得することが可能であって、
前記取得工程により取得された情報から前記画像形成装置が所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信工程を制御し、
前記取得工程により取得された情報から前記画像形成装置は前記所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていないと判断された場合、前記所定のプログラムを配信するよう前記配信工程を制御することを特徴とする請求項４に記載の情報配信装置の制御方法。
【請求項６】
前記配信工程が前記所定のプログラムを配信する場合であって、かつ前記所定のプログラムが、前記画像形成装置にインストールさせる際に前記所定のプログラムとは異なるプログラムがインストールされていることがインストールの条件であるプログラムであった場合、
前記配信工程は、前記所定のプログラムと、前記所定のプログラムとは異なるプログラムと、前記画像形成装置がそれらのプログラムをインストールする順番を指定した情報を配信することを特徴とする請求項４または５に記載の情報配信装置の制御方法。
【請求項７】
画像形成装置と通信可能な情報配信装置を制御する方法であって、
前記画像形成装置の代わりに所定のプログラムを実行できる外部装置が前記画像形成装置に接続されているか否かを示す情報を前記画像形成装置から取得する取得工程と、
前記所定のプログラムを前記画像形成装置にインストールさせるべく前記所定のプログラムを配信する配信工程とを含み、
前記取得工程により取得された情報から、前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信工程を制御する情報配信装置の制御方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項８】
前記取得工程は前記画像形成装置が所定のプログラムを実行できるか否かを示す情報も取得することが可能であって、
前記取得工程により取得された情報から前記画像形成装置が所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信工程を制御し、
前記取得工程により取得された情報から前記画像形成装置は前記所定のプログラムを実行できず、かつ前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていないと判断された場合、前記所定のプログラムを配信するよう前記配信工程を制御することを特徴とする請求項７に記載のコンピュータプログラム。
【請求項９】
前記配信工程が前記所定のプログラムを配信する場合であって、かつ前記所定のプログラムが、前記画像形成装置にインストールさせる際に前記所定のプログラムとは異なるプログラムがインストールされていることがインストールの条件であるプログラムであった場合、
前記配信工程は、前記所定のプログラムと、前記所定のプログラムとは異なるプログラムと、前記画像形成装置がそれらのプログラムをインストールする順番を指定した情報を配信することを特徴とする請求項７または８に記載のコンピュータプログラム。
【請求項１０】
画像形成装置と通信可能な情報配信装置であって、
前記画像形成装置の状態情報を該画像形成装置から取得する取得手段と、
前記画像形成装置から配信を要求された複数のプログラムを前記画像形成装置に配信する必要があるか否かを、前記取得手段により取得された状態情報を基に判定する判定手段と、
前記複数のプログラムのうち、前記判定手段により配信する必要がないと判定されたプログラムは前記画像形成装置へ配信せず、前記判定手段により配信する必要があると判定されたプログラムは前記画像形成装置へ配信する配信手段とを有する情報配信装置。
【請求項１１】
前記複数のプログラムは前記画像形成装置から送信された識別情報を基に指定されたプログラム群であることを特徴とする請求項１０に記載の情報配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信装置、情報配信装置の制御方法、及びコンピュータプログラムに関し、特に、プログラムをインストールするために用いて好適なものである。
【背景技術】
【０００２】
近年、画像形成装置では、様々なアプリケーションプログラム（以下、アプリケーションと略称する）を使用することができるようになり、画像形成装置を利用するエンドユーザは、それらのアプリケーションを提供する機能を利用できるようになった。このようなアプリケーションには、画像形成装置に標準で搭載されていて無償で利用できるアプリケーションや、商品を購入することによって得られるライセンスファイルを使用することで初めて利用できるようになる有償のアプリケーション等がある。
【０００３】
有償のアプリケーションをインストールする際には、ユーザが購入した商品のライセンス証書に記載されているライセンス番号を使用してサービスマンがライセンス発行装置から複数のライセンスファイルを発行させる。そして、サービスマンは、画像形成装置のインストール機能を利用して、発行された複数のライセンスファイルに基づくアプリケーションのインストールを画像形成装置に実行させるようにしている。
近年の画像形成装置のアプリケーションは、お互いに依存関係を持つような複雑なものとなっており、単純にライセンスファイルを入力するだけではアプリケーションをインストール又は起動ができないという問題がある。
【０００４】
そこで、特許文献１では、複数のアプリケーションをインストールする場合に、画像形成装置は、各アプリケーションの属性情報からインストールする適切な外部装置を判別し、その外部装置にアプリケーションを転送してインストールさせるようにしている。更に、特許文献１では、アプリケーションの属性情報から指定された起動順序でアプリケーションの起動を制御するようにしている。
また、特許文献２では、既にインストール済みのアプリケーションを構成するモジュールに対して追加モジュールを追加する際に、正しい順番で各モジュールが動作するように追加モジュールをインストールするようにしている。具体的に特許文献２では、追加モジュールを構成するファイルに含まれているプライオリティナンバに従った順番で動作するように追加モジュールをインストールするようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１８３９２２号公報
【特許文献２】特開２００７−２７２７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した従来の技術では、インストールする対象のアプリケーションを全てインストールするものであり、既にインストールされているアプリケーションや入れても意味のないアプリケーションについては考慮されていない。例えば、画像形成装置にスキャナ装置がなければ、原稿を読み込んでパソコンにデータを送信するＳＥＮＤのような機能を実現するアプリケーションを画像形成装置にインストールしても、画像形成装置が当該アプリケーションを利用できないというケースがある。
また、本来、画像形成装置で行う画像処理（ＰＤＬの画像処理）を、より処理性能の高い外部装置で行うことで印刷の高速化を実現するために外部コントローラ装置がある。外部コントローラ装置が画像形成装置に接続されている場合、画像形成装置は、画像形成装置内にＰＤＬの画像処理をするアプリケーションであるＰＤＬ処理プログラムがインストールされていても、外部コントローラ装置で処理をするように動作することになる。そのため、外部コントローラ装置が接続されている画像形成装置には、ＰＤＬの画像処理をするアプリケーションをインストールしても、当該アプリケーションは使用されないためインストールをする意味がないというケースが発生する。
【０００７】
以上のようなケースに当てはまる状態の画像形成装置にアプリケーションをインストールしても、そのアプリケーションは実際には無駄となり、ユーザは余分なライセンス料を払うことになってしまう。
そこで、従来は、アプリケーションをインストールする場合、サービスマンが、対象の画像形成装置に付属する装置や外部コントローラ装置を調べ、それにより不要となるアプリケーションの判別するようにしていた。しかしながら、サービスマンがこのような作業を現地でするのは時間がかかり、また人的ミスによる無駄なライセンスを発行してしまうことがあった。
ここでは、画像形成装置についての課題を例に挙げて示したが、このような課題は、プログラムをインストールして実行する情報処理装置に共通する課題であった。
本発明は、以上の問題点の少なくとも１つに鑑みてなされたものであり、画像形成装置等の情報処理装置に不要なプログラムがインストールされることを従来よりも防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報配信装置は、画像形成装置と通信可能な情報配信装置であって、前記画像形成装置の代わりに所定のプログラムを実行できる外部装置が前記画像形成装置に接続されているか否かを示す情報を前記画像形成装置から取得する取得手段と、前記所定のプログラムを前記画像形成装置にインストールさせるべく前記所定のプログラムを配信する配信手段とを有し、前記取得手段により取得された情報から、前記画像形成装置の代わりに前記所定のプログラムを実行できる外部装置が前記画像形成装置に接続されていると判断された場合、前記所定のプログラムを配信しないよう前記配信手段を制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像形成装置等の情報処理装置に不要なプログラムがインストールされることを従来よりも防止できる。
【図面の簡単な説明】
【００１０】
【図１】アプリケーションインストールシステムのシステム構成を示す図である。
【図２】画像形成装置のハードウェア構成を示す図である。
【図３】ライセンス発行装置、クライアントＰＣのハードウェア構成を示す図である。
【図４】画像形成装置がライセンス発行装置からアプリケーションのライセンスを受け、当該アプリケーションをインストールする際の処理を説明するフローチャートである。
【図５】図４のステップＳ４０２でライセンス発行装置が画像形成装置から商品情報問い合わせ依頼を受けたときの処理を説明するフローチャートである。
【図６】図４のステップＳ４０４でライセンス発行装置が画像形成装置からライセンス発行依頼を受けたときの処理を説明するフローチャートである。
【図７】図４ステップＳ４０２で実施する商品問い合わせ依頼処理の詳細を説明するフローチャートである。
【図８】インストール済みのアプリケーションのアプリケーションＩＤの一覧を示す図である。
【図９】画像形成装置に接続されている装置のハードＩＤの一覧を示す図である。
【図１０】図７のステップＳ７０４で画像形成装置からライセンス発行装置へ送信するデータのフォーマットを示す図である。
【図１１】図５のステップ５０２において、商品情報を取得する処理の詳細を説明するフローチャートである。
【図１２】商品テーブルを示す図である。
【図１３】アプリケーションテーブルを示す図である。
【図１４】接続装置テーブルを示す図である。
【図１５】商品情報を示す図である。
【図１６】図４のステップＳ４０３において、ライセンス発行装置から商品情報を受け取った画像形成装置が、インストールアプリケーション選択画面を表示させる処理の詳細を説明するフローチャートである。
【図１７】インストールアプリケーション選択画面の第１の例を示す図である。
【図１８】画像形成装置に接続されている装置のハードＩＤの一覧を示す図である。
【図１９】インストールアプリケーション選択画面の第２の例を示す図である。
【図２０】インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスのチェックを外した場合の画像形成装置における処理の説明するフローチャートである。
【図２１】図１９のインストールアプリケーション選択画面でユーザがページ記述言語１のチェックボックスのチェックを外した場合に表示されるインストールアプリケーション選択画面を示す図である。
【図２２】インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスをチェックした場合の画像形成装置における処理を説明するフローチャートである。
【図２３】図２１のインストールアプリケーション選択画面でユーザがページ記述言語１のチェックボックスをチェックした場合に表示されるインストールアプリケーション選択画面を示す図である。
【図２４】図６のステップＳ６０２において、ライセンスファイルを発行する際のライセンス発行装置の処理の詳細を説明するフローチャートである。
【図２５】図４のステップＳ４０３において、ライセンス発行装置から商品情報を受け取った画像形成装置が、インストールアプリケーション選択画面を表示させる処理の詳細を説明するフローチャートである。
【図２６】インストールアプリケーション選択画面の第１の例を示す図である。
【図２７】インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスのチェックを外した場合の画像形成装置における処理を説明するフローチャートである。
【図２８】インストールアプリケーション選択画面の第２の例を示す図である。
【図２９】ンストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスをチェックした場合の画像形成装置における処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を適用できる最初の実施形態を、図面を用いて説明する。
図１は、アプリケーションインストールシステムのシステム構成の一例を示す図である。
図１において、Ａ社ローカルネットワーク１０８とＢ社ローカルネットワーク１０９は、夫々Ａ社とＢ社の社内ネットワークである。Ａ社ローカルネットワークＡでは、クライアントＰＣ１０３ａと、画像形成装置１０２ａとがＬＡＮ１０４を介して通信可能に相互に接続されている。また、画像形成装置１０２ａは、ＰＤＬの画像生成処理を行う外部コントローラ１０７と通信可能に相互に接続されている。Ｂ社ローカルネットワーク１０９では、クライアントＰＣ１０３ｂと画像形成装置１０２ｂ、１０２ｃとがＬＡＮ１０５を介して通信可能に相互に接続されている。
尚、図１に示す例では、ローカルネットワーク内に、クライアントＰＣが１台、画像形成装置が１台又は２台ある場合を示しているが、これらの台数は任意である。
以下、クライアントＰＣ１０３ａ、１０３ｂを区別する必要がない場合にはクライアントＰＣ１０３と称し、画像形成装置１０２ａ、１０２ｂを区別する必要がない場合は画像形成装置１０２と称する。
インターネット１０６には、画像形成装置１０２からの要求によりライセンスを発行するライセンス発行装置１０１が接続されていて、画像形成装置１０２は、インターネット１０６を通じてライセンス発行装置１０１にアクセスをすることが出来る。
【００１２】
図２は、画像形成装置１０２ａ、１０２ｂのハードウェア構成の一例を示す図である。
原稿給送部２０１は、読み込む原稿を自動的にイメージリーダ２０２に送る。イメージリーダ２０２は、スキャナであり、原稿を読み込む。画像形成部２０３は、読み込んだ原稿や、外部から受信したデータを印刷画像に変換・印刷する。給紙部２０４は、印刷用の紙を給紙するものである。排紙部２０５は、印刷した紙を排出し、ソートやステイプルといった処理を施す。
【００１３】
ＮｅｔｗｏｒｋＩ／Ｆ２０６は、ＬＡＮ１０４、１０５及びインターネット１０６に接続し、外部と情報交換を行う。センサ２０７は、画像形成装置１０２の各部分の状態を検知する。ＣＰＵ２０８は、画像形成装置１０２上の各処理を司る。ハードディスク２０９は、画像形成装置１０２の各処理に関わるプログラムやデータ、一時的なデータ、画像形成装置１０２へ送信されてきたユーザデータ等を記憶する。メモリ２１０は、画像形成装置１０２の各処理に関わる一時的なデータを電気的に且つ書き換え可能に記憶する。操作部２１１は、画像形成装置１０２へのユーザからの指示入力を受け付ける。表示部２１２は、画像形成装置１０２の動作状況及び操作部２１１に対する操作に関わる情報等を表示する。モデム２１３は、電話回線に接続する。システムバス２１４は、２０１〜２１４の各部分を結びつけ、データをやり取りする。
【００１４】
図１に示した画像形成装置１０２ｃは、原稿を読み込むスキャナ装置を有していない。
このため、画像形成装置１０２ｃのハードウェア構成は、例えば、図２に示した画像形成装置１０２ａ、１０２ｂのハードウェア構成から、原稿給送部２０１及びイメージリーダ２０２を除いたものになる。
【００１５】
図３は、ライセンス発行装置１０１及びクライアントＰＣ１０３のハードウェア構成の一例を示す図である。
表示部３０１は、ウィンドウ、アイコン、メッセージ、メニュー、その他のユーザインタフェース情報等を表示する。操作部３０２は、キーボード、マウスを利用したエンドユーザの入力を受け付ける。ＣＰＵ３０３は、本装置上の各処理を司る。ハードディスク３０４は、本装置の各処理に関わるプログラムやデータ、一時的なデータ、本装置へ送信されてきたデータ等を記憶する。メモリ３０５は、本装置の各処理に関わる一時的なデータを電気的に且つ書き換え可能に記憶する。ＮｅｔｗｏｒｋＩ／Ｆ３０６は、インターネット１０６に接続し、外部と情報交換を行う。システムバス３０７は、３０１〜３０６の各部分を結びつけ、データをやり取りする。
【００１６】
次に、図４のフローチャートを参照して、画像形成装置１０２がライセンス発行装置１０１からアプリケーションのライセンスを受け、当該アプリケーションをインストールする際の処理の一例について説明する。
画像形成装置１０２のＣＰＵ２０８は、操作部２１１でのユーザからのインストール開始指示を検知した場合にこのフローチャートによる処理を実行する。
ステップＳ４０１において、ＣＰＵ２０８は、ライセンス番号をユーザに入力させるための画面を表示部２１２に表示させる。
ＣＰＵ２０８は、ユーザが表示部２１２に表示されたライセンス番号入力画面を操作してライセンス番号を入力したことを検知すると、ステップＳ４０２において、入力されたライセンス番号を取得する。またそのときにＣＰＵ２０８は、画像形成装置１０２の状態情報を取得し、取得したライセンス番号と状態情報とをＮｅｔｗｏｒｋＩ／Ｆ２０６からインターネット１０６を介してライセンス発行装置１０１に送信して商品情報問い合わせ依頼をする。この処理についての詳細は図７のフローチャートにて説明する。
【００１７】
図５のフローチャートを参照して後述するように、商品情報問い合わせ依頼を受けたライセンス発行装置１０１は、商品情報問い合わせ依頼に含まれるライセンス番号に基づきインストール可能なアプリケーション情報を得て画像形成装置１０２に情報配信を行う。画像形成装置１０２のＣＰＵ２０８は、ＮｅｔｗｏｒｋＩ／Ｆ２０６を介して、このアプリケーション情報を受信する。そうすると、ステップＳ４０３において、ＣＰＵ２０８は、インストールできるアプリケーションの中からインストールするアプリケーションをユーザに選択させるためのインストールアプリケーション選択画面を表示部２１２に表示させる。
【００１８】
ＣＰＵ２０８は、ユーザがインストールアプリケーション選択画面にてインストールするアプリケーションを選択したのを検知すると、ステップＳ４０４において、選択されたアプリケーションの一覧を取得する。そして、ＮｅｔｗｏｒｋＩ／Ｆ２０６は、ＣＰＵ２０８が取得したアプリケーションの一覧を、インターネット１０６を介してライセンス発行装置１０１に送信してライセンス発行依頼を行う。
図６のフローチャートを参照して後述するように、このライセンス発行依頼を受けたライセンス発行装置１０１は、このライセンス発行依頼に含まれるアプリケーションの一覧に基づきインストールに必要なライセンス情報を得て画像形成装置１０２に送信する。
そして、画像形成装置１０２のＣＰＵ２０８は、ＮｅｔｗｏｒｋＩ／Ｆ２０６を介してライセンス情報を受信する。そうすると、ステップＳ４０５において、ＣＰＵ２０８は、そのライセンス情報を利用してアプリケーションのインストールを行う。
【００１９】
次に、図５のフローチャートを参照して、図４のステップＳ４０２でライセンス発行装置１０１が画像形成装置１０２から商品情報問い合わせ依頼を受けたときの処理の一例を説明する。
ステップＳ５０１において、ライセンス発行装置１０１のＣＰＵ３０３は、インターネット１０６を介してＮｅｔｗｏｒｋＩ／Ｆ３０６より商品問い合わせ依頼のアクセスを受けるまで待機する。そして、商品問い合わせ依頼のアクセスを受けたと判定すると、ステップＳ５０２に進む。
【００２０】
ステップＳ５０２において、ＣＰＵ３０３は、ＮｅｔｗｏｒｋＩ／Ｆ３０６より受信した商品問い合わせ依頼に含まれる「ライセンス番号と状態情報」を取得し、そのライセンス番号と紐付いている商品の情報をハードディスク３０４から検索する。そして、ＣＰＵ３０３は、状態情報に基づいて、その商品の情報に含まれる所定のアプリケーションの中からインストールが可能なアプリケーション情報を取得する。このステップＳ５０２の詳細な処理については図１１のフローチャートにて説明する。
次に、ステップＳ５０３において、ＮｅｔｗｏｒｋＩ／Ｆ３０６は、ＣＰＵ３０３が取得した情報に基づく商品情報（後述する図１５を参照）を、インターネット１０６を介して、ライセンス発行装置１０１にアクセスしてきた画像形成装置１０２に配信する。
【００２１】
次に、図６のフローチャートを参照して、図４のステップＳ４０４でライセンス発行装置１０１が画像形成装置１０２からライセンス発行依頼を受けたときの処理の一例について説明する。
ステップＳ６０１において、ライセンス発行装置１０１のＣＰＵ３０３は、インターネット１０６を介してＮｅｔｗｏｒｋＩ／Ｆ３０６よりライセンス発行依頼のアクセスを受けるまで待機する。そして、ライセンス発行依頼のアクセスを受けたと判定すると、ステップＳ６０２に進む。
【００２２】
ステップＳ６０２において、ＣＰＵ３０３は、ＮｅｔｗｏｒｋＩ／Ｆ３０６より受信したライセンス発行依頼に含まれる「ユーザにより選択されたアプリケーションの一覧」を取得し、そのアプリケーションのライセンスファイルを発行する。そして、ＣＰＵ３０３は、ハードディスク３０４に格納されているアプリケーションの依存関係から、発行したライセンスファイルの一覧のインストール順を算出する。このステップＳ６０２の詳細な処理については図２４のフローチャートにて説明する。
次に、ステップＳ６０３において、ＮｅｔｗｏｒｋＩ／Ｆ３０６は、ライセンスファイルと、そのインストール順とを含むライセンス情報を、インターネット１０６を介して、ライセンス発行装置１０１にアクセスしてきた画像形成装置１０２に送信する。
【００２３】
次に、図７のフローチャートを参照して、図４ステップＳ４０２で実施する商品問い合わせ依頼処理の詳細の一例を説明する。
ステップＳ７０１において、画像形成装置１０２のＣＰＵ２０８は、ライセンス番号入力画面でユーザによって入力されたライセンス番号を取得する。
次に、ステップＳ７０２において、ＣＰＵ２０８は、ハードディスク２０９に格納されている「既にインストールされているアプリケーションを特定するためのアプリケーションＩＤ（識別情報）の一覧」を取得する。更にステップＳ７０３において、ＣＰＵ２０８は、ハードディスク２０９に格納されている「画像形成装置１０２に接続されている装置（例えば外部コントローラ１０７）を識別するためのハードＩＤの一覧」を取得する。
【００２４】
次に、ステップＳ７０４において、ＣＰＵ２０８は、インストール済みのアプリケーションのアプリケーションＩＤの一覧と、画像形成装置１０２に接続されている装置のハードＩＤの一覧とを状態情報とする。そして、ＮｅｔｏｗｏｒｋＩ／Ｆ２０５は、インターネット１０６を介して、ステップＳ７０１で取得されたライセンス番号と、状態情報とを、ライセンス発行装置１０１に送信して商品情報問い合わせ依頼をする。
【００２５】
図８は、画像形成装置１０２ａのハードディスク２０９に格納されている「インストール済みのアプリケーションのアプリケーションＩＤの一覧」の一例を示す図である。これは、図７のステップＳ７０２で取得されるものである。
インストール済みアプリケーションテーブル８０１は、画像形成装置１０２にインストールされたアプリケーションの一覧を保持するテーブルである。インストール済みアプリケーションテーブル８０１は、アプリケーションＩＤカラム８０２と、アプリケーション名カラム８０３とを有する。
アプリケーションＩＤカラム８０２は、インストール済みのアプリケーションのアプリケーションＩＤを保持するカラムである。アプリケーション名カラム８０３は、インストール済みのアプリケーションの名前を保持するカラムである。
インストール済みアプリケーションテーブル８０１では、これらの情報が相互に対応付
けられて記憶されている。
図８に示す例では、インストール済みのアプリケーションとして、アプリケーションＩＤがＡ０００１であるＳＥＮＤと、アプリケーションＩＤがＡ００１４であるＶＮＣとが既に画像形成装置１０２にインストールされていることを表している。
【００２６】
図９は、図７のステップＳ７０３で、画像形成装置１０２ａのハードディスク２０９から取得される「画像形成装置１０２ａに接続されている装置のハードＩＤの一覧」の一例を示す図である。
接続装置テーブル９０１は、画像形成装置１０２ａに接続されている装置の一覧を保持するテーブルである。接続装置テーブル９０１は、ハードＩＤカラム９０２と、装置名カラム９０３とを有する。
ハードＩＤカラム９０２は、画像形成装置１０２に接続されている装置のハードＩＤを保持するカラムである。装置名カラム９０３は、画像形成装置１０２に接続されている装置の名前を保持するカラムである。
接続装置テーブル９０１では、これらの情報が相互に関連付けられて記憶されている。
図９に示す例では、画像形成装置１０２ａには、ハードＩＤがＨ００１であるスキャナと、ハードＩＤがＨ００４であるプリンタと、ハードＩＤがＨ０１０であるフィニッシャと、ハードＩＤがＨ１２７である外部コントローラが接続されていることを表している。
【００２７】
図１０は、図７のステップＳ７０４で画像形成装置１０２からライセンス発行装置１０１へ送信するデータのフォーマットの一例を示す図である。商品問い合わせ依頼データ１００１は、ライセンス番号１００２と状態情報１００３とを含む。状態情報１００３は、インストール済みのアプリケーションのアプリケーションＩＤの一覧（インストール済みアプリケーションＩＤ一覧）１００４と、画像形成装置１０２に接続されている装置のハードＩＤの一覧（接続装置ハードＩＤ一覧）１００５とを含む。
図８及び図９に示すデータを持つ画像形成装置１０２ａの場合には、インストール済みアプリケーションＩＤ一覧１００４に格納されるデータは、Ａ０００１とＡ００１４となる。また、接続装置ハードＩＤ一覧１００５に格納されるデータは、Ｈ００１、Ｈ００４、Ｈ０１０、Ｈ１２７となる。
【００２８】
次に、図１１のフローチャートを参照して、図５のステップ５０２において、商品情報を取得する処理の詳細の一例を説明する。
ステップＳ１１０１において、ライセンス発行装置１０１のＣＰＵ３０３は、ＮｅｔｗｏｒｋＩ／Ｆ３０６より受信した「ライセンス番号１００２と状態情報１００３」を取得する。
次に、ステップＳ１１０２において、ＣＰＵ３０３は、ハードディスク３０４に格納されている商品テーブル１２０１に、ステップＳ１１０１で受信したライセンス番号１００２が含まれているか否かを判定する。
【００２９】
図１２は、ライセンス発行装置１０１のハードディスク３０４に格納される商品テーブル１２０１の一例を示す図である。
図１２において、商品ＩＤ１２０２は商品を一意に特定するためのＩＤである。商品名１２０３は、商品の商品名である。ライセンス番号１２０４は、この商品をインストールするための番号である。構成アプリケーションＩＤ１２０５は、商品を構成する１つ以上のアプリケーションのアプリケーションＩＤ（構成アプリケーションＩＤ）の一覧である。商品テーブル１２０１では、これらの情報が相互に関連付けられて記憶されている。
【００３０】
図１１の説明に戻り、ステップＳ１１０２の判定の結果、商品テーブル１２０１に、ステップＳ１１０１で受信したライセンス番号１００２が含まれておらず、ライセンス番号１００２に紐付く商品がなかった場合には、ステップＳ１１０３に進む。ステップＳ１１０３に進むと、ＣＰＵ３０３は、ライセンス番号１００２が登録されていない場合のエラー処理をする。
【００３１】
一方、商品テーブル１２０１に、ステップＳ１１０１で受信したライセンス番号１００２が含まれており、ライセンス番号１００２に紐付く商品がある場合には、ステップＳ１１０４に進む。ステップＳ１１０４に進むと、ＣＰＵ３０３は、ライセンス番号１００２に紐付く商品のアプリケーションの一覧として、アプリケーションＩＤの一覧を、構成アプリケーションＩＤ１２０５から取得する。
次に、ステップＳ１１０５において、ＣＰＵ３０３は、ステップＳ１１０４で取得したアプリケーションＩＤの一覧から、１つのアプリケーションＩＤを取得する。
次に、ステップＳ１１０６において、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤが、ステップＳ１１０１で取得した状態情報１００３の中の「インストール済みアプリケーションＩＤ一覧１００４」に含まれているか否かを判定する。
【００３２】
この判定の結果、ステップＳ１１０５で取得したアプリケーションＩＤが、インストール済みアプリケーションＩＤ一覧１００４に含まれていた場合には、このアプリケーションＩＤのアプリケーションをインストールしない。したがって、後述するステップＳ１１１６に進む。一方、ステップＳ１１０５で取得したアプリケーションＩＤが、インストール済みアプリケーションＩＤ一覧１００４に含まれていなかった場合には、ステップＳ１１０７に進む。
【００３３】
次に、ステップＳ１１０７において、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、ハードウェアがあれば不要となるアプリケーションであるか否かを判定する。そのためにＣＰＵ３０３は、ハードディスク３０４に格納されているアプリケーションテーブル１３０１から、ステップＳ１１０５で取得したアプリケーションＩＤを持つレコードを検索する。次に、ＣＰＵ３０３は、検索して取得したレコードから、排他ハードＩＤ１３０６のカラムのデータを取得する。
【００３４】
図１３は、ライセンス発行装置１０１のハードディスク３０４に格納されているアプリケーションテーブル１３０１の一例を示す図である。
図１３において、アプリケーションＩＤ１３０２は、アプリケーションを一意に特定するためのＩＤである。アプリケーション名１３０３は、アプリケーションの名称である。
依存アプリケーションＩＤ１３０４は、このアプリケーションをインストールする前にインストールする必要のあるアプリケーションのアプリケーションＩＤである。依存ハードＩＤ１３０５は、このアプリケーションをインストールする前に画像形成装置１０２に接続していなければならない装置（画像形成装置１０２に接続される装置）のハードＩＤである。排他ハードＩＤ１３０６は、画像形成装置１０２に接続されていれば、このアプリケーションをインストールする必要がなくなる装置（画像形成装置１０２に接続される装置）のハードＩＤである。アプリケーションテーブル１３０１では、これらの情報が相互に関連付けられて記憶されている。
【００３５】
図１４は、ライセンス発行装置１０１のハードディスク３０４に格納されている接続装置テーブル１４０１の一例を示す図である。
図１４において、ハードＩＤ１４０２は、画像形成装置１０２に接続される装置を一意に表すためのＩＤである。装置名１４０３は、画像形成装置１０２に接続される装置の名称である。接続装置テーブル１４０１では、これらの情報が相互に関連付けられて記憶されている。
【００３６】
図１１の説明に戻り、ステップＳ１１０７の判定の結果、ステップＳ１１０５で取得したアプリケーションＩＤを持つレコードに排他ハードＩＤ１３０６のデータがなければ、ステップＳ１１０９に進む。すなわち、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、ハードウェアがあれば不要となるアプリケーションでないと判定してステップＳ１１０９に進む。
一方、ステップＳ１１０５で取得したアプリケーションＩＤを持つレコードに排他ハードＩＤ１３０６のデータにあれば、ステップＳ１１０８に進む。すなわち、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、ハードウェアがあれば不要となるアプリケーションであると判定してステップＳ１１０８に進む。
【００３７】
ステップＳ１１０８において、ＣＰＵ３０３は、ステップＳ１１０７で取得した排他ハードＩＤ１３０６のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれているか否かを判定する。この判定の結果、ステップＳ１１０７で取得した排他ハードＩＤ１３０６のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれている場合には、処理対象のアプリケーションをインストールしない。このため、後述するステップＳ１１１６に進む。一方、ステップＳ１１０７で取得した排他ハードＩＤ１３０６のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれていない場合には、ステップＳ１１０９に進む。
【００３８】
ステップＳ１１０９において、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、そのアプリケーションをインストールするためにハードウェアを必要とするアプリケーションであるか否かを判定する。そのためにＣＰＵ３０３は、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードから依存ハードＩＤ１３０５のカラムのデータを取得する。そして、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードに依存ハードＩＤ１３０５のデータがなければ、ステップＳ１１１１に進む。すなわち、ＣＰＵ３０３は、ステップＳ１１０５にて取得したアプリケーションＩＤにより特定されるアプリケーションが、そのアプリケーションをインストールするためにハードウェアを必要とするアプリケーションでないと判定してステップＳ１１１１に進む。
【００３９】
一方、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードに依存ハードＩＤ１３０５のデータがあれば、ステップＳ１１１０に進む。すなわち、ステップＳ１１０５にて取得したアプリケーションＩＤにより特定されるアプリケーションが、そのアプリケーションをインストールするためにハードウェアを必要とするアプリケーションであると判定してステップＳ１１１０に進む。
ステップＳ１１１０に進むと、ＣＰＵ３０３は、ステップＳ１１０９で取得した依存ハードＩＤ１３０５のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれているか否かを判定する。この判定の結果、ステップＳ１１０９で取得した依存ハードＩＤ１３０５のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれていない場合には、処理対象のアプリケーションをインストールしない。このため、後述するステップＳ１１１６に進む。一方、ステップＳ１１０９で取得した依存ハードＩＤ１３０５のデータが、ステップＳ１１０１で取得した状態情報１００３の中の接続装置ハードＩＤ一覧１００５に含まれている場合には、ステップＳ１１１１に進む。
【００４０】
ステップＳ１１１１に進むと、ＣＰＵ３０３は、次の処理を行う。すなわち、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、そのアプリケーションをインストールするために他のアプリケーションを必要とするアプリケーションか否かを判定する。そのためにＣＰＵ３０３は、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードから依存アプリケーションＩＤ１３０４のカラムのデータを取得する。そして、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードから依存アプリケーションＩＤ１３０４のカラムのデータになければ、処理対象のアプリケーションをインストールする対象とするために、後述するステップＳ１１１５に進む。
【００４１】
一方、ステップＳ１１０５にて取得したアプリケーションＩＤを持つレコードから依存アプリケーションＩＤ１３０４のカラムのデータにあれば、ステップＳ１１１２に進む。
すなわち、ステップＳ１１０５で取得したアプリケーションＩＤにより特定されるアプリケーションが、そのアプリケーションをインストールするために他のアプリケーションを必要とするアプリケーションであると判定して、ステップＳ１１１２に進む。
次に、ステップＳ１１１２において、ＣＰＵ３０３は、次の処理を行う。すなわち、ＣＰＵ３０３は、ステップＳ１１１１にて取得した依存アプリケーションＩＤ１３０４のデータが、ステップＳ１１０１で取得した状態情報１００３の中のインストール済みアプリケーションＩＤ一覧１００４に含まれているか否かを判定する。
【００４２】
この判定の結果、依存アプリケーションＩＤ１３０４のデータが、状態情報１００３の中のインストール済みアプリケーションＩＤ一覧１００４に含まれている場合、処理対象のアプリケーションをインストールする対象とするためにステップＳ１１１５に進む。一方、依存アプリケーションＩＤ１３０４のデータが、状態情報１００３の中のインストール済みアプリケーションＩＤ一覧１００４に含まれていない場合には、ステップＳ１１１３に進む。
ステップＳ１１１３に進むと、ＣＰＵ３０３は、ステップＳ１１１１にて取得した依存アプリケーションＩＤ１３０４のデータが、ステップＳ１１０４で取得した「アプリケーションＩＤの一覧」に含まれているか否かを判定する。この判定の結果、依存アプリケーションＩＤ１３０４のデータが、アプリケーションＩＤの一覧に含まれていない場合には、処理対象のアプリケーションをインストールしないためにステップＳ１１１６に進む。
【００４３】
一方、依存アプリケーションＩＤ１３０４のデータが、アプリケーションＩＤの一覧に含まれている場合には、ステップＳ１１１４に進む。
ステップＳ１１１４に進むと、ＣＰＵ３０３は、次の処理を行う。すなわち、ステップＳ１１１１にて取得した依存アプリケーションＩＤ１３０４を、ステップＳ１１０５で取得したアプリケーションＩＤで特定されるアプリケーションをインストールするのに必要な依存アプリケーションのＩＤとしてメモリ３０５に追加する。
次に、ステップＳ１１１５において、ＣＰＵ３０３は、インストール可能なプログラム群を指定すべく、ステップＳ１１０５で取得したアプリケーションＩＤをインストール可能なアプリケーションＩＤの一覧としてメモリ３０５に追加する。そして、ステップＳ１１１７に進む。
【００４４】
ステップＳ１１０６、Ｓ１１０８、Ｓ１１１０、Ｓ１１１３からステップＳ１１１６に進むと、ＣＰＵ３０３は、次の処理を行う。すなわち、ＣＰＵ３０３は、ステップＳ１１０５で取得したアプリケーションＩＤと、そのアプリケーションＩＤで特定されるアプリケーションをインストールできない理由とをインストール不可能なアプリケーションのＩＤの一覧としてメモリ３０５に追加する。そして、ステップＳ１１１７に進む。
ステップＳ１１１７に進むと、ＣＰＵ３０３は、ステップＳ１１０４で取得したアプリケーションＩＤの一覧の全てについて、ステップＳ１１０６〜Ｓ１１１５の処理を行ったか否かを判定する。この判定の結果、ステップＳ１１０４で取得したアプリケーションＩＤの一覧の全てについて処理を行っていない場合にはステップＳ１１０５に戻る。一方、ステップＳ１１０４で取得したアプリケーションＩＤの一覧の全てについて処理を行っている場合にはステップＳ１１１８に進む。
ステップＳ１１１８に進むと、ＣＰＵ３０３は、図１５に示すような構造を持つ商品情報１５０１を作成し、メモリ３０５に格納する。
【００４５】
図１５は、ライセンス発行装置１０１のメモリ３０５に保持される商品情報１５０１の一例を示す図である。
図１５において、商品名１５０２は、商品の名称を格納するためのデータ領域である。
インストール可能アプリケーション一覧１５０３は、商品を構成するアプリケーションの中でインストール可能なアプリケーションを１つ以上格納するためのデータ領域である。
アプリケーション名１５０４は、インストール可能なアプリケーションのアプリケーション名を格納するためのデータ領域である。
アプリケーションＩＤ１５０５は、インストール可能なアプリケーションのアプリケーションＩＤを格納するためのデータ領域である。
依存アプリケーションＩＤ１５０６は、インストール可能なアプリケーションをインストールするために事前にインストールされていることが必要なアプリケーションのアプリケーションＩＤを格納するためのデータ領域である。
インストール不可能アプリケーション一覧１５０７は、商品を構成するアプリケーションの中でインストール不可能なアプリケーションを０つ以上格納するためのデータ領域である。
アプリケーション名１５０８は、インストール不可能なアプリケーションのアプリケーション名を格納するためのデータ領域である。
アプリケーションＩＤ１５０９は、インストール不可能なアプリケーションのアプリケーションＩＤを格納するためのデータ領域である。
インストール不可能理由１５１０は、インストールが不可能である理由を格納するためのデータ領域である。
【００４６】
商品名１５０２には、ステップＳ１１０２で取得したライセンス番号１００２に対応するレコードの商品名１２０３が格納される。
インストール可能アプリケーション一覧１５０３には、ステップＳ１１１５で追加した「インストール可能なアプリケーションＩＤの一覧」の数だけデータ領域が用意される。
用意された夫々のデータ領域において、アプリケーション名１５０４には、ステップＳ１１１５で追加した「インストール可能なアプリケーションＩＤ」で特定されるアプリケーション名が格納される。また、用意された夫々のデータ領域において、アプリケーションＩＤ１５０５には、ステップＳ１１１５で追加した「インストール可能なアプリケーションＩＤ」が格納される。
また、依存アプリケーションＩＤ１５０６には、次の情報が格納される。すなわち、ステップＳ１１１５で追加した「インストール可能なアプリケーションＩＤ」で特定されるアプリケーションに対して依存アプリケーションがある場合には、ステップＳ１１１４で追加した依存アプリケーションＩＤが格納される。
インストール不可能アプリケーション一覧１５０７には、ステップＳ１１１６で追加した「インストール不可能なアプリケーションＩＤの一覧」の数だけデータ領域が用意される。アプリケーション名１５０８には、ステップＳ１１１６で追加した「インストール不可能なアプリケーションＩＤ」で特定されるアプリケーション名が格納される。アプリケーションＩＤ１５０９には、ステップＳ１１１６で追加した「インストール不可能なアプリケーションのアプリケーションＩＤ」が格納される。インストール不可能理由１５１０には、ステップＳ１１１６で追加した「インストール不可能なアプリケーションＩＤ」で特定されるアプリケーションをインストールすることが不可能な理由が格納される。
【００４７】
このように図１１のフローチャートを実施することで、ライセンス発行装置１０１のＣＰＵ３０３は、次のような商品情報１５０１を作成する。すなわち、インストール可能なアプリケーション、インストール不可能なアプリケーションの情報に加え、インストール可能なアプリケーションについては、事前にインストールが必要なアプリケーションの情報を保持した商品情報１５０１を作成する。
そして、商品情報１５０１は、図５のステップＳ５０３において、商品の問い合わせ元の画像形成装置１０２（ライセンス発行装置１０１にアクセスしてきた画像形成装置１０２）に応答として返される。
【００４８】
次に、図１６のフローチャートを参照して、図４のステップＳ４０３において、ライセンス発行装置１０１から商品情報を受け取った画像形成装置１０２が、インストールアプリケーション選択画面を表示させる処理の詳細の一例を説明する。
ステップＳ１６０１において、画像形成装置１０２のＣＰＵ２０８は、ＮｅｔｗｏｒｋＩ／Ｆ２０６を介して商品情報１５０１を受信し、ハードディスク２０９に格納する。
次に、ステップＳ１６０２において、ＣＰＵ２０８は、ステップＳ１６０１で受信した商品情報１５０１から商品名１５０２を取得し、商品名１５０２を、表示するラベルのテキストとして設定する。
【００４９】
次に、ステップＳ１６０３において、ＣＰＵ２０８は、ステップＳ１６０１で受信した商品情報１５０１からインストール可能アプリケーション一覧１５０３を取得する。
次に、ステップＳ１６０４において、ＣＰＵ２０８は、ステップＳ１６０３で取得したインストール可能アプリケーション一覧１５０３から１つのインストール可能なアプリケーションの情報を取り出す。
次に、ステップＳ１６０５にて、ＣＰＵ２０８は、アプリケーションを選択させるチェックボックスのテキストに、ステップＳ１６０４で取得したインストール可能なアプリケーションのアプリケーション名１５０４を設定する。
【００５０】
次に、ステップＳ１６０６において、ＣＰＵ２０８は、ステップＳ１６０５で設定したチェックボックスにチェックをする。
次に、ステップＳ１６０７において、ＣＰＵ２０８は、全てのインストール可能アプリケーション一覧１５０３に対して処理をしたか否かを判定する。この判定の結果、全てのインストール可能アプリケーション一覧１５０３に対して処理をしていなければ、ステップＳ１６０４に戻り、処理が終わるまでステップＳ１６０４〜Ｓ１６０７を繰り返し行う。そして、全てのインストール可能アプリケーション一覧１５０３に対して処理が終わるとステップＳ１６０８に進む。
【００５１】
ステップＳ１６０８に進むと、ＣＰＵ２０８は、ステップＳ１６０１で受信した商品情報１５０１からインストール不可能アプリケーション一覧１５０７を取得する。
次に、ステップＳ１６０９において、ＣＰＵ２０８は、ステップＳ１６０８で取得したインストール不可能アプリケーション一覧１５０７から１つのインストール不可能なアプリケーションの情報を取り出す。
次に、ステップＳ１６１０において、ＣＰＵ２０８は、次の処理を行う。すなわち、ＣＰＵ２０８は、アプリケーションを選択するチェックボックスのテキストに、ステップＳ１６０９で取得したインストール不可能なアプリケーションのアプリケーション名１５０８とインストール不可能理由１５１０とを設定する。
【００５２】
次に、ステップＳ１６１１において、ＣＰＵ２０８は、ステップＳ１６１０で設定したチェックボックスのチェックを外す。
次に、ステップＳ１６１２において、ＣＰＵ２０８は、ステップＳ１６１０で設定したチェックボックスをユーザが編集できないように無効化する。
次に、ステップＳ１６１３において、ＣＰＵ２０８は、全てのインストール不可能アプリケーション一覧１５０７に対して処理をしたか否かを判定する。この判定の結果、全てのインストール不可能アプリケーション一覧１５０７に対して処理をしていなければ、ステップＳ１６０９に戻り、処理が終わるまでステップＳ１６０９〜Ｓ１６１３を繰り返し行う。そして、全てのインストール不可能アプリケーション一覧１５０７に対して処理が終わるとステップＳ１６１４に進む。
ステップＳ１６１４に進むと、ＣＰＵ２０８は、ステップＳ１６０２〜ステップＳ１６１３で作成した情報に基づいて、インストールアプリケーション選択画面を表示部２１２に表示させる。
【００５３】
図１６のフローチャートを実行することにより、画像形成装置１０２の表示部２１２に、インストールできるアプリケーションだけを選択できるチェックボックスを表示し、ユーザにそのチェックボックスを選択させることができる。
図１７は、インストールアプリケーション選択画面の第１の例を示す図である。インストールアプリケーション選択画面１７００ａは、次の条件の下で表示されるものである。
すなわち、画像形成装置１０２ａが、図８に示すアプリケーションをインストール済みであるとする。また、図９に示す装置が画像形成装置１０２ａに接続された状態であるとする。また、図４のステップＳ４０１において、ユーザによって、ライセンス番号ＬＮ７２７が入力されたとする。
【００５４】
図１８は、図７のステップＳ７０３で、画像形成装置１０２ｂのハードディスク２０９から取得される「画像形成装置１０２ａに接続されている装置のハードＩＤの一覧」の一例を示す図である。また、図１９は、インストールアプリケーション選択画面の第２の例を示す図である。
図１８に示す装置が画像形成装置１０２ｂに接続された状態である場合、画像形成装置１０２ｂには、ハードＩＤがＨ１２７である外部コントローラが接続されていないため、図１９に示すようなインストールアプリケーション選択画面１７００ｂが表示される。すなわち、インストールアプリケーション選択画面１７００ａでは、ページ記述言語１、ページ記述言語２、ページ記述言語３を選択できない状態である。これに対し、インストールアプリケーション選択画面１７００ｂでは、ページ記述言語１、ページ記述言語２、ページ記述言語３を選択できる状態になる。これらの機能は、外部コントローラの存在により画像形成装置１０２ａでは不要となるからである。
【００５５】
次に、図２０のフローチャートを参照して、インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスのチェックを外した場合の画像形成装置１０２における処理の一例を説明する。
ステップＳ２００１において、画像形成装置１０２のＣＰＵ２０８は、ユーザによって選択されたチェックボックスのチェックを外す。
次に、ステップＳ２００２において、ＣＰＵ２０８は、チェックを外したチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にあるか否かを判定する。すなわち、ＣＰＵ２０８は、チェックを外したチェックボックスに対応するアプリケーションの事前のインストールが必要なアプリケーションがあるか否かを判定する。この判定の結果、チェックを外したチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にない場合には、ステップＳ２００６に進む。そして、ＣＰＵ２０８は、ステップＳ２００１の処理の内容が反映されるように、インストールアプリケーション選択画面を再表示させる。
【００５６】
一方、チェックを外したチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にある場合には、ステップＳ２００３に進む。
ステップ２００３に進むと、ＣＰＵ２０８は、チェックを外したチェックボックスに対応するアプリケーションの事前のインストールが必要なアプリケーションのチェックボックスを取得し、そのチェックボックスのチェックを外す。
次に、ステップＳ２００４において、ＣＰＵ２０８は、次の処理を行う。すなわち、ＣＰＵ２０８は、ステップＳ２００３で取得したチェックボックスのテキストに、そのチェックボックスに対応するアプリケーション名と、インストールできない理由として、依存するアプリケーションが選択されていない旨の文字列とを設定する。
【００５７】
次に、ステップＳ２００５において、ＣＰＵ２０８は、ステップＳ２００３で取得したチェックボックスを無効化する。そして、ステップＳ２００２に戻り、ステップＳ２００３でチェックを外したチェックボックスに対応するアプリケーションの事前のインストールが必要なアプリケーションがあるか否かを判定する。この判定は、チェックを外したチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にあるか否かによって行うことができる。
この判定の結果、ステップＳ２００３でチェックを外したチェックボックスに対応するアプリケーションの事前のインストールが必要なアプリケーションがある場合には、ステップＳ２００３〜ステップＳ２００５の処理を繰り返す。そして、ステップＳ２００３でチェックを外したチェックボックスに対応するアプリケーションの事前のインストールが必要なアプリケーションがなくなると、ステップＳ２００６に進む。そして、ＣＰＵ２０８は、ステップＳ２００１〜Ｓ２００５の処理の内容が反映されるように、インストールアプリケーション選択画面を再表示させる。
【００５８】
図２１は、図１９に示したインストールアプリケーション選択画面１７００ｂでユーザがページ記述言語１のチェックボックスのチェックを外した場合に図２０の処理を行うことにより表示されるインストールアプリケーション選択画面の一例を示す図である。
図２１のインストールアプリケーション選択画面１７００ｃにおいて、ページ記述言語１のインストールが事前に必要となるページ記述言語２のチェックは、ページ記述言語１のチェックが外されたときに外される。これにより、ページ記述言語２の選択が無効化される。さらにそれに伴い、ページ記述言語２のインストールが事前に必要となるページ記述言語３のチェックも外される。これにより、ページ記述言語３の選択も無効化される。
【００５９】
次に、図２２のフローチャートを参照して、インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスをチェックした場合の画像形成装置１０２における処理の一例を説明する。
ステップＳ２２０１において、画像形成装置１０２のＣＰＵ２０８は、ユーザによって選択されたチェックボックスをチェックする。
次に、ステップＳ２００２において、ＣＰＵ２０８は、チェックしたチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にあるか否かを判定する。すなわち、ＣＰＵ２０８は、チェックしたチェックボックスに対応するアプリケーションが事前にインストールされている必要があるアプリケーションがあるか否かを判定する。この判定の結果、チェックしたチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にない場合には、ステップＳ２００５に進む。そして、ＣＰＵ２０８は、ステップＳ２２０１の処理の内容が反映されるように、インストールアプリケーション選択画面を再表示させる。
【００６０】
一方、チェックしたチェックボックスに対応するアプリケーションのアプリケーションＩＤが、その他のアプリケーションにおける依存アプリケーションＩＤ１５０６にある場合には、ステップＳ２２０３に進む。
次に、ステップ２２０３において、ＣＰＵ２０８は、チェックしたチェックボックスに対応するアプリケーションに依存するアプリケーションのチェックボックスを取得し、そのチェックボックスを有効化する。
次に、ステップＳ２２０４において、ＣＰＵ２０８は、ステップＳ２２０３で取得したチェックボックスのテキストに、そのチェックボックスに対応するアプリケーション名を設定する。
次に、ステップＳ２２０６において、ＣＰＵ２０８は、ステップＳ２２０１〜ステップＳ２２０４の処理の内容が反映されるように、インストールアプリケーション選択画面を再表示する。
【００６１】
図２３は、図２１に示したインストールアプリケーション選択画面でユーザがページ記述言語２のチェックボックスをチェックした場合に図２２の処理を行うことにより表示されるインストールアプリケーション選択画面の一例を示す図である。
図２３のインストールアプリケーション選択画面１７００ｄでは、チェックされたページ記述言語１のインストールが事前に必要となるページ記述言語２の選択が有効化される。
【００６２】
以上のように本実施形態では、画像形成装置１０２のアプリケーションのインストールの状況や、画像形成装置１０２に接続されている装置の状況から、インストールが不要なアプリケーションを判別する。更に、アプリケーションのインストール（アクティベーション）の順番に基づく依存関係と、ユーザによるアプリケーションの選択状態とに基づいて、インストールが不要なアプリケーションを判別する。このようにして判別した結果に基づいて、インストールしても意味のないアプリケーションを選択できないＵＩを提供し、画像形成装置１０２で利用できないアプリケーションのライセンスを無駄に発行させないようにする。
【００６３】
インストールアプリケーション選択画面にてユーザにより選択されたアプリケーションの一覧は、図４のステップＳ４０４にて、画像形成装置１０２のＣＰＵ２０８によりライセンス発行依頼としてライセンス発行装置１０１に送信される。送信されたライセンス発行依頼は、ライセンス発行装置１０１のＣＰＵ３０３により、図６のステップＳ６０１で受信され、ステップＳ６０２のライセンス発行処理が実行される。
【００６４】
次に、図２４のフローチャートを参照して、図６のステップＳ６０２において、ライセンスファイルを発行する際のライセンス発行装置１０１の処理の詳細の一例を説明する。
ステップＳ２４０１において、ライセンス発行装置１０１のＣＰＵ３０３は、ＮｅｔｗｏｒｋＩ／Ｆ３０６で受信したライセンス発行依頼に含まれる「アプリケーションの一覧」を取得する。このアプリケーションの一覧は、インストールアプリケーション選択画面にてユーザにより選択されたアプリケーションの一覧である。尚、以下の説明では、このアプリケーションの一覧を、必要に応じてインストールアプリケーション一覧と称する。
【００６５】
次に、ステップＳ２４０２において、ＣＰＵ３０３は、インストールアプリケーション一覧から、１つのアプリケーションを取得し、そのアプリケーションをライセンス発行の対象アプリケーションとする。
次に、ステップＳ２４０３において、ＣＰＵ３０３は、対象アプリケーションをインストールするのに事前にインストールしておく必要がある依存アプリケーションがあるか否かを判定する。この判定は、図１３に示したアプリケーションテーブル１３０１において、対象アプリケーションのアプリケーションＩＤのレコードに、依存アプリケーションＩＤが存在するか否かによって行うことができる。
【００６６】
この判定の結果、対象アプリケーションをインストールするのに事前にインストールしておく必要がある依存アプリケーションがない場合には、ステップＳ２４０７のライセンス発行処理に進む。一方、対象アプリケーションをインストールするのに事前にインストールしておく必要がある依存アプリケーションがある場合には、ステップＳ２４０４に進む。
ステップＳ２４０４に進むと、ＣＰＵ３０３は、ステップＳ２４０３で検出された依存アプリケーションが、ステップＳ２４０１で取得したインストールアプリケーション一覧にあるか否かを判定する。この判定の結果、依存アプリケーションが、インストールアプリケーション一覧にない場合には、ステップＳ２４０７のライセンス発行処理に進む。
【００６７】
一方、依存アプリケーションが、ステップＳ２４０１で取得したインストールアプリケーション一覧にある場合には、ステップＳ２４０５に進む。
次に、ステップＳ２４０５において、ＣＰＵ３０３は、依存アプリケーションのライセンスファイルが既に発行されたか否かを判定する。この判定の結果、依存アプリケーションのライセンスファイルが発行されていない場合には、ステップＳ２４０６に進む。そして、ＣＰＵ３０３は、対象アプリケーションを依存アプリケーションに変更して、ステップＳ２４０３に戻る。
一方、依存アプリケーションのライセンスファイルが発行されている場合には、ライセンスの発行をするためにステップＳ２４０７に進む。
【００６８】
ステップＳ２４０３、Ｓ２４０４、Ｓ２４０５からステップＳ２４０７に進むと、ＣＰＵ３０３は、対象アプリケーションのライセンスファイルを発行する。
次に、ステップＳ２４０８において、ＣＰＵ３０３は、既にインストール順が登録されているアプリケーションのうち、最後にインストールされるアプリケーションの次に対象アプリケーションをインストールすることを、インストール順の情報として追加する。
次に、ステップＳ２４０９において、ＣＰＵ３０３は、ステップＳ２４０１で取得したインストールアプリケーション一覧の中でまだライセンスファイルを発行していないアプリケーションがあるか否かを判定する。
【００６９】
この判定の結果、インストールアプリケーション一覧の中でまだライセンスファイルを発行していないアプリケーションがある場合には、ステップＳ２４０２に戻る。そして、ＣＰＵ３０３は、ライセンスファイルを発行していないアプリケーションをインストールアプリケーション一覧の中から取得して、ステップＳ２４０３〜ステップＳ２４０８の処理を続ける。そして、全てのインストールアプリケーション一覧のライセンスファイルを発行すると、ステップＳ２４１０に進む。
次に、ステップＳ２４１０において、ＣＰＵ３０３は、ステップＳ２４０７で発行したライセンスファイルの一覧と、インストール順とをライセンス情報としてメモリ３０５に格納する。
ＣＰＵ３０３によりメモリ３０５に格納されたライセンス情報は、図６のステップＳ６０３にて、ライセンス発行依頼に対する応答として、画像形成装置１０２に返信される。
その後、図４のステップＳ４０５にてライセンス情報を受信した画像形成装置１０２は、ライセンス情報に含まれるインストール順に従い、ライセンス情報に含まれるライセンスファイルを取得し、アプリケーションのインストール処理を繰り返す。
【００７０】
以上のように、ライセンス発行装置１０１は、ユーザによってインストールするものとして選択されたアプリケーションの依存関係から、アプリケーションのインストール順を自動的に算出する。そして、ライセンス発行装置１０１は、ライセンスファイルと共に、そのライセンスファイルに基づくアプリケーションのインストール順とを画像形成装置１０２に送信する。画像形成装置１０２は、その受信したインストール順に従いアプリケーションをインストールする。
このようにすることでユーザはアプリケーションのインストール順を意識しなくても、インストールするアプリケーションを選択するだけで正常にアプリケーションをインストールすることができる。
【００７１】
以上のように本実施形態では、ライセンス発行装置１０１は、ライセンス番号と、画像形成装置１０２に接続されている装置に関する情報と、画像形成装置１０２にインストールされているアプリケーションに関する情報とを取得する。ライセンス発行装置１０１は、ライセンス番号で特定される商品のアプリケーションの夫々について、インストール可能なものか、それともインストール不可能なものかを判定する。この判定は、アプリケーションテーブル１３０１の内容や、画像形成装置１０２に接続されている装置に関する情報や、画像形成装置１０２にインストールされているアプリケーションに関する情報に基づいて行われる。インストール可能なアプリケーションについては、当該アプリケーションをインストールするために事前にインストールされている必要があるアプリケーションを特定する。この特定は、アプリケーションテーブル１３０１の内容に基づいて行われる。ライセンス発行装置１０１は、これらの情報を含む商品情報１５０１を画像形成装置１０２に送信する。画像形成装置１０２は、商品情報１５０１に基づいて、インストール可能なアプリケーションの選択を可能にすると共に、インストール不可能なアプリケーションの選択を不可能にするインストールアプリケーション選択画面を表示する。更にインストールアプリケーション選択画面では、事前のインストールが必要なアプリケーションが存在するアプリケーションについては、当該事前のインストールが必要なアプリケーションのインストールが指定された場合に、インストールすることを指定できる。
したがって、商品に含まれるアプリケーションのうち、インストールが出来る適切なアプリケーションだけをユーザは選択できるようになる。
【００７２】
また、本実施形態では、ライセンス発行装置１０１は、画像形成装置１０２のユーザがインストールすることを指定した各アプリケーションについて、当該アプリケーションよりも早くインストールしておく必要があるアプリケーションがあるか否かを判定する。この判定は、アプリケーションテーブル１３０１の内容に基づいて行われる。この判定の結果に基づいて、インストールする対象となっている各アプリケーションのインストール順を決定し、当該各アプリケーションと共にインストール順の情報を画像形成装置１０２に送信する。
したがって、ユーザは、インストールすることを選択した複数のアプリケーションについて、インストールする順番に制約があったとしても、それを意識することなくインストールするための操作を行うことが出来る。
【００７３】
尚、本実施形態では、ライセンスをインストールするためのＵＩを画像形成装置１０２の表示部２１２に表示した。しかしながら、クライアントＰＣ１０３からの問い合わせによって画像形成装置１０２がＵＩを作成し、そのＵＩを応答としてクライアントＰＣ１０３に返し、そのＵＩをクライアントＰＣの表示部３０１に表示するようにしてもよい。また、ＵＩとしてＷｅｂブラウザを利用するようにしてもよい。
【００７４】
また、本実施形態では、インストールすることができないアプリケーションに係る表示をグレー表示して、ユーザが選択できないようにする場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、インストールすることができないアプリケーションに係る情報を表示しないようにしてもよい。
また、本実施形態では、アプリケーションテーブル１３０１を検索して、アプリケーションのインストールの可否を判断したり、アプリケーションをインストールするために事前にインストールされている必要があるアプリケーションを特定したりするようにした。しかしながら、必ずしもアプリケーションテーブル１３０１を用いる必要はない。例えば、インストール順が定まっている複数のプログラムについては、当該複数のプログラムをインストールする順番を示す情報を依存アプリケーションＩＤ１３０４の代わりに記憶するようにしてもよい。
【００７５】
次に、本発明のその他の実施形態について説明する。最初の実施形態では、インストールアプリケーション選択画面にて、商品を構成するアプリケーションを同じレベルで並べて表示した（図１７、図１９、図２１、図２３を参照）。そして、ユーザが、チェックボックスのチェックをしたり、外したりすると、当該チェックボックスに対応するアプリケーションと依存関係のあるアプリケーションの選択を有効化又は無効化した。しかしながら、このようなＵＩ（インストールアプリケーション選択画面）では、チェックの状態を変更するまで、そのチェックしたアプリケーションがどのアプリケーションと依存関係があるのかをユーザが知ることが困難であった。また、例えば、チェックしたアプリケーションと依存関係のあるアプリケーションＡに対して、さらに依存関係があるアプリケーションＢがある場合がある。この場合、最初の実施形態では、ユーザは、一度、アプリケーションＡに対応するチェックボックスをチェックしてからアプリケーションＢに対応するチェックボックスをチェックしなければならなかった。
【００７６】
そこで、本実施形態では、アプリケーション同士の依存関係を、ＵＩ（インストールアプリケーション選択画面）でユーザに分かり易く報知できるようにする場合を例に挙げて説明する。このように本実施形態と前述した最初の実施形態では、アプリケーション同士の依存関係に係る処理の一部が主として異なる。したがって、本実施形態の説明において、前述した最初の実施形態と同一の部分については、図１〜図２４に付した符号と同一の符号を付す等して詳細な説明を省略する。例えば、システム構成やハードウェア構成については、最初の実施形態の図１、図２、図３を用いて説明したものと同様である。また、ライセンス発行装置１０１側の処理についても最初の実施形態と同様となる。
【００７７】
更に、画像形成装置１０２がライセンス発行装置１０１からライセンス情報を受け、アプリケーションをインストールする処理も図４のようになる。ただし、ステップＳ４０３において、画像形成装置１０２が商品情報１５０１を受信してから、インストールアプリケーション選択画面を表示するまでの処理が、次の図２５のフローチャートのようになる。すなわち、図１６に示したフローチャートの代わりに、図２５のフローチャートの処理が実行される。
【００７８】
図２５のフローチャートを参照して、図４のステップＳ４０３において、ライセンス発行装置１０１から商品情報１５０１を受け取った画像形成装置１０２が、インストールアプリケーション選択画面を表示させる処理の詳細の一例を説明する。
ステップＳ２５０１において、画像形成装置１０２のＣＰＵ２０８は、ＮｅｔｗｏｒｋＩ／Ｆ２０６を介して商品情報１５０１を受信し、ハードディスク２０９に格納する。
次に、ステップＳ２５０２において、ＣＰＵ２０８は、ステップＳ２５０１で受信した商品情報１５０１から商品名１５０２を取得し、商品名１５０２を、表示するラベルのテキストとして設定する。
【００７９】
次に、ステップＳ２５０３において、ＣＰＵ２０８は、ステップＳ２５０１で受信した商品情報１５０１からインストール不可能アプリケーション一覧１５０７を取得する。
次に、ステップＳ２５０４において、ＣＰＵ２０８は、ステップＳ２５０３で取得したインストール不可能アプリケーション一覧１５０７から１つのインストール不可能なアプリケーションを取り出す。
次に、ステップＳ２５０５において、ＣＰＵ２０８は、チェックボックス付きのツリービューを作成するため、ルートノードに子ノードとして１つのチェックボックスを追加する。
【００８０】
次に、ステップＳ２５０６において、ＣＰＵ２０８は、次の処理を行う。すなわち、ＣＰＵ２０８は、ステップＳ２５０５で作成したチェックボックスのテキストに、ステップＳ２５０４で取得したインストール不可能なアプリケーションのアプリケーション名１５０８とインストール不可能理由１５１０とを設定する。
次に、ステップＳ２５０７において、ＣＰＵ２０８は、ステップＳ２５０５で作成したチェックボックスのチェックを外す。
次に、ステップＳ２５０８において、ＣＰＵ２０８は、ステップＳ２５０５で設定したチェックボックスをユーザが編集できないように無効化する。
【００８１】
次に、ステップＳ２５０９において、ＣＰＵ２０８は、ステップＳ２５０３で取得したインストール不可能アプリケーション一覧１５０７に含まれる全てのアプリケーションのチェックボックスを作成したか否かを判定する。この判定の結果、インストール不可能アプリケーション一覧１５０７に含まれる全てのアプリケーションのチェックボックスを作成していない場合には、ステップＳ２５０４に戻る。そして、インストール不可能アプリケーション一覧１５０７に含まれる全てのアプリケーションのチェックボックスを作成するまで、ステップＳ２５０４〜Ｓ２５０９の処理を繰り返し行う。そして、インストール不可能アプリケーション一覧１５０７に含まれる全てのアプリケーションのチェックボックスを作成すると、ステップＳ２５１０に進む。
【００８２】
ステップＳ２５１０に進むと、ＣＰＵ２０８は、ステップＳ２５０１で受信した商品情報１５０１からインストール可能アプリケーション一覧１５０３を取得する。
次に、ステップＳ２５１１において、ＣＰＵ２０８は、ステップＳ２５１０で取得したインストール可能アプリケーション一覧１５０３から１つのインストール可能アプリケーションの情報を取り出す。そして、ＣＰＵ２０８は、当該情報に対応するアプリケーションを対象アプリケーションとして設定する。
【００８３】
次に、ステップＳ２５１２において、ＣＰＵ２０８は、対象アプリケーションをインストールする前にインストールする必要がある依存アプリケーションがあるか否かを判定する。この判定は、ステップＳ２５０１で受信した商品情報１５０１に含まれる依存アプリケーションＩＤ１５０６を参照することにより行うことができる。
この判定の結果、対象アプリケーションをインストールする前にインストールする必要がある依存アプリケーションがある場合には、後述するステップＳ２５１４に進む。一方、対象アプリケーションをインストールする前にインストールする必要がある依存アプリケーションがない場合には、ステップＳ２５１３に進む。そして、ＣＰＵ２０８は、ルートノードの子ノードとして１つのチェックボックスを追加する。
【００８４】
次に、ステップＳ２５１７において、ＣＰＵ２０８は、ステップＳ２５１３にて追加したチェックボックスのテキストに、対象アプリケーションのアプリケーション名１５０４を設定する。
次に、ステップＳ２５１８において、ＣＰＵ２０８は、ステップＳ２５１７で設定したチェックボックスにチェックをする。
次に、ステップＳ２５１９において、ＣＰＵ２０８は、ステップＳ２５１７で設定したチェックボックスを有効化する。そして、後述するステップＳ２５２０に進む。
【００８５】
前述したように、ステップＳ２５１２において、対象アプリケーションをインストールする前にインストールする必要がある依存アプリケーションがあると判定された場合には、ステップＳ２５１４に進む。そして、ＣＰＵ２０８は、当該依存アプリケーションのチェックボックスが既に作成されているか否かを判定する。この判定の結果、当該依存アプリケーションのチェックボックスが未作成の場合には、ステップＳ２５１６に進む。そして、対象アプリケーションを依存アプリケーションに変更して、ステップＳ２５１２に戻る。
一方、当該依存アプリケーションのチェックボックスを作成済みの場合には、ステップＳ２５１５に進む。そして、ＣＰＵ２０８は、依存アプリケーションに対応するチェックボックスの子ノードとしてチェックボックスを追加する。
次に、ステップＳ２５１７において、ＣＰＵ２０８は、ステップＳ２５１５で追加したチェックボックスのテキストに、対象アプリケーションのアプリケーション名１５０４を設定する。そして、前述したように、ＣＰＵ２０８は、ステップＳ２５１８において、当該チェックボックスをチェックし、ステップＳ２５１９において、当該チェックボックスを有効化する。そして、ステップＳ２５２０に進む。
【００８６】
次に、ステップＳ２５２０において、ＣＰＵ２０８は、ステップＳ２５１０で取得したインストール可能アプリケーション一覧１５０３に含まれる全てのアプリケーションのチェックボックスを作成したか否かを判定する。この判定の結果、インストール可能アプリケーション一覧１５０３に含まれる全てのアプリケーションのチェックボックスを作成していない場合には、ステップＳ２５１１に戻る。そして、インストール可能アプリケーション一覧１５０３に含まれる全てのアプリケーションのチェックボックスを作成するまで、ステップＳ２５１１〜Ｓ２５２０の処理を繰り返し行う。そして、インストール可能アプリケーション一覧１５０３に含まれる全てのアプリケーションのチェックボックスを作成すると、ステップＳ２５２１に進む。
次に、ステップＳ２５２１において、ＣＰＵ２０８は、ステップＳ２５０１〜ステップＳ２５２０で作成した情報に基づいて、インストールアプリケーション選択画面を表示部２１２に表示させる。
【００８７】
図２５のフローチャートを実行することにより、アプリケーション選択画面にて、インストールする対象のアプリケーション同士の依存関係を、チェックリスト付きのツリービューの親子関係の形式でユーザに提示することができる。
図２６は、インストールアプリケーション選択画面の第１の例を示す図である。インストールアプリケーション選択画面２６００ａは、次の条件の下で表示されるものとする。  すなわち、画像形成装置１０２ｂが、図８に示すアプリケーションをインストール済みであるとする。また、図１８に示す装置が画像形成装置１０２ｂに接続された状態であるとする。また、図４のステップＳ４０１において、ユーザによって、ライセンス番号ＬＮ７２７が入力されたとする。
【００８８】
図２６では、まず、ＳＥＮＤに依存するアプリケーションが、暗号化ＰＤＦとサーチャブルＰＤＦであることがツリービューによる階層構造で示される。また、ページ記述言語１に依存するアプリケーションがページ記述言語２であることと、そのページ記述言語２に依存するアプリケーションがページ記述言語３であることとがツリービューによる階層構造で示される。
【００８９】
次に、図２７のフローチャートを参照しながら、インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスのチェックを外した場合の画像形成装置１０２における処理の一例を説明する。
ステップＳ２７０１において、画像形成装置１０２のＣＰＵ２０８は、ユーザによって選択されたチェックボックスを対象のノードとする。
次に、ステップＳ２７０２において、ＣＰＵ２０８は、ユーザによって選択されたチェックボックスのチェックを外す。
【００９０】
次に、ステップＳ２７０３において、ＣＰＵ２０８は、対象のノードに子ノードがあるか否かを判定する。この判定の結果、対象のノードに子ノードがない場合には、ステップＳ２７０５に進む。そして、ＣＰＵ２０８は、ステップＳ２７０２の処理の内容が反映されるように、インストールアプリケーション画面を再表示させて、図２７のフローチャートによる処理を終了する。
一方、対象のノードに子ノードがある場合には、ステップＳ２７０４に進む。そして、ＣＰＵ２０８は、当該子ノードを対象のノードとして設定してステップＳ２７０２に戻る。
【００９１】
図２７のフローチャートを実施することにより、チェックが外されたアプリケーションを事前にインストールしていることが必要なその他のアプリケーションがある場合、当該その他のアプリケーションのチェックも全て外すことができる。
図２８は、インストールアプリケーション選択画面の第２の例を示す図である。図２６に示したインストールアプリケーション選択画面２６００ａで、ページ記述言語１のチェックボックスが外されると、ページ記述言語２及びページ記述言語３のチェックボックスのチェックも外される。そして、図２８に示すインストールアプリケーション選択画面２６００ｂのようになる。
【００９２】
次に、図２９のフローチャートを参照しながら、インストールアプリケーション選択画面において、ユーザが、インストールするアプリケーションのチェックボックスをチェックした場合の画像形成装置１０２における処理の一例を説明する。
ステップＳ２９０１において、画像形成装置１０２のＣＰＵ２０８は、ユーザによって選択されたチェックボックスを対象のノードとする。
次に、ステップＳ２９０２において、ＣＰＵ２０８は、ユーザによって選択されたチェックボックスをチェックする。
【００９３】
次に、ステップＳ２９０３において、ＣＰＵ２０８は、対象のノードに親ノードがあるか否かを判定する。この判定の結果、対象のノードに親ノードがない場合には、ステップＳ２９０６に進む。そして、ＣＰＵ２０８は、ステップＳ２９０２の処理の内容が反映されるように、インストールアプリケーション画面を再表示させて、図２９のフローチャートによる処理を終了する。
一方、対象のノードに親ノードがある場合には、ステップＳ２９０４に進む。そして、ＣＰＵ２０８は、当該親ノードにおけるチェックボックスが有効化されているチェックボックスであるか否かを判定する。この判定の結果、当該親ノードにおけるチェックボックスが有効化されているチェックボックスでない場合には、ステップＳ２９０６に進む。そして、ＣＰＵ２０８は、ステップＳ２９０２の処理の内容が反映されるように、インストールアプリケーション画面を再表示させて、図２９のフローチャートによる処理を終了する。
一方、当該親ノードにおけるチェックボックスが有効化されているチェックボックスである場合には、ステップＳ２９０５に進む。そして、ＣＰＵ２０８は、当該親ノードを対象のノードとして設定してステップＳ２９０２に戻る。
【００９４】
図２９のフローチャートを実施することにより、チェックされたアプリケーションをインストールする前にインストールしている必要があるその他のアプリケーションがある場合、当該その他のアプリケーションも全てチェックすることができる。
例えば、図２８に示したインストールアプリケーション選択画面２６００ｂにおいて、ページ記述言語３のチェックボックスがチェックされた場合には、ページ記述言語１及びページ記述言語２のチェックボックスもチェックされる。すなわち、図２６に示したインストールアプリケーション選択画面２６００ａのようになる。
【００９５】
以上のように本実施形態では、事前にインストールしておく必要があるアプリケーションを親ノードとし、インストールに際し、当該アプリケーションのインストールが必要なアプリケーションを当該親ノードの子ノートとするツリービュー表示を行うようにした。したがって、各アプリケーションについて、当該アプリケーションをインストールする前にインストールしておく必要があるアプリケーションをＵＩ上で視覚的に表示することができる。したがって、本実施形態では、ユーザは、チェックボックスを操作することなく、当該チェックボックスに対応するアプリケーションをインストールする前にインストールする必要があるアプリケーションを知ることができるようになる。
【００９６】
尚、本実施形態では、ツリービュー表示を行って、アプリケーションと、当該アプリケーションをインストールする前にインストールしておく必要があるアプリケーションとの関係を一画面で表示するようにした。しかしながら、これらのアプリケーションを関連付けて表示するようにしてれば、必ずしもツリービュー表示を行う必要はない。例えば、先にインストールする必要があるものから順に水平方向にアプリケーションを特定する情報を表示するようにしてもよい。
また、本実施形態でも、前述した最初の実施形態で説明した変形例の制御（処理）を適用することができる。
【００９７】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００９８】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【図１】
2010250806.tif 000003
【図２】
2010250806.tif 000004
【図３】
2010250806.tif 000005
【図４】
2010250806.tif 000006
【図５】
2010250806.tif 000007
【図６】
2010250806.tif 000008
【図７】
2010250806.tif 000009
【図８】
2010250806.tif 000010
【図９】
2010250806.tif 000011
【図１０】
2010250806.tif 000012
【図１１】
2010250806.tif 000013
【図１２】
2010250806.tif 000014
【図１３】
2010250806.tif 000015
【図１４】
2010250806.tif 000016
【図１５】
2010250806.tif 000017
【図１６】
2010250806.tif 000018
【図１７】
2010250806.tif 000019
【図１８】
2010250806.tif 000020
【図１９】
2010250806.tif 000021
【図２０】
2010250806.tif 000022
【図２１】
2010250806.tif 000023
【図２２】
2010250806.tif 000024
【図２３】
2010250806.tif 000025
【図２４】
2010250806.tif 000026
【図２５】
2010250806.tif 000027
【図２６】
2010250806.tif 000028
【図２７】
2010250806.tif 000029
【図２８】
2010250806.tif 000030
【図２９】
2010250806.tif 000031