(57)【要約】【課題】ホスト上のプリンタドライバに対する追加機能をクライアントに容易に追加可能とする。【解決手段】プリンタドライバ本体に追加するプラグインを構成するファイル群を、１のプラグイン格納用ファイルに纏めて格納する。プラグインが追加されていなければ、プラグイン格納用ファイルを空の状態としておく。プリンタドライバ本体を構成するファイルとプラグイン格納用ファイルとをプリンタドライバの構成ファイルとし、ドライバ情報ファイルのファイルリストに記述する。クライアントに対してプリンタドライバをコピーする際には、ファイルリストの記述に従い、プリンタドライバ本体を構成するファイルとプラグイン格納用ファイルとを転送する。プラグインの追加如何でファイルリストの記述が変わらないので、クライアントに対するプラグインのインストール時の転送処理を、プリンタドライバ本体のみの場合と同様に実行できる。【選択図】図６
2010277549.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバに対して機能を追加するプラグインをインストールするプログラムであって、
オペレーションシステムがプリンタドライバを他の情報機器にインストールするために該プリンタドライバを構成するファイルを該他の情報機器にコピーする際に参照して該プリンタドライバを構成するファイルのファイル名を取得するプリンタドライバ構成情報ファイルに対して、該プリンタドライバを構成するファイルのファイル名として、該プリンタドライバの本体部を構成するファイルのファイル名と共に、該プリンタドライバの本体部に対して機能を追加する前記プラグインを格納するためのプラグイン格納用ファイルのファイル名が予め記述され、
前記プリンタドライバに対して新たに追加する前記プラグインを構成するファイルを、前記プラグイン格納用ファイルに対して該プラグイン格納用ファイルのファイル名を変えずに格納する格納ステップをコンピュータに実行させるためのプログラム。
【請求項２】
前記プラグイン格納用ファイルは、
前記プリンタドライバに前記プラグインが追加されていない状態では、プラグインを構成するファイルが格納されないダミーのプラグイン格納用ファイルとして構成される
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記格納ステップは、
前記プラグイン格納用ファイルに対して、該新たに追加するプラグインを構成するファイルを、既に格納されている該プラグインを構成するファイルに対して並列的に格納する
ことを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
前記格納ステップは、
前記プラグイン格納用ファイルに対して前記新たに追加するプラグインを構成するファイルの格納を行った後に、該プラグイン格納用ファイルの更新日時を、少なくとも、該格納を行う直前の該プラグイン格納用ファイルの更新日時から、該プラグインが追加される前記プリンタドライバが次にバージョンアップされるまでの日時の何れかの日時に変更する
ことを特徴とする請求項１乃至請求項３の何れか１項に記載のプログラム。
【請求項５】
前記格納ステップは、
前記プラグイン格納用ファイルに対して前記新たに追加するプラグインを構成するファイルの格納を行った後に、該プラグイン格納用ファイルの更新日時を、該格納を行う直前の該プラグイン格納用ファイルの更新日時以降であって、且つ、該更新日時に重ならず、且つ、該更新日時と略同一日時と見なせる日時に変更する
ことを特徴とする請求項４に記載のプログラム。
【請求項６】
前記格納ステップは、
前記プラグインを構成する複数のファイルを１の前記プログラム格納用ファイルに纏めて格納する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載のプログラム。
【請求項７】
新たに追加する前記プラグインをインストールする前記プリンタドライバを探索し、探索された該プリンタドライバを構成するファイルから前記プラグイン格納用ファイルを探索する探索ステップをさらにコンピュータに実行させ、
前記格納ステップは、
前記探索ステップにより探索された前記プラグイン格納用ファイルに対して、前記プリンタドライバに対して新たに追加する前記プラグインを構成するファイルを格納する
ことを特徴とする請求項１乃至請求項６の何れか１項に記載のプログラム。
【請求項８】
前記新たに追加するプラグインと共に提供されることを特徴とする請求項７に記載のプログラム。
【請求項９】
新たに追加する前記プラグインを構成するファイルを、記憶領域上の予め指定された位置から取得する取得ステップをさらにコンピュータに実行させ、
前記格納ステップは、
前記取得ステップにより取得された前記プラグインを構成するファイルを、前記プラグイン格納用ファイルに格納する
ことを特徴とする請求項１乃至請求項６の何れか１項に記載のプログラム。
【請求項１０】
前記プリンタドライバと共に提供されることを特徴とする請求項９に記載のプログラム。
【請求項１１】
請求項１乃至請求項１０の何れか１項に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１２】
プリンタドライバに対して機能を追加するプラグインをインストールする情報処理装置であって、
オペレーションシステムがプリンタドライバを他の情報機器にインストールするために該プリンタドライバを構成するファイルを該他の情報機器にコピーする際に参照して該プリンタドライバを構成するファイルのファイル名を取得するプリンタドライバ構成情報ファイルに対して、該プリンタドライバを構成するファイルのファイル名として、該プリンタドライバの本体部を構成するファイルのファイル名と共に、該プリンタドライバの本体部に対して機能を追加する前記プラグインを格納するためのプラグイン格納用ファイルのファイル名が予め記述され、
前記プリンタドライバに対して新たに追加する前記プラグインを構成するファイルを、前記プラグイン格納用ファイルに対して該プラグイン格納用ファイルのファイル名を変えずに格納する格納手段を有する
ことを特徴とする情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置から送出される印刷データを印刷することを特徴とするプリンタ装置。
【請求項１４】
請求項１２に記載の情報処理装置と、
請求項１３に記載のプリンタ装置と
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバに対してプリンタ動作の制御機能を追加するプログラム、記憶媒体、情報処理装置、プリンタ装置およびシステムに関する。
【背景技術】
【０００２】
従来から、ＬＡＮ(Local Area Network)などのネットワークに対して、ホストコンピュータ、クライアントコンピュータ、プリンタ装置などを接続したシステムが知られている。このようなシステムでは、クライアントコンピュータは、ホストコンピュータをプリントサーバとして用い、ネットワークを介してプリンタ装置に対して印刷を実行させることができる。
【０００３】
このようなシステムでは、プリンタ装置に対応するプリンタドライバを、ホストコンピュータおよびクライアントコンピュータにそれぞれインストールする必要がある。プリンタ装置での印刷を行うクライアントコンピュータがネットワークに多数、接続されている場合など、これら多数のクライアントコンピュータのそれぞれにプリンタドライバをインストールする作業は、非常にコストのかかるものとなる。
【０００４】
そのため、従来から、クライアントコンピュータにおけるプリンタドライバのインストールを簡易的に行うことができるようにした仕組みが提供されている。例えば、米国マイクロソフト社が開発したＯＳ(Operating System)であるＷｉｎｄｏｗｓ(登録商標）では、「Point&Print」と呼ばれる機能として提供されている。
【０００５】
この「Point&Print」機能によれば、クライアントコンピュータ側のＡＰＩ(Application Programming Interface)を用いてホストコンピュータ側の共有プリンタを選択すると、当該クライアントコンピュータとホストコンピュータ間で、選択された共有プリンタの機能や、クライアントコンピュータのＯＳの情報などをやりとりする。そして、ホストコンピュータは、このやりとりによって得られた情報に基づきプリンタドライバを選択し、選択されたプリンタドライバを構成するファイル群をネットワークを介して当該クライアントコンピュータに転送する。クライアントコンピュータ側では、ネットワークを介して転送されてきたプリンタドライバを構成するファイル群を、例えば所定のフォルダにコピーすると共にＯＳに登録し、インストールする。これにより、クライアントコンピュータ側から、ネットワークに接続された共有プリンタに対して印刷を実行させることができるようになる。
【０００６】
ところで、ある基礎となるプログラムに対して付加機能を自在に着脱可能とする、プラグインと呼ばれる仕組みが広く知られている。この仕組みによれば、アプリケーションソフトウェアに対して所定の機能を追加するプラグインソフトウェアを組み込むことにより、当該アプリケーションソフトウェアが標準で備えていない機能や、さらに高度な機能が利用できるようになる。
【０００７】
近年では、このプラグイン機構を、一般的なアプリケーションソフトウェアのみならず、プリンタドライバが備える例が増えつつある。プリンタドライバにプラグイン機構を持たせることで、プリンタ装置に対する印刷機能の追加や削除を、プリンタドライバ自体を更新すること無しに、容易に行うことができるようになる。
【０００８】
ここで、上述した、ネットワーク上にホストコンピュータ、クライアントコンピュータおよびプリンタ装置が接続されたシステムでプラグイン機構を用いる場合について考える。この場合、ホストコンピュータにインストールされたプラグインソフトウェアの機能をクライアントコンピュータ側で利用するためには、当該クライアントコンピュータにも、ホストコンピュータにインストールしたのと同一のプラグインソフトウェアをインストールする必要がある。
【０００９】
特許文献１には、ホストコンピュータにインストール済みのプリンタドライバに対するプラグインソフトウェアの追加および削除を管理すると共に、ホストコンピュータとネットワークを介して接続されるクライアントコンピュータに対するプラグインソフトウェアの追加および削除を管理するインストーラが記載されている。
【００１０】
特許文献１によれば、ホストコンピュータのプリンタドライバにプラグインソフトウェアを追加する場合、インストーラが、ホストコンピュータにおけるプリンタドライバをインストールするための所定のディレクトリに、追加分のプラグインソフトウェアのファイルをコピーする。それと共に、ホストコンピュータの印刷キューを一時停止し、プリントサービスの再起動を行う。
【００１１】
その後、ホストコンピュータは、各クライアントコンピュータに対してプラグインソフトウェアが追加されたことを通知し、ホストコンピュータから各クライアントコンピュータに対し、追加されたプラグインソフトウェアのファイルを転送する。
【００１２】
クライアントコンピュータ側でもこのインストーラが動作し、ネットワークを介して転送された追加分のプラグインソフトウェアのファイルを、クライアントコンピュータにおけるプリンタドライバをインストールするための所定のディレクトリにコピーする。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来のプラグイン機構をもつプリンタドライバにおいては、プラグインソフトウェアのインストールを自動的に行うことが難しいという問題点があった。
【００１４】
上述した「Point&Print」機能を例にとって説明する。「Point&Print」では、図１３に例示されるような、プリンタドライバの構成情報が記述されるドライバ情報ファイル（ｉｎｆファイル）２１０に書かれているファイルのみが、ホストコンピュータからクライアントコンピュータにダウンロードされコピーされる。図１３の例では、ドライバ情報ファイル２１０におけるファイルリスト部２１１に、プリンタドライバを構成するファイルのリストが記述されている。
【００１５】
このドライバ情報ファイル２１０は、プリンタドライバのインストール時に使用されるもので、プリンタドライバのパッケージの構成情報、すなわち、プリンタドライバを構成するファイル名やインストールディレクトリなどの情報が記述されている。すなわち、図１４に例示されるように、ホストコンピュータ２００からクライアントコンピュータ２０１にプリンタドライバ２０２をコピーする際には、ホストコンピュータ２００は、ドライバ情報ファイル２１０の記述を参照して、クライアントコンピュータ２０１に転送するファイルを選択する。ＯＳは、プリンタドライバがアンインストールされるまで、このドライバ情報ファイル２１０に記述される構成情報を管理する。
【００１６】
プラグインソフトウェアは、インストール済みのプリンタドライバに対して機能を拡張するものである。したがって、プラグインソフトウェアを構成するファイル名といったプラグインソフトウェアの構成情報は、プリンタドライバのインストールに用いられるドライバ情報ファイル２１０には記述されていない。
【００１７】
プラグイン機構をもつプリンタドライバであったとしても、ＯＳが管理している構成情報を変更することはできない。すなわち、プリンタドライバは、ドライバ情報ファイル２１０の内容を変更できない。そのため、ホストコンピュータ２００にプリンタドライバ２０２をインストールした後に追加されたプラグインソフトウェアのファイルは、ＯＳにより提供される「Point&Print」機能では、クライアントコンピュータ２０１にコピーされない。
【００１８】
したがって、図１５に例示されるように、ホストコンピュータ２００のプリンタドライバ２０２’がプラグインソフトウェアによる機能拡張がなされたものであっても、クライアントコンピュータ２０１には、ドライバ情報ファイル２１０に従い機能追加前のプリンタドライバ２０２のパッケージがダウンロードされインストールされてしまうという問題点があった。
【００１９】
一方、上述した特許文献１は、インストーラがドライバ情報ファイルに記述の無い、プラグインソフトウェアとして追加されたファイルを管理することで、この問題を解決している。すなわち、特許文献１においては、ホストコンピュータにおいてプラグインソフトウェアが追加されると、インストーラがその旨をクライアントコンピュータに通知すると共に、追加されたプラグインソフトウェアを、クライアントコンピュータに転送する。
【００２０】
しかしながら、特許文献１は、ＯＳに標準の「Point&Print」機能のみでプラグインソフトウェアのファイルをクライアントコンピュータにコピーすることができず、ＯＳとは別途に、専用のモジュールであるインストーラを用いる必要があるという問題点があった。
【００２１】
また、ＯＳとは別途のモジュールを用いることで、ＯＳとの親和性が低くなり、例えばＯＳのバージョンの変化などへの対応が難しくなってしまうという問題点があった。
【００２２】
本発明は、上記に鑑みてなされたものであって、ホストコンピュータ上のプリンタドライバに対する追加機能をクライアントコンピュータに容易に追加できるプログラム、記憶媒体、情報処理装置、プリンタ装置およびシステムを提供することを目的とする。
【課題を解決するための手段】
【００２３】
上述した課題を解決し、目的を達成するために、本発明は、プリンタドライバに対して機能を追加するプラグインをインストールするプログラムであって、オペレーションシステムがプリンタドライバを他の情報機器にインストールするためにプリンタドライバを構成するファイルを他の情報機器にコピーする際に参照してプリンタドライバを構成するファイルのファイル名を取得するプリンタドライバ構成情報ファイルに対して、プリンタドライバを構成するファイルのファイル名として、プリンタドライバの本体部を構成するファイルのファイル名と共に、プリンタドライバの本体部に対して機能を追加するプラグインを格納するためのプラグイン格納用ファイルのファイル名が予め記述され、プリンタドライバに対して新たに追加するプラグインを構成するファイルを、プラグイン格納用ファイルに対してプラグイン格納用ファイルのファイル名を変えずに格納する格納ステップをコンピュータに実行させるためのプログラムである。
【００２４】
また、本発明は、プリンタドライバに対して機能を追加するプラグインをインストールする情報処理装置であって、オペレーションシステムがプリンタドライバを他の情報機器にインストールするためにプリンタドライバを構成するファイルを他の情報機器にコピーする際に参照してプリンタドライバを構成するファイルのファイル名を取得するプリンタドライバ構成情報ファイルに対して、プリンタドライバを構成するファイルのファイル名として、プリンタドライバの本体部を構成するファイルのファイル名と共に、プリンタドライバの本体部に対して機能を追加するプラグインを格納するためのプラグイン格納用ファイルのファイル名が予め記述され、プリンタドライバに対して新たに追加するプラグインを構成するファイルを、プラグイン格納用ファイルに対してプラグイン格納用ファイルのファイル名を変えずに格納する格納手段を有することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ホストコンピュータ上のプリンタドライバに対する追加機能をクライアントコンピュータに容易に追加できるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明に適用可能なシステム構成の一例を概略的に示す略線図である。
【図２】図２は、ホストコンピュータの一例の構成を示すブロック図である。
【図３】図３は、クライアントコンピュータにおけるプリンタ制御に関するアーキテクチャの一例を概略的に示す略線図である。
【図４】図４は、プラグイン機能を有するプリンタドライバの一例の構成を示す略線図である。
【図５−１】図５−１は、プラグインの構成例を示す略線図である。
【図５−２】図５−２は、プラグインの構成例を示す略線図である。
【図６】図６は、本発明の実施形態によるプリンタドライバパッケージの一例の構成を示す略線図である。
【図７】図７は、本実施形態による、プリンタドライバパッケージに対応するドライバ情報ファイルの一例の構成を示す略線図である。
【図８】図８は、プラグイン格納用ファイルに対してプラグインが格納された例を示す略線図である。
【図９】図９は、プラグイン格納用ファイルの一例の構成を示す略線図である。
【図１０】図１０は、本発明の実施形態による、プラグイン格納用ファイルの生成処理の一例を示すフローチャートである。
【図１１】図１１は、プリンタドライバパッケージをクライアントコンピュータに対してコピーしてインストールする一例の処理を示すシーケンス図である。
【図１２】図１２は、本発明の実施形態の変形例による、プラグイン格納用ファイルの生成処理の一例を示すフローチャートである。
【図１３】図１３は、プリンタドライバの構成情報が記述されるドライバ情報ファイルの例を示す略線図である。
【図１４】図１４は、従来技術により、ホストコンピュータからクライアントコンピュータにプリンタドライバをコピーする様子を示す略線図である。
【図１５】図１５は、従来技術により、ホストコンピュータからクライアントコンピュータにプリンタドライバをコピーする様子を示す略線図である。
【発明を実施するための形態】
【００２７】
以下に添付図面を参照して、本発明にかかるプリンタドライバの最良な実施の形態を詳細に説明する。本発明では、プリンタドライバ本体部に対して機能を追加するプラグインソフトウェアを構成するファイル群を、１のファイル（プラグイン格納用ファイルと呼ぶ）に纏めて格納する。プラグインソフトウェアが追加されていない場合には、プラグイン格納用ファイルをダミー、例えば空の状態としておく。プリンタドライバ本体部を構成するファイルと、このプラグイン格納用ファイルとを当該プリンタドライバの構成ファイルとし、ドライバ情報ファイルにおけるドライバ構成を示すファイルリストに記述する。
【００２８】
クライアントコンピュータに対してプリンタドライバパッケージをコピーする際には、ドライバ構成ファイルリストの記述に従い、プリンタドライバ本体部を構成するファイルと、プラグイン格納用ファイルとをホストコンピュータからクライアントコンピュータに対して転送する。プラグインソフトウェアが追加されているか否かによってドライバ構成ファイルリストの記述が変わらないので、クライアントコンピュータに対するプラグインソフトウェアのインストール時の転送処理を、プリンタドライバ本体部のみの場合の処理と同様に実現できる。
【００２９】
＜本発明に適用可能なシステム＞
本発明による実施形態の説明に先立って、本発明に適用可能なシステムについて説明する。図１は、本発明に適用可能なシステム構成の一例を概略的に示す。ＬＡＮ(Local Area Network)などによるネットワーク１０に対して、ホストコンピュータ１１、クライアントコンピュータ１２およびプリンタ装置１３が接続される。ホストコンピュータ１１は、プリントサーバの機能を有し、プリンタ装置１３を管理する。ホストコンピュータ１１およびクライアントコンピュータ１２に対し、それぞれプリンタ装置１３に対応するプリンタドライバをインストールすることで、クライアントコンピュータ１２からプリンタ装置１３に対して印刷を実行させることができる。クライアントコンピュータ１２へのプリンタドライバのインストールは、後述するようにして、ホストコンピュータ１１からファイルをダウンロードして行う。
【００３０】
図２は、ホストコンピュータ１１の一例の構成を示す。なお、クライアントコンピュータ１２は、ホストコンピュータ１１と同様な構成で実現可能であるので、煩雑さを避けるために、説明を省略する。この図２に例示されるように、ホストコンピュータ１１およびクライアントコンピュータ１２は、一般的なコンピュータの構成が適用可能である。
【００３１】
ホストコンピュータ１１において、バス１００に対してＣＰＵ(Central Processing Unit)１０１、ＲＯＭ(Read Only Memory)１０２、ＲＡＭ(Random Access Memory)１０３、ネットワークＩ／Ｆ１０４、ハードディスク１０５、入出力Ｉ／Ｆ１０６、ドライブ装置１０７および表示制御部１０８が接続される。バス１００に接続される各部は、バス１００を介して互いにデータのやりとりを行うことができるようにされている。
【００３２】
ＣＰＵ１０１は、ＲＯＭ１０２やハードディスク１０５に予め記憶されたプログラムに従い、ＲＡＭ１０３をワークメモリとして用いてこのホストコンピュータ１１の全体の動作を制御する。
【００３３】
ハードディスク１０５は、上述したＣＰＵ１０１が動作するためのプログラムや、様々なデータが格納される。ハードディスク１０５に格納されるプログラムとしては、このホストコンピュータ１１の動作の基本的な制御を行うＯＳ(Operating System)や、上述したプリンタ装置１３の管理および制御を行うためのプリンタドライバなどがある。また、ハードディスク１０５は、ＣＰＵ１０１がプログラムの実行に際して発生したデータを一時的に格納することもできる。
【００３４】
入出力Ｉ／Ｆ１０６は、このホストコンピュータ１１に対するデータの入出力を制御する。例えば、入出力Ｉ／Ｆ１０６に対してキーボードやマウスなどの入力デバイスが接続される。これら入力デバイスに対するユーザ操作に応じた制御信号が入出力Ｉ／Ｆ１０６から出力され、バス１００を介してＣＰＵ１０１に供給される。また、入出力Ｉ／Ｆ１０６がＵＳＢ(Universal Serial Bus)やＩＥＥＥ(Institute Electrical and Electronics Engineers)１３９４といったシリアルインターフェイスに対応していてもよい。
【００３５】
ドライブ装置１０７は、ＣＤ(Compact Disk)やＤＶＤ(Digital Versatile Disk)といった記憶媒体１１０からデータを読み出す。これに限らず、ドライブ装置１０７の対応する記憶媒体が不揮発性の半導体メモリなどであってもよい。上述したＣＰＵ１０１が動作するためのプログラムは、例えばこれらＣＤ、ＤＶＤ、不揮発性の半導体メモリなどの記憶媒体に記憶されて提供され、ドライブ装置１０７から読み込まれてハードディスク１０５に対して所定に格納される。表示制御部１０８は、ディスプレイ１１１が接続され、ＣＰＵ１０１により生成された表示制御信号をディスプレイ１１１が表示可能な形式の信号に変換して出力する。
【００３６】
ネットワークＩ／Ｆ１０４は、例えばＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)に対応し、ネットワーク１０を介して、クライアントコンピュータ１２やプリンタ装置１３といった外部の情報機器と通信を行うことができる。上述したＣＰＵ１０１が動作するためのプログラムは、外部のサーバ装置などから、ネットワーク１０を介して提供され、ネットワークＩ／Ｆ１０４で受信してハードディスク１０５に所定に格納することもできる。
【００３７】
図３は、クライアントコンピュータ１２におけるプリンタ制御に関するアーキテクチャの一例を概略的に示す。この図３に例示されるように、クライアントコンピュータ１２は、プリンタ制御に関する一般的なアーキテクチャが適用される。なお、ホストコンピュータ１１に対しても、同様のアーキテクチャが適用可能である。
【００３８】
例えばクライアントコンピュータ１２は、アプリケーションソフトウェア２０およびプリンタドライバ２１がインストールされると共に、プリンタ装置１３と通信を行うための通信部２２を有する。アプリケーションソフトウェア２０は、例えば文章作成ソフトウェアや表計算ソフトウェア、画像作成ソフトウェアである。通信部２２は、物理的にプリンタ装置１３と通信を行う通信器と、当該通信器を制御するソフトウェアとを含む。
【００３９】
プリンタドライバ２１は、印刷設定部２５および描画部２６を有する。なお、図３の例では、プリンタドライバ２１は、プラグイン機能を有していないものとする。印刷設定部２５は、ユーザ操作やアプリケーションソフトウェア２０からの指示に応じて、印刷に関する様々な設定を行う。表示部２５ａは、印刷設定情報をディスプレイ１１１に表示させ、ユーザに対して印刷設定を提示する。描画部２６は、アプリケーションソフトウェア２０から印字を要求されたデータを、印刷設定部２５で設定された印刷設定に従いプリンタ装置１３が印字可能な形式に変換して描画データを生成する。この描画データは、通信部２２に渡される。
【００４０】
図４は、プラグイン機能を有するプリンタドライバ２１’の一例の構成を示す。プリンタドライバ２１’は、上述したプリンタドライバ２１に対応する、プリンタ装置１３の基本的な制御を行うプリンタドライバ本体部３０と、プリンタドライバ本体部３０に対して機能を追加するプラグインソフトウェアを格納するプラグイン部４０とを有する。プリンタドライバ本体部３０は、上述のプリンタドライバ２１と同様に、印刷設定部２５および描画部２６を有する。以下、プラグインソフトウェアを、適宜、プラグインと略称する。
【００４１】
プラグイン部４０は、プリンタドライバ本体部３０に対して機能を追加するためのプラグインが格納される。プラグイン部４０は、プラグイン４１ａ、プラグイン４１ｂ、…の如く、複数のプラグインを格納することができる。図４の例では、プラグインＡ（プラグイン４１ａ）およびプラグインＢ（プラグイン４１ｂ）の２のプラグインがプラグイン部４０に格納され、プリンタドライバ本体部３０による機能に対してプラグインＡおよびプラグインＢの機能が追加されている。
【００４２】
図５−１および図５−２は、プラグインの構成例を示す。図５−１に例示されるように、プラグインは、プラグイン本体部４２およびプラグイン情報部４３を有する。なお、プラグインの機能によっては、図５−２に例示されるように、プラグイン情報部４３を省略し、プラグイン本体部４２のみで構成してもよい。
【００４３】
プラグイン本体部４２は、印刷設定部４２ａおよび描画部４２ｂを有する。印刷設定部４２ａは、上述した印刷設定部２５と同様に、ユーザ操作やアプリケーションソフトウェア２０からの指示に応じて、印刷に関する様々な設定を行う。印刷設定部４２ａに対して、ディスプレイ１１１に対して設定画面を表示させる表示部を設けてもよい。
【００４４】
描画部４２ｂは、上述した描画部２６と同様に、印字対象のデータをプリンタ装置１３が印字可能な形式に変換して描画データを生成する。この描画データは、例えば、プリンタドライバ本体部３０の描画部２６や、当該プリンタドライバ２１’に格納される他のプラグインで生成された描画データと共に、それぞれレイヤとして印字される。
【００４５】
なお、プラグイン本体部４２が属するプラグインの機能に応じて、当該プラグイン本体部４２が有する印刷設定部４２ａおよび描画部４２ｂの何れかを省略することができる。例えば、当該プラグインの機能が「印刷設定に関係無く必ずスタンプを付けて印刷する」というものであれば、図５−２に例示されるように、プラグイン本体部４２を描画部４２ｂのみから構成し、印刷設定部４２ａを省略することができる。
【００４６】
プラグイン情報部４３は、プラグイン内部の構成情報や、プラグイン内で参照する情報が格納される。例えば、プラグイン本体部４２は、同一のプラグイン内のプラグイン情報部４３に格納される情報を参照して、印刷設定を行ったり、描画データの生成を行う。プラグイン情報部４３は、プラグインで必要な設定があれば使うので、使う必要が無いプラグインの場合には、プラグイン情報部４３を空にしたり、図５−２に例示されるようにプラグイン情報部４３を省略したりできる。
【００４７】
プラグイン本体部４２は、例えばプリンタドライバ本体部３０が必要に応じて読み出して利用するライブラリや、それ自身で実行可能な実行ファイルなどから構成される。ライブラリは、ＯＳの１つであるＷｉｎｄｏｗｓ（登録商標）においてはダイナミックリンクライブラリ（ＤＬＬ）と呼ばれ、拡張子「．ｄｌｌ」で示される。実行ファイルは、Ｗｉｎｄｏｗｓ（登録商標）においてはエグゼ（ＥＸＥ）ファイルであって、拡張子「．ｅｘｅ」で示される。
【００４８】
一方、プラグイン情報部４３は、プラグイン本体部４２が解釈可能であれば、特にファイル形式は限定されない。実際には、プラグイン情報部４３は、テキストベースで記述されるファイルとされ、例えば上述のＷｉｎｄｏｗｓ（登録商標）では、拡張子「．ｔｘｔ」、「．ｉｎｉ」、「．ｘｍｌ」などで示されるファイル形式が用いられる。なお、拡張子「．ｘｍｌ」は、そのファイルがＸＭＬ(Extensible Markup Language)により記述されていることを示し、格納される各情報がタグを用いて定義される。
【００４９】
図５−１に示されるプラグイン４１ａ（プラグインＡ）は、印刷設定をユーザに決定させて、その設定を基にプリンタ装置１３が印字できる形式に変換した描画データを生成するようにプリンタドライバ本体部３０の機能を拡張するプラグインの構成例である。このプラグインでは、プラグイン本体部４２が印刷設定部４２ａと描画部４２ｂとを有する。また、プラグイン独自の情報も使うので、プラグイン情報部４３を有する。
【００５０】
図５−２に示されるプラグイン４１ｂ（プラグインＢ）は、印刷設定に関係なく必ずスタンプを付けて印刷するようにプリンタドライバ本体部３０の機能を拡張するプラグインの構成例である。この場合、印刷設定を行う必要が無く、また、プラグインの情報も用いないので、プラグイン本体部４２は、描画部４２ｂのみを有する。
【００５１】
＜本発明の実施形態＞
次に、本発明の実施形態について説明する。図６は、本発明の実施形態によるプリンタドライバパッケージ５０の一例の構成を示す。このプリンタドライバパッケージ５０は、ホストコンピュータ１１の所定のディレクトリに格納される。なお、パッケージとは、プリンタドライバを構成するファイルを一纏めにした構造をいう。すなわち、プリンタドライバパッケージ５０には、プリンタドライバとして動作するために必要なファイル群５１が格納される。
【００５２】
本実施形態では、ファイル群５１は、プリンタドライバ本体部３０を構成するファイル群５２と、プリンタドライバ本体部３０に対して機能を追加するためのプラグインを格納するためのプラグイン格納用ファイル５３とを含む。プラグイン格納用ファイル５３は、プリンタドライバ本体部３０に対してプラグインによる機能が追加されていない場合は、内容が空とされている。
【００５３】
これに限らず、プリンタドライバ本体部３０に対してプラグインによる機能が追加されていない場合に、プラグイン格納用ファイル５３に対してプラグインとは異なる他のファイルを格納しておいてもよい。
【００５４】
図７は、本実施形態による、プリンタドライバパッケージ５０に対応するドライバ情報ファイル６０の一例の構成を示す。ドライバ情報ファイル６０は、対応するプリンタドライバパッケージ５０に関連付けられて、ホストコンピュータ１１に保持および管理される。なお、このドライバ情報ファイル６０は、プリンタドライバパッケージ５０をクライアントコンピュータ１２にコピーする際に、プリンタドライバパッケージ５０と主にクライアントコンピュータ１２に転送され、クライアントコンピュータ１２側のインストーラに参照される。
【００５５】
ドライバ情報ファイル６０の記述において、ファイルリスト部６１に、プリンタドライバ本体部３０を構成するファイル群５２に属する各ファイル名と共に、プラグイン格納用ファイル５３のファイル名６２（図７の例では、「rplgprn.zip」）が記述される。
【００５６】
図８は、プラグイン格納用ファイル５３に対してプラグインが格納された例を示す。プリンタドライバに対してプラグインが追加された場合は、このプラグイン格納用ファイル５３に対し、追加されたプラグインを構成する各ファイルが、適切な構成で格納される。
【００５７】
図８の例では、プラグイン格納用ファイル５３に対してプラグイン４１ａ（プラグインＡ）およびプラグイン４１ｂ（プラグインＢ）が格納され、プリンタドライバ本体部３０に対して、２つのプラグインが追加されている。プラグイン４１ａは、ファイル「pluginAu.dll」、「pluginAg.dll」および「pluginA.ini」からなる。また、プラグイン４１ｂは、ファイル「pluginB.exe」からなる。これら各ファイルは、プラグイン格納用ファイル５３内においてプラグイン毎にディレクトリを形成して、各ファイルを対プラグイン毎にディレクトリに纏めて格納してもよいし、ディレクトリを形成せずに各ファイルを一次元的に格納してもよい。
【００５８】
ここで、プリンタドライバのインストール動作を制御するＯＳ側は、上述したドライバ情報ファイル６０におけるファイルリスト部６１の記述に基づきプリンタドライバパッケージ５０を構成するファイルのファイル名を取得し、取得したファイル名に従いインストール動作を実行する。
【００５９】
本実施形態によれば、プリンタドライバ本体部３０に対してプラグインが追加されていない初期の状態において、ダミーのプラグイン格納用ファイル５３を予め作成し、その情報をドライバ情報ファイル６０におけるファイルリスト部６１に記述するようにしている。そして、追加されるプラグインを構成するファイル群を、このプラグイン格納用ファイル５３に格納する。そのため、上述のように、プリンタドライバ本体部３０に対して複数個のプラグインを追加していっても、ファイルリスト部６１の記述は変化せず、当該プラグイン格納用ファイル５３は、ＯＳ側からはプリンタドライバパッケージ５０を構成する１つのファイルであると認識されることになる。
【００６０】
図９は、プラグイン格納用ファイル５３の一例の構成を示す。本実施形態では、プラグイン格納用ファイル５３として、複数のファイルデータを１のファイルに纏めて扱う際に一般的に用いられるＺＩＰ形式のファイルを用いる。これに限らず、複数データを１のファイルに纏めることができるものであれば、他の形式のファイルを適用することもできる。
【００６１】
ＺＩＰファイルにおいては、アーカイブするファイルデータ７０、７０、…が、それぞれファイル名情報や圧縮／非圧縮を示す情報などを含むローカルファイルヘッダ７１、７１、…を付加されてＺＩＰファイルの先頭から順に格納されていく。ファイルデータ７０、７０、…は、圧縮符号化されたものでも、非圧縮のものでもよい。以下、ファイルデータ７０、７０、…および対応するローカルファイルヘッダ７１、７１、…を、アーカイブデータと呼ぶ。
【００６２】
アーカイブデータの後ろすなわちＺＩＰファイルの末尾部分に、セントラルディレクトリ７２が配置される。セントラルディレクトリ７２は、アーカイブデータの定義情報であって、ローカルファイルヘッダ７１、７１、…にそれぞれ対応するファイルヘッダ７３、７３、…が含まれる。また、ファイルヘッダ７３、７３、…は、対応するローカルファイルヘッダ７１、７１、…が付加されるファイルデータ７０、７０、…のファイル名などが記述される。セントラルディレクトリ７２の後ろに、終了定義であるフッタ７４が配置される。
【００６３】
ＺＩＰファイルに格納された各ファイルデータ７０、７０、…を読み込むためには、先ずＺＩＰファイルの末尾部分に配置されるセントラルディレクトリ７２にアクセスしてファイルヘッダ７３、７３、…を読み取る。そして、読み取られたファイルヘッダ７３、７３、…情報に基づき、各ファイルデータ７０、７０、…にアクセスする。したがって、ＺＩＰファイルに格納される各ファイルデータ７０、７０、…は、それぞれ単独にアクセスすることができる。
【００６４】
なお、プラグイン格納用ファイル５３に一纏めに格納された各ファイルを、プラグイン格納用ファイル５３からそれぞれ元のファイルの形式で取り出すことを、以下では、解凍または解凍処理と呼ぶ。上述のＺＩＰファイルの例では、解凍または解凍処理により、セントラルディレクトリ７２にアクセスしてファイルヘッダ７３、７３、…を読み込み、各ファイルデータ７０、７０、…を、それぞれ元の形式で取り出す。各ファイルデータ７０、７０、…が圧縮符号化されていれば、ファイルヘッダ７３、７３、…などの情報に基づき、対応する方式で各ファイルデータ７０、７０、…を伸張する。
【００６５】
図１０は、本実施形態による、プラグイン格納用ファイル５３の生成処理の一例を示すフローチャートである。この図１０に例示される処理は、新たに追加するプラグインに専用のインストーラプログラム（以下、インストーラ）に従い、ＣＰＵ１０１により実行されるものとする。一例として、新たに追加するプラグインがホストコンピュータ１１に導入された際に、ユーザが、当該プラグインに付属するインストーラを起動させ、図１０のフローチャートの処理を開始させる。
【００６６】
インストーラは、ホストコンピュータ１１のＯＳにインストールされているプリンタドライバを列挙して、新たなプラグインをインストールすべき対象のプリンタドライバを検索する（ステップＳ１０）。そして、次のステップＳ１１で、新たなプラグインをインストールするプリンタドライバのインストール先のディレクトリを参照し、当該プリンタドライバによるプリンタドライバパッケージ内のプラグイン格納用ファイル５３が検索される。検索されたプラグイン格納用ファイル５３は、ステップＳ１２で解凍される。
【００６７】
次のステップＳ１３で、インストーラは、解凍されたプラグイン格納用ファイル５３の内容を確認し、既に他のプラグインが格納されているか否かを判定する。若し、当該プラグイン格納用ファイル５３にプラグインが格納されていないと判定されたら、処理は後述するステップＳ１５に移行される。一方、ステップＳ１３で、当該プラグイン格納用ファイル５３に既にプラグインが格納されていると判定されたら、処理はステップＳ１４に移行される。
【００６８】
ステップＳ１４では、新たにインストールするプラグインを構成するファイル群を、ステップＳ１２の解凍処理によりプラグイン格納用ファイル５３から取り出された、他のプラグインを構成するファイル群に対してマージする。すなわち、このマージ処理により、新たにインストールするプラグインを構成するファイル群と、既にインストールされている他のプラグインを構成するファイル群とを並列的に配置する。マージ処理が終了すると、処理はステップＳ１５に移行される。
【００６９】
ステップＳ１５では、新たに追加するプラグインを含むプラグイン格納用ファイル５３が生成される。すなわち、処理がステップＳ１３から直接的にステップＳ１５に移行した場合は、新たに追加するプラグインを構成するファイル群を含むプラグイン格納用ファイル５３が生成される。一方、処理がステップＳ１４からステップＳ１５に移行した場合には、ステップＳ１４でマージされたデータ全体を含むプラグイン格納用ファイル５３を生成する。
【００７０】
上述のＺＩＰファイルの例では、例えば、プラグイン格納用ファイル５３に格納する各ファイルについて、ローカルファイルヘッダ７１が生成され、各ファイル毎のローカルファイルヘッダ７１およびファイルデータ７０を順次、書き込んでいく。プラグイン格納用ファイル５３に格納する全てのファイルについて書き込みが終了すると、各ローカルファイルヘッダ７１、７１、…および各ファイルデータ７０、７０、…に基づきファイルヘッダ７３、７３、…が生成され、セントラルディレクトリが構築される。そして、構築されたセントラルディレクトリが各ローカルファイルヘッダ７１、７１、…および各ファイルデータ７０、７０、…によるアーカイブデータの後ろに書き込まれ、フッタ７４がさらに書き込まれてプラグイン格納用ファイル５３が生成される。生成されたプラグイン格納用ファイル５３は、例えば、元のプラグイン格納用ファイル５３に対して上書きされる。
【００７１】
なお、ステップＳ１５において、ファイルデータ７０、７０、…は、所定の形式で圧縮符号化してアーカイブデータを構成してもよいし、非圧縮で用いてアーカイブデータを構成してもよい。
【００７２】
本実施形態では、プリンタドライバ本体部３０に対してプラグインが追加されていない状態で既にダミーのプラグイン格納用ファイル５３が作成され、ドライバ情報ファイル６０のファイルリスト部６１に対して、プラグイン格納用ファイル５３の情報が記述されている。そのため、ステップＳ１４およびステップＳ１５において、プラグイン格納用ファイル５３に対して新たなプラグインを構成するファイルが追加された場合であっても、ドライバ情報ファイル６０の記述が変化しない。
【００７３】
ステップＳ１５でプラグイン格納用ファイル５３が生成されると、処理はステップＳ１６に移行される。ステップＳ１６では、ステップＳ１５で生成されたプラグイン格納用ファイル５３の更新日時（タイムスタンプ）を変更する。
【００７４】
より具体的には、ステップＳ１６では、プラグイン格納用ファイル５３の更新日時を、上述のステップＳ１２で解凍処理を行う以前のプラグイン格納用ファイル５３の更新日時よりも少し後（例えば１秒程度後）の時刻に変更する。これは、プリンタドライバ本体部３０を更新する際に不具合が起きないようにするためである。
【００７５】
すなわち、プラグイン格納用ファイル５３の更新日時によっては、新しいバージョンのプリンタドライバよりも当該プラグイン格納用ファイル５３の更新日時の方が新しいと判断されてしまう可能性がある。この場合に、新しいバージョンのプリンタドライバと共に提供されるプラグインは、更新日時が当該プラグイン格納用ファイル５３の更新日時よりも古いことになってしまう。そのため、新しいバージョンのプリンタドライバと共に提供されるプラグインのバージョンが、現在インストールされているプラグインのバージョンよりも古いバージョンと判断され、このプラグインがインストールされなくなってしまうおそれがある。
【００７６】
この不具合を解消するため、本実施形態では、プラグイン格納用ファイル５３の更新日時を、元のプラグイン格納用ファイル５３の更新日時まで戻すようにしている。実際には、予期せぬエラーを避けるため、上述したように、プラグイン格納用ファイル５３の更新日時を、元のプラグイン格納用ファイル５３の更新日時の少し（数秒乃至数分など）だけ後に変更する。
【００７７】
なお、この例はこれに限らず、プラグイン格納用ファイル５３の更新日時は、元のプラグイン格納用ファイル５３の更新日時から、プリンタドライバの次バージョンへの更新日時までの間であれば、どの日時に設定してもよい。より好ましくは、元のプラグイン格納用ファイル５３の更新日時以降であって、且つ、当該更新日時と重ならず、且つ、当該更新日時と略同一日時と見なせる日時（例えば、当該更新日時の数秒後乃至数分後の日時）に変更する。
【００７８】
図１１は、図１０で説明したようにしてプラグイン格納用ファイル５３が生成されプラグインが追加されたプリンタドライバパッケージ５０を、クライアントコンピュータ１２に対してコピーしてインストールする一例の処理を示すシーケンス図である。この図１１は、ＯＳの１つであるＷｉｎｄｏｗｓ（登録商標）における「Point&Print」機能を用いてプリンタドライバのクライアントコンピュータ１２へのインストールを行う例である。
【００７９】
先ず、図１１による処理に先立って、ホストコンピュータ１１側において、上述した図１０のフローチャートを用いて説明した処理により、追加してインストールするプラグインを格納したプラグイン格納用ファイル５３が生成され、当該プラグイン格納用ファイル５３を含むプリンタドライバパッケージ５０が形成されているものとする。
【００８０】
クライアントコンピュータ１２において、例えばユーザ操作により、ＯＳに対して、ネットワーク１０を介して接続されるプリンタ装置１３に対応するプリンタドライバの更新またはインストールが要求される。クライアントコンピュータ１２のＯＳは、この要求に応じて、ホストコンピュータ１１に対して、当該プリンタドライバの「Point&Print」機能による更新が要求される（ＳＥＱ１０）。
【００８１】
この要求に応じて、ホストコンピュータ１１のＯＳは、「Point&Print」機能に従い、ホストコンピュータ１１とプリンタ装置１３およびクライアントコンピュータ１２との間で、ポートの設定、プリンタ装置１３のＩＤ情報の取得など所定のやりとりを行う。これにより、「Point&Print」機能が利用可能な状態となる。
【００８２】
「Point&Print」機能が利用可能な状態となると、「Point&Print」機能に従い、クライアントコンピュータ１２からホストコンピュータ１１に対して、プリンタ装置１３に対応するプリンタドライバのプリンタドライバパッケージ５０のクライアントコンピュータ１２へのコピーが要求される（ＳＥＱ１１）。この要求に応じて、ホストコンピュータ１１は、「Point&Print」機能により、ドライバ情報ファイル６０におけるファイルリスト部６１の記述に従い、プリンタドライバパッケージ５０を構成する、プラグイン格納用ファイル５３を含んだファイル群を、クライアントコンピュータ１２に送信する。
【００８３】
プリンタドライバパッケージ５０を構成するファイル群がクライアントコンピュータ１２に受信されると、クライアントコンピュータ１２のＯＳは、当該ファイル群のクライアントコンピュータ１２へのインストールを開始する（ＳＥＱ１２）。
【００８４】
例えば、ＯＳは、当該ファイル群に含まれる、プリンタドライバ本体部３０を構成するファイルおよびプラグイン格納用ファイル５３を、それぞれ所定のディレクトリにコピーする。そして、インストーラは、コピーを行ったファイルに関し、ＯＳに対して所定の情報を登録する。
【００８５】
なお、プリンタドライバに追加されたプラグインの機能は、印刷時などに、必要に応じて随時呼び出される。例えば、プリンタドライバは、あるプラグインによる機能が必要な印刷を行う際に、当該プラグインを構成するファイルをプラグイン格納用ファイル５３を解凍して取り出し、所定のディレクトリにコピーする。
【００８６】
以上説明したように、本実施形態によれば、プリンタドライバに追加されたプラグインを、ホストコンピュータ１１のＯＳが備える機能のみを用いてクライアントコンピュータ１２に対してコピーすることができる。
【００８７】
＜実施形態の変形例＞
次に、上述した実施形態の変形例について説明する。上述した実施形態において図１０を用いて説明した、プラグイン格納用ファイル５３の生成処理は、追加するプラグインに専用のインストーラを用いて行った。これに対して、本変形例では、プラグインに専用のインストーラを用いず、汎用的な処理によりプラグインのインストールを行う。
【００８８】
すなわち、プラグインに付属するインストーラは、そのプラグイン特有の情報（対応するプリンタドライバ情報や、プラグインを構成するファイル情報など）を持つことが可能である。したがって、上述の実施形態で図１０を用いて説明したように、インストーラを起動させることで、プラグインのインストール処理を自動的に進めることができる。
【００８９】
これに対して、インストーラを用いず、例えばプリンタドライバ自体にプラグインのインストール機能を持たせるような場合には、そのインストール機能は当該プリンタドライバにおいて汎用的なものとなってしまう。そのため、プラグイン特有の情報を知ることができず、起動させただけではプラグインのインストール処理を進めることが困難である。
【００９０】
この場合であっても、インストールするプラグインを構成するファイル群を、ホストコンピュータ１１の記憶領域における、プリンタドライバが指定する位置に置いておくことで、プラグインのインストール処理を自動的に行うことが可能となる。
【００９１】
図１２は、本変形例による、プラグイン格納用ファイル５３の生成処理の一例を示すフローチャートである。なお、図１２において、上述した図１０のフローチャートと共通する処理には同一の符号を付し、詳細な説明を省略する。また、図１２による処理では、プリンタドライバ自体にインストーラの機能を持たせて、プラグインのインストール処理を行うものとする。
【００９２】
図１２のフローチャートに例示される処理に先立って、例えばユーザ操作により、プリンタドライバに新たに追加するプラグインを構成するファイル群を、記憶領域のプリンタドライバにより指定された位置に置いておく。プラグインを構成するファイル群が置かれる位置は、プリンタドライバから参照可能であれば、特に限定されない。
【００９３】
プリンタドライバは、所定のタイミングで、上述の、記憶領域のプリンタドライバが指定する位置に、プラグインを構成するファイル群が置かれているか否かを確認する（ステップＳ１００）。若し、置かれていなければ、例えばインストール処理を中止する（図示しない）。
【００９４】
なお、インストーラがプラグインを構成するファイル群が置いてあるか否かを確認するタイミングは、例えばＯＳからプリンタドライバに対して何らかの命令（例えばＯＳの１つであるＷｉｎｄｏｗｓ（登録商標）であればＤＤＩ(Device Driver Interface)コールなど）があった場合が考えられる。これに限らず、ユーザ操作に応じて、当該ファイル群が指定位置に置いてあるか否かを確認してもよい。
【００９５】
記憶領域のプリンタドライバにより指定される位置にプラグインを構成するファイル群が格納されていることが確認されたら、処理はステップＳ１２に移行される。ステップＳ１２以降は、上述した実施形態の図１０で示したフローチャートと同様に処理が進められる。
【００９６】
すなわち、ステップＳ１２で、プリンタドライバパッケージ内のプラグイン格納用ファイル５３が解凍され、解凍されたプラグイン格納用ファイル５３に既に他のプラグインが格納されているか否かが、ステップＳ１３で判定される。若し、当該プラグイン格納用ファイル５３にプラグインが格納されていないと判定されたら、処理はステップＳ１５に移行され、新たに追加するプラグインを含むプラグイン格納用ファイル５３が生成される。
【００９７】
一方、ステップＳ１３で、当該プラグイン格納用ファイル５３に既に他のプラグインが格納されていると判定されたら、処理はステップＳ１４に移行される。そして、新たにインストールするプラグインを構成するファイル群を、当該プラグイン格納用ファイル５３に既に格納されている他のプラグインを構成するファイル群に対してマージする。マージが終了すると、処理はステップＳ１５に移行され、既に追加されているプラグインと、新たに追加するプラグインとを含むプラグイン格納用ファイル５３が生成される。
【００９８】
ステップＳ１５でプラグイン格納用ファイル５３が生成されると、次のステップＳ１６で、生成されたプラグイン格納用ファイル５３の更新日時（タイムスタンプ）を変更する。例えば、生成されたプラグイン格納用ファイル５３の更新日時を、元のプラグイン格納用ファイル５３の生成日時より少し後、例えば１秒程度後の日時に変更する。
【００９９】
このようにして生成されたプラグイン格納用ファイル５３を含むプリンタドライバパッケージ５０が、例えばＯＳにより提供される「Point&Print」機能を用いてクライアントコンピュータ１２にコピーされ、インストールされる。このクライアントコンピュータ１２へのインストール処理は、上述の実施形態において図１１を用いた処理と同様であるので、ここでの説明を省略する。
【０１００】
なお、上述した実施形態および実施形態の変形例によるホストコンピュータ１１で実行されるインストールプログラムやプリンタドライバは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital Versatile Disk)などのコンピュータで読み取り可能な記憶媒体１１０に記録されて提供され、ドライブ装置１０７で読み取られて、ホストコンピュータ１１にインストールされる。
【０１０１】
また、上述した実施形態および実施形態の変形例によるホストコンピュータ１１で実行されるインストールプログラムやプリンタドライバを、インターネットやＬＡＮなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態のホストコンピュータ１１で実行されるインストールプログラムやプリンタドライバをインターネットなどのネットワーク経由で提供または配布するように構成しても良い。
【０１０２】
また、上述した実施形態および実施形態の変形例によるホストコンピュータ１１で実行されるインストールプログラムやプリンタドライバを、ＲＯＭ１０２に予め組み込んで提供するように構成することも考えられる。
【０１０３】
上述した実施形態および実施形態の変形例によるホストコンピュータ１１で実行されるインストールプログラムやプリンタドライバは、ＣＰＵ１０１が上述の記憶媒体１１０から読み出して実行することにより主記憶装置（ＲＡＭ１０３）上にロードされ、インストーラやプリンタドライバが主記憶装置上に生成されるようになっている。
【符号の説明】
【０１０４】
１０  ネットワーク
１１  ホストコンピュータ
１２  クライアントコンピュータ
１３  プリンタ装置
２１  プリンタドライバ
３０  プリンタドライバ本体部
４０  プラグイン部
５０  プリンタドライバパッケージ
５３  プラグイン格納用ファイル
６０  ドライバ情報ファイル
６１  ファイルリスト部
【先行技術文献】
【特許文献】
【０１０５】
【特許文献１】特開２００５−２０８８９５号公報
【図１】
2010277549.tif 000003
【図２】
2010277549.tif 000004
【図３】
2010277549.tif 000005
【図４】
2010277549.tif 000006
【図５−１】
2010277549.tif 000007
【図５−２】
2010277549.tif 000008
【図６】
2010277549.tif 000009
【図７】
2010277549.tif 000010
【図８】
2010277549.tif 000011
【図９】
2010277549.tif 000012
【図１０】
2010277549.tif 000013
【図１１】
2010277549.tif 000014
【図１２】
2010277549.tif 000015
【図１３】
2010277549.tif 000016
【図１４】
2010277549.tif 000017
【図１５】
2010277549.tif 000018