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