(57)【要約】【課題】印刷装置に登録される１以上のプインタドライバから情報処理装置へインストールするプリンタドライバを容易に選択し、容易にインストール可能にすること。【解決手段】印刷装置１０５のセットアッププログラム更新部６０４が、管理装置１０１から記憶部６０１にアップロードされた１以上のセットアッププログラム６０２に対してプリンタドライバのインストールに必要な自装置の構成情報（機器名、ＩＰアドレス又はホスト名等）を設定して当該１以上のセットアッププログラム６０２を更新する。さらに、印刷装置１０５のＷｅｂサーバ機能部６０５が、クライアント１０２からの要求に応じて、記憶部６０１にアップロードされた１以上のセットアッププログラム６０２の情報をクライアント１０２にＷｅｂページとして提供し、クライアント１０２から選択されたセットアッププログラムをクライアント１０２に送信する。【選択図】図６
2011143636.tif 000002
【特許請求の範囲】
【請求項１】
管理装置から登録される１以上のプリンタドライバのセットアッププログラムを記憶する記憶手段と、
前記記憶手段に記憶された１以上のセットアッププログラムに対してプリンタドライバのインストールに必要な自装置の構成情報を設定して、当該１以上のセットアッププログラムを更新する更新手段と、
情報処理装置からの要求に応じて前記記憶手段に記憶された１以上のセットアッププログラムの情報を前記情報処理装置に送信し、前記情報処理装置から選択されたセットアッププログラムを前記情報処理装置に提供する提供手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記記憶手段に新たなセットアッププログラムが記憶されたか監視する監視手段を有し、
前記更新手段は、前記監視手段により前記記憶手段に新たなセットアッププログラムが記憶されたと判断された場合、該記憶されたセットアッププログラムに対して当該印刷装置の構成情報を設定することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記監視手段は、自装置の構成情報が変化したか監視し、
前記更新手段は、前記監視手段により自装置の構成情報が変化したと判断された場合、該記憶されたセットアッププログラムに対して当該印刷装置の構成情報を設定することを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記印刷装置の構成情報は、当該印刷装置のホスト名、又は、ＩＰアドレスであることを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記印刷装置の構成情報は更に、当該印刷装置の機器名及び設置場所を入力可能なコメントの少なくとも何れかを含むことを特徴とする請求項４に記載の印刷装置。
【請求項６】
１又は複数の印刷装置と、前記１又は複数の印刷装置と通信を行う管理装置とを有する印刷システムであって、
前記管理装置は、
前記印刷装置に対応するプリンタドライバのインストール時に用いる設定情報の入力を受け付ける設定入力手段と、
前記印刷装置に対応するプリンタドライバと、前記設定入力手段によって入力された設定情報とに応じたセットアッププログラムを作成する作成手段と、
前記作成手段によって作成されたセットアッププログラムを、対応する印刷装置に登録する登録手段とを有し、
前記印刷装置は、
前記管理装置から登録される１以上の前記セットアッププログラムを記憶する記憶手段と、
前記記憶手段に記憶された１以上のセットアッププログラムに対して、当該印刷装置の構成情報を設定して、前記１以上のセットアッププログラムを更新する更新手段と、
情報処理装置からの要求に応じて前記記憶手段に記憶された１以上のセットアッププログラムの情報を前記情報処理装置に送信し、前記情報処理装置から選択されたセットアッププログラムを前記情報処理装置に提供する提供手段とを有する、
ことを特徴とする印刷システム。
【請求項７】
記憶手段を備える印刷装置における制御方法であって、
管理装置から登録される１以上のプリンタドライバのセットアッププログラムを前記記憶手段に記憶する記憶工程と、
前記記憶された１以上のセットアッププログラムに対してプリンタドライバのインストールに必要な自装置の構成情報を設定して、当該１以上のセットアッププログラムを更新する更新工程と、
情報処理装置からの要求に応じて前記記憶された１以上のセットアッププログラムの情報を前記情報処理装置に送信し、前記情報処理装置から選択されたセットアッププログラムを前記情報処理装置に提供する提供工程とを有することを特徴とする制御方法。
【請求項８】
１又は複数の記憶手段を備える印刷装置と、前記１又は複数の印刷装置と通信を行う管理装置とを有する印刷システムにおける制御方法であって、
前記管理装置において、
前記印刷装置に対応するプリンタドライバのインストール時に用いる設定情報の入力を受け付ける設定入力工程と、
前記印刷装置に対応するプリンタドライバと、前記入力された設定情報とに応じたセットアッププログラムを作成する作成工程と、
前記作成されたセットアッププログラムを、対応する印刷装置に登録する登録工程とを有し、
前記印刷装置においては、
前記管理装置から登録される１以上の前記セットアッププログラムを前記記憶手段に記憶する記憶工程と、
前記記憶された１以上のセットアッププログラムに対して、当該印刷装置の構成情報を設定して、前記１以上のセットアッププログラムを更新する更新工程と、
情報処理装置からの要求に応じて前記記憶された１以上のセットアッププログラムの情報を前記情報処理装置に送信し、前記情報処理装置から選択されたセットアッププログラムを前記情報処理装置に提供する提供工程とを有することを特徴とする制御方法。
【請求項９】
請求項１乃至５のいずれか１項に記載された印刷装置の手段として、印刷装置に設けられたプロセッサを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷システム、制御方法、及び、プログラムに関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、ＰＣ）から印刷装置に印刷するには、印刷装置を制御し印刷データを作成するプリンタドライバをＰＣにインストールする必要がある。一般的にプリンタドライバは、ＰＣのオペレーティングシステム（ＯＳ）や印刷する印刷装置毎に作成され、印刷装置と同梱されたＣＤ−ＲＯＭ等の記憶媒体によって提供されている。
【０００３】
また、印刷装置の管理者等は、最新のプリンタドライバを、公衆ネットワークを介し印刷装置の製造元が開設したホームページからダウンロードにより入手することが一般的である。さらに、入手したプリンタドライバを、ネットワーク上に共有した記憶装置に配置し、一般ユーザにアナウンスし、一般ユーザがアナウンスを元にＰＣにインストールすることが一般的に行われている。
【０００４】
オフィスに印刷装置が複数導入されると、ユーザ毎に使用する印刷装置が異なることが普通であり、間違いのないようにプリンタドライバのインストール及び接続先の設定等を行うのは、管理者・一般ユーザ共に煩雑な作業であった。
【０００５】
ＰＣにプリンタドライバをインストールする方法として、印刷装置に接続された記憶装置に最新のプリンタドライバを記憶しておき、印刷装置がＰＣから印刷要求を受信した際にＰＣにその最新のプリンタドライバを送付するシステムが提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−０５１８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年の印刷装置では、複数のＰＤＬ（ページ記述言語）に対応するものが存在する。さらに、ユーザ毎にカスタマイズしたプリンタドライバ（例えば、両面印刷をデフォルに設定）を使い分けたいというニーズもある。
【０００８】
ところが、特許文献１の技術では、印刷装置に接続された記憶装置へ複数のプリンタドライバを記憶、アップロードすることを想定していない。そのため、印刷装置からユーザ毎に所望のプリンタドライバ（所望のＰＤＬ、バージョン、カスタマイズされたプリンタドライバ）を選択してインストールすることができなかった。このため、印刷装置からユーザ毎に所望のプリンタドライバを自由に選択してインストールしたい等のニーズがあるにも関わらず、それを実現できなかった。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、印刷装置に登録される１以上のプインタドライバから情報処理装置へインストールするプリンタドライバを容易に選択し、容易にインストールできる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、管理装置から登録される１以上のプリンタドライバのセットアッププログラムを記憶する記憶手段と、前記記憶手段に記憶された１以上のセットアッププログラムに対してプリンタドライバのインストールに必要な自装置の構成情報を設定して、当該１以上のセットアッププログラムを更新する更新手段と、情報処理装置からの要求に応じて前記記憶手段に記憶された１以上のセットアッププログラムの情報を前記情報処理装置に送信し、前記情報処理装置から選択されたセットアッププログラムを前記情報処理装置に提供する提供手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、印刷装置に登録される１以上のプインタドライバから情報処理装置へインストールするプリンタドライバを容易に選択し、容易にインストールできる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態にかかる印刷システムの構成の一例を示す図である。
【図２】情報処理装置１０１及び印刷装置１０５の内部構成を示すブロック図である。
【図３】デバイス選択画面の一例を示す図である。
【図４】アップロード条件設定画面の一例を示す図である。
【図５】ドライバダウンロード画面の一例を示す図である。
【図６】図１に示した印刷システムにおける主要なモジュール構成を示す図である。
【図７】デバイス選択処理の一例を示すフローチャートである。
【図８】アップロード条件設定処理の一例を示すフローチャートである。
【図９】プリンタドライバ取得処理の一例を示すフローチャートである。
【図１０】アップロード処理の一例を示すフローチャートである。
【図１１】セットアッププログラム作成処理の一例を示すフローチャートである。
【図１２】アップロード監視処理の一例を示すフローチャートである。
【図１３】セットアッププログラム更新処理の一例を示すフローチャートである。
【図１４】Ｗｅｂサーバ機能部の処理の一例を示すフローチャートである。
【図１５】セットアッププログラムの構成を示す図である。
【図１６】セットアッププログラム起動時に必要な情報ファイルの構成図である。
【図１７】プリンタドライバインストーラが必要な情報ファイルの構成図である。
【図１８】セットアッププログラムの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
まず、本発明に係る一実施形態としてのシステムについて説明する。
図１は、本発明の実施形態にかかる印刷システムの構成の一例を示す図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１４】
図１において、１０１〜１０４は情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０８に接続されている。さらに、情報処理装置１０１〜１０４は、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク１０８に接続されている他の機器と双方向に通信可能な通信装置を備えている。
【００１５】
１０１は管理装置としての情報処理装置である（以下、他の情報処理装置と区別するため管理装置１０１と呼ぶ）。管理装置１０１は、印刷装置１０５〜１０７の情報を保持し、印刷装置の印刷ログ、動作ログ等を集計し保持する機能を備えている。１０２〜１０４はパーソナルクライアントコンピュータとしての情報処理装置である。以下、管理装置１０１と区別するため、クライアント１０２と呼ぶ。また、以下、１０２を代表して説明する。
【００１６】
１０５〜１０７は印刷装置（以下、プリンタと記載することがある。）であり、図示省略したネットワークインターフェィスを介してネットワーク１０８に接続されている。以下、１０５を代表して説明する。印刷装置１０５は、クライアント１０２、１０３、１０４から送信される印刷データを含むジョブを解析して１ページずつイメージに変換して、１ページ毎に印刷する。また、印刷装置１０５は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等の様々な方式のもののうち何れであってもよい。
ネットワーク１０８には、管理装置１０１、クライアント１０２、１０３、１０４、印刷装置１０５、１０６、１０７等が接続されている。
【００１７】
図２は、図１に示した情報処理装置１０１及び印刷装置１０５の内部構成を示すブロック図である。なお、情報処理装置１０２〜１０４も情報処理装置１０１と同様の構成とする。また、印刷装置１０６〜１０７も印刷装置１０５と同様の構成とする。また、図１と同一のものには同一の符号を付してある。
【００１８】
まず、情報処理装置１０１の詳細構成を説明する。
図２において、２００は情報処理装置の制御部であるＣＰＵ（プロセッサ）である。ＣＰＵ２００は、ハードディスク装置（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳやネットワークプリンタ制御プログラム等を実行する。さらに、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１９】
２０１は記憶部であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データが記憶される。２０２は一時記憶部であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２０】
２０３は記憶媒体読み込み部としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブである。後述する図５に示すように、このＦＤドライブ２０３を介して、記憶媒体としてのフロッピー（登録商標）ディスク（ＦＤ）２０４に記憶されたプログラム等をクライアントである本コンピュータシステムにロードすることができる。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。ＦＤ２０４には、コンピュータによって読み取り可能なプログラムが格納されている。
【００２１】
２０５は外部記憶部の一つであり、大容量メモリとして機能するハードディスク装置（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等が格納されている。さらに、ＨＤ２０５に、スプーラが確保される。なお、スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバではサーバスプーラである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこのＨＤ２０５に生成されて格納される。
【００２２】
２０６はキーボード、２０９はポインティングデバイス（ＰＤ）であり、指示入力部として機能する。２０７はディスプレイ（表示部）であり、キーボード２０６から入力されたコマンドや、ＰＤ２０９により動かされるカーソル、ＯＳやアプリケーションプログラムからの出力を表示するものである。
【００２３】
２０８はシステムバスであり、クライアントであるコンピュータ内のデータの流れを司るものである。
２１０は接続部であり、双方向インタフェース２１２（例えばＵＳＢ）を介して外部装置（例えば、印刷装置１０５）とのデータのやり取りを行うことができる。２１１はネットワークインタフェースカード（ＮＩＣ）であり、ネットワーク１０８を介して外部装置（例えば、印刷装置１０５）とのデータのやり取りを行うことができる。
【００２４】
次に印刷装置１０５の詳細構成を説明する。
印刷装置１０５は、詳細を後述するハードディスク装置（ＨＤ）２２８、接続部２２６、データ制御部（プリンタエンジン）２２５、操作部２２４、外部メモリ２２３、ＰＣＰＵ２２０、ＰＲＡＭ２２２、及びＰＲＯＭ２２１を主要な構成要素とする。これらの構成要素がシステムバス２２７を介して互いに接続されている。
【００２５】
プリンタＣＰＵ（ＰＣＰＵ）２２０は、印刷装置１０５の全体制御を司るプロセッサである。ＰＣＰＵ２２０は、後述するＰＲＯＭ２２１或いは外部メモリ２２３に記憶された制御プログラムに基づいて、接続部２２６で受信したプリンタ制御コマンド（送信データ）より、画像信号をデータ制御部２２５に送信する。ＨＤ２２８は、大容量の記憶装置であり、フォントデータや印刷ジョブ等のデータの保存先として利用される。また、ＨＤ２２８は、図示しない外部装置としての記憶装置と置き換えが可能である。なお、ＨＤ２２８を外部の記憶装置と置き換える場合は、印刷装置１０５はその外部の記憶装置と接続部２２６を介し、データの送受信を行う。
【００２６】
ＰＲＡＭ２２２は、ＰＣＰＵ２２０の主メモリとして機能し、ＰＣＰＵ２２０による制御実行時にワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ２２３は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。ＰＲＯＭ２２１は、プリンタ内部メモリであり、外部メモリ２２３と同様に、各種データや本印刷装置を制御するプリンタ制御プログラム等を記憶している。
【００２７】
データ制御部２２５はプリンタエンジンである。データ制御部２２５は、ＰＣＰＵ２２０により制御され、ＰＣＰＵ２２０がＰＲＯＭ２２１或いは外部メモリ２２３に記憶された制御プログラムを実行することによりシステムバス２２７を介して出力された画像信号を受け、実際の印刷処理を行う。
【００２８】
操作部２２４は、操作パネルや操作スイッチ等の入力部、及びＬＥＤ、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは、操作部２２４を介して本実施の形態例印刷装置の設定を指示や、確認することが可能である。
【００２９】
２２６は接続部であり、前述の双方向インタフェース２１２を介して情報処理装置１の接続部２１０に接続し、印刷制御コマンド（送信データ）を受信や、印刷装置内部の状態等を通知する事も可能である。
【００３０】
２２９はネットワークインタフェースカード（ＮＩＣ）であり、ネットワーク１０８を介して外部装置（例えば、情報処理装置１０１〜１０４）とのデータのやり取りを行うことができる。なお、管理装置１０１と印刷装置１０５とが、ネットワーク１０８を介して接続される構成であっても、双方向インタフェース２１２を介して接続される構成であっても、本発明は適用可能である。
【００３１】
図６は、図１に示した印刷システムにおける主要なモジュール構成を示す図である。なお、説明の簡便のため記憶装置を、印刷装置に包含される記憶部として説明する。
図６に示すように、印刷装置１０５は、記憶部６０１、アップロード監視部６０３、セットアッププログラム更新部６０４、Ｗｅｂサーバ機能部６０５を有する。なお、記憶部６０１は、印刷装置１０５のＨＤ２２８等に対応する。また、６０３〜６０５は、印刷装置１０５のＰＣＰＵ２２０がＰＲＯＭ２２１又は外部メモリ２２３に記録されたアプリケーションプログラムを読み出して実行することにより実現される機能に対応する。
【００３２】
記憶部６０１は、管理装置１０１からアップロードされる１以上のセットアッププログラム６０２を記憶可能（登録可能）である。セットアッププログラム６０２は、プリンタドライバインストーラと論理プリンタ作成時に必要となる各種設定を包含する実行プログラムである。なお、記憶部６０１に記憶される１以上のセットアッププログラムは、ＰＤＬやバージョンの異なるセットアッププログラムや、例えばカラー専用や２ｉｎ１専用等にカスタマイズされたセットアッププログラム等を含むものである。
【００３３】
アップロード監視部６０３は、記憶部６０１へのセットアッププログラム６０２のアップロードを監視し、アップロードがあるとセットアッププログラム更新部６０４にセットアッププログラム６０２の更新を依頼する。また、アップロード監視部６０３は、印刷装置１０５の構成情報（デバイス情報ともいう）を監視し、構成情報に変更が発生した場合はセットアッププログラム更新部６０４にセットアッププログラム６０２の更新を依頼する。なお、構成情報とは、印刷装置に設定された情報、例えばＩＰアドレス、ホスト名、機器名などである。
【００３４】
セットアッププログラム更新部６０４は、アップロード監視部６０３からの指示に基づき、セットアッププログラム６０２の内部情報（例えばＩＰアドレス、ホスト名、機器名など）を書き換える。
【００３５】
Ｗｅｂサーバ機能部６０５は、Ｗｅｂサーバとして動作するもので、後述する図５に示すドライバダウンロード画面を含み、クライアント１０２からの要求に応じて、各種Ｗｅｂページを提供するものである。
管理装置１０１は、プリンタドライバ取得部６１１、デバイス選択部６１２、アップロード条件設定部６１３、セットアッププログラム作成部６１４、アップロード部６１５を有する。なお、６１１〜６１５は、管理装置１０１のＣＰＵ２００がＨＤ２０５又はＦＤ２０４に記録されたアプリケーションプログラムを読み出して実行することにより実現される機能に対応する。
【００３６】
プリンタドライバ取得部６１１は、後述する図４に示すアップロード条件設定画面から起動され、プリンタドライバインストーラを取り込む。デバイス選択部６１２は、後述する図３に示すデバイス選択画面を管理装置１０１の表示部２０７に表示し、デバイスの選択を制御する。
【００３７】
アップロード条件設定部６１３は、後述する図４に示すアップロード条件設定画面を管理装置１０１の表示部２０７に表示し、アップロード条件の設定入力を制御する。
セットアッププログラム作成部６１４は、プリンタドライバ取得部６１１が取得したプリンタドライバインストーラに対して、アップロード条件設定部６１３から取得したインストールに必要な設定情報を適用して、セットアッププログラムを作成する。アップロード部６１５は、セットアッププログラム作成部６１４が作成したセットアッププログラムを印刷装置１０５の記憶部６０１に送信する。
【００３８】
クライアント１０２は、Ｗｅｂブラウザ６２０を有し、ユーザの指示により印刷装置１０５のＷｅｂサーバ機能部６０５にアクセスし、印刷装置１０５からセットアッププログラム６０２をダウンロードする。ユーザは、クライアント１０２にダウンロードされたセットアッププログラムを起動することにより、容易にプリンタドライバをインストールすることができる。なお、Ｗｅｂブラウザ６２０は、情報処理装置１０２のＣＰＵ２００がＨＤ２０５又はＦＤ２０４に記録されたＷｅｂブラウザプログラムを読み出して実行することにより実現される。
【００３９】
図３は、管理装置１０１のデバイス選択部６１２により管理装置１０１の表示部２０７に表示されるデバイス選択画面の一例を示す図である。
図３に示すデバイス選択画面では、デバイスを管理装置１０１の管理下に追加することができ、管理下のデバイスのデバイス名３０１１が、状態３０１２、製品名３０１３、ＩＰアドレス３０１４、シリアルNo.３０１５、設置場所３０１６、コメント３０１７等の属性情報と共にデバイスリスト３０１に一覧表示される。なお、デバイスとは、印刷単機能を有するプリンタ（印刷装置）、ＦＡＸ機能やコピー機能を併せ持つ複合機等を意味する。以下、プリンタを代表として説明する。なお、管理するデバイスの追加は、「追加」ボタン３０２を操作することにより行うことができる。
【００４０】
なお、デバイス名３０１１、製品名３０１３、ＩＰアドレス３０１４、シリアルNo.３０１５、設置場所３０１６、コメント３０１７等の情報は、デバイスに設定されている情報であり、管理装置１０１がデバイスと通信してデバイスから取得される。状態３０１２も、管理装置１０１がデバイスと通信してデバイスから取得される。また、デバイス選択画面の一覧表示（デバイスリスト３０１）からユーザによりプリンタが選択され、「ドライバ」ボタン３０３が押下されると、図４に示すアップロード条件設定画面が管理装置１０１の表示部２０７に表示される。
【００４１】
図４は、図３に示したデバイス選択画面から起動され管理装置１０１の表示部２０７に表示されるアップロード条件設定画面の一例を示す図である。なお、このアップロード条件設定画面は、アップロード条件設定部６１３により表示される。
図４に示すアップロード条件設定画面にて、「参照」ボタン４０１が、ユーザによって押下されると、不図示のファイル選択ダイアログが管理装置１０１の表示部２０７に表示される。そして、ユーザによってファイル選択ダイアログからプリンタドライバインストーラの「setup.exe」ファイルが指定されると、プリンタドライバ取得部６１１は、指定された「setup.exe」ファイルや付随するファイルからプリンタドライバインストーラのドライバ種類、バージョンを読み込む。また、プリンタドライバ取得部６１１は、プリンタドライバ取得部６１１により読み込まれたドライバ種類、バージョンをそれぞれ、アップロード条件設定画面のテキストエリア「ドライバ種類：」４０２、「バージョン：」４０３に反映させる。
【００４２】
さらに、プリンタドライバ取得部６１１は、プリンタドライバインストーラが保持するドライバモデルのリストと、図３のデバイス選択画面で指定されたプリンタのモデル名を比較し、一致するものを「ドライバモデル」コンボボックス４０４に表示する。
さらに、プリンタドライバ取得部６１１は、「ドライバモデル」コンボボックス４０４に設定したドライバモデル名を「表示名」テキストボックス４０５の初期値として設定する。「表示名」テキストボックス４０５は、ユーザによって任意の文字列に編集可能である。「表示名」テキストボックス４０５で指定された文字列は、後述する図５に示すドライバダウンロードページに表示され、ダウンロード実行者が目的ドライバを判断することに利用される。
【００４３】
「アップロードNo.」コンボボックス４０６は、ユーザにアップロードするプリンタドライバの論理番号の指定を許可する。この論理番号は「１」〜「３」を指定可能である。既に論理番号が使用さている場合、同番号を指定してアップロードを実行すると、既存のアップロードされたドライバは無効化され、新規にアップロードされたドライバが有効になる。本実施例では、アップロードするプリンタドライバの論理番号の指定可能範囲を「１」〜「３」とし、３つ（例えば、ＰＤＬが異なる、バージョンが異なる、カスタマイズされた）のセットアッププログラムを印刷装置に保持させることができる構成例を示している。しかし、本発明はこれに限定されるものではなく、アップロードするプリンタドライバの論理番号の指定可能範囲を「１」〜「Ｎ（４以上の整数）」とし、４以上のセットアッププログラムを印刷装置に保持させる構成でもよい。もちろん、アップロードするプリンタドライバの論理番号の指定可能範囲を「１」〜「２」とし、４つのセットアッププログラムを印刷装置に保持させる構成でもよい。
【００４４】
「コメント」テキストボックス４０７では、ユーザに任意のコメントを入力させる。ここで指定された文字列は、後述のドライバダウンロードページに表示され、ダウンロード実行者が目的ドライバを判断することに利用される。さらに、情報処理装置に作成されたプリンタオブジェクト（以下、情報処理装置に作成されたプリンタオブジェクトのことを論理プリンタとする）のプロパティにコメントとして追加される。
【００４５】
「ポート」４０８では、ユーザに論理プリンタに接続するポートの種類を「ＩＰアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンから選択可能とする。さらに、ユーザによって「ポート名を指定する」ラジオボタンを指定した場合は、「ポート名」テキストボックスが入力可能になり、ユーザに任意のポート名の入力を許可する。
【００４６】
「アドバンスドボックスパス」テキストボックス４０９では、ユーザにプリンタドライバをアップロードする記憶装置のパスを指定させる。「ユーザ名」テキストボックス４１０では、ユーザに「アドバンスドボックスパス」テキストボックスで指定されたパスへのアクセス権のあるユーザ名を指定させる。「パスワード」テキストボックス４１１では、ユーザに「アドバンスドボックスパス」テキストボックスで指定されたパスへのアクセス権のあるユーザのパスワードを指定させる。
【００４７】
４１２はＯＫボタンで、このボタンが押下されると、アップロード条件設定部６１３は、ファイル選択ダイアログで指定されたプリンタドライバインストーラに表示名やアップロードNo.等の設定を反映したものをセットアッププログラムとして構築する。そして、該構築されたセットアッププログラムを、アップロード部６１５が、印刷装置１０５の記憶部６０１にアップロードする。
【００４８】
図５は、印刷装置１０５のＷｅｂサーバ機能部６０５にクライアント１０２のＷｅｂブラウザ６２０からアクセスしたときに、クライアント１０２の表示部２０７に表示されるドライバダウンロード画面の一例を示す図である。
図５に示すドライバダウンロード画面は、印刷装置１０５の記憶部６０１にアップロードされたセットアッププログラム６０２の一覧を、「No.」５０１、「表示名」５０２、「ドライバ種類」５０３、「バージョン」５０４、「コメント」５０５、及び「ダウンロード」ボタン５０６と共に表示する。
【００４９】
「No.」５０１は、ドライバアップロード条件設定画面の「アップロードNo.」４０６で指定された番号を表示する。「表示名」５０２は、アップロード条件設定画面の「表示名」４０５で指定された文字列を表示する。
「ドライバ種類」５０３は、アップロード条件設定画面の「ドライバ種類：」４０２で設定した文字列を表示する。「コメント」５０４は、アップロード条件設定画面の「コメント」４０７で指定された文字列を表示する。「バージョン」５０５は、アップロード条件設定画面の「バージョン：」４０３で設定した文字列を表示する。
「ダウンロード」ボタン５０６がユーザによって押下されると、図示しないダウンロードダイアログが表示され、ダウンロードディレクトリに当該アップロードNo.のセットアッププログラムがダウンロードされる。
【００５０】
次に、デバイス選択部６１２の基本フローについて図７を用いて説明する。
図７は、デバイス選択部６１２によるデバイス選択処理の一例を示すフローチャートである。説明の簡便のために、デバイス選択部６１２に係るプログラムは予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼び出され、ＣＰＵ２００によって実行されているものとする。また、デバイス選択画面も管理装置１０１の表示部２０７に表示されているものとする。さらに、デバイス選択画面に登録されているデバイスは全て印刷装置（プリンタ）とする。
【００５１】
Ｓ７０１で、デバイス選択部６１２は、イベントが発生したか否かを確認する。例えば、Microsoft社のMSDN Library（登録商標）で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するＩＤが、イベントとして通知される。イベント発生しないと判断した場合は、デバイス選択部６１２は、Ｓ７０１を繰り返す。
一方、上記Ｓ７０１にて、イベントが発生したと判断した場合、Ｓ７０２において、デバイス選択部６１２は、イベントが「デバイス選択」か否かを判断する。ここでは、発生したイベントに図３に示したデバイス選択画面のデバイスリスト３０１のレコードの示すＩＤと、ＰＤ２０９の左ボタン操作のＩＤが含まれる場合は、イベントが「デバイス選択」であると判断する。
【００５２】
上記Ｓ７０２にて、イベントが「デバイス選択」と判断した場合、Ｓ７０３において、デバイス選択部６１２は、予めＲＡＭ２０２やＨＤ２０５等の記憶装置に確保しているワーク領域のプリンタリストにレコードを追加する。プリンタのリストには、選択されたデバイスのプリンタモデル名、ＩＰアドレス等のプリンタ固有の情報が含まれる。そして、デバイス選択部６１２は、Ｓ７０１に処理を戻す。
【００５３】
一方、上記Ｓ７０２にて、イベントが「デバイス選択」でないと判断した場合、Ｓ７０４において、デバイス選択部６１２は、イベントが「ドライバ」ボタン押下か否かを判断する。ここでは、発生したイベントに図３に示したデバイス選択画面の「ドライバ」ボタン３０３を示すＩＤと、ＰＤ２０９の左ボタン操作のＩＤが含まれる場合は、イベントが「ドライバ」ボタン押下であると判断する。
【００５４】
上記Ｓ７０４にて、イベントが「ドライバ」ボタン押下と判断した場合、デバイス選択部６１２は、図４に示したアップロード条件設定画面を管理装置１０１の表示部２０７に表示する。そして、Ｓ７０５において、デバイス選択部６１２は、上記Ｓ７０３で作成したプリンタリストをアップロード条件設定部６１３に渡す。これにより、アップロード条件設定部６１３は、後述のアップロード条件設定処理（図８）を行う。なお、アップロード条件設定処理内では、プリンタドライバ取得部６１１によるプリンタドライバインストーラの取得も行われる。
【００５５】
上記Ｓ７０５が終了すると、Ｓ７０６において、デバイス選択部６１２は、上記Ｓ７０３で作成したデバイスリストと、上記Ｓ７０５で取得したプリンタドライバインストーラとアップロード条件をアップロード部６１５に渡す。これにより、アップロード部６１５は、後述のアップロード処理（図１０）を行う。そして、上記Ｓ７０６が終了すると、デバイス選択部６１２は、Ｓ７０１に処理を戻す。
【００５６】
一方、上記Ｓ７０４にて、イベントが「ドライバ」ボタン押下でないと判断した場合、Ｓ７０７において、デバイス選択部６１２は、イベントが「終了」ボタン押下か否かを判断する。ここでは、発生したイベントに、図３に示したデバイス選択画面の「終了」ボタン（アイコン）３０４を示すＩＤと、ＰＤ２０９の左ボタン操作のＩＤが含まれる場合は、イベントが「終了」ボタン押下と判断する。
【００５７】
上記Ｓ７０７にて、イベントが「終了」ボタン押下と判断した場合、デバイス選択部６１２は、所定の手続きに基づき、ＲＡＭ２０２やＨＤ２０５等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
一方、上記Ｓ７０７にて、イベントが「終了」ボタン押下でないと判断した場合、デバイス選択部６１２は、Ｓ７０１に処理を戻す。
【００５８】
次に、図７のＳ７０５のアップロード条件設定処理を、図８を用いて説明する。
図８は、アップロード条件設定部６１３によるアップロード条件設定処理の一例を示すフローチャートである。説明の簡便のために、アップロード条件設定部６１３に係るプログラムは予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼び出され、ＣＰＵ２００によって実行されているものとする。また、図４に示したアップロード条件設定画面も管理装置１０１の表示部２０７に表示されているものとする。
【００５９】
Ｓ８０１において、アップロード条件設定部６１３は、イベントが発生したか否かを判断する。
上記Ｓ８０１にて、イベントが発生していないと判断した場合、Ｓ８０２において、アップロード条件設定部６１３は、設定が完了したか否かを判断する。ここでは、図４に示したアップロード条件設定画面上の全項目に値が設定済の場合に設定が完了したと判断する。
【００６０】
上記Ｓ８０２にて設定完了と判断した場合、Ｓ８０３において、アップロード条件設定部６１３は、図４に示したアップロード条件設定画面の「ＯＫ」ボタン４１２を有効化し、Ｓ８０１へ処理を戻す。
一方、上記Ｓ８０２にて設定完了でないと判断した場合、Ｓ８０４において、アップロード条件設定部６１３は、図４に示したアップロード条件設定画面の「ＯＫ」ボタン４１２を無効化し、Ｓ８０１へ処理を戻す。
【００６１】
一方、上記Ｓ８０１にて、イベントが発生したと判断した場合、Ｓ８０５において、アップロード条件設定部６１３は、発生したイベントが「ファイルパス設定」か否かを判断する。ここでは、発生したイベントに図４に示したアップロード条件設定画面の「参照」ボタン４０１を示すＩＤと、ＰＤ２０９の左ボタン操作のＩＤが含まれる場合は、発生したイベントが「ファイルパス設定」と判断する。
【００６２】
Ｓ８０５にて、発生したイベントが「ファイルパス設定」であると判断した場合、アップロード条件設定部６１３は、不図示のファイル選択ダイアログが管理装置１０１の表示部２０７に表示する。そして、ユーザによってファイル選択ダイアログからプリンタドライバインストーラの「setup.exe」ファイルが指定されると、Ｓ８０６において、アップロード条件設定部６１３は、プリンタドライバ取得部６１１を呼び出す。これにより、プリンタドライバ取得部６１１は、後述のプリンタドライバ取得処理（図９）を行う。そして、上記Ｓ８０５のプリンタドライバ取得処理が終了すると、アップロード条件設定部６１３は、Ｓ８０１に処理を戻す。
【００６３】
一方、上記Ｓ８０５にて、発生したイベントが「ファイルパス設定」でないと判断した場合、Ｓ８０７において、アップロード条件設定部６１３は、発生したイベントが「ＯＫ」ボタン押下か否かを判断する。ここでは、発生したイベントに図４に示したアップロード条件設定画面の「ＯＫ」ボタン４１２を示すＩＤと、ＰＤ２０９の左ボタン操作のＩＤが含まれる場合は、発生したイベントが「ＯＫ」ボタン押下と判断する。
上記Ｓ８０７にて、発生したイベントが「ＯＫ」ボタン押下でないと判断した場合、アップロード条件設定部６１３は、Ｓ８０１へ処理を戻す。
一方、上記Ｓ８０７にて、発生したイベントが「ＯＫ」ボタン押下と判断した場合、アップロード条件設定部６１３は、アップロード条件設定処理を終了する。
【００６４】
次に、図８のＳ８０６のプリンタドライバ取得処理を、図９を用いて説明する。
図９は、プリンタドライバ取得部６１１によるプリンタドライバ取得処理の一例を示すフローチャートである。説明の簡便のために、プリンタドライバ取得部６１１に係るプログラムは予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼び出され、ＣＰＵ２００によって実行されているものとする。
【００６５】
Ｓ９０１において、プリンタドライバ取得部６１１は、ドライバ情報ファイルを読み込む。詳細には、ユーザによって図示しないファイル選択ダイアログから指定された「setup.exe」ファイルのパス情報を取得し、同パス以下からドライバ情報ファイル（setup.inf）を検索する。ドライバ情報ファイルが見つかったら、所定のフォーマットに従いファイルを検索し、バージョン情報やドライバの種類の情報を抜き出し、ＲＡＭ２０２等の記憶装置に予め確保したワーク領域に保存する。
【００６６】
次に、Ｓ９０２において、プリンタドライバ取得部６１１は、上記Ｓ９０１で取得したバージョン情報、ドライバの種類を、管理装置１０１の表示部２０７に表示しているアップロード条件設定画面のテキストエリア「バージョン情報：」４０２、「ドライバ種類：」４０３に書き込む。
【００６７】
次に、Ｓ９０３において、プリンタドライバ取得部６１１は、ドライバモデル名を設定する。詳細には、ドライバ情報ファイルを検索し、プリンタに相応しいドライバモデル名を検索する。例えば、Microsoft社のMSDN Library（登録商標）で開示されている方法では、ドライバ情報ファイル（setup.inf）のモデルセクションに、ドライバモデル名とハードウェアＩＤを１つのエントリとして記載する方法が開示されている。その記載に従い、Ｓ９０１で見つけたドライバ情報ファイルから、デバイスリスト３０１から選択されたプリンタの持つハードウェアＩＤと同一の記載を全検索する。これにより、見つけたドライバモデル名を、アップロード条件設定画面の「ドライバモデル名」コンボボックス４０４のリスト候補とし、先頭候補を選択状態で設定する。なお、本ステップで設定するドライバモデル名は、図３デバイス選択アプリケーションが表示しているデバイスリスト３０１から選択された先頭デバイスのドライバモデル名（プリンタモデル名）とする。また、ドライバモデル名が見つからないときは、ドライバ情報ファイルに記載されている全てのドライバモデル名を「ドライバモデル名」コンボボックス４０４のリスト候補とし、初期状態ではどのドライバモデルも選択されていない状態とする。
次に、Ｓ９０４において、プリンタドライバ取得部６１１は、上記Ｓ９０３で設定した「ドライバモデル名」コンボボックス４０４の先頭リストを表示名テキストボックスに設定し、プリンタドライバ取得処理を終了する。
【００６８】
次に、図７のＳ７０６のアップロード処理を、図１０を用いて説明する。
図１０は、アップロード部６１５によるアップロード処理の一例を示すフローチャートである。説明の簡便のために、アップロード部６１５に係るプログラムは予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼び出され、ＣＰＵ２００によって実行されているものとする。また、アップロード対象とするデバイスリスト（プリンタリスト）、プリンタドライバインストーラ、及びアップロードに必要とする情報は、デバイス選択部６１２からアップロード部６１５に渡され、ＲＡＭ２０２等の記憶領域に確保したワーク領域に保持されているものとする。なお、アップロードに必要とする情報とは、図７のＳ７０５で設定したアップロード条件等を示す。
【００６９】
Ｓ１００１において、アップロード部６１５は、セットアッププログラム作成部６１４を呼び出し、必要な情報（図７のＳ７０５で設定したアップロード条件）、及び、アップロード対象のプリンタドライバインストーラを渡す。これにより、セットアッププログラム作成部６１４は、後述のセットアッププログラム作成処理（図１１）を行う。
【００７０】
上記Ｓ１００１が終了すると、Ｓ１００２において、アップロード部６１５は、デバイス選択部６１２から渡されたプリンタリスト内のデバイスとＳ１００１で作成されたセットアッププログラムのドライバのモデル名が一致しているか否かを判断する。ここでは、プリンタリストから１つプリンタを取り出し、該プリンタのモデル名と上記Ｓ１００１で作成されたセットアッププログラムのドライバのモデル名が一致しているときは、モデル名が一致していると判断する。例えば、プリンタのモデル名が"Cxxxn xR-ADV C5051"で、ドライバのモデル名が"Cxxxn xR-ADV C5051/5041 LIPS LX"のようにプリンタモデル名を含む場合にも、モデル名が一致していると判断する。
【００７１】
上記Ｓ１００２にて、モデル名が一致していると判断した場合、Ｓ１０３において、アップロード部６１５は、上記Ｓ１００１で作成したセットアッププログラムをネットワーク１０８（又は、双方向インタフェース２１２）を介して送信する。すなわち、アップロード部６１５は、上記Ｓ１００１でセットアッププログラム作成部が作成したセットアッププログラムを、アップロード条件設定画面の設定値（アドバンスドボックスパス４０９、ユーザ名４１０、パスワード４１１等）に従い、印刷装置１０５の記憶部６０１に配置（登録）する。
【００７２】
次に、Ｓ１００４において、アップロード部６１５は、ネットワーク１０８（又は、双方向インタフェース２１２）を介して、印刷装置１０５にアップロード通知を行う。すなわち、アップロード部６１５は、所定の手続きに基づき予め用意された通信部（ＮＩＣ２１１又は接続部２１０）を用いて、印刷装置１０５にアップロードしたパス、ファイル名、及び、印刷装置が保持するダウンロードページの作成に必要な情報を、アップロード通知として、印刷装置１０５に通知する。なお、上記ダウンロードページの作成に必要な情報とは、図４のアップロードNo.４０６、表示名４０５、ドライバ種類４０２、バージョン４０３、コメント４０７に対応する情報を示す。そして、アップロード部６１５は、Ｓ１００５に処理を進める。
【００７３】
一方、上記Ｓ１００２にて、モデル名が一致していないと判断した場合、アップロード部６１５は、そのままＳ１００５へ処理を進める。
Ｓ１００５において、アップロード部６１５は、全プリンタに対して上記の処理が終了したか否かを判断する。
上記Ｓ１００５にて、未だ全プリンタへの処理が終了していないと判断した場合、アップロード部６１５は、Ｓ１００２に処理を戻す。
一方、上記Ｓ１００５にて、既に全プリンタへの処理が終了したと判断した場合、アップロード部６１５は、アップロード処理を終了する。
【００７４】
次に、図１０のＳ１００１のセットアッププログラム作成処理を、図１１、図１５（Ａ）、図１５（Ｂ）、図１６（Ａ）、図１７（Ａ）を用いて説明する。
図１１は、セットアッププログラム作成部６１４によるセットアッププログラム作成処理の一例を示すフローチャートである。説明の簡便のために、セットアッププログラム作成部６１４に係るプログラムは予め、管理装置１０１のＨＤ２０５にインストールされ、ＲＡＭ２０２に呼び出され、ＣＰＵ２００によって実行されているものとする。また、セットアッププログラムの作成に必要な情報、及び、プリンタドライバインストーラは、アップロード部６１５から適宜渡され、ＲＡＭ２０２等の記憶領域に確保したワーク領域に保持されているものとする。なお、セットアッププログラムの作成に必要な情報とは、図７のＳ７０５で設定したアップロード条件等を示す。
【００７５】
Ｓ１１０１において、セットアッププログラム作成部６１４は、一時フォルダを作成する。例えば、ＯＳが提供している機能を利用し、管理装置１０１のＲＡＭ２０２、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダを作成する。
次に、Ｓ１１０２において、セットアッププログラム作成部６１４は、上記Ｓ１１０１で作成した一時フォルダに、図１５（Ａ）に示す初期セットアッププログラムを作成する。ここで、図１５（Ａ）を用いて初期セットアッププログラムについて説明する。
【００７６】
図１５は、セットアッププログラムの構成を示す図である。なお、図１５（Ａ）は初期セットアッププログラム、図１５（Ｂ）はプリンタドライバインストーラ結合後のセットアッププログラムに対応する。
図１５（Ａ）に示すように、初期セットアッププログラムは、ヘッダ部１５０１と、プログラム部１５０２から構成される。
図１５（Ａ）に示すように、ヘッダ部１５０１には、プログラム部の動作を決定するための様々なパラメータが格納されている。パラメータには、一例として、Offset_to_entry、Size_of_all_entry、size_of_file_entry、num_of_entryがある。なお、Offset_to_entryは、結合ファイルの情報を格納している領域のセットアッププログラムの先頭からのオフセットを示す。Size_of_all_entryは、結合ファイルの情報を格納している領域のサイズの合計サイズを示す。size_of_file_entryは、結合ファイルの情報を格納している領域のサイズを示す。num_of_entryは、結合ファイルの情報を格納している領域の総数を示す。初期セットアッププログラムでは、結合されているファイルがないので、上記の各パラメータには全て「０」がセットされている。
プログラム部１５０２には、ヘッダを参照し、結合ファイルの位置を特定し、結合されているプリンタドライバインストーラ（後述する）を分離し、プリンタドライバインストーラを起動するためのプログラムが格納されている。
【００７７】
以下、図１１のフローチャートの説明に戻る。
次に、Ｓ１１０３において、セットアッププログラム作成部６１４は、上記Ｓ１１０１で作成した一時フォルダに、図１６（Ａ）、図１７（Ａ）に示す情報ファイル（「setup.ini」、「silent.ini」）を作成する。ここで、図１６、図１７を用いて情報ファイルについて説明する。
【００７８】
図１６は、セットアッププログラム起動時に必要な情報ファイルの構成の一例を示す図である。
図１６に示す情報ファイルは、セットアッププログラム起動時に必要な情報、及び、後述のダウンロードページ作成処理に必要な情報を記載した情報ファイルで、ファイル名は「setup.ini」である。
図１６（Ａ）はセットアッププログラム作成直後の「setup.ini」に対応し、図１６（Ｂ）はセットアッププログラム更新後の「setup.ini」に対応する。
図１６に示すように、「setup.ini」は、[DriverUploadInfo]セクションを持ち、DriverModelName、PrinterName、Comments、PortType、PortNameの設定が可能である。
なお、DriverModelNameは、ドライバモデル名を示し、Ｓ１１０３では、アップロード条件内のドライバモデル名（図４の４０４）が設定される。PrinterNameは、ＰＣにインストールする論理プリンタ名を示し、Ｓ１１０３では、アップロード条件内の表示名（図４の４０５）が設定される。Commentsは、ＰＣにインストールした論理プリンタに設定するコメントを示し、Ｓ１１０３では、アップロード条件内のコメント（図４の４０７）が設定される。PortTypeは、ポートの種類（１：ＩＰアドレス、２：ホスト名、３：ポート名）を示し、Ｓ１１０３では、アップロード条件内のポート（図４の４０８）が設定される。PortNameは、ポート名（PortType＝３のときのみ有効）を示し、Ｓ１１０３では、アップロード条件内のポート名（図４の４０８内のポート名）が設定される。
図１６（Ａ）の例では、ドライバモデルは"Cxxxn xR-ADV C5045/5051 LIPS LX"、プリンタ名は、"Cxxxn xR-ADV C5051_LIPSLX"、コメントは"3F share printer"、ポートの種類はＩＰアドレスを意味している。
【００７９】
図１７は、プリンタドライバインストーラが必要な情報ファイルの構成の一例を示す図である。
図１７に示す情報ファイルは、結合されたセットアッププログラムから分離されたプリンタドライバインストーラが必要な情報を記載したファイルであり、ファイル名は「silent.ini」である。
図１７（Ａ）はセットアッププログラム作成直後の「silent.ini」に対応し、図１７（Ｂ）は更新後の「silent.ini」に対応する。
図１７に示すように、「silent.ini」は、[InstallComplete]、[SelectJob]、[PrinterInfo]セクションを持ち、Reboot、SelectJob、PRT1の設定が可能である。
なお、Rebootは、インストール終了後にＰＣのリブートを制御するフラグ（０：リブートなし、１：リブート）に対応する。SelectJobは、プリンタドライバのインストールモード（０：新規インストール、１：上書きインストール、２：インストールしない）に対応する。PRT1は、プリンタ名／ドライバモデル／接続ボートを指定する。
図１７（Ａ）の例では、リブートなし、上書きインストールを指定している（図１１のＳ１１０３で設定）。プリンタ名、ドライバモデル、接続ポートは、初期状態（図１１のＳ１１０３の時点）では未設定である。これら未設定項目は、後述のセットアッププログラム更新処理（図１３）で設定される。
【００８０】
以下、図１１のフローチャートの説明に戻る。
次に、Ｓ１１０４において、セットアッププログラム作成部６１４は、上記Ｓ１１０２で作成した初期セットアッププログラムに、上記Ｓ１１０３で作成した情報ファイル（「setup.ini」、「silent.ini」）と、上記図８のＳ８０６で取得したドライバインストーラ（「setup.exe」）を結合する。
【００８１】
次に、Ｓ１１０５において、セットアッププログラム作成部６１４は、上記Ｓ１１０４で作成したセットアッププログラム（図１５（Ａ）に示す）のヘッダ部１５０１を書き換える。例えば、図１５（Ｂ）に示すように書き換える。
詳細には、ヘッダ部１５０１のOffset_to_entryには、結合ファイルの情報を格納している領域のセットアッププログラム先頭からのオフセットである「４０９６」を設定する。また、Size_of_all_entryには、結合ファイルの情報を格納している領域のサイズの合計サイズである「１５３６」を設定する。また、size_of_file_entryには、結合ファイルの情報を格納している領域のサイズである「５１２」を設定する。また、num_of_entryには、結合ファイルの情報を格納している領域の総数である「３」を設定する。
【００８２】
さらに、結合ファイルの情報を格納する３つ領域をOffset_to_entryで指定される領域に確保し、該確保した３つの領域に、結合したファイルの情報を格納する。
なお、結合したファルは、先頭から、上記Ｓ１１０３で作成した「setup.ini」、プリンタドライバ取得部６１１が取得してアップロード部６１５から渡されたプリンタドライバインストーラ、上記Ｓ１１０３で作成した「silent.ini」である。それぞれのファイルに対応する領域に、各ファイルの情報として、OFFSET、Size、Type、FILENAMEをそれぞれセットする。なお、OFFSETには、結合されたファイルが位置するセットアッププログラム先頭からのオフセットをセットする。Sizeには、結合されたファイルのサイズをセットする。Typeには、結合されたファイルのタイプ（１：実行ファイル、２：テンポラリファイル、３：情報ファイル、４：その他）をセットする。FILENAMEには、結合されたファイル名をセットする。
セットアッププログラム作成部６１４は、Ｓ１１０５の処理（セットアッププログラムのヘッダ書き換え）が終了したら、セットアッププログラム作成処理を終了する。
【００８３】
次に、印刷装置１０５のアップロード監視部６０３のアップロード監視処理を、図１２を用いて説明する。
図１２は、印刷装置１０５のアップロード監視部６０３のアップロード監視処理の一例を示すフローチャートである。なお、アップロード監視部６０３に係るプログラムは予め、印刷装置１０５のＰＲＯＭ２２１からＰＲＡＭ２２２に呼び出され、ＰＣＰＵ２２０によって実行されているものとする。
【００８４】
Ｓ１２０１において、アップロード監視部６０３は、管理装置１０１からのアップロード通知があるか否かを判断する。ここでは、所定の手続きに基づきネットワーク１０８（又は、双方向インタフェース２１２）を介し、ＮＩＣ２２９（又は、接続部２２６）を通り受信するパケットを検索する。そして、所定フォーマットのアップロード通知があったと判断したときは、アップロード通知があったと判断する。
【００８５】
上記Ｓ１２０１でアップロード通知があったと判断した場合、Ｓ１２０２において、アップロード監視部６０３は、セットアッププログラム更新部６０４を呼び出す。また同時に、アップロード監視部６０３は、アップロード通知により得たアップロードしたパス、ファイル名、及び、ダウンロードページの作成に必要な情報、並びに、後述の構成情報等をセットアッププログラム更新部６０４に渡す。これにより、セットアッププログラム更新部６０４は、後述のセットアッププログラム更新処理（図１３）を行う。なお、上記ダウンロードページの作成に必要な情報とは、アップロード通知に含まれる、図４のアップロードNo.４０６、表示名４０５、ドライバ種類４０２、バージョン４０３、コメント４０７に対応する情報を示す。
【００８６】
上記Ｓ１２０２が終了すると、Ｓ１２０３において、アップロード監視部６０３は、アップロード完了通知を行う。アップロード監視部６０３は、所定の方法に基づき、接続部２２６を介し、予め決めたフォーマットで作成したアップロード完了通知を、上記Ｓ１２０１で確認したアップロード通知の送信元に送付する。そして、アップロード監視部６０３は、Ｓ１２０１に処理を戻す。
【００８７】
上記Ｓ１２０１でアップロード通知がなかったと判定した場合、Ｓ１２０４において、アップロード監視部６０３は、構成情報に変化があったか否かを判断する。ここでは、アップロード監視部６０３は、ＰＲＡＭ２２２等の記憶装置の特定領域に保持されている情報を順次読み出し、前回読み込み時と比べて変化があったときは構成情報に変更があったとする。なお、構成情報とは、例えば、管理者が変更可能なＩＰアドレスや機器のニックネームである機器名等とする。
【００８８】
上記Ｓ１２０４にて、構成情報に変化がなかったと判断した場合、アップロード監視部６０３は、Ｓ１２０１に処理を戻す。
一方、上記Ｓ１２０４にて、構成情報に変化があったと判断した場合、Ｓ１２０５において、アップロード監視部６０３は、セットアッププログラムがアップロード済か否かを判断する。ここでは、アップロード監視部６０３は、ＨＤ２２８等の記憶装置に予め確保したアップロード済のセットアッププログラムの管理情報を読み出す。そして、アップロード済のセットアッププログラムの情報が１つ以上存在する場合は、セットアッププログラムがアップロード済と判断する。
【００８９】
上記Ｓ１２０５にて、セットアッププログラムがアップロード済であったと判断した場合、Ｓ１２０６において、アップロード監視部６０３は、セットアッププログラム更新部６０４を呼び出す。また同時に、アップロード監視部６０３は、前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を１件読み出す。そして、読み出したパス、ファイル名、及び、ダウンロードページの作成等に必要な情報、並びに、上記Ｓ１２０４で取得した構成情報を、セットアッププログラム更新部６０４に渡す。これにより、セットアッププログラム更新部６０４は、後述のセットアッププログラム更新処理（図１３）を行う。
【００９０】
上記Ｓ１２０６が終了すると、Ｓ１２０７において、アップロード監視部６０３は、全アップロード済セットアッププログラムの更新処理が終了したか否かを判断する。ここでは、アップロード監視部６０３は、前述のセットアッププログラムの管理情報を検索し、更新処理をしていないセットアッププログラムが存在しないときは、全アップロード済セットアッププログラムの更新処理が終了したと判断する。
【００９１】
上記Ｓ１２０７にて、未だ全アップロード済セットアッププログラムの更新処理が終了していないと判断した場合、アップロード監視部６０３は、Ｓ１２０６に処理を戻す。
一方、上記Ｓ１２０７にて、既に全アップロード済セットアッププログラムの更新処理が終了したと判断した場合、アップロード監視部６０３は、Ｓ１２０１に処理を戻す。
また、上記Ｓ１２０５にて、セットアッププログラムがアップロード済でないと判定した場合、アップロード監視部６０３は、Ｓ１２０１に処理を戻す。
【００９２】
次に、印刷装置１０５のセットアッププログラム更新部６０４のセットアッププログラム更新処理を、図１３を用いて説明する。
図１３は、印刷装置１０５のセットアッププログラム更新部６０４のセットアッププログラム更新処理の一例を示すフローチャートである。なお、セットアッププログラム更新部６０４に係るプログラムは予め、印刷装置１０５のＰＲＯＭ２２１からＰＲＡＭ２２２に呼び出され、ＰＣＰＵ２２０によって実行されているものとする。また、アップロード監視部６０３から渡されたパス、ファイル名、及び、ダウンロードページの作成等に必要な情報、セットアッププログラム更新に必要な情報は、アップロード監視部６０３から渡され、ＰＲＡＭ２２２等に予め確保したワークエリアに保存されているものとする。
【００９３】
Ｓ１３０１において、セットアッププログラム更新部６０４は、アップロード監視部６０３から渡されたパス、ファイル名等に基づいて記憶部６０１に配置された該当のセットアッププログラムを検索し、ＰＲＡＭ２２２等の記憶装置に確保したワークエリアにコピーする。
【００９４】
次に、Ｓ１３０２において、セットアッププログラム更新部６０４は、上記Ｓ１３０１でコピーしたセットアッププログラムに、アップロード監視部６０３から渡された構成情報を反映させる（更新する）。例えば、ＩＰアドレスが「172.10.10.10」、機器名「Color Printer」を反映させる場合は、上記Ｓ１３０１でコピーしたセットアッププログラムに連結された「setup.ini」、「silent.ini」を図１６（Ｂ）、図１７（Ｂ）のように更新する。より具体的には、「setup.ini」の[DriverUploadInfo]セクションの"PrinterName=Cxxxn xR-ADV C5045/5051_LIPS LX"に、機器名が「Color Printer」を反映さて、"Color Printer_LIPS LX"とする。また、「silent.ini」の[PrinterInfo]セクションの"PRT1="に機器名「Color Printer」とＩＰアドレス「172.10.10.10」を反映させて、"PRT1= Color Printer_LIPS LX, Cxxxn xR-ADV C5045/5051 LIPS LX, 172.10.10.10"とする。なお、この際のドライバモデル名"Cxxxn xR-ADV C5045/5051 LIPS LX"は「setup.ini」等から取得する。
【００９５】
次に、Ｓ１３０３において、セットアッププログラム更新部６０４は、上記Ｓ１３０２で更新したセットアッププログラムを、上記Ｓ１３０１でコピーした元のファイルに上書き保存する（リストアする）。
次にＳ１３０４において、セットアッププログラム更新部６０４は、ダウンロード情報をＷｅｂページに書き込み、ワークエリアを開放し、セットアッププログラム更新処理を終了する。
なお、上記Ｗｅｂページに書き込まれたダウンロード情報を、Ｗｅｂブラウザから読み込むと、Ｗｅｂブラウザ上に図５に示したように表示される。
【００９６】
次に、印刷装置１０５のＷｅｂサーバ機能部６０５の処理を、図１４を用いて説明する。
図１４は、印刷装置１０５のＷｅｂサーバ機能部６０５の処理の一例を示すフローチャートである。なお、Ｗｅｂサーバ機能部６０５に係るプログラムは予め、印刷装置１０５のＰＲＯＭ２２１からＰＲＡＭ２２２に呼び出され、ＰＣＰＵ２２０によって実行されているものとする。
Ｓ１４０１において、Ｗｅｂサーバ機能部６０５は、ユーザによってリロードを指示されたか否かを判断する。すなわち、Ｗｅｂサーバ機能部６０５は、接続部２２６を介し受信したパケットを検索し、リロードのリクエストがあるか判断する。そして、リロードのリクエストが見つかったときは、リロードを指示されたと判断する。
【００９７】
上記Ｓ１４０１にて、リロード指示されたと判断した場合、Ｓ１４０２において、Ｗｅｂサーバ機能部６０５は、Ｗｅｂページを再構築し、所定の手続きに基づき、Ｗｅｂブラウザ６２０に再構築したＷｅｂページを送出する。
一方、上記Ｓ１４０１にて、リロード指示されていないと判断した場合、Ｓ１４０３において、Ｗｅｂサーバ機能部６０５は、ユーザによってダウンロードを指示されたか判断する。すなわち、Ｗｅｂサーバ機能部６０５は、接続部２２６を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。そして、ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
上記Ｓ１４０３にて、ダウンロード指示されたと判断した場合、Ｓ１４０４において、Ｗｅｂサーバ機能部６０５は、ダウンロードリクエストに指定されたセットアッププログラムを記憶部６０１から取り出す。
【００９８】
次に、Ｓ１４０５において、Ｗｅｂサーバ機能部６０５は、上記Ｓ１４０３で取り出したセットアッププログラムをダウンロード指示したクライアント１０２に向け送信し、Ｓ１４０１に処理を戻す。
また、上記Ｓ１４０３にて、ダウンロード指示されていないと判断した場合、Ｗｅｂサーバ機能部６０５は、そのままＳ１４０１に処理を戻す。
【００９９】
次に、セットアッププログラム６０２の処理について、図１８を用いて説明する。
図１８は、セットアッププログラム６０２の処理の一例を示すフローチャートである。なお、セットアッププログラム６０２は、ユーザによってクライアント１０２へダウンロードされ実行指示されることにより起動する。起動されると、セットアッププログラム６０２はクライアント１０２のＲＡＭ２０２等の記憶装置に確保されたプログラム領域にロードされ、クライアント１０２のＣＰＵ２００によって実行される。
【０１００】
Ｓ１８０１において、セットアッププログラム６０２は、一時フォルダの作成を行う。例えば、ＯＳが提供している機能を利用し、ＲＡＭ２０２、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダの作成を行う。
【０１０１】
次に、Ｓ１８０２において、セットアッププログラム６０２は、上記Ｓ１８０１で行ったフォルダ作成が成功したか否かを判断する。
上記Ｓ１８０２にて、フォルダ作成が成功したと判断した場合、Ｓ１８０３において、セットアッププログラム６０２は、結合されているファイルの分離を行う。すなわち、図１５（Ｂ）に示した「silent.ini」、「setup.exe」、「setup.ini」を分離し、上記Ｓ１８０１で作成した一時フォルダに格納する。
【０１０２】
次に、Ｓ１８０４において、セットアッププログラム６０２は、上記Ｓ１８０３のファイル分離処理が成功したか否かを判断する。
上記Ｓ１８０４にて、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合、セットアッププログラム６０２は、Ｓ１８１２に処理を進める。
【０１０３】
一方、上記Ｓ１８０４にて、ファイル分離処理が成功したと判断した場合、Ｓ１８０５において、セットアッププログラム６０２は、クライアント１０２にポートが存在するか否かを確認する。例えば、Microsoft社のWindows（登録商標）に用意されているWin32関数EnumPort()等で、ＰＣに登録済ポートの一覧を取得する。取得したポートのリストに上記Ｓ１８０３で分離した「silent.ini」に記載のポート名と同名のポートが存在する場合は、ポートが存在すると判断する。
【０１０４】
上記Ｓ１８０５にて、ポートが存在しないと判断した場合、Ｓ１８０６において、セットアッププログラム６０２は、上記Ｓ１８０３で分離作成した「silent.ini」に記載のポート名のポートを、ＯＳに装備された機能によって作成する。そして、セットアッププログラム６０２は、Ｓ１８０７へ処理を進める。
【０１０５】
一方、上記Ｓ１８０５にて、ポートが存在すると判断した場合、セットアッププログラム６０２は、Ｓ１８０７へ処理を進める。
Ｓ１８０７では、セットアッププログラム６０２は、上記Ｓ１８０３で分離作成した「silent.ini」の記載を更新する。例えば、図示しないステップでインストール後にＰＣ再起動が必要になることが分かった場合は「silent.ini」の[SelectJob]セクションの記載を"SelectJob=1"のように変更する。また、「silent.ini」が指示するポート名やプリンタ名では作成出来ないことがわかったときは、「silent.ini」の[PrinterInfo]セクションのPRT1の記載を変更する。
【０１０６】
次に、Ｓ１８０８において、セットアッププログラム６０２は、ドライバインストーラ（「setup.exe」）を起動する。すなわち、Ｓ１８０３で分離したドライバインストーラ（「setup.exe」）に、例えば以下のコマンドによってＳ１８０７で更新した「silent.ini」を渡し、起動する。例えば、コマンド"setup.exe /s silent.ini /log silent.log"を実行する。
【０１０７】
上記コマンドは、情報ファイルとして「silent.ini」を指定し、結果格納ファイルとして「silent.log」を指定している。ドライバインストーラは、「silent.ini」の指示を読み、「silent.ini」に記載がない項目はデフォルト動作をし、結果を「silent.log」に記載する。
【０１０８】
次に、Ｓ１８０９において、セットアッププログラム６０２は、上記Ｓ１８０８で起動したドライバインストーラが完了したか否かを判断する。例えば、ドライバインストーラの戻り値が「０」の場合は完了、「０」以外の場合はエラーと判断する。
上記Ｓ１８０９にて、ドライバインストーラの実行が完了したと判断した場合、Ｓ１８１０において、セットアッププログラム６０２は、論理プリンタのプロパティを設定する。例えば、Microsoft社のWindows（登録商標）に用意されているWin32関数SetPrinter()に渡す「PRINTTER_INFO_2」構造体のメンバー「pComment」に上記Ｓ１８０３で分離した「setup.ini」の[PrinterInfo]セクションに記載の「Comments」を指定する。そして、セットアッププログラム６０２は、プログラムを終了する。
【０１０９】
一方、上記Ｓ１８０９にて、ドライバインストーラの実行が完了しなかったと判断した場合、セットアッププログラム６０２は、Ｓ１８１１へ処理を進める。
Ｓ１８１１では、セットアッププログラム６０２は、ドライバインストーラが作成した「silent.log」からエラー内容を取り出す。さらに、Ｓ１８１２において、セットアッププログラム６０２は、上記Ｓ１８１１で取り出したエラーに対応する適宜エラーメッセージを、クライアント１０２の表示部２０７に表示して、プログラムを終了する。
【０１１０】
また、上記Ｓ１８０２にて、フォルダ作成が成功しなかったと判断した場合や上記Ｓ１８０４にて、分離が成功しなかったと判断した場合、セットアッププログラム６０２は、Ｓ１８１２に処理を進める。そして、Ｓ１８１２において、セットアッププログラム６０２は、対応するエラーメッセージを、クライアント１０２の表示部２０７に表示して、プログラムを終了する。
【０１１１】
以上の説明では、印刷装置の変化する構成情報としての機器名、ＩＰアドレスを、情報処理装置へのドライバインストール時に、それぞれプリンタ名、ポート名に利用する例を説明したが、本発明はこれらに限定されるものではない。本発明は、機器名やＩＰアドレスの他にも、印刷装置１０５に設定された設置場所情報（図３の設置場所３０１６）やコメント（図３のコメント３０１７）を取得し、ドライバインストール時に、論理プリンタのコメント欄に反映させる構成でもよい。また、本発明は、印刷装置１０５のホスト名をドライバインストール時に、ポート名に設定することにも適用される。
【０１１２】
また、印刷装置１０５がサポートしているＰＤＬにより、プリンタドライバインストーラの動作モードを切り替えるようなインストーラに対しても本発明は適用可能である。例えば、３つのＰＤＬのプリンタドライバをインストール可能なインストーラで、印刷装置がサポートしているＰＤＬに対応するプリンタドライバをインストールするように、動作モードを切り替えるインストーラがこれに該当する。
【０１１３】
なお、デバイスの例としてプリンタ（印刷装置）を代表して説明したが、プリンタに限定されるものでなく、少なくともプリンタ機能を含む複数の機能を持つ複合機においても本発明は適用可能である。また、プリンタドライバと同等の仕組みのＦＡＸドライバで動作するＦＡＸにおいても本発明は適用可能である。
【０１１４】
以上の手順により、管理者は、複数の印刷装置に同時にプリンタドライバのアップロードを可能になる。また、印刷装置のアプリケーションがアップロードされたプリンタドライバを調べ、印刷装置に対応しているかを判定するため、間違ったプリンタドライバをアップロードするミスを防止することができる。さらに、ＩＰアドレス等の設定も印刷装置のアプリケーションが自動で行うため、設定ミスを防止することができる。
【０１１５】
また、印刷装置の設定変更（デバイス名やＩＰアドレス等の変更）がアップロードしたプリンタドライバに自動で（管理者の手を煩わせることなく）反映されることができる。
また、印刷装置を新規導入時は、一般ユーザへのプリンタドライバインストール依頼のアナウンスは、該当印刷装置のダウンロードページを通知するだけで済み容易になる。さらに、専用のサーバを用意することなく実現できる。
【０１１６】
また、一般ユーザは難しい操作をすることなく目的の印刷装置の目的のドライバ（目的のＰＤＬや、目的のバージョン、目的のカスタマイズが施された）プリンタドライバをＰＣ（情報処理装置）にインストールすることが可能となる。なお、プリンタドライバのインストールやポートの設定等の付随する各種設定を自動で行うため、ユーザの操作を減らすことが可能となり、ミスの軽減に繋がる。また、一般ユーザはダウンロードページを参照し、管理者が記載したによるコメントを参照に自分が使うに相応しいプリンタドライバを容易に特定することができる。このように、印刷装置を使うまでの準備が簡単に完了するために、管理者への問い合わせを減らすことが可能となる。
以上のように、プリンタ導入時や、プリンタドライバ更新時の管理者の負荷が軽減し、一般ユーザの利便性が向上する。即ち、管理者・一般ユーザ共に利便性を向上することができる。
【０１１７】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１８】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図１】
2011143636.tif 000003
【図２】
2011143636.tif 000004
【図３】
2011143636.tif 000005
【図４】
2011143636.tif 000006
【図５】
2011143636.tif 000007
【図６】
2011143636.tif 000008
【図７】
2011143636.tif 000009
【図８】
2011143636.tif 000010
【図９】
2011143636.tif 000011
【図１０】
2011143636.tif 000012
【図１１】
2011143636.tif 000013
【図１２】
2011143636.tif 000014
【図１３】
2011143636.tif 000015
【図１４】
2011143636.tif 000016
【図１５】
2011143636.tif 000017
【図１６】
2011143636.tif 000018
【図１７】
2011143636.tif 000019
【図１８】
2011143636.tif 000020