(57)【特許請求の範囲】
【請求項１】
周辺装置にデバイスドライバを登録するための管理装置であって、
デバイスドライバを登録する周辺装置を指定する指定手段と、
前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第１アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第２アップロード機能を選択するための選択手段と、
前記選択手段により前記第１アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第１設定手段と、
前記選択手段により前記第２アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第２設定手段と、
前記第１設定手段又は第２設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、
を有することを特徴とする管理装置。
【請求項２】
前記第２設定手段は、前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報を外部ファイルから読み込むことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記第２設定手段は、前記外部ファイルから読み込んだ複数の周辺装置のデバイス情報のうち、前記指定されたインストーラプログラムが対応する周辺装置のデバイス情報のみを、前記インストーラプログラムが参照するデバイス情報として設定することを特徴とする請求項２に記載の管理装置。
【請求項４】
前記指定された周辺装置に登録されたセットアップファイルに含まれる前記指定された周辺装置のデバイス情報は、前記指定された周辺装置の設定の変更に応じて、前記指定された周辺装置により、更新されることを特徴とする請求項１乃至３のいずれか１項に記載の管理装置。
【請求項５】
前記第２アップロード機能は、プラグインプログラムとして、前記管理装置の第１アップロード機能を実現するプログラムに対して追加されて実現されることを特徴とする請求項１乃至４のいずれか１項に記載の管理装置。
【請求項６】
前記指定手段は、デバイスドライバを登録する周辺装置を複数指定可能であり、
前記登録手段は、前記セットアップファイルを前記指定された複数の周辺装置に登録することを特徴とする請求項１乃至５のいずれか１項に記載の管理装置。
【請求項７】
前記第１設定手段は、前記インストーラプログラムが参照するデバイス情報として前記指定されたいずれかの周辺装置のデバイス情報を設定し、
前記登録手段により前記各周辺装置に登録されたセットアップファイルに含まれる前記第１設定手段により設定されたデバイス情報は、前記各周辺装置の設定に応じて、前記各周辺装置により、それぞれ更新されることを特徴とする請求項６に記載の管理装置。
【請求項８】
前記登録手段により前記周辺装置に登録された前記セットアップファイルは、情報処理装置にダウンロードされて実行されると、前記セットアップファイルに含まれるインストーラプログラムにより前記セットアップファイルに含まれるデバイス情報に対応する周辺装置のデバイスドライバが前記情報処理装置にインストールされるように構成されたものであることを特徴とする請求項１乃至７のいずれか１項に記載の管理装置。
【請求項９】
周辺装置にデバイスドライバを登録するための管理装置の制御方法であって、
デバイスドライバを登録する周辺装置を指定する指定ステップと、
前記指定ステップで指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第１アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第２アップロード機能を選択するための選択ステップと、
前記選択ステップで前記第１アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第１設定ステップと、
前記選択ステップで前記第２アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第２設定ステップと、
前記第１設定ステップ又は第２設定ステップにて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録ステップと、
を有することを特徴とする管理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置のデバイスドライバのインストールに関するものである。
【背景技術】
【０００２】
近年、企業のオフィス等にプリンタが普及し、誰でも簡単に印刷ができるようになった。情報処理装置としてのＰＣ（パーソナルコンピュータ）からプリンタに印刷するには、プリンタを制御し印刷データを生成するプリンタドライバをＰＣにインストールする必要がある。
【０００３】
一般的にプリンタドライバは、ＰＣのオペレーティングシステム（ＯＳ）や印刷するプリンタ毎に用意され、プリンタと同梱されたＣＤ−ＲＯＭやＦＤ等の記憶媒体によって提供されている。
【０００４】
また、管理者は最新のプリンタドライバを、公衆ネットワークを介してプリンタの製造元が開設したホームページからダウンロードにより入手することが一般的である。さらに、管理者が入手したプリンタドライバとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザに配置場所をアナウンスしてプリンタを利用させるといった運用が行われている。一般ユーザは、このアナウンスを元に、その配置場所から取得した情報に従い、ＰＣにプリンタドライバをインストールする。
【０００５】
オフィスに印刷装置を複数導入すると、ユーザ毎に使用する印刷装置が異なることが普通であり、プリンタドライバのインストール及びポートの設定等を間違いなく正確に行うことは、管理者・一般ユーザ共に大変な作業であった。
【０００６】
また、従来から、プリンタドライバをインストールする方法として、プリンタ内にプリンタドライバをインストールするインストーラを格納しておき、ユーザがプリンタからインストーラを入手する技術が提案されている（特許文献１参照）。
【０００７】
特許文献１で開示される技術では、ユーザはＰＣの種類を通知することで当該種類に応じたプリンタドライバのインストーラを取得することができる。さらに、特許文献１の技術では、取得したプリンタドライバのインストーラを用いることでＰＣへのプリンタドライバのインストール、及び該インストールしたプリンタドライバの設定を行うことが可能になる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３４０６９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、バージョンアップしたプリンタドライバがプリンタベンダからリリースされた等の理由により、ユーザがプリンタドライバだけ更新をしたくても、特許文献１の技術では、プリンタに登録済のプリンタドライバのインストーラを更新することができない。
【００１０】
また、当該のプリンタ以外の第２のプリンタを用いて印刷を行いたい場合でも、特許文献１の技術でインストールした第１のプリンタのプリンタドライバでは第２のプリンタを用いて印刷することができない。そのため、ユーザは第２のプリンタからもプリンタドライバのインストーラを取得し、プリンタドライバをインストール、及び設定することが必要であり、非常に煩雑であった。
【００１１】
一方、管理者にとっても、プリンタ等の周辺装置の数が増えると、これらの周辺装置のそれぞれにデバイスドライバのセットアッププログラムを作成して配置する作業は非常に煩雑なものであった。
【００１２】
このように、従来では、プリンタ等の周辺装置が多数設置されている場合に、複数の周辺装置のデバイスドライバ（プリンタドライバ等）をそれぞれユーザに少ない操作で且つ適切にインストールさせるための仕組みが構築されていなかった。
【００１３】
本発明は、上記の問題点を解決するためになされたものであり、本発明の目的は、ユーザが１度のインストール操作で容易に情報処理装置へ複数の周辺装置（プリンタ等）のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築する仕組みを提供することである。
【課題を解決するための手段】
【００１４】
本発明は、周辺装置にデバイスドライバを登録するための管理装置であって、デバイスドライバを登録する周辺装置を指定する指定手段と、前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第１アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第２アップロード機能を選択するための選択手段と、前記選択手段により前記第１アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第１設定手段と、前記選択手段により前記第２アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第２設定手段と、前記第１設定手段又は第２設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ユーザが１度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用可能な印刷システムの構成の一例を示すブロック図である。
【図２】情報処理装置１０１と印刷装置１０５の構成の一例を示すブロック図である。
【図３】本実施例の管理装置１０１で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。
【図４】本実施例の管理装置１０１上で実行される管理アプリケーションにより提供される第１のアップロード条件設定画面の一例を示す図である。
【図５】本実施例の印刷装置１０５の備えるＷｅｂサーバに対して、ユーザがクライアント１０２からアクセスしたときにクライアント１０２の表示部２０７に表示されるドライバダウンロード画面の一例を示す図である。
【図６】本実施例における主要なモジュール構成の一例を示す図である。
【図７】本実施例のプラグイン選択画面の一例を示す図である。
【図８】本実施例の管理装置１０１上で実行される管理アプリケーションにより提供される第２のアップロード条件設定画面の一例を示す図である。
【図９】管理装置１０１の選択部６１１が行う処理の一例を示すフローチャートである。
【図１０】図９のＳ９０１に示した初期化処理の一例を示すフローチャートである。
【図１１】図９のＳ９１０に示したアップロード条件設定処理の一例を示すフローチャートである。
【図１２】図１１のＳ１１０６又は図１３のＳ１３０６に示したドライバ取得部６１６が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
【図１３】図９のＳ９１０に示したアップロード条件設定処理の一例を示すフローチャートである。
【図１４】図９のＳ９１１に示すアップロード部６１５が実行するアップロード処理の一例を示すフローチャートである。
【図１５】図１４のＳ１４０１に示す作成部６１４が実行するセットアッププログラム作成処理の一例を示すフローチャートである。
【図１６】本実施例のセットアッププログラムの一例を示す図である。
【図１７】セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図である。
【図１８】結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図である。
【図１９】印刷装置１０５の監視部６０３が行う処理の一例を示すフローチャートである。
【図２０】印刷装置１０５のプログラム更新部６０４が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
【図２１】プリンタ１０５のＷｅｂサーバ機能部６０５による処理の一例を示すフローチャートである。
【図２２】セットアッププログラム６０２の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態について図面を用いて説明する。
なお、本発明では特に断りの無い限り、「プリンタドライバ」とは、アプリケーションからの印刷指示に応じて、ＯＳから呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンタ」とは、ＯＳのスプーラ上の印刷キューのことであり、ソフトウェアとしてのプリンタを意味する。「論理プリンタ名」は論理プリンタを識別する名称である。「ポート」とは、論理プリンタが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。１つのポートには印刷データの送信先（例えば、ＩＰアドレス）が１つだけマッピングされているのが普通である。また、「ポート名」とはポートを識別する名称である。「インストーラ」とはプリンタドライバをインストールするアプリケーションであり、インストーラプログラムと該インストーラプログラムが参照するインストール情報（プリンタ情報、デバイス情報ともいう）を記載した情報ファイルからなる。また、インストーラはプリンタドライバのインストールと同時に論理プリンタの登録、ポートの作成も行うことができるものとする。「アップロード」とは、プリンタの記憶領域にＰＣやサーバからデータを登録することである。また、「ダウンロード」とはプリンタの記憶領域に保存したデータをＰＣまたはサーバに転送することである。
【実施例１】
【００１８】
本発明に係る一実施例としてのシステムについて説明する。
図１は、本発明を適用可能な印刷システムの構成の一例を示すブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１９】
図１において、１０１〜１０４は情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続されている。情報処理装置１０１〜１０４は、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク１０６に接続されている他の機器と双方向に通信可能な通信装置を備えている。
【００２０】
なお、情報処理装置１０１は、管理装置としての情報処理装置であって、以下、他の情報処理装置と区別する場合には管理装置１０１と呼ぶ。管理装置１０１は、印刷装置（プリンタ）１０５に関する様々な情報を保持し、印刷装置の印刷ログ、動作ログ等を集計して保持する機能を備えている。
【００２１】
また、情報処理装置１０２〜１０４は、パーソナルクライアントコンピュータとしての情報処理装置であって、以下、他の情報処理装置と区別する場合にはクライアントと呼ぶ。なお、以下の説明では、クライアント１０２を用いて説明するが、クライアント１０３，１０４でも同様である。
【００２２】
印刷装置１０５は、図示省略したネットワークインタフェースを介してネットワーク１０６に接続されている。印刷装置１０５は、クライアント１０２から送信される印刷データを含むジョブを解析して１ページずつイメージに変換して、１ページ毎に印刷する。また、印刷装置１０５は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等の様々な印刷方式のもののうち何れの印刷方式であってもよい。
【００２３】
図２は、情報処理装置１０１と印刷装置１０５の構成の一例を示すブロック図である。なお、情報処理装置１０２〜１０４の構成も、情報処理装置１０１と同様の構成を有する。
【００２４】
まず、情報処理装置１０１の詳細構成を説明する。
情報処理装置１０１において、ＣＰＵ２００は、情報処理装置１０１における処理を制御する。ＣＰＵ２００は、ハードディスク（ＨＤ）２０５にコンピュータ読み取り可能に記録されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや制御プログラム等を実行する。ＣＰＵ２００は、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２５】
ＲＯＭ２０１は記憶部であり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データがコンピュータ読み取り可能に記録されている。ＲＡＭ２０２は一時記憶部であり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２６】
ＦＤドライブ２０３は、記録媒体読み込み部である。このＦＤドライブ２０３を介して、記録媒体としてのフロッピー（登録商標）ディスク（ＦＤ）２０４に記憶されたプログラム等を情報処理装置１０１にロードすることができる。なお、記録媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。ＦＤ２０４等の記録媒体には、プログラム等がコンピュータ読み取り可能に記録されている。
【００２７】
ハードディスク装置（ＨＤ）２０５は外部記憶部の一つであり、大容量メモリとして機能する。ＨＤ２０５には、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、制御プログラム、関連プログラム等をコンピュータ読み取り可能に記録されている。さらに、ＨＤ２０５には、スプーラがここに確保される。スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバではサーバスプーラである。なお、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもＨＤ２０５に生成されて格納される。
【００２８】
キーボード（ＫＢＤ）２０６及びポインティングデバイス（ＰＤ）２０９は指示入力部である。ディスプレイ２０７は表示部であり、ＫＢＤ２０６やＰＤ２０９から入力されたコマンドや、後述のデバイス選択アプリケーション等のアプリケーションプログラムを表示するものである。
【００２９】
システムバス２０８は、情報処理装置内のデータの流れを司るものである。接続部２１０は、ネットワーク等の双方向インタフェース２１１を介して印刷装置１０５等の外部装置とのデータのやり取りを行う。
【００３０】
次に、印刷装置１０５の詳細構成を説明する。
印刷装置１０５は、ハードディスク（ＨＤ）２２８、接続部２２６、データ制御部（プリンタエンジン）２２５、操作部２２４、外部メモリ２２３、ＰＣＰＵ２２０、ＰＲＡＭ２２２、及びＰＲＯＭ２２１を主要な構成要素する。これらの構成要素がシステムバス２２７を介して互いに接続されている。
【００３１】
プリンタＣＰＵ（ＰＣＰＵ）２２０は、印刷装置１０５の全体制御を司るものである。ＰＣＰＵ２２０は、後述するＰＲＯＭ２２１或いは外部メモリ２２３に記憶された制御プログラムに基づいて、接続部２２６で受信したプリンタ制御コマンド（送信データ）より、画像信号をデータ制御部２２５に送信する。
【００３２】
ＨＤ２２８は、大容量の記憶装置である。ＨＤ２２８は、フォントデータや印刷ジョブ等のデータの保存先として利用される。また、ＨＤ２２８は、図示しない外部装置としての記憶装置と置き換えが可能である。ＨＤ２２８を外部の記憶装置と置き換える場合は、印刷装置１０５は接続部２２６を介し、データの送受信を行う。
【００３３】
ＰＲＡＭ２２２は、ＰＣＰＵ２２０の主メモリとして、ＰＣＰＵ２２０による制御実行時、ワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ２２３は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００３４】
ＰＲＯＭ２２１はプリンタ内部メモリであり、外部メモリと同様に、各種データや本プリンタを制御するプリンタ制御プログラム等を記憶している。
データ制御部２２５はプリンタエンジンであり、ＰＣＰＵ２２０により制御され、ＰＲＯＭ２２１、或いは外部メモリ２２３に記憶された制御プログラムよりシステムバス２２７を介して出力された画像信号を受け、実際の印刷処理を行う。
【００３５】
操作部２２４は、操作パネルや操作スイッチ等の入力部、及びＬＥＤ、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは、操作部２２４を介して本実施の形態例プリンタの設定を指示や、確認することが可能である。
【００３６】
接続部２２６は、双方向インタフェース２１１を介して情報処理装置１０１の接続部２１０に接続し、印刷制御コマンド（送信データ）の受信や、印刷装置内部の状態等を通知する事も可能である。
【００３７】
図３は、本実施例の管理装置１０１で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。なお、この画面は、管理装置１０１の表示部２０７に表示される。また、管理アプリケーションは、管理装置１０１のＣＰＵ２００が管理装置１０１のＨＤ２０５にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することにより実現されるものである。
【００３８】
管理装置１０１で実行される管理アプリケーションは、ユーザ操作に応じて、印刷装置１０５等のデバイスを管理下に追加登録することが出来る。そして、管理アプリケーションは、図３に示すように、デバイス一覧（デバイスリスト）３０１において、管理下のデバイスを、デバイス名、状態、製品名、ＩＰアドレス、シリアルNo.、設置場所、コメント等の付属情報と共にリストで一覧表示することができる。なお、管理下となるデバイスとは、印刷機能を有するプリンタ、スキャナ、ＦＡＸ機能やコピー機能を併せ持つ複合機等の周辺装置を含む。
【００３９】
なお、デバイス一覧３０１に一覧表示されたデバイスは、管理アプリケーションにより、ＰＤ２０９又はＫＢＤ２０６から選択可能（１又は複数選択可能）に制御されている。
ユーザによりデバイス一覧３０１に一覧表示されたデバイス１又は複数が選択され、「ドライバ登録」ボタン３０２が押下されると、管理アプリケーションは、後述する図７に示すプラグイン選択画面を介して、図４又は図８に示すアップロード条件の設定画面を管理装置１０１の表示部２０７に表示する。
【００４０】
また、ユーザによって「アドレス帳」ボタン３０４、「ドライバ削除」ボタン３０３等のボタンが押下されると、管理アプリケーションは図示しないアドレス帳画面やドライバ削除画面等を管理装置１０１の表示部２０７に表示する。
【００４１】
なお、本実施例の説明では、本発明で扱うデバイスドライバ（以下、ドライバ）の例として「プリンタドライバ」を用いるが、「ドライバ」はプリンタドライバに限定されるものではない。印刷装置１０５がスキャン機能を備える場合にはスキャナドライバ、ファクシミリ機能を備える場合にはＦＡＸドライバのように、印刷装置１０５のためのデバイスドライバであればどのようなデバイスドライバであってもよい。また、印刷装置１０５はスキャナ等の他の周辺装置であってもよい。
【００４２】
図４は、本実施例の管理装置１０１上で実行される管理アプリケーションにより提供される第１のアップロード条件設定画面の一例を示す図である。なお、この画面は、管理装置１０１の表示部２０７に表示される。
【００４３】
この第１のアップロード条件設定画面において、ユーザにより「参照」ボタン４０１が押下されると、管理アプリケーションは、図示しないファイル選択ダイアログを管理装置１０１の表示部２０７に表示する。そして、このファイル選択ダイアログからユーザによってインストーラの"ｓｅｔｕｐ.ｅｘｅ"ファイルが指定されると、管理アプリケーションは、該指定された"ｓｅｔｕｐ.ｅｘｅ"ファイルや付随するファイルからインストーラのドライバ種類、バージョンを読み込む。さらに、管理アプリケーションは、前記読み込んだドライバ種類、バージョンをそれぞれ、アップロード条件設定画面のテキストエリア「ドライバ種類：」４０２、「バージョン：」４０３に反映する。
【００４４】
さらに、管理アプリケーションは、前記選択されたインストーラが保持するドライバモデルのリストから、図３に示したデバイス選択画面で指定されたデバイス（印刷装置；複数の選択されている場合には最初に選択されたもの）のモデル名を比較し、一致するものを「ドライバモデル名」コンボボックス４０４に表示する。
【００４５】
さらに、管理アプリケーションは、「ドライバモデル」コンボボックス４０４に設定されたドライバモデル名を「表示名」テキストボックス４０５の初期値として設定する。「表示名」テキストボックス４０５は、ユーザによって任意の文字列に編集可能である。「表示名」テキストボックス４０５で指定された文字列は、クライアント１０２等が印刷装置１０５からセットアッププログラムのダウンロードを行うユーザが目的のドライバを認識しやすいように、後述する図５に示すドライバダウンロードページに表示されることとなる。
【００４６】
「アップロードＮｏ.」コンボボックス４０６において、管理アプリケーションは、アップロードするセットアッププログラムを格納するアップロード番号の指定を、ユーザに許可する。このアップロード番号は「１」〜「３」を指定可能である。印刷装置１０５のＨＤ２２８には、アップロード番号に対応した格納領域が予め確保されている。既に印刷装置１０５にセットアッププログラムが格納済みのアップロード番号を指定してアップロードを実行すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
【００４７】
「コメント」テキストボックス４０７において、管理アプリケーションは、ユーザによる任意のコメントの入力を可能にする。ここで指定（入力）された文字列は、ダウンロードを行うユーザが目的ドライバを認識しやすいように、後述のドライバダウンロードページ（図５）に表示される。さらに、ここで指定（入力）された文字列は、クライアント１０２等に作成される論理プリンタのプロパティにコメントとして追加される。
【００４８】
「ポート」設定欄４０８において、管理アプリケーションは、ユーザによる、論理プリンタに接続するポートの種類を「ＩＰアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンからの選択を可能にする。さらに、ユーザによって「ポート名を指定する」ラジオボタンが指定された場合は、管理アプリケーションは、「ポート名」テキストボックスの入力を可能とし、ユーザによる任意のポート名の入力を許可する。
【００４９】
「アドバンスドボックスのパス」テキストボックス４０９において、管理アプリケーションは、ユーザによる、セットアッププログラムをアップロードする印刷装置１０５の記憶装置内の共有フォルダ内のパスの指定を可能とする。
【００５０】
「ユーザ名」テキストボックス４１０では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス４０９で指定されたパスへのアクセス権のあるユーザ名の、ユーザによる指定を可能とする。
【００５１】
「パスワード」テキストボックス４１１では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス４０９で指定されたパスへのアクセス権のあるユーザのパスワードの、ユーザによる指定を可能とする。
【００５２】
このアップロード条件設定画面で「ＯＫ」ボタン４１２が押下されると、管理アプリケーションは、前記ファイル選択ダイアログで指定されたインストーラに、後述の表示名４０５やアップロード番号４０６等の設定を反映したものをセットアッププログラムとして構築する。さらに、管理アプリケーションは、該セットアッププログラムを図３に示したデバイス選択画面で指定された各印刷装置のＨＤ２２８にアップロードする。
【００５３】
また、このアップロード条件設定画面で「キャンセル」ボタン４１３が押下されると、管理アプリケーションは、セットアッププログラムをアップロードすることなく、このアップロード条件設定画面を閉じる。
【００５４】
なお、図３に示したデバイス選択画面で複数のデバイス（印刷装置）が指定されている場合、図４のアップロード条件設定画面で設定された各アップロード条件は、前記選択された複数のデバイスに対して共通に用いられる。
【００５５】
図５は、本実施例の印刷装置１０５の備えるＷｅｂサーバに対して、ユーザがクライアント１０２からアクセスしたときにクライアント１０２の表示部２０７に表示されるドライバダウンロード画面の一例を示す図である。
【００５６】
印刷装置１０５のＷｅｂサーバ機能部６０５（後述する図６）は、図示しないログイン画面をクライアント１０２のＷｅｂブラウザ６２０（図６）に表示し、ユーザにユーザ名入力を受付ける。さらに、印刷装置１０５のＷｅｂサーバ機能部６０５は、Ｗｅｂサーバ機能部６０５に予め設けられた権限判定機能により前述のログイン画面から取得したユーザ名を判断し、取得ユーザ名が一般ユーザの場合は図５に示すドライバダウンロード画面を、クライアント１０２のＷｅｂブラウザ６２０に送信し、表示させる。
【００５７】
図５のドライバダウンロード画面では、図４に示したアップロード条件設定画面からの操作により、印刷装置１０５にアップロードされたセットアッププログラムの一覧５０１を、「Ｎｏ.」、「表示名」、「ドライバ種類」、「バージョン」、「コメント」、及び「ダウンロード」ボタン５０２と共に表示する。
【００５８】
一覧５０１において、「Ｎｏ.」は、アップロード条件設定画面の「アップロードＮｏ.」で指定されたアップロード番号を表示する。「表示名」は、アップロード条件設定画面の「表示名」で指定された文字列を表示する。「ドライバ種類」は、アップロード条件設定画面の「ドライバ種類：」で設定した文字列を表示する。「コメント」は、アップロード条件設定画面の「コメント」で指定された文字列を表示する。「バージョン」は、アップロード条件設定画面の「バージョン：」で設定した文字列を表示する。
【００５９】
ここで、一覧５０１の何れか行の「ダウンロード」ボタンがユーザによって押下されると、クライアント１０２のＷｅｂブラウザ６２０は、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。このセットアッププログラムをダウンロードは、ユーザによって上記ダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
【００６０】
図６は、本実施例における主要なモジュール構成の一例を示す図である。これらモジュールは、システム内の各装置においてＣＰＵがプログラムを実行することで実現される機能を提供するための論理的な構成になる。
【００６１】
まず、管理装置１０１のモジュール構成について説明する。
管理装置１０１は、選択部６１１、切替部６１２、第１の条件設定部６１３、作成部６１４、アップロード部６１５、ドライバ取得部６１６、第２の条件設定部６１７を有する。これらモジュール６１１〜６１７は、管理装置１０１のＣＰＵ２００がＲＯＭ２０１にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することで実現される上述の管理アプリケーションの機能に対応する。
【００６２】
選択部６１１は、管理アプリケーションが提供する画面（図３）を管理装置１０１の表示部２０７に表示する。切替部６１２は、管理アプリケーションが提供する画面（図３）から起動されるものであり、プラグイン選択画面（図７）を管理装置１０１の表示部２０７に表示する。さらに、切替部６１２は、ユーザの指示に従い、第１の条件設定部６１３、または第２の条件設定部６１７を起動する。
【００６３】
第１の条件設定部６１３は、第１のアップロード条件設定画面（図４）を管理装置１０１の表示部２０７に表示する。第１の条件設定部６１３は、１度のインストール操作で１つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部（第１設定部）である。より具体的には、第１の条件設定部６１３は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報（プリンタ名、ポート、コメント、設置場所等の情報）として図３のデバイス選択画面で指定された印刷装置のデバイス情報の設定を行う。
【００６４】
第２の条件設定部６１７は、第２のアップロード条件設定画面（図８）を管理装置１０１の表示部２０７に表示する。第２の条件設定部６１７は、１度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部（第２設定部）である。より具体的には、第２の条件設定部６１７は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報（プリンタ名、ポート、コメント、設置場所等の情報）として図３のデバイス選択画面で指定された印刷装置とは異なる装置を含む複数の印刷装置のデバイス情報の設定を行う。
【００６５】
ドライバ取得部６１６は、第１のアップロード条件設定画面（図４）又は第２のアップロード条件設定画面（図８）から起動され、第１のアップロード条件設定画面（図４）又は第２のアップロード条件設定画面（図８）で指定されたファイルパスからプリンタドライバのインストーラプログラム（ｓｅｔｕｐ.ｅｘｅ）やドライバ情報ファイル（ｓｅｔｕｐ.ｉｎｆ）を読み込む（ドライバを取得する）。
【００６６】
作成部６１４は、ドライバ取得部６１６が取得したドライバ（インストーラプログラムやドライバ情報）、第１の条件設定部６１３又は第２の条件設定部６１７で設定された論理プリンタ登録に必要な設定情報等を用いて、セットアッププログラムを作成する。
【００６７】
アップロード部６１５は、作成部６１４に作成されたセットアッププログラムを印刷装置１０５の記憶部６０１に送信（アップロード）する。なお、作成部６１４は、アップロード部６１５から起動される。
【００６８】
次に、印刷装置（プリンタ）１０５のモジュール構成について説明する。
印刷装置１０５は、記憶部６０１、監視部６０３、プログラム更新部６０４、Ｗｅｂサーバ機能部６０５を有する。これらモジュール６０１，６０３〜６０５は、印刷装置１０５のＰＣＰＵ２２０がＰＲＯＭ２２１にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
【００６９】
記憶部６０１は、管理装置１０１のアップロード部６１５から送信されるセットアッププログラムを受け取り、記憶装置（印刷装置１０５のＨＤ２２８）に予め確保された格納領域内に格納する。セットアッププログラム６０２は、インストーラと論理プリンタ作成時に必要となる各種設定を含む実行プログラムである。
【００７０】
監視部６０３は、印刷装置１０５の構成情報を監視し、構成情報に変更が発生した場合は、プログラム更新部６０４に対して、セットアッププログラム６０２の更新を依頼する。なお、構成情報とは、印刷装置１０５に設定された情報、例えばＩＰアドレス、ホスト名、機器名、設置場所情報などの情報である。また、監視部６０３は、管理装置１０１からセットアッププログラムのアップロードや登録済みセットアッププログラムの削除指示の監視も行う。
【００７１】
プログラム更新部６０４は、監視部６０３からの指示に基づき、セットアッププログラム６０２の内部情報を書き換える。
Ｗｅｂサーバ機能部６０５は、Ｗｅｂサーバとして動作するもので、図５に示したドライバダウンロード画面を含む、各種Ｗｅｂページをクライアント１０２に提供するものである。
【００７２】
次に、クライアント１０２のモジュール構成について説明する。
クライアント１０２は、Ｗｅｂブラウザ６２０を有する。Ｗｅｂブラウザ６２０は、クライアント１０２（１０３）のＣＰＵ２００がＲＯＭ２０１にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
Ｗｅｂブラウザ６２０は、ユーザの指示によりプリンタ１０５のＷｅｂサーバ機能部６０５にアクセスして、セットアッププログラム６０２のダウンロードなどを行う。
【００７３】
以下、図９を中心に、選択部６１１等が行う処理について説明する。
図９は、管理装置１０１の選択部６１１が行う処理の一例を示すフローチャートである。図９〜図１５に示す処理を実現するためのプログラム（上述の管理アプリケーションプログラム）は予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼びだされ、ＣＰＵ２００によって実行されているものとする。また、後述のプラグイン（プラグインプログラム）は、管理装置１０１のＨＤ２０５の決められたフォルダに、予め決められた手順に従いインスール済とする。本実施例では、プラグインは前述のフォルダに２つ登録されており、それぞれ図４、図８に示す画面を表示する機能を有するものとする。また、プラグインを構成するファイルはＤＬＬ（Dynamic Link Library）１ファイルから構成されているものとする。また、プラグインファイルのファイルプロパティの「製品名」には、プラグイン種類が記載されているものとする。なお、プラグインの種類とは、「第１アップロード機能」、「第２アップロード機能」である。また、ファイルのプロパティの「説明」には、「プラグイン」と記載されているものとする。「第１アップロード機能」プラグインは、本処理のためのアプリケーションをインストールするのと同時にインストールされたものとする。また、「第２アップロード機能」プラグインは、本処理のためのアプリケーションをインストールした後に、別途インストールされたものとする。即ち、第２アップロード機能は、プラグインプログラムとして、管理装置１０１の第１アップロード機能を実現するプログラム（管理アプリケーションプログラム）に対して追加されて実現されるものである。なお、本実施例では、図３に示したデバイス選択画面に登録・管理されているデバイスは、全てプリンタとする。
【００７４】
まず、Ｓ９０１において、選択部６１１は、初期化処理を行う。なお、初期化処理の詳細は後述の図１０に示す。
次に、Ｓ９０２において、選択部６１１は、イベントが発生したか否かを判断する。例えば、Ｍｉｃｒｏｓｏｆｔ社のＭＳＤＮ Ｌｉｂｒａｒｙ（登録商標）で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するＩＤが、イベントとして通知され、これらを用いて判断する。
【００７５】
上記Ｓ９０２において、イベント発生していないと判断した場合（Ｎｏ）、選択部６１１は、Ｓ９０２の処理を繰り返す。
一方、Ｓ９０２において、イベントが発生したと判断した場合（Ｙｅｓ）、選択部６１１は、Ｓ９０３に処理を進める。
Ｓ９０３では、選択部６１１は、上記発生したイベントが「デバイス選択」であるか否かを判断する。本実施例では、発生したイベントにおいて、図３に示したデバイス選択画面のデバイスリスト３０１のレコードのＩＤと、左マウスボタン操作が含まれるときは、「デバイス選択」が行われたと判断する。
【００７６】
上記Ｓ９０３において、イベントがデバイス選択であると判断した場合（Ｙｅｓ）、選択部６１１は、Ｓ９０４に処理を進める。
Ｓ９０４では、選択部６１１は、予めＲＡＭ２０２やＨＤ２０５等の記憶装置に確保しているワーク領域内のデバイスリストに、上記選択されたデバイスに対応するレコードを追加する。図３のデバイス選択画面では、デバイスドライバを登録する周辺装置（デバイス）を複数指定可能であり、これらを上記デバイスリストとして保持することとなる。このデバイスリストには、上記選択されたデバイスのデバイスモデル名、ＩＰアドレス、シリアルナンバー等のプリンタ固有の情報が含まれる。そして、Ｓ９０２に処理を戻す。
【００７７】
一方、上記Ｓ９０３において、イベントがデバイス選択でない判断した場合（Ｎｏ）、選択部６１１は、Ｓ９０５に処理を進める。
Ｓ９０５では、選択部６１１は、上記発生したイベントが「ドライバ登録」ボタン３０２押下であるか否かを判断する。本実施例では、イベントに図３に示したデバイス選択画面の「ドライバ登録」ボタン３０２を示すＩＤと、左マウスボタン操作が含まれるときは、「ドライバ登録」のボタン押下と判断する。
【００７８】
上記Ｓ９０５において、上記発生したイベントが「ドライバ登録」のボタン押下と判断した場合（Ｙｅｓ）、選択部６１１は、上記Ｓ９０４で作成したデバイスリストを切替部６１２に渡す。
【００７９】
Ｓ９０６では、切替部６１２は、上記Ｓ９０１の初期化処理で設定されたインストール済プラグイン数を保持するワークデータＮの値が「１」より大きいか否かを判断する。なお、本実施例では、インストール済プラグイン数Ｎの値が「１」又は「２」である場合を説明し、インストール済プラグイン数Ｎの値が［０］の場合の処理や、［３］以上の場合の処理は省略する。
【００８０】
上記Ｓ９０６において、インストール済プラグイン数を保持するワークデータＮの値が「１」より大きいと判断した場合（Ｙｅｓ）、切替部６１２は、Ｓ９０７へ処理を進める。
Ｓ９０７では、切替部６１２は、図７に示すプラグイン選択画面を管理装置１０１の表示部２０７に表示する。
【００８１】
図７は、本実施例のプラグイン選択画面の一例を示す図である。
図７に示すように、プラグイン選択画面は、ダイアログのタイトルを「ドライバ機能の選択」とし、機能選択コンボボックス７０１、及び「起動」ボタン７０２を有する。
機能選択コンボボックス７０１のリストには、後述の初期化処理（図１０）で検索したインストール済プラグインファイルから取得したプラグイン名が記載されている。なお、機能選択コンボボックス７０１は、初期表示は、コンボボックスの先頭を選択状態になっている。図７の例では、「第１アップロード機能」、「第２アップロード機能」となっている。「第１アップロード機能」が選択された場合には、１度のインストール操作で１つの論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第１アップロード機能は、印刷装置に該印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【００８２】
「第２アップロード機能」が選択された場合には、１度のインストール操作で複数の論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第２アップロード機能は、印刷装置に該印刷装置とは異なる装置を含む複数の印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【００８３】
ユーザによって、「起動」ボタン７０２を押下されると、機能選択コンボボックス７０１で選択されているプラグイン名を持つプラグインが起動される。そして、該起動されたプラグイン（第１の条件設定部６１３又は第２の条件設定部６１７）により、ドライバのアップロード設定画面（図４又は図８）が管理装置１０１の表示部２０７に表示されることになる。
【００８４】
以下、図９のフローチャートの説明に戻る。
次にＳ９０８において、切替部６１２は、「起動」ボタン７０２が押下されたか否かを判断する。本実施例では、発生したイベントに図７に示したプラグイン選択画面の「起動」ボタンを示すＩＤと、左マウスボタン操作が含まれるときは、起動ボタン押下と判断する。
【００８５】
上記Ｓ９０８において、「起動」ボタン７０２が押下されていないと判断した場合（Ｎｏ）、他の操作が行われものとして、切替部６１２は、Ｓ９０８の処理を繰り返す。ここでは、他の操作に関しては説明を省略する。
【００８６】
一方、上記Ｓ９０８において、「起動」ボタン７０２が押下されたと判断した場合（Ｙｅｓ）、切替部６１２は、機能選択コンボボックス７０１において選択されているプラグイン名を取得し、該取得したプリラグイン名に対応するプラグインを起動する。そして、切替部６１２は、起動したプラグインに、上記Ｓ９０４で作成されたデバイスリストを渡す。なお、切替部６１２は、起動したプラグイン名を選択部６１１に通知する。
【００８７】
なお、プラグイン名が「第１アップロード機能」となっている場合は、切替部６１２は、第１の条件設定部６１３を起動する。そして、起動された第１の条件設定部６１３は、上記Ｓ９０４で作成されたデバイスリストに基づいて、図４に示した第１のアップロード条件設定画面を管理装置１０１の表示部２０７に表示する（Ｓ９０９）。一方、プラグイン名が「第２アップロード機能」となっている場合は、切替部６１２は、第２の条件設定部６１７を起動する。そして、起動された第２の条件設定部６１７は、上記Ｓ９０４で作成されたデバイスリストに基づいて、図８に示す第２のアップロード条件設定画面を管理装置１０１の表示部２０７に表示する（Ｓ９０９）。
【００８８】
なお、上記Ｓ９０６において、インストール済プラグイン数を保持するワークデータ「Ｎ」の値が１以下と判断した場合（Ｎｏ）、切替部６１２は、インストール済みのプラグイン（第１の条件設定部６１３又は第２の条件設定部６１７）を起動する。そして、切替部６１２は、起動したプラグインに、上記Ｓ９０４で作成されたデバイスリストを渡す。起動されたプラグインは、上記Ｓ９０４で作成されたデバイスリストに基づいて、アップロード条件設定画面（図４又は図８）を管理装置１０１の表示部２０７に表示する（Ｓ９０９）。
【００８９】
次にＳ９１０において、上記起動された第１の条件設定部６１３又は第２の条件設定部６１７は、アップロード条件設定処理（図１１又は図１３）を実行する。このアップロード条件設定処理が完了すると、アップロード条件設定処理内でドライバ取得部６１６により取得されたインストーラが、選択部６１１に渡され、選択部６１１に制御が戻される。
【００９０】
次にＳ９１１において、選択部６１１は、アップロード部６１５を呼び出す。なお、選択部６１１は、上記Ｓ９０４で作成したデバイスリストと、切替部６１２で選択されたプラグイン名、上記Ｓ９１０のアップロード条件設定処理内でドライバ取得部６１６が取得したインストーラプログラムと、第１の条件設定部６１３又は第２の条件設定部６１７から論理プリンタ登録に必要な設定情報を取得し、アップロード部６１５に渡す。
【００９１】
アップロード部６１５は、アップロード処理（図１４（ａ）又は図１４（ｂ））を実行する。このアップロード処理では、アップロード部６１５からの指示により、作成部８１４が、上記Ｓ９１０のアップロード条件設定処理内でドライバ取得部６１６が取得したインストーラと、第１の条件設定部６１３又は第２の条件設定部６１７で設定された論理プリンタ登録に必要な設定情報とを用いて、セットアッププログラムを作成する。そして、アップロード部６１５が、上記セットアッププログラムを、デバイスリスト内のデバイスに送信する。このアップロード処理が完了すると、選択部６１１に制御が戻され、選択部６１１は、Ｓ９０２に処理を戻す。
【００９２】
なお、上記Ｓ９０５において、発生したイベントが「ドライバ登録」ボタン３０２の押下でないと判断した場合、選択部６１１は、Ｓ９１２に処理を進める。
Ｓ９１２では、選択部６１１は、発生したイベントが「終了」ボタン３０５の押下であるか否かを判断する。本実施例では、イベントに図３に図示したデバイス選択画面の「終了」ボタン３０５を示すＩＤと、左マウスボタン操作が含まれるときは、終了ボタン３０５の押下と判断する。
【００９３】
上記Ｓ９１２において、発生したイベントが「終了」ボタン３０５の押下ではないと判断した場合（Ｎｏ）、選択部６１１は、他の操作が行われものとして、Ｓ９０２に処理を戻す。ここでは、この他の操作に関しては説明を省略する。
【００９４】
一方、上記Ｓ９１２において、発生したイベントが「終了」ボタン３０５の押下であると判断した場合（Ｙｅｓ）、選択部６１１は、所定の手続きに基づき、管理装置１０１のＲＡＭ２０２やＨＤ２０５等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
【００９５】
次に、図９のＳ９０１の初期化処理について、図１０を用いて説明する。
図１０は、図９のＳ９０１に示した初期化処理の一例を示すフローチャートである。
Ｓ１００１において、選択部６１１は、ＲＡＭ２０２やＨＤ２０５等の記憶装置に確保したワーク領域にワークデータを確保する。さらに、プラグイン数を保持するワークデータＮの値に「０」を、プラグイン名を保持するワークデータＳｔｒｉｎｇ配列をＮＵＬＬに初期化する。
【００９６】
次に、Ｓ１００２において、選択部６１１は、ＯＳに備えられた検索機能を使い、管理装置１０１のＨＤ２０５の予め決められたフォルダ以下を検索する。さらに、選択部６１１は、ＯＳが備えているファイルプロパティ取得機能を用い、前記検索したファイルからプロパティ情報を取得する。前記取得したプロパティ情報を、管理装置１０１のＲＡＭ２０２やＨＤ２０５等の記憶装置に予め確保したワーク領域のワークデータにファイル情報として保存する。
【００９７】
次に、Ｓ１００３において、選択部６１１は、前記Ｓ１００２で取得したファイル情報の全件に対して、後述するＳ１００４〜Ｓ１００６の処理を終了したか否かを判断する。
そして、まだ全件終了していないと判断した場合（Ｓ１００３でＮｏ）、選択部６１１は、前記Ｓ１００２で検索されたファイル情報群からからファイル情報を１件取り出し（以下、カレントのファイル情報という）、Ｓ１００４に処理を進める。
【００９８】
Ｓ１００４では、選択部６１１は、カレントのファイル情報に対応するファイルがプラグインか否かを判断する。本実施例では、選択部６１１は、カレントのファイル情報からプロパティを取得し、該取得したファイルプロパティの「説明」記載が「プラグイン」となっている場合はプラグインと判断する。なお、プラグインが見つかった場合は、プラグインがインストール済と判断する。
【００９９】
上記Ｓ１００４で、カレントのファイル情報に対応するファイルがプラグインでないと判断した場合（Ｎｏ）、選択部６１１は、Ｓ１００３に処理を戻し、次のファイル情報に対して処理を行うように制御する。
【０１００】
一方、前記Ｓ１００４で、カレントのファイル情報に対応するファイルがプラグインであると判定した場合（Ｙｅｓ）、選択部６１１は、Ｓ１００５に処理を進める。
Ｓ１００５では、選択部６１１は、プラグイン名を保持するワークデータＳｔｒｉｎｇ配列のＮ番目の要素（Ｓｔｒｉｎｇ[ｎ]）に、カレントのファイル情報内のファイルプロパティの「製品名」を設定する。なお、配列の添え字Ｎは、前記プラグイン数を保持するワークデータＮの値となる。
【０１０１】
次に、Ｓ１００６において、選択部６１１は、前記プラグイン数を保持するワークデータＮの値に「１」を加算し、Ｓ１００３に処理を戻す。
そして、上記Ｓ１００３において、選択部６１１は、前記Ｓ１００２で取得したファイル情報の全件に対して、上記Ｓ１００４〜Ｓ１００６の処理を終了したと判断した場合（Ｙｅｓ）、初期化処理を終了し、図９のフローチャートに制御を戻す。
【０１０２】
次に、図９のＳ９１０のアップロード条件設定処理を、図１１及び図１３を用いて説明する。なお、図９のＳ９０９で、第１の条件設定部６１３が起動された場合は図１１のフローチャートを用いて説明する。一方、第２の条件設定部６１７が起動された場合は図１３のフローチャートを用いて説明する。
【０１０３】
図１１は、図９のＳ９１０に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図７のプラグイン切り換え画面にて「第１アップロード機能」が起動された場合に第１の条件設定部６１３が実行する第１のアップロード条件設定処理に対応する。
【０１０４】
なお、この処理は、図４に示した第１のアップロード条件設定画面が表示された状態で開始される。図４に示した第１のアップロード条件設定画面は、１度のインストール操作で１つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【０１０５】
また、図９のＳ９０４で作成されたデバイスリストは、切替部６１２を介して第１の条件設定部６１３渡されているものとする。
まず、Ｓ１１０１において、第１の条件設定部６１３は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合（Ｓ１１０１でＮｏ）、第１の条件設定部６１３は、Ｓ１１０２に処理を進める。
Ｓ１１０２では、第１の条件設定部６１３は、設定が完了したか判断する。本実施例では、図４に示した第１のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【０１０６】
上記Ｓ１１０２において、設定完了でないと判断した場合（Ｎｏ）、第１の条件設定部６１３は、Ｓ１１０４に処理を進める。
Ｓ１１０４では、第１の条件設定部６１３は、図４に示した設定画面の「ＯＫ」ボタン４１２を無効化し、Ｓ１１０１へ処理を戻す。なお、無効化とは、ＯＳに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【０１０７】
一方、上記Ｓ１１０２において、設定完了と判断した場合（Ｙｅｓ）、第１の条件設定部６１３は、Ｓ１１０３に処理を進める。
Ｓ１１０３では、第１の条件設定部６１３は、図４に図示した設定画面の「ＯＫ」ボタン４１２を有効化し、Ｓ１１０１へ処理を戻す。なお、有効化とは、ＯＳに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【０１０８】
また、上記Ｓ１１０１において、イベントが発生したと判断した場合（Ｙｅｓ）、第１の条件設定部６１３は、Ｓ１１０５に処理を進める。
Ｓ１１０５では、第１の条件設定部６１３は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図４に図示した設定画面の「参照」ボタン４０１を示すＩＤと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【０１０９】
上記Ｓ１１０５において、イベントがファイルパス設定と判定した場合（Ｙｅｓ）、第１の条件設定部６１３は、Ｓ１１０６に処理を進める。
Ｓ１１０６では、第１の条件設定部６１３は、ドライバ取得部６１６を呼び出す。この際、第１の条件設定部６１３は、ドライバ取得部６１６に、切替部６１２から渡されたデバイスリスト（図９のＳ９０４で作成されたデバイスリスト）をドライバ取得部６１６に渡す。ドライバ取得部６１６は、後述するプリンタドライバ取得処理（図１２）を行う。このプリンタドライバ取得処理が完了すると、第１の条件設定部６１３に制御が戻され、第１の条件設定部６１３は、Ｓ１１０１に処理を戻す。
【０１１０】
一方、上記Ｓ１１０５において、イベントがファイルパス設定でないと判定した場合（Ｎｏ）、第１の条件設定部６１３は、Ｓ１１０７に処理を進める。
Ｓ１１０７では、第１の条件設定部６１３は、イベントが「ＯＫ」ボタン４１２の押下か否かを判断する。本実施例では、イベントに図４に図示した設定画面の「ＯＫ」ボタン４１２を示すＩＤと、左マウスボタン操作が含まれるときは、「ＯＫ」ボタンを押下されたと判断する。
【０１１１】
上記Ｓ１１０７において、イベントが「ＯＫ」ボタン４１２の押下でないと判断した場合（Ｎｏ）、第１の条件設定部６１３は、Ｓ１１０１へ処理を戻す。
一方、上記Ｓ１１０７において、イベントが「ＯＫ」ボタン４１２の押下であると判断した場合（Ｙｅｓ）、第１の条件設定部６１３は、第１の条件設定画面（図４）上で設定されたアップロード条件を選択部６１１に渡し、本フローチャートの設定処理を終了する。これにより、選択部６１１に制御が戻る。
【０１１２】
図１３は、図９のＳ９１０に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図７のプラグイン切り換え画面にて「第２アップロード機能」が起動された場合に第２の条件設定部６１７が実行する第２のアップロード条件設定処理に対応する。
【０１１３】
なお、この処理は、図８に示す第２のアップロード条件設定画面が表示された状態で開始される。図８に示す第２のアップロード条件設定画面は、１度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【０１１４】
また、図９のＳ９０４で作成されたデバイスリストは、切替部６１２を介して第２の条件設定部６１７渡されているものとする。
まず、Ｓ１３０１において、第２の条件設定部６１７は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合（Ｓ１３０１でＮｏ）、第２の条件設定部６１７は、Ｓ１３０２に処理を進める。
Ｓ１３０２では、第２の条件設定部６１７は、設定が完了したか判断する。本実施例では、図８に示す第２のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【０１１５】
ここで、図８に示す第２のアップロード条件設定画面について説明する。
図８は、本実施例の管理装置１０１上で実行される管理アプリケーションにより提供される第２のアップロード条件設定画面の一例を示す図であり、図４と同一のものには同一の符号を付してある。なお、この画面は、管理装置１０１の表示部２０７に表示される。
【０１１６】
図８の第２のアップロード条件設定画面において、ユーザにより「ファイルの読み込み」ボタン８０１が押下されると、第２の条件設定部６１７は、図示しないファイル選択ダイアログを管理装置１０１の表示部２０７に表示する。そして、このファイル選択ダイアログからユーザによって拡張子".CSV"のファイルパスが指定されると、第２の条件設定部６１７は、該指定された拡張子".CSV"のファイル（外部ファイル）からプリンタリストを取得し、インストールするプリンタのリスト（プリンタリスト）８０２に表示する。第２の条件設定部６１７は、プリンタリスト８０２において、インストールするプリンタの情報（プリンタ名、ポート、コメント、設置場所等）をリストで表示する。なお、プリンタリスト８０２に一覧表示されたプリンタの情報には、ＰＤ２０９又はＫＢＤ２０６でＯＮ／ＯＦＦチェック可能なチェックボックスが設けられている。このチェックボックスにチェックされたプリンタ（１又は複数）が論理プリンタとしてクライアント１０２〜１０４にインストールされることとなる。
【０１１７】
以下、図１３の説明に戻る。
上記Ｓ１３０２において、設定完了でないと判断した場合（Ｎｏ）、第２の条件設定部６１７は、Ｓ１３０４に処理を進める。
Ｓ１３０４では、第２の条件設定部６１７は、図８に示した設定画面の「ＯＫ」ボタンを無効化し、Ｓ１３０１へ処理を戻す。なお、無効化とは、ＯＳに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【０１１８】
一方、上記Ｓ１３０２において、設定完了と判断した場合（Ｙｅｓ）、第２の条件設定部６１７は、Ｓ１３０３に処理を進める。
Ｓ１３０３では、第２の条件設定部６１７は、図８に示す設定画面の「ＯＫ」ボタン４１２を有効化し、Ｓ１３０１へ処理を戻す。なお、有効化とは、ＯＳに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【０１１９】
また、上記Ｓ１３０１において、イベントが発生したと判断した場合（Ｙｅｓ）、第２の条件設定部６１７は、Ｓ１３０５に処理を進める。
Ｓ１３０５では、第２の条件設定部６１７は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図８に示す設定画面の「参照」ボタン４０１を示すＩＤと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【０１２０】
上記Ｓ１３０５において、イベントがファイルパス設定と判定した場合（Ｙｅｓ）、第２の条件設定部６１７は、Ｓ１３０６に処理を進める。
Ｓ１３０６では、第２の条件設定部６１７は、ドライバ取得部６１６を呼び出す。この際、第２の条件設定部６１７は、ドライバ取得部６１６に、切替部６１２から渡されたデバイスリスト（図９のＳ９０４で作成されたデバイスリスト）をドライバ取得部６１６に渡す。ドライバ取得部６１６は、後述するプリンタドライバ取得処理（図１２）を行い、プリンタドライバのインストーラを取得する。このプリンタドライバ取得処理が完了すると、第２の条件設定部６１７に制御が戻され、第２の条件設定部６１７は、Ｓ１３０７に処理を進める。
【０１２１】
Ｓ１３０７では、第２の条件設定部６１７は、プリンタリストを表示中か否かを判断する。例えば、図８に図示した設定画面の「インストールするプリンタのリスト」８０２のリストボックスを調べ、リストが１以上存在するときは、プリンタリストを表示中と判断する。
【０１２２】
上記Ｓ１３０７において、プリンタリストを表示中と判断した場合（Ｙｅｓ）、第２の条件設定部６１７は、Ｓ１３１１のプリンタリスト更新処理を行い、Ｓ１３０１に処理を戻す。なお、Ｓ１３１１のプリンタリスト更新処理については、後述する。
【０１２３】
一方、上記Ｓ１３０７において、プリンタリストを表示中でないと判断した場合（Ｎｏ）、第２の条件設定部６１７は、Ｓ１３０１に処理を戻す。
また、上記Ｓ１３０５において、イベントがファイルパス設定でないと判定した場合（Ｎｏ）、第２の条件設定部６１７は、Ｓ１３０８に処理を進める。
Ｓ１３０８では、第２の条件設定部６１７は、ファイルの読み込みが発生したか否かを判断する。本実施例では、イベントに図８に図示した設定画面の「ファイルの読み込み」ボタン８０１を示すＩＤと、左マウスボタン操作が含まれるときは、「ファイルの読み込み」と判断する。
【０１２４】
上記Ｓ１３０８において、ファイルの読み込みが発生したと判定した場合（Ｙｅｓ）、第２の条件設定部６１７は、Ｓ１３０９に処理を進める。
Ｓ１３０９では、第２の条件設定部６１７は、プリンタリストを表示する。詳細には、第２の条件設定部６１７は、ユーザによって図示しないファイル選択ダイアログから指定された拡張子".ＣＳＶ"のファイルパスを取得し、同パス以下からプリンタリストを記載した拡張子".ＣＳＶ"のファイルを取得する。さらに、第２の条件設定部６１７は、上記取得した拡張子".ＣＳＶ"のファイルを開き、所定のフォーマットに従い、プリンタ名、ポート、コメント、設置場所等の論理プリンタ作成に用いる情報や、参考情報を取得する。前記取得した情報を図８に示すプリンタリスト８０２に、１行１レコードで表示する。さらに、論理プリンタ作成に必須情報（例えばプリンタ名）がない場合は、行全体の文字をグレー表示し、行先頭のチェックボックスをＯＦＦにする。また、上記Ｓ１３０６で取得されたプリンタドライバに対応しないプリンタのレコードが表示された行全体の文字もグレー表示し、行先頭のチェックボックスをＯＦＦにする。また、必須情報が全部そろっていて、且つ、上記Ｓ１３０６で取得されたインストーラに対応しないプリンタのレコードが表示された行の文字を黒表示し、行先頭のチェックボックスをＯＮにする。そして、Ｓ１３０１に処理を戻す。
【０１２５】
なお、上記拡張子".ＣＳＶ"のファイルは、予め管理者により作成され、管理装置１０１のＨＤ２０５内に格納されているものとする。この拡張子".ＣＳＶ"のファイルには、例えば、"ＰｒｉｎｔｅｒＮａｍｅ０１，ＩＰ＿１９２.２７.２２.１１，ｘｘｘ・・・ｘｘｘ，２１居室"のようなカンマで区切られた情報、プリンタ名，ポート，コメント，設置場所等の論理プリンタ作成に用いる情報が１又は複数レコード分記載されている。
【０１２６】
なお、上記Ｓ１３１１のプリンタリスト更新処理では、第２の条件設定部６１７は、上記Ｓ１３０６で取得されたプリンタドライバの情報に基づいて、上記Ｓ１３０６で取得されたインストーラに対応しないプリンタリスト８０２の行のグレー表示／黒表示、チェックボックスのＯＮ／ＯＦＦを更新する。
【０１２７】
また、上記Ｓ１３０８において、ファイルの読み込みが発生しなかったと判定した場合（Ｎｏ）、第２の条件設定部６１７は、Ｓ１３１０に処理を進める。
Ｓ１３１０では、第２の条件設定部６１７は、イベントが「ＯＫ」ボタン４１２の押下か否かを判断する。本実施例では、イベントに図８に示す設定画面の「ＯＫ」ボタン４１２を示すＩＤと、左マウスボタン操作が含まれるときは、「ＯＫ」ボタンを押下されたと判断する。
【０１２８】
上記Ｓ１３１０において、イベントが「ＯＫ」ボタン４１２の押下でないと判断した場合（Ｎｏ）、第２の条件設定部６１７は、Ｓ１３０１へ処理を戻す。
一方、上記Ｓ１３１０において、イベントが「ＯＫ」ボタン４１２の押下であると判断した場合（Ｙｅｓ）、第２の条件設定部６１７は、第２の条件設定画面（図８）上で設定されたアップロード条件を選択部６１１に渡し、本フローチャートの設定処理を終了する。これにより、選択部６１１に制御が戻る。
【０１２９】
次に、図１１のＳ１１０６又は図１３のＳ１３０６のプリンタドライバ取得処理を、図１２を用いて説明する。
図１２は、図１１のＳ１１０６又は図１３のＳ１３０６に示したドライバ取得部６１６が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
なお、図１１のＳ１１０６と図１３のＳ１３０６とでは、管理装置１０１の表示部２０７に表示されている設定画面が異なる。図１１のＳ１１０６では第１のアップロード条件の設定画面（図４）が表示され、図１３のＳ１３０６では第２のアップロード条件の設定画面（図８）が表示されている。
【０１３０】
また、図９のＳ９０４で作成されたデバイスリストは、第１の条件設定部６１３又は第２の条件設定部６１７から渡されているものとする。
Ｓ１２０１において、ドライバ取得部６１６は、ドライバ情報ファイルを読み込む。詳細には、ドライバ取得部６１６は、ユーザによって図示しないファイル選択ダイアログから指定された"ｓｅｔｕｐ.ｅｘｅ"のパス情報を取得し、同パス以下からプリンタドライバのドライバ情報ファイル（ｓｅｔｕｐ.ｉｎｆ）を検索する。ドライバ情報ファイルが見つかったら、ドライバ取得部６１６は、所定のフォーマットに従いドライバ情報ファイル内を検索し、ドライバ種類、及びバージョン情報を読み出し、ＲＡＭ２０２等の記憶装置に所定のワーク領域に保存する。なお、ドライバ取得部６１６は、上記パスからプリンタドライバのインストーラプログラム（ｓｅｔｕｐ.ｅｘｅ）を取得し、ＲＡＭ２０２内に保持しておく。
【０１３１】
次に、Ｓ１２０２において、ドライバ取得部６１６は、上記Ｓ１２０１で取得したドライバの種類、及びバージョン情報を、アップロード条件の設定画面（図４又は図８）の「ドライバ種類：」テキストエリア４０２、及び「バージョン情報：」テキストエリア４０３にそれぞれ書き込む。
【０１３２】
次に、Ｓ１２０３において、ドライバ取得部６１６は、ドライバモデル名を設定する。詳細には、ドライバ取得部６１６は、上記Ｓ１２０１で読み込んだドライバ情報ファイル内を検索し、デバイスに相応しいドライバモデル名を取得する。例えば、Ｍｉｃｒｏｓｏｆｔ社のＭＳＤＮ Ｌｉｂｒａｒｙ（登録商標）で開示されている方法では、ドライバ情報ファイル（ＩＮＦファイル）のモデルセクションに、ドライバモデル名とハードウェアＩＤを１つのエントリーとして記載する方法が開示されており、この情報を用いて、デバイスに相応しいドライバモデル名を取得する。本実施例では、この方法に従い、上記Ｓ１２０１で見つけたドライバ情報ファイル内から、デバイス（図９のＳ９０４で生成されたデバイスリストの先頭のデバイス）の持つハードウェアＩＤと同一の記載を全検索する。そして、見つけたドライバモデル名を、表示部２０７に表示しているアップロード条件設定画面（図４又は図８）の「ドライバモデル名」コンボボックス４０４におけるリストのエントリーに登録する。アップロード条件設定画面（図４又は図８）上ではリストの先頭候補となるドライバモデル名が選択状態に設定される。なお、ドライバモデル名が見つからなかった場合は、ドライバ情報ファイルに記載されている全てのドライバモデル名を「ドライバモデル名」コンボボックス４０４におけるリストのエントリーに登録する。この場合、初期状態ではどのドライバモデルも選択されていない状態でアップロード条件設定画面に表示される。なお、本ステップで用いるドライバモデル名は、図３の管理アプリケーションが表示しているデバイスリスト３０１から選択された先頭のデバイス用のドライバモデル名（即ち、図９のＳ９０４で生成されたデバイスリストの先頭のデバイスのドライバモデル名）とする。
【０１３３】
次に、Ｓ１２０４において、ドライバ取得部６１６は、上記Ｓ１２０３で設定された「ドライバモデル名」コンボボックス４０４の情報を表示名テキストボックスに設定し、本フローチャート処理を終了する。これにより、ドライバ取得部６１６を呼び出したプラグイン（第１の条件設定部６１３又は第２の条件設定部６１７）に制御が戻る。
【０１３４】
次に、図１４を用いて、図９のＳ９１１のアップロード処理について説明する。
図１４は、図９のＳ９１１に示すアップロード部６１５が実行するアップロード処理の一例を示すフローチャートである。なお、図９のＳ９０４で作成したデバイスリスト、切替部６１２で選択されたプラグイン名、論理プリンタ登録に必要な情報、及びインストーラプログラム等の情報は、選択部６１１から適宜渡されているものとする。
【０１３５】
また、アップロード部６１５は、選択部６１１から通知されたプラグイン名が「第１アップロード機能」である場合には図１４（ａ）に示す第１のアップロード処理を実行し、一方、前記プラグイン名が「第２アップロード機能」である場合には図１４（ｂ）に示す第２のアップロード処理を実行するように制御する。
【０１３６】
まず、図１４（ａ）に示す第１のアップロード処理から説明する。
まず、Ｓ１４０１において、アップロード部６１５は、作成部６１４を呼び出し、論理プリンタ登録に必要な情報、及びインストーラプログラムを作成部６１４に渡す。作成部６１４は、後述する図１５に示すセットアッププログラム作成処理を行う。
【０１３７】
次に、作成部６１４によるセットアッププログラムの作成処理が完了すると、アップロード部６１５は、Ｓ１４０２に処理を進める。
Ｓ１４０２では、アップロード部６１５は、モデル名が一致しているか判断する。本実施例では、アップロード部６１５は、ＲＡＭ２０２等のワーク領域に保持されたデバイスリスト（図９のＳ９０４で作成）から１レコードを取り出す。次に、取り出したレコード中のデバイス（カレントのデバイス）のモデル名と作成部６１４が作成したセットアッププログラムのドライバのモデル名とを比較する。そして、比較の結果が一致しているときは、モデル名が一致していると判断する。例えば、デバイスのモデル名が"Ｃ_ｉＲ−ＡＤＶ Ｃ５０５１"のとき、ドライバのモデル名"Ｃ_ｉＲ−ＡＤＶ Ｃ５０５１／５０４１"のようにデバイスモデル名を含む場合は、ドライバモデル名が一致していると判断する。
【０１３８】
上記Ｓ１４０２において、モデル名が一致していると判断した場合（Ｙｅｓ）、アップロード部６１５は、Ｓ１４０３に処理を進める。
Ｓ１４０３では、アップロード部６１５は、セットアッププログラムを送信する。詳細には、アップロード部６１５は、作成部６１４が作成したセットアッププログラムを、アップロード条件の設定画面（図４又は図８）の設定値に従い、カレントのデバイスに対応する印刷装置１０５の記憶部６０１に配置する。
【０１３９】
次に、Ｓ１４０４において、アップロード部６１５は、上記Ｓ１４０３でセットアッププログラムを送信した印刷装置１０５（カレントのデバイス）に、アップロード通知を行う。詳細には、アップロード部６１５は、プリンタ１０５に対して、アップロード番号、パス、ファイル名、及びプリンタが保持するダウンロードページの作成に必要な情報を通知する。Ｓ１４０４の処理を終了すると、アップロード部６１５は、Ｓ１４０５に処理を進める。
【０１４０】
また、上記Ｓ１４０２において、モデル名が一致していないと判断した場合（Ｎｏ）、アップロード部６１５は、そのままＳ１４０５に処理を進める。
Ｓ１４０５では、アップロード部６１５は、全デバイスへの処理が終了したか否かを判断する。詳細には、アップロード部６１５は、ＲＡＭ２０２等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。
【０１４１】
上記Ｓ１４０５において、まだ全デバイスへの処理が終了していないと判断した場合（Ｎｏ）、アップロード部６１５は、Ｓ１４０２へ処理を戻し、他のデバイス（デバイスリストの次のレコード）に対して同様の処理を行う。
【０１４２】
一方、上記Ｓ１４０５において、全デバイスへの処理が終了したと判断した場合、アップロード部６１５は、アップロード処理を終了する。これにより、選択部６１１に制御が戻される。
【０１４３】
次に、図１４（ｂ）に示す第２のアップロード処理について説明する。なお、図１４（ａ）と図１４（ｂ）とで同一のステップには同一のステップ番号を付してあり、ここでは異なる部分のみを説明する。
【０１４４】
図１４（ｂ）に示す第２のアップロード処理では、作成部６１４によるセットアッププログラムの作成処理（Ｓ１４０１）が完了すると、アップロード部６１５は、ＲＡＭ２０２等のワーク領域に保持されたデバイスリスト（図９のＳ９０４で作成）内の全レコードに対して、Ｓ１４０３，Ｓ１４０４の処理を実行するように制御する。以下、図１４（ａ）と同様であるので説明は省略する。
【０１４５】
次に、図１４のＳ１４０１に示したセットアッププログラム作成処理を、図１５、図１６〜図１８を用いて説明する。
図１５は、図１４のＳ１４０１に示す作成部６１４が実行するセットアッププログラム作成処理の一例を示すフローチャートである。なお、論理プリンタ登録に必要な情報、及びインストーラプログラム等は、アップロード部６１５から適宜渡されているものとする。
【０１４６】
Ｓ１５０１において、作成部６１４は、一時フォルダを作成する。例えば、ＯＳが提供している機能を利用し、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダを作成する。
次に、Ｓ１５０２において、作成部６１４は、上記Ｓ１５０１で作成した一時フォルダに、図１６（ａ）に示す初期セットアッププログラムを作成する。
【０１４７】
図１６は、本実施例のセットアッププログラムの一例を示す図である。
図１６（ａ）に示すように、初期セットアッププログラムは、ヘッダ部１６０１と、プログラム部１６０２から構成され、予めＨＤ２０５内に記憶されている。
ヘッダ部１６０１には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として以下のようなものが含まれている。
【０１４８】
・Ｏｆｆｓｅｔ_ｔｏ_ｅｎｔｒｙ：結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Ｓｉｚｅ_ｏｆ_ａｌｌ_ｅｎｔｒｙ：結合ファイルの情報を格納している領域の合計サイズ。
・ｓｉｚｅ_ｏｆ_ｆｉｌｅ_ｅｎｔｒｙ：結合ファイルの情報を格納している領域のサイズ。
・ｎｕｍ_ｏｆ_ｅｎｔｒｙ：結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは全て「０」にセットされている。
【０１４９】
プログラム部１６０２には、ヘッダ部１６０１を参照し、結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
【０１５０】
以下、図１５のフローチャートの説明に戻る。
上記Ｓ１５０２の初期セットアッププログラム作成処理を完了すると、作成部６１４は、Ｓ１５０３において、上記Ｓ１５０１で作成した一時フォルダ内に、論理プリンタ登録に必要な設定情報（第１の条件設定部６１３又は第２の条件設定部６１７で設定済み）を用いて、図１７（（ａ）又は（ｂ））、図１８（ａ）に示す情報ファイルを作成する。
【０１５１】
図１７は、セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図であり、ファイル名は"ｓｅｔｕｐ.ｉｎｉ"とする。
【０１５２】
なお、図１７（ａ）は、切替部６１２で選択されたプラグイン名が「第１アップロード機能」である場合に作成部６１４が作成する"ｓｅｔｕｐ.ｉｎｉ"ファイルの一例を示すものである。
【０１５３】
また、図１７（ｂ）は、切替部６１２で選択されたプラグイン名が「第２アップロード機能」である場合に作成部６１４が作成する"ｓｅｔｕｐ.ｉｎｉ"ファイルの一例を示すものである。
【０１５４】
図１７（ａ）、図１７（ｂ）に示すように、"ｓｅｔｕｐ.ｉｎｉ"ファイルは、［ＤｒｉｖｅｒＵｐｌｏａｄＩｎｆｏ］セクションを有し、以下の設定が可能である。
・ＤｒｉｖｅｒＭｏｄｅｌＮａｍｅ：ドライバモデル名
・ＰｒｉｎｔｅｒＮａｍｅ：ＰＣにインストールする論理プリンタ名
・Ｃｏｍｍｅｎｔｓ：ＰＣにインストールした論理プリンタに設定するコメント
・ＰｏｒｔＴｙｐｅ：ポートの種類（１：ＩＰアドレス、２：ホスト名、３：ポート名）
・ＰｏｒｔＮａｍｅ：ポート名
【０１５５】
なお、ＤｒｉｖｅｒＭｏｄｅｌＮａｍｅは、図４又は図８のドライバモデル名４０４に基づいて設定される。また、ＰｒｉｎｔｅｒＮａｍｅは、図４の表示名４０５又は図８のプリンタリスト８０２内のプリンタ名に基づいて設定される。また、Ｃｏｍｍｅｎｔｓは、図４のコメント４０７又は図８のプリンタリスト８０２内のコメントに基づいて設定される。また、ＰｏｒｔＴｙｐｅとＰｏｒｔＮａｍｅは、図４のポート４０８又は図８のプリンタリスト８０２内のポートに基づいて設定される。
【０１５６】
図１７（ａ）は「第１アップロード機能」の場合であるため、１つの論理プリンタが記載されている。
「第１アップロード機能」の場合、アップロードされるセットアッププログラムは、アップロード先の印刷装置に対応する論理プリンタを作成するものとなる。そのため、ポート名（ＰｏｒｔＮａｍｅ）が空白の"ｓｅｔｕｐ.ｉｎｉ"が作成される。ポート名（ＰｏｒｔＮａｍｅ）は、セットアッププログラムがアップロードされた各印刷装置において、自らのＩＰアドレスやホスト名等が書きこまれることになる。
【０１５７】
図１７（ｂ）は「第２アップロード機能」の場合であり、この例では、２つの論理プリンタが記載されている。図８のインストールするプリンタのリスト８０２において、チェックボックスにチェックされたプリンタに対応する論理プリンタが記載されることとなる。
【０１５８】
第１の論理プリンタは、ドライバモデルが"Ｃ_ｉＲ−ＡＤＶ Ｃ５０４５／５０５１"、論理プリンタ名が"Ｃ_ｉＲ−ＡＤＶ Ｃ５０５１"、コメントが"３Ｆ ｓｈａｒｅ ｐｒｉｎｔｅｒ"、ポートの種類がＩＰアドレスを意味する"１"、ポート名が"ＩＰ_１７２.１０.１０.１０"である。
【０１５９】
第２の論理プリンタは、ドライバモデルが"Ｃ_ｉＲ−ＡＤＶ Ｃ５０４５／５０５１"、論理プリンタ名が"Ｃ_ｉＲ−ＡＤＶ Ｃ５０４５"、コメントが"２Ｆ ｓｈａｒｅ ｐｒｉｎｔｅｒ"、ポートの種類がＩＰアドレスを意味する"１"、ポート名が"ＩＰ_１７２.１０.１０.１１"である。
【０１６０】
図１８は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図であり、ファイル名は"ｓｉｌｅｎｔ.ｉｎｉ"である。
【０１６１】
図１８は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルであり、ファイル名は"ｓｉｌｅｎｔ.ｉｎｉ"とする。
図１８（ａ），図１８（ｂ）に示すように、"ｓｉｌｅｎｔ.ｉｎｉ"ファイルは、［ＩｎｓｔａｌｌＣｏｍｐｌｅｔｅ］、［ＳｅｌｅｃｔＪｏｂ］、及び［ＰｒｉｎｔｅｒＩｎｆｏ］のセクションを有し、以下の設定が可能である。
【０１６２】
・Ｒｅｂｏｏｔ：インストール終了後にＰＣのリブートを制御するフラグ（０：リブートなし、１：リブート）
・ＳｅｌｅｃｔＪｏｂ：プリンタドライバのインストールモード（０：新規インストール、１：上書きインストール、２：インストールしない）
・ＰＲＴ１：論理プリンタ名／ドライバモデル／接続ボートを指定する。
【０１６３】
図１８（ａ）に示す例では、リブートなし、上書きインストールを指定している。論理プリンタ名、ドライバモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定される。
【０１６４】
以下、図１５のフローチャートの説明に戻る。
次に、Ｓ１５０４において、作成部６１４は、図１６（ｂ）に示すように、上記Ｓ１５０２で作成した初期セットアッププログラム（１６０１及び１６０２）に、上記Ｓ１５０３で作成した情報ファイル（"ｓｅｔｕｐ.ｉｎｉ"１６０３、"ｓｉｌｅｎｔ.ｉｎｉ"１６０５）と、上記図１１のＳ１１０６又は図１３のＳ１３０６で取得したプリンタドライバのインストーラプログラム（"ｓｅｔｕｐ.ｅｘｅ"１６０４）を結合する。
【０１６５】
さらに、Ｓ１５０５において、作成部６１４は、上記Ｓ１５０４で結合処理したセットアッププログラムのヘッダ部１６０１を書き換え、図１６（ｂ）に示すようなセットアッププログラムを作成する。
【０１６６】
具体的には、作成部６１４は、図１６（ｂ）に示すように、ヘッダ部１６０１の"Ｏｆｆｓｅｔ_ｔｏ_ｅｎｔｒｙ"には、各結合ファイルの情報を格納している領域１６０７のセットアッププログラム先頭からのオフセット"４０９６"を設定する。
【０１６７】
さらに、作成部６１４は、ヘッダ部１６０１の"Ｓｉｚｅ_ｏｆ_ａｌｌ_ｅｎｔｒｙ"には、各結合ファイルの情報を格納している各領域１６０６ａ〜ｃの合計サイズ"１５３６"を設定する。
【０１６８】
さらに、作成部６１４は、ヘッダ部１６０１の"ｓｉｚｅ_ｏｆ_ｆｉｌｅ_ｅｎｔｒｙ"には、各結合ファイルの情報を格納している各領域１６０６ａ〜ｃのサイズ"５１２"を設定する。
【０１６９】
さらに、作成部６１４は、ヘッダ部１６０１の"ｎｕｍ_ｏｆ_ｅｎｔｒｙ"には、結合ファイルの情報を格納している領域１６０６ａ〜ｃの総数"３"を設定する。
さらに、作成部６１４は、結合ファイルの情報を格納する３つ領域１６０６ａ〜ｃを"Ｏｆｆｓｅｔ_ｔｏ_ｅｎｔｒｙ"で指定される領域に確保する。そして、作成部６１４は、上記確保した３つの領域１６０６ａ〜ｃに、結合したファイルの情報を格納する。
【０１７０】
詳細には、作成部６１４は、先頭の領域から、上記Ｓ１５０３で作成した"ｓｅｔｕｐ.ｉｎｉ"ファイル１６０３、ドライバ取得部６１６が取得しアップロード部６１５から渡されたインストーラ"ｓｅｔｕｐ.ｅｘｅ"１６０４、上記Ｓ１５０３で作成した"ｓｉｌｅｎｔ.ｉｎｉ"ファイル１６０５の情報を、それぞれの領域１６０６ａ〜ｃにセットする。以下、詳細に示す。
【０１７１】
・ＯＦＦＳＥＴ：結合されたファイルが位置するセットアッププログラム先頭からのオフセット
・Ｓｉｚｅ：結合されたファイルのサイズ
・Ｔｙｐｅ：結合されたファイルのタイプ（１：実行ファイル、２：テンポラリファイル、３：情報ファイル、４：その他）
・ＦＩＬＥＮＡＭＥ：結合されたファイル名
【０１７２】
作成部６１４は、セットアッププログラムのヘッダー書き換え（Ｓ１５０５）を完了すると、セットアッププログラムの作成処理を終了する。これにより、アップロード部６１５に制御が戻る。
【０１７３】
次に、印刷装置１０５側の処理について説明する。
以下、図１９を用いて、印刷装置１０５の監視部６０３が行う処理を説明する。監視部６０３は、プリンタ１０５の稼動と共に起動され、プリンタ１０５が稼動終了するまで動作するものとする。図１９〜図２１に示す処理を実現するためのプログラムは予め印刷装置１０５のＰＲＯＭ２２１にコンピュータ読み取り可能に記録され、ＰＣＰＵ２２０によって読み出され実行されているものとする。
【０１７４】
図１９は、印刷装置１０５の監視部６０３が行う処理の一例を示すフローチャートである。
まず、Ｓ１９０１において、監視部６０３は、管理装置１０１からのセットアッププログラムのアップロード通知があるか否かを判断する。詳細には、監視部６０３は、所定の手続きに基づき双方向インタフェース２１１を介し、接続部２２６を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。
【０１７５】
上記Ｓ１９０１において、アップロード通知があったと判断した場合、監視部６０３は、Ｓ１９０２において、監視部６０３はプログラム更新部６０４を呼び出す。同時に、監視部６０３は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をプログラム更新部６０４に渡す。これにより、プログラム更新部６０４は、後述の図２０に示すセットアッププログラムの更新処理を行う。
【０１７６】
そして、セットアッププログラムの更新処理（Ｓ１９０２）が終了すると、監視部６０３は、Ｓ１９０３に処理を進める。
Ｓ１９０３では、監視部６０３は、アップロード結果通知を行う。詳細には、監視部６０３は、接続部２２６を介して、所定のフォーマットで作成したアップロード結果通知を、上記Ｓ１９０１で検知したアップロード通知の送信元（管理装置１０１）に送信する。このアップロード結果通知処理を完了すると、監視部６０３は、Ｓ１９０１に処理を戻す。
【０１７７】
一方、上記Ｓ１９０１において、アップロード通知がなかったと判断した場合、監視部６０３は、Ｓ１９０４に処理を進める。
Ｓ１９０４では、監視部６０３は、構成情報に変化があったか否かを判断する。詳細には、監視部６０３は、ＰＲＡＭ２２２等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があった場合には構成情報に変更があったと判断する。
【０１７８】
上記Ｓ１９０４において、構成情報に変更があったと判断した場合（Ｙｅｓ）、監視部６０３は、Ｓ１９０５に処理を進める。なお、この際、監視部６０３は、次回判定時の比較対象のために、ＰＲＡＭ２２２等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能な設置場所、機器名、ＩＰアドレス等を例とする。
【０１７９】
Ｓ１９０５では、監視部６０３は、セットアッププログラムがアップロードされているかを判断する。詳細には、監視部６０３は、セットアッププログラムの管理装置からのアップロードがあった場合にその旨が管理情報として書き込まれるＨＤ２２８等の記憶装置に予め用意された領域から、その管理情報を読み出す。そして、読み出した結果、セットアッププログラムの情報が１つ以上存在する場合、監視部６０３は、セットアッププログラムが管理装置からアップロードされていると判断する。
【０１８０】
上記Ｓ１９０５において、アップロードされたセットアッププログラムが存在しない（アップロード済みでない）と判断した場合（Ｎｏ）、監視部６０３は、Ｓ１９０１に処理を戻す。
【０１８１】
一方、上記Ｓ１９０５において、アップロードされたセットアッププログラムが存在する（アップロード済み）と判断した場合（Ｙｅｓ）、監視部６０３は、Ｓ１９０６に処理を進める。
【０１８２】
Ｓ１９０６では、監視部６０３は、プログラム更新部６０４を呼び出す。同時に、監視部６０３は、前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を１件読み出す。そして、読み出したアップロード番号、パス、ファイル名、およびダウンロードページの作成等に必要な情報に加え、更新指示とＳ１９０４で取得した構成情報をプログラム更新部６０４に渡す。これにより、プログラム更新部６０４は、後述の図２０に示すセットアッププログラムの更新処理を行う。
【０１８３】
そして、セットアッププログラムの更新処理（Ｓ１９０６）が終了すると、監視部６０３は、Ｓ１９０７に処理を進める。
Ｓ１９０７では、監視部６０３は、管理装置１０１からアップロードされた全てのセットアッププログラムの更新処理が終了したか否かを判断する。詳細には、監視部６０３は、前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しない場合は、全てのセットアッププログラムの更新処理が終了したと判断する。
【０１８４】
上記Ｓ１９０７において、まだいずれかのセットアッププログラムの更新処理が終了していないと判定した場合（Ｎｏ）、監視部６０３は、Ｓ１９０６に処理を戻し、次のセットアッププログラムの更新処理を行う。
【０１８５】
一方、上記Ｓ１９０７において、全てのセットアッププログラムの更新処理が終了したと判定した場合（Ｙｅｓ）、監視部６０３は、Ｓ１９０１に処理を戻す。
また、上記Ｓ１９０４において、構成情報に変更がないと判断した場合（Ｎｏ）、監視部６０３は、Ｓ１９０８に処理を進める。
【０１８６】
Ｓ１９０８では、監視部６０３は、削除通知があったか否かを判断する。詳細には、監視部６０３は、双方向インタフェース２１１を介し、接続部２２６を通り受信するパケットを検索し、所定フォーマットの削除通知を見つけたときは、管理装置１０１からの削除通知があったと判断する。また、所定の手続きに基づき、Ｗｅｂサーバ機能部６０５からの通知を検索し、削除通知があったときは、Ｗｅｂサーバ機能部６０５から削除通知があったと判断する。
【０１８７】
上記Ｓ１９０８において、削除通知がなかったと判断した場合（Ｎｏ）、監視部６０３は、Ｓ１９０１に処理を戻す。
一方、上記Ｓ１９０８において、削除通知があったと判断した場合（Ｙｅｓ）、監視部６０３は、Ｓ１９０９に処理を進める。
【０１８８】
Ｓ１９０９では、監視部６０３は、プログラム更新部６０４を呼び出す。同時に、監視部６０３は、削除通知により得たアップロード番号および削除指示をプログラム更新部６０４に渡す。これにより、プログラム更新部６０４は、セットアッププログラムの削除処理を行う。
【０１８９】
そして、セットアッププログラムの削除処理（Ｓ１９０９）が終了すると、監視部６０３は、Ｓ１９１０に処理を進める。
Ｓ１９１０では、監視部６０３は、削除結果通知を行う。監視部６０３は、接続部２２６を介し、所定のフォーマットで作成した削除結果通知を、上記Ｓ１９０８で検知された削除通知の送信元（管理装置１０１）に送信し、Ｓ１９０１に処理を戻す。
【０１９０】
なお、ＩＰアドレス等の構成情報の変化があった場合、本印刷装置から、他の印刷装置にその旨を通知するようにしてもよい。そして、この通知を受けた印刷装置は、保持している上記通知の送信元の印刷装置に対応するセットアッププログラムを更新するようにしてもよい。
【０１９１】
次に、図２０を用いて、印刷装置１０５のプログラム更新部６０４によるセットアッププログラムの更新処理を説明する。
図２０は、印刷装置１０５のプログラム更新部６０４が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
なお、監視部６０３からの指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、ＰＲＡＭ２２２等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
【０１９２】
まず、Ｓ２００１において、プログラム更新部６０４は、ＨＤ２２８等の記憶装置に配置された該当のセットアッププログラムを、ＰＲＡＭ２２２等の記憶装置に確保したワークエリアにコピーする。
【０１９３】
次に、Ｓ２００２において、プログラム更新部６０４は、上記Ｓ２００１でコピーしたセットアッププログラムに、監視部６０３から渡された構成情報を反映させる（セットアッププログラム更新）。例えば、セットアッププログラムに含まれるｓｅｔｕｐ.ｉｎｉ内に記載されるＩＰアドレスを上記構成情報に基づいて更新する。これにより、ＩＰアドレス等の構成情報が変更された場合でも変更後の構成情報に対応するようにセットアッププログラムが更新されることとなる。また、上述したようにセットアッププログラムの作成時に「第１アップロード機能」が選択されてポート名（ＰｏｒｔＮａｍｅ）が空白のセットアッププログラムがアップロードされている場合にも、該セットアッププログラム内のポート名（ＰｏｒｔＮａｍｅ）を、その印刷装置のＩＰアドレス等で更新することができる。
【０１９４】
次に、Ｓ２００３において、プログラム更新部６０４は、上記Ｓ２００２で更新したセットアッププログラムを、上記Ｓ２００１でコピーした元のファイルに上書き保存する。
次に、Ｓ２００４において、プログラム更新部６０４は、監視部６０３から渡された構成情報を反映したダウンロード情報を、ＨＤ２２８等の記憶装置に記憶されるＷｅｂページ（Ｗｅｂサーバ機能部６０５が公開するＷｅｂページ）に書き込む。これにより、Ｗｅｂサーバ機能部６０５がクライアント１０２のＷｅｂブラウザ６２０に送信するＷｅｂページ（図５）の内容が更新される。
【０１９５】
その後、プログラム更新部６０４は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部６０４は、更新完了など、本処理の結果を外部通知などするために監視部６０３に渡す。
【０１９６】
ここで、印刷装置１０５のプログラム更新部６０４が行うセットアッププログラムの削除処理（不図示）について説明する。
まず、プログラム更新部６０４は、ＨＤ２２８等の記憶装置に配置された該当のセットアッププログラムを、削除する。
【０１９７】
次に、プログラム更新部６０４は、該当のセットアッププログラムに関する情報を削除したダウンロード情報を、ＨＤ２２８等の記憶装置に記憶されるＷｅｂページ（Ｗｅｂサーバ機能部６０５が公開するＷｅｂページ）に書き込む。その後、プログラム更新部６０４は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部６０４は、削除完了など、本処理の結果を外部通知などするために監視部６０３に渡す。
【０１９８】
以下、図２１を用いて、プリンタ１０５のＷｅｂサーバ機能部６０５による処理を説明する。
図２１は、プリンタ１０５のＷｅｂサーバ機能部６０５による処理の一例を示すフローチャートである。
まず、Ｓ２１０１において、Ｗｅｂサーバ機能部６０５は、ユーザによってリロードを指示されたか否かを判断する。詳細には、Ｗｅｂサーバ機能部６０５は、接続部２２６を介し受信したパケットを検索し、Ｗｅｂブラウザなどからのリロードのリクエストがあるか判断する。リロードのリクエストが見つかった場合、リロードを指示されたと判断する。
【０１９９】
上記Ｓ２１０１において、リロード指示されていないと判断した場合（Ｎｏ）、Ｗｅｂサーバ機能部は、Ｓ２１０３に処理を進める。
Ｓ２１０３では、Ｗｅｂサーバ機能部６０５は、ユーザによってダウンロードを指示されたか否かを判断する。詳細には、Ｗｅｂサーバ機能部６０５は、接続部２２６を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
【０２００】
上記Ｓ２１０３において、ダウンロード指示がなかったと判断した場合（Ｎｏ）、Ｗｅｂサーバ機能部６０５は、Ｓ２１０１に処理を戻す。
一方、上記Ｓ２１０３において、ダウンロード指示があったと判断した場合（Ｙｅｓ）、Ｗｅｂサーバ機能部６０５は、Ｓ２１０４に処理を進める。
【０２０１】
Ｓ２１０４では、Ｗｅｂサーバ機能部６０５は、ダウンロードリクエストに指定されたセットアッププログラムをＨＤ２２８等の記憶装置から取り出す。
次に、Ｓ２１０５において、Ｗｅｂサーバ機能部は、上記Ｓ２１０３で取り出したセットアッププログラムをダウンロード指示したクライアント１０２のＷｅｂブラウザ６２０に対して送信する。
【０２０２】
また、上記Ｓ２１０１において、リロード指示されたと判断した場合（Ｙｅｓ）、Ｗｅｂサーバ機能部は、Ｓ２１０２において、Ｗｅｂページを再構築し、リクエスト元のＷｅｂブラウザ６２０に、再構築したページを送出（Ｗｅｂページ更新）し、Ｓ２１０１に処理を戻す。
【０２０３】
なお、図示しないが、Ｗｅｂサーバ機能部６０５は、ユーザによって削除を指示されたか否かの判断も行う。詳細には、Ｗｅｂサーバ機能部６０５は、接続部２２６を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。そして、削除指示があったと判断した場合、Ｗｅｂサーバ機能部６０５は、監視部６０３に削除通知を行う。
【０２０４】
以下、図２２を用いて、セットアッププログラム６０２の実行により実現されるセットアップモジュールにより行われる処理について説明する。
図２２は、セットアッププログラム６０２の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。セットアッププログラム６０２は、ユーザによってクライアント１０２へダウンロードされ、実行指示されることでクライアント１０２のＣＰＵ２００により実行される。セットアッププログラム６０２が起動されると、クライアント１０２のＲＡＭ２０２等の記憶装置に確保されたプログラム領域にロードされ、クライアント１０２のＣＰＵ２００によって実行され、セットアップモジュールが実現される。
【０２０５】
まず、Ｓ２２０１において、セットアップモジュールは、一時フォルダを作成する。例えば、ＯＳが提供している機能を利用し、クライアント１０２のＲＡＭ２０２、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダを作成する。
【０２０６】
次に、Ｓ２２０２において、セットアップモジュールは、上記Ｓ２２０１でフォルダ作成が成功したか否かを判断する。
上記Ｓ２２０２において、フォルダ作成が失敗したと判断した場合（Ｎｏ）、セットアップモジュールは、Ｓ２２０９に処理を進め、クライアント１０２の表示部２０７にエラー表示を行い、処理を終了する。
【０２０７】
一方、上記Ｓ２２０２において、フォルダ作成が成功したと判断した場合（Ｙｅｓ）、セットアップモジュールは、Ｓ２２０３に処理を進める。
Ｓ２２０３では、セットアップモジュールは、結合されているファイルを分離する。詳細には、セットアップモジュールは、図１６（ｂ）に示した"ｓｉｌｅｎｔ.ｉｎｉ"ファイル１６０５（例えば図１８（ａ））、"ｓｅｔｕｐ.ｅｘｅ"ファイル１６０４、"ｓｅｔｕｐ.ｉｎｉ"ファイル１６０３（例えば図１７（ｂ））を、上記Ｓ２２０１で作成した一時フォルダに作成する。
【０２０８】
次に、Ｓ２２０４において、セットアップモジュールは、上記Ｓ２２０３のファイル分離処理が成功したか否かを判断する。
上記２２０４において、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合（Ｎｏ）、セットアップモジュールは、Ｓ２２０９に処理を進め、クライアント１０２の表示部２０７にエラー表示を行い、処理を終了する。
【０２０９】
一方、上記２２０４において、ファイル分離処理に成功したと判断した場合（Ｙｅｓ）、セットアップモジュールは、Ｓ２２０５に処理を進める。
Ｓ２２０５では、セットアップモジュールは、分離した"ｓｉｌｅｎｔ.ｉｎｉ"ファイルを適宜更新する。例えば、分離した"ｓｉｌｅｎｔ.ｉｎｉ"ファイルが図１８（ａ）に示すものであったとする。そして、図示しない処理でインストール後にクライアント１０２の再起動が必要になることが分かった場合、セットアップモジュールは、"ｓｉｌｅｎｔ.ｉｎｉ"ファイル内の［ＩｎｓｔａｌｌＣｏｍｐｌｅｔｅ］セクションを"Ｒｅｂｏｏｔ＝０"から"Ｒｅｂｏｏｔ＝１"に書き換える。書き換えられた"ｓｉｌｅｎｔ.ｉｎｉ"の例を図１８（ｂ）に示す。図１８（ｂ）の例は、図１７（ｂ）の設定情報を反映するとともに、"Ｒｅｂｏｏｔ＝１"に書き換えた例である。
【０２１０】
次に、Ｓ２２０６において、セットアップモジュールは、インストーラを起動する。詳細には、セットアップモジュールは、上記Ｓ２２０３で分離したインストーラ（ｓｅｔｕｐ.ｅｘｅ）に、例えば以下のコマンドによって"ｓｉｌｅｎｔ.ｉｎｉ"ファイルを渡し、起動する。
【０２１１】
「ｓｅｔｕｐ．ｅｘｅ／ｓ ｓｉｌｅｎｔ．ｉｎｉ／ｌｏｇ ｓｉｌｅｎｔ．ｌｏｇ」
上記コマンドは、情報ファイルとして"ｓｉｌｅｎｔ.ｉｎｉ"ファイルを指定し、結果格納ファイルとして"ｓｉｌｅｎｔ.ｌｏｇ"ファイルを指定している。このコマンドにより、インストーラは、"ｓｉｌｅｎｔ.ｉｎｉ"ファイルの指示を読み、"ｓｉｌｅｎｔ.ｉｎｉ"に記載がない項目はデフォルト動作をし、その結果を"ｓｉｌｅｎｔ.ｌｏｇ"に記載する。
【０２１２】
次に、Ｓ２２０７において、セットアップモジュールは、上記Ｓ２２０６で起動したインストーラの処理が完了したか否かを判断する。例えば、インストーラの戻り値が"０"のときは完了、"０"以外はエラーで終了したと判断する。
【０２１３】
上記Ｓ２２０７において、インストーラの処理が完了したと判断した場合（Ｙｅｓ）、セットアップモジュールは、Ｓ２２１０に処理を進める。なお、インストーラの処理が完了した場合、"ｓｉｌｅｎｔ.ｉｎｉ"ファイルの内容に基づく論理プリンタ、図１８（ｂ）の例では、"ｉＲ−ＡＤＶ Ｃ５０５１"、"ｉＲ−ＡＤＶ Ｃ５０４５"という名前の論理プリンタが生成されている。
【０２１４】
Ｓ２２１０では、セットアップモジュールは、インストーラにより生成された論理プリンタのプロパティを設定する。例えば、セットアップモジュールは、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）に用意されているＷｉｎ３２関数ＳｅｔＰｒｉｎｔｅｒ（）を用いて設定する。この関数のＰＲＩＮＴＴＥＲ_ＩＮＦＯ_２構造体のメンバー"ｐＣｏｍｍｅｎｔ"に上記Ｓ２２０３で分離した"ｓｅｔｕｐ.ｉｎｉ"ファイルに記載の"Ｃｏｍｍｅｎｔｓ"を指定することにより、プロパティ設定を行う。
【０２１５】
そして、上記Ｓ２２１０のプロパティ設定を終了すると、セットアップモジュールは、本フローチャートの処理を終了する。
一方、上記Ｓ２２０７において、インストーラの処理が完了しなかったと判断した場合（Ｎｏ）、セットアップモジュールは、Ｓ２２０８に処理を進める。
Ｓ２２０８では、セットアップモジュールは、インストーラが作成した"ｓｉｌｅｎｔ.ｌｏｇ"からエラー内容を取り出し、Ｓ２２０９に処理を進める。
Ｓ２２０９では、セットアップモジュールは、上記Ｓ２２１０で取り出したエラー内容や、ＯＳから取得できるエラー情報からから適宜エラーメッセージを作成し、クライアント１０２の表示部２０７にそのエラーメッセージを表示し、処理を終了する。
【０２１６】
以上説明したように、１度のインストール操作で複数の印刷装置の論理プリンタを情報処理装置へインストールするためのセットアップファイルを容易に印刷装置に登録することができる。そして、このセットアップファイルにより、ユーザは情報処理装置へプリンタドライバをインストールする際に、１度のインストール操作で複数の印刷装置の論理プリンタを適切にインストールすることが可能となり、インストール時のユーザの負荷を軽減することができる。
【０２１７】
また、上述のようなセットアップファイルを印刷装置に登録することができるので、別途ファイルサーバを用意する必要がない。また、セットアップファイルで複数の論理プリンタをインストールする場合でも、論理プリンタ数の増加に比べ、セットアップファイルのファイルサイズは増えない。このため、印刷装置の記憶資源を圧迫することなく、複数の論理プリンタをインストール可能なセットアップファイルを印刷装置に登録することができる。よって、ユーザ及び管理者の利便性が向上する。
【０２１８】
なお、本実施例では、印刷装置のプリンタドライバを情報処理装置にインストールするためのセットアップファイルを印刷装置に登録する構成について説明したが、上述のように、印刷装置は、スキャナ等の他の周辺装置であってもよい。そして、セットアッププログラム（セットアップファイル）は、印刷装置のプリンタドライバをインストールするものに限定されるものではなく、スキャン機能を備える周辺装置のデバイスドライバや、ファクシミリ機能を備える周辺装置のＦＡＸドライバのように、周辺装置のデバイスドライバであればどのようなデバイスドライバをインストールするものであってもよい。
【０２１９】
以上、本発明によれば、ユーザが１度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【０２２０】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０２２１】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０２２２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０２２３】
１０１    情報処理装置（管理装置）
１０２〜１０４    情報処理装置（クライアント）
１０５    印刷装置（プリンタ）
１０６    ネットワーク
【図１】
0005791467.tif 000002
【図２】
0005791467.tif 000003
【図３】
0005791467.tif 000004
【図４】
0005791467.tif 000005
【図５】
0005791467.tif 000006
【図６】
0005791467.tif 000007
【図７】
0005791467.tif 000008
【図８】
0005791467.tif 000009
【図９】
0005791467.tif 000010
【図１０】
0005791467.tif 000011
【図１１】
0005791467.tif 000012
【図１２】
0005791467.tif 000013
【図１３】
0005791467.tif 000014
【図１４】
0005791467.tif 000015
【図１５】
0005791467.tif 000016
【図１６】
0005791467.tif 000017
【図１７】
0005791467.tif 000018
【図１８】
0005791467.tif 000019
【図１９】
0005791467.tif 000020
【図２０】
0005791467.tif 000021
【図２１】
0005791467.tif 000022
【図２２】
0005791467.tif 000023