(57)【要約】【課題】不要となったプリンタドライバを自動的に認識し、認識したドライバを削除する仕組みを提供し、プリンタドライバのアンインストール作業を簡便化する。【解決手段】例えば、ホストコンピュータ１０００内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報図１１、図１２のプリンタドライバ管理テーブルＢ）を取得する取得ステップと、前記取得ステップが取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識ステップと、前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御ステップを有することを特徴とする管理方法を提供する。【選択図】　　　図６
2004078744.tif 000002
【特許請求の範囲】
【請求項１】
周辺装置に接続可能な情報処理装置にデバイスドライバを管理する管理方法であって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、
前記取得ステップにて取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識ステップと、
前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御ステップを有することを特徴とする管理方法。
【請求項２】
前記認識ステップは、周辺装置を特定する特定手順と、前記特定手順により特定された周辺装置を制御可能なデバイスドライバのうち、最もバージョンが新しいデバイスドライバを不要ではないと判断する判断手順とを備え、
前記特定手順により特定された周辺装置に対応するデバイスドライバに対して繰り返し前記判断手順における処理を行うことを特徴とする請求項１に記載の管理方法。
【請求項３】
前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする請求項２に記載の管理方法。
【請求項４】
新規にデバイスドライバを情報処理装置に追加した後に、前記取得ステップと、前記認識ステップと、前記削除ステップを、実行することを特徴とする請求項１乃至３のいずれかに記載の管理方法。
【請求項５】
周辺装置に接続可能な情報処理装置にデバイスドライバを管理可能な情報処理装置であって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得手段と、
前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識手段と、
前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御手段とを有することを特徴とする情報処理装置。
【請求項６】
前記認識手段は、特定の周辺装置を制御可能なデバイスドライバのうちで最もバージョンが新しいデバイスドライバを不要ではないと認識することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
新規にデバイスドライバを情報処理装置に追加した後に、前記取得手段と、前記認識手段と、前記削除手段とを、機能させることを特徴とする請求項６乃至７のいずれかに記載の情報処理装置。
【請求項９】
周辺装置に接続可能な情報処理装置にデバイスドライバを管理可能な情報処理装置において実行される制御プログラムであって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、
前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識ステップと、
前記認識ステップによって不要と認識されたデバイスドライバを削除する処理を制御する削除制御ステップとを情報処理装置において実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、周辺装置、周辺装置と接続可能な情報処理装置、及び、これらを含むシステムに関するものである。
【０００２】
【従来の技術】
一般に、ホストコンピュータと、周辺装置の一例であるプリンタによって構成される印刷システムにおいて印刷を行なう場合、まず、ホストコンピュータ側でアプリケーションを実行して文字や図形などの印刷対象の描画データを作成する。アプリケーションは、メニューなどで印刷処理が選択されたとき、オペレーティングシステムに対して、作成された描画データを渡して印刷処理を依頼する。アプリケーションより印刷処理の依頼があったとき、オペレーティングシステムはアプリケーションより渡された描画データを、ホストコンピュータに接続されたプリンタが実行可能な印刷コマンドへ変換を行なうため、そのプリンタに対応したデバイスドライバの一例であるプリンタドライバを実行する。プリンタドライバは、オペレーティングシステムによって規定された手続きにより、描画データをオペレーティングシステムより受け取り、それを印刷コマンドへ変換する。そしてプリンタドライバはオペレーティングシステムの通信機能を使用して接続されたプリンタへ印刷コマンドの出力を行なう。
【０００３】
プリンタは、機種ごとに、サポートしている用紙サイズ、インクの種類、用紙への記録方法、搬送可能な用紙の種類、用紙の搬送方法などの機能に違いがあり、それにより印刷制御方法、画像処理方法、使用できるプリンタコマンドのパラメータが異なる。そのため、アプリケーションの描画データをプリンタの制御コマンドへ変換するプリンタドライバは、プリンタの機種別の機能特性を十分考慮したうえで設計、作成を行わなければならない。よって、プリンタの機能特性の違いをプリンタドライバの制御アルゴリズムに反映させる必要あり、プリンタがサポートしているコマンド体系が同じであったとしても、制御アルゴリズムを実行するプログラムの違いからプリンタドライバの実行モジュールを各プリンタ個別に作成して供給することが行われている。
【０００４】
一方、プリンタの機能特性をデータベース化して、機種別に対応しなければならない処理の部分をプリンタドライバはそのデータベースを参照して得た情報に応じて内部アルゴリズムを切り替えるこというプログラム方法がある。この場合、一つのプリンタドライバの実行モジュールで複数種類のプリンタをサポートすることが可能である。このようにして、機能特性の異なる複数種類のプリンタに対し、ひとつのプリンタドライバを製品として供給することも行なわれている。
【０００５】
上述したように、プリンタとそのプリンタの制御を行うプリンタドライバは対応関係があり、使用しているプリンタに適したプリンタドライバをホストコンピュータにインストールする必要がある。プリンタドライバのインストールやアンインストールの作業は、インストーラと呼ばれるプログラムによって行っている。
【０００６】
【発明が解決しようとする課題】
すでにプリンタドライバがインストールされているホストコンピュータにプリンタドライバをインストールするとき、プリンタドライバのファイル名に変更がない場合は、ファイルの重ね書きを行えばよく、問題は生じない。しかしながら、例えば、プリンタドライバが一つのプリンタのみをサポートするのか、複数のプリンタ機種をサポートするのかについてプリンタドライバの仕様の変更があった場合など、プリンタドライバのファイル名を変更して対応しなければならない場合がある。プリンタドライバのファイル名に変更がある場合は、以前よりホストコンピュータにあったプリンタドライバを削除する必要がある。
【０００７】
この際、ドライバをアンインストール（削除）するための機能は、プリンタドライバのインストーラの一機能として提供するか、或いは、専用のアンインストールプログラムとして提供することが考えられ、ユーザは、それを使用して手動で煩雑なアンインストール作業を行なうことが必要となる。
【０００８】
しかしながら、例えば、一機種をサポートしているタイプのプリンタドライバから、複数機種をサポートするタイプのプリンタドライバへ変更することが必要なシステムの移行作業が行われる場合がある。この場合には、複数機種のプリンタをホストコンピュータに接続して使用しているときは、現在接続されているプリンタが新しい複数機種サポート型のプリンタドライバによりサポートされているかどうかを正確にユーザが一々把握した上で、既存の不要な機種用のプリンタドライバを選択的に削除するという作業を手動で行わなければならなかった。あるいは、一度すべてのプリンタドライバを削除してから、プリンタドライバをインストール（導入）し直すなどの面倒な作業が必要であった。
【０００９】
本発明は上記課題を解決するためになされたものであり、不要となったプリンタドライバを自動的に認識して削除することにより、プリンタドライバのインストール作業を簡便化することができるインストーラの提供を目的とする。
【００１０】
【課題を解決するための手段】
上記目的の少なくとも一つを達成するため、本発明は、例えば以下の構成を備える。
【００１１】
請求項１に記載の発明は、周辺装置に接続可能な情報処理装置にデバイスドライバを管理する管理方法であって、情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報から、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバのうち、情報処理装置の記憶装置に存在するデバイスドライバのうち、不要となったデバイスドライバを認識する認識ステップと、前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御ステップを有することを特徴とする。
【００１２】
請求項２に記載の発明は、前記認識ステップは、周辺装置を特定する特定手順と、前記特定手順により特定された周辺装置を制御可能なデバイスドライバのうち、最もバージョンが新しいデバイスドライバを不要ではないと判断する判断手順とを備え、前記特定手順により特定された周辺装置に対応するデバイスドライバに対して繰り返し前記判断手順における処理を行うことを特徴とする。
【００１３】
請求項３に記載の発明は、前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする。
【００１４】
請求項４に記載の発明は、新規にデバイスドライバを情報処理装置に追加した後に、前記取得ステップと、前記認識ステップと、前記削除ステップを、実行することを特徴とする。
【００１５】
請求項５乃至請求項９に記載の発明は、請求項１乃至４に記載の発明の装置又はプログラムの発明であるので省略する。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１７】
図１はプリンタドライバのインストール先であるコンピュータとプリンタとからなるプリントシステムを示すブロック図である。図１において、１はホストコンピュータであり、イーサネット（Ｒ）やＵＳＢなどの外部バス１０（通信バス）を介してプリンタＡ１１，プリンタＢ１２が接続されている。図１ではプリンタは２つのみ図示したが、通信バス１０を介して任意の数のプリンタが接続可能である。
【００１８】
プリンタＡ１１およびプリンタＢ１２は、それぞれプリンタコントローラ１３およびプリンタエンジン１４を備えるインクジェットプリンタであり、種々のサイズのプリント媒体に画像、文字、グラフィクス等をプリント出力することができる。ここで、プリンタコントローラ１３はプリンタ全体の制御を実行する制御回路およびプログラムを意味し、一方、プリンタエンジン１４はインクジェットプリンタヘッドの走査やプリント媒体の搬送を行う機構そのものを意味するものである。プリンタ１１およびプリンタ１２は、それぞれインクジェットカートリッジを備え、インクジェットカートリッジはインクジェットヘッドのヘッドに供給するインクを貯留したインクタンクを色毎に組合せて一体化したものである。
【００１９】
ホストコンピュータ１において、２はＣＰＵであり、起動時ＲＯＭ３に格納されたプログラムによりハードディスクやＣＤ−ＲＯＭなどの外部記憶装置６に格納されたオペレーティングシステム（以下、図面ではＯＳとすることがある。）をＲＡＭ４にロードし実行してシステムを制御する。５はＣＲＴあるいはＬＣＤなどの表示装置であり、ＣＰＵ１の制御にしたがって各種の表示を行うことができる。７はキーボード、マウスなどの入力装置であり、ＣＰＵ１への各種入力を行う。９はホストコンピュータ内部バスを表し、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、表示装置５、外部記憶装置６、入力装置７、外部Ｉ／Ｆ８どの間でデータのやり取りを可能にするものである。
【００２０】
外部記憶装置６には、オペレーティングシステムの他にアプリケーションプログラムやプリンタドライバなどの各種プログラムが格納されており、ＣＰＵ１は種々のアプリケーションプログラムを実行し、オペレーティングシステムの制御に従い、プリンタＡ１１、プリンタＢ１２に対応したプリンタドライバを実行して、アプリケーションプログラムの描画データをプリンタＡ１１、プリンタＢ１２が実行可能なプリンタ制御コマンドに変換する。プリンタドライバの制御にもとづきＣＰＵ１が生成したプリンタ制御コマンドは、Ｉ／Ｆ８により、通信バス１０に出力され、プリンタＡ１１またはプリンタＢ１２へ送信される。プリンタＡ１１またはプリンタＢ１２はこのようにしてホストコンピュータ１から送信されたプリンタ制御コマンドの受信を行い、印刷を行う。
【００２１】
図２は、コンピュータのオペレーティングシステムにおける印刷処理に関係するプログラム実行モジュールの内部ブロック図を表す。アプリケーション１５は、あらかじめユーザの操作により作成された描画データを、オペレーティングシステム１６に渡すとともにオペレーティングシステム１６に対し印刷処理の依頼を行う。オペレーティングシステム１６はアプリケーションから渡された描画データを印刷スプールファイル１７にセーブする。アプリケーションから描画データをすべて受け取り印刷スプールファイル１７に保存した後、オペレーティングシステム１６は出力先のプリンタに対応したプリンタドライバ１８をロードする。オペレーティングシステム１６は印刷スプールファイル１７から描画データをロードし、プリンタドライバ１８に渡し処理を依頼する。プリンタドライバ１８は渡された描画データをプリンタコマンドへ変換して、オペレーティングシステム１６の通信機能を利用してプリンタ１９へ出力する。プリンタ１９ではこのようにして生成された印刷コマンドにもとづいて印刷を行う。
【００２２】
図３は、本実施形態のインストーラが実行されるときの実行環境例のプロック図を示す。図３はプリンタドライバ１、プリンタドライバ２がすでにホストコンピュータ上にインストールされていた状態で、新たにプリンタドライバ３がインストールされた状態を示している。インストーラ２０は、インストール作業の実行を担当するインストールメインモジュール２１と、プリンタドライバのバージョンとサポートプリンタの情報を取得して処理を行うバージョン管理モジュール２２で構成される。プリンタドライバ１は、バージョンが１．０．０の制御プログラムによるプリンタドライバであり、プリンタＡをサポートする。プリンタドライバ２は、バージョン１．１．０の制御プログラムを持つプリンタドライバであり、プリンタＤをサポートする。プリンタドライバ３は、バージョン２．０．０の制御プログラムを持つプリンタドライバであり、サポート情報テーブルにセーブされたサポート機種情報のプリンタをすべてサポートすることが可能なプリンタドライバである。
【００２３】
図５は、サポート情報テーブルのデータ構造を表す。サポート情報テーブルは、プリンタドライバがサポートしているプリンタの機種数と機種の情報を持つ。図５の表のプリンタモジュール３の欄が、プリンタドライバ３に関するものであり、サポート可能なプリンタのデータが保存されている。本実施例では、プリンタドライバ３は、プリンタＡ、プリンタＢ、プリンタＣの３機種を制御可能である。
【００２４】
本実施形態のインストーラが実行されると、まず、インストールメインモジュール２１がホストコンピュータのＣＰＵにより実行される。図６は、インストールメインモジュール２１の処理を表すフローチャートである。ステップＳ１において、プリンタドライバをオペレーティングシステムで規定された所定の場所にインストールする。ステップＳ２において、バージョン管理モジュール２２を呼び出し、各プリンタドライバのバージョンとサポートしているプリンタ機種情報を取得して、プリンタドライバ管理テーブルＢを作成させ取得する。
【００２５】
図７は、ステップＳ２の詳細であり、バージョン管理モジュール２２の処理を表すフローチャートである。ステップＳ９において、ホストコンピュータの外部記憶装置上に存在するプリンタドライバの検索を行なう。この処理は、例えば、プリンタドライバをオペレーティングシステムに規定された場所の範囲内で、あらかじめ決めておいたディレクトリの中にインストールしておくものとし、バージョン管理モジュール２２がそのディレクトリの中の実行ファイルを検索することにより行われる。ステップＳ１０において、検索で見つかったプリンタドライバの総数を変数ｎに格納する。ステップＳ１１で、カウンタ用の変数ｉを０に初期化する。ステップＳ１２で、カウンタ変数ｉとプリンタドライバの総数ｎを比較する。ｉ＜ｎのときは、ステップＳ１３に進む。ステップＳ１３において、プリンタドライバのバージョン情報を取得する。例えば、Ｍａｃ　ＯＳ　Ｘ（商標）のようなＯＳにおいては、プリンタドライバはバンドルと呼ばれるディレクトリ階層構造で構成される。ディレクトリ下の所定の場所に所定のファイル名のファイルがあり、その中にバージョン番号が記述されている。あるいは、Ｍａｃ　ＯＳ　９（商標）のようなオペレーティングシステムでは、リソースと呼ばれるファイル領域にバージョン情報が記述されている。ステップＳ１３では、例えば、アプリケーションとして提供されるインストーラが、これらＯＳが管理する情報を参照してバージョン情報を取得する。
【００２６】
ステップＳ１４では、インストーラは、ｉ番目のプリンタドライバのサポート情報テーブルを検索する。例えば、Ｍａｃ　ＯＳ　Ｘ（Ａｐｐｌｅ社の商標）用ドライバのようなディレクトリ構造で管理されるプリンタドライバは、プリンタドライバのディレクトリ階層下の所定の場所にサポート情報ファイルを格納されるものとする。別のオペレーティングシステムのプリンタドライバでは、リソースと呼ばれるファイル領域にサポート情報を保存しておくこともできる。ステップＳ１４では、そのようなサポート情報テーブルの検索処理を行う。サポート情報テーブルが見つかった場合、ステップＳ１５へ進む。ステップＳ１５において、サポート情報テーブルの中に記述されたそのプリンタドライバが制御可能なプリンタの機種を取得する。Ｓ１４において、サポート情報テーブルが見つからなかった場合、Ｓ１６に進む。Ｓ１６では、他の手段によりプリンタドライバがサポートするプリンタ機種情報を取得する。例えば、プリンタドライバのファイル名にプリンタの機種名が含まれるようなときは、バージョン管理モジュールはファイル名からプリンタドライバがサポートする機種名称を取得することができる。また、ファイル名にプリンタの機種名称が含まれていない場合でも、バージョン管理モジュールが、プリンタドライバのファイル名とプリンタ機種を対応付けるテーブルを持ち、これを参照することでプリンタドライバが制御可能なプリンタの機種を知ることができる。
【００２７】
ステップＳ１７において、ｉ番目のプリンタドライバがサポートするプリンタ機種情報とプリンタドライバのバージョン番号により、モジュール管理テーブルＡを更新する。
【００２８】
図９、図１０はモジュール管理テーブルＡの構造を表す図である。モジュール管理テーブルＡは、プリンタの機種を表す情報、プリンタドライバのバージョン番号、プリンタドライバを識別するための情報を持つ。プリンタドライバを識別するための情報はオペレーティングシステムで管理されるプリンタドライバの参照情報である。
【００２９】
図８はステップＳ１７の詳細を表すフローチャートである。ステップＳ２０において、現在処理対象となっているプリンタドライバがサポートするプリンタの機種数を変数ｍに代入する。ステップ２１において、カウンタ変数ｊを０に初期化する。ステップ２２において、変数ｍと変数ｊの大小関係を比較する。ｊ＜ｍのときは、ステップＳ２３へ進み、プリンタドライバがサポートするプリンタのうち、ｊ番目のプリンタに関してステップＳ２３以降の処理を行う。ステップＳ２３において、ｊ番目のプリンタがプリンタドライバ管理テーブルＡに登録済であるかどうか調べる。ステップＳ２３で、ｊ番目のプリンタがプリンタドライバ管理テーブルＡに存在しないときは、そのプリンタの情報をモジュール管理テーブルＡに登録するため、ステップＳ２５へ進む。ｊ番目のプリンタがプリンタドライバ管理テーブルに存在するときは、ステップＳ２４へ進む。ステップＳ２４において、対象となっているｊ番目のプリンタに関して、プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンと、現在処理対象となっているプリンタドライバのバージョンを比較する。現在処理中のプリンタドライバのバージョンの方が大きいときは、ステップＳ２５に進む。ステップＳ２５では、プリンタドライバ管理テーブルＡの該当プリンタの情報を現在処理対象となっているプリンタドライバの識別情報とバージョン情報で更新する。プリンタドライバ管理テーブルＡにすでに登録されているプリンタドライバのバージョンよりも現在処理中のプリンタドライバのバージョンの方が小さいときは、Ｓ２５のプリンタドライバ管理テーブルＡの更新処理は行わない。ステップＳ２６で、カウンタ変数ｊをインクリメントしてステップＳ２２に戻り、処理対象となっているプリンタドライバの次のサポートプリンタに対して同様の処理を行う。ステップＳ２２において、ｊ＜ｍでなくなり、すべてのプリンタについての処理が終了したときは、図８のフローチャートの処理を終了して、図７のフローチャートのステップＳ１８へ戻る。
【００３０】
図７のフローチャートのステップＳ１８において、カウンタ変数ｉをインクリメントしてステップＳ１２へ戻り、次のプリンタドライバに関して同様の処理を行う。ステップＳ１２にて、ｉ＜ｎでなくなり、すべてのプリンタドライバについて処理が終了したときは、ステップＳ１９へ進む。ステップＳ１９において、プリンタドライバ管理テーブルＡからプリンタドライバ管理テーブルＢを作成する。
【００３１】
図１１、図１２はプリンタドライバ管理テーブルＢの構造を表す。プリンタドライバ管理テーブルＢは、プリンタドライバ識別情報、プリンタドライバのバージョン番号、プリンタの機種数、プリンタの情報を持ち、プリンタドライバをキーとしてプリンタドライバ管理テーブルＡを並びかえたものである。そして、このテーブルを参照すれば、各バージョンのプリンタドライバを必要とするプリンタの機種がわかる。
【００３２】
図３のプリンタドライバの構成において、バージョン管理モジュール２２が図７、図８のフローチャートの処理を行い作成されたプリンタドライバ管理テーブルＡとプリンタドライバ管理テーブルＢが、図９、図１１である。図９のプリンタドライバ管理テーブルＡによれば、プリンタＡをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり、プリンタＢをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり、プリンタＣをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ３であり、プリンタＤをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ２であることがわかる。さらにこのテーブルをもとに作成された図１１のプリンタドライバ管理テーブルＢによれば、プリンタドライバ１を必要とするプリンタはなく、プリンタドライバ２はプリンタＤのために必要であり、プリンタドライバ３はプリンタＡ、プリンタＢ、プリンタＣのために必要であることがわかる。
【００３３】
バージョン管理モジュールがプリンタドライバ管理テーブルＢを作成後、インストールメインモジュール２１の処理の図６のステップＳ３に戻る。ステップＳ３において、プリンタドライバ管理テーブルＢに登録されたプリンタドライバの総数を変数ｎに代入する。ステップＳ４において、カウンタ変数ｉを０に初期化する。ステップＳ５において、変数ｎと変数ｉの大小関係を比較する。ｉ＜ｎのときは、ステップＳ６へ進む。ステップＳ６において、プリンタドライバ管理テーブルＢのｉ番目のプリンタドライバを必要とするプリンタの機種数を取得して機種数が０かどうかを調べる。機種数が０のときは、ステップＳ７へ進み、そのプリンタドライバの削除処理を行う。ステップＳ６において、ｉ番目のプリンタドライバを必要とするプリンタの機種数が０でないときは、そのプリンタドライバの削除は行わない。
【００３４】
ステップＳ８において、カウンタ変数ｉをインクリメントして、ステップＳ５へ戻る。プリンタドライバ管理テーブルＢに登録されているすべてのプリンタドライバの処理が終了して、ステップＳ５において、ｉ＜ｎではなくなったときは、インストールメインモジュール２１の処理を終了する。
【００３５】
図３のようなプリンタドライバの構成では、プリンタドライバ管理モジュールＢは図１１のようであるので、プリンタ機種数が０であるプリンタドライバ１は、インストールメインモジュール２１の実行後、削除される。
【００３６】
図４は、本実施形態のインストーラが実行されるときの、他の実行環境例のプロック図を示す。図４は図３の環境にプリンタドライバ３がインストールされプリンタドライバ１が削除された状態において、さらに、プリンタドライバ４がインストールされたときの状態を表している。プリンタドライバ４は、サポート情報テーブルを持ち、図５のプリンタドライバ４の欄に示すように、プリンタＡ、プリンタＢ、プリンタＣ、プリンタＤの４機種を制御可能である。また、プリンタドライバ４の制御プログラムのバージョンは３．０．０である。
【００３７】
このとき、図７、図８のフローチャートのバージョン管理モジュールが実行されることにより作成されるモジュール管理テーブルＡは図１０である。プリンタＡ、プリンタＢ、プリンタＣ、プリンタＤをサポートする最もバージョンの大きいプリンタドライバは、ともにプリンタドライバ４であることがわかる。図１０のプリンタドライバ管理テーブルＡをもとに作成されるプリンタドライバ管理テーブルＢを図１２に示す。プリンタドライバ２、プリンタドライバ３を必要とするプリンタは存在せず、プリンタドライバ４を必要とするプリンタは、プリンタＡ、プリンタＢ、プリンタＣ、プリンタＤであることがわかる。すなわち、図６のフローチャートにもとづくインストーラメインモジュールを実行すると、プリンタドライバ４がインストールされた後に、プリンタドライバ２とプリンタドライバ３は削除される。
【００３８】
（他の実施形態）
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、各情報処理装置により遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【００３９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００４０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【００４１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４２】
以上説明したように、本発明の上述の各実施形態によれば、プリンタドライバのバージョンや制御可能なプリンタなどの違いによりファイル名が異なるプリンタドライバがインストールされているホストコンピュータの環境において、プリンタドライバをインストールした後、不要となったバージョンの古いプリンタドライバを認識して削除することができるプリンタドライバのインストーラを提供できる。これにより、従来ユーザが手動で行っていた不要となった古いバージョンのプリンタドライバを削除する作業をインストーラが行えるようになり、ユーザによるプリンタドライバのアンインストール作業を簡便化することができる。
【００４３】
【発明の効果】
不要となったプリンタドライバを自動的に認識し、認識したドライバを削除するので、プリンタドライバのアンインストール作業を簡便化することができる。
【図面の簡単な説明】
【図１】コンピュータとプリンタとからなる印刷システムの構成の一例を示すブロック図である。
【図２】印刷システムにおいてオペレーティングシステムを介した印刷処理を表すブロック図である。
【図３】インストーラが実行される環境の例を表すブロック図である。
【図４】インストーラが実行される環境の他の例を表すブロック図である。
【図５】プリンタドライバが制御可能なプリンタの情報を持つサポート情報テーブルを示す図である。
【図６】インストーラメインモジュールの処理を表すフローチャートである。
【図７】バージョン管理モジュールの処理を表すフローチャートである。
【図８】図７において、プリンタドライバ管理テーブルＡの更新処理の詳細を表すフローチャートである。
【図９】図３のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルＡを示す図である。
【図１０】図４のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルＡを示す図である。
【図１１】図３のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルＢを示す図である。
【図１２】図４のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルＢを示す図である。
【符号の説明】
１　ホストコンピュータ
２　ＣＰＵ
３　ＲＯＭ
４　ＲＡＭ
５　表示装置
６　外部記憶装置
７　入力装置
８　外部Ｉ／Ｆ
９　内部バス
１０　外部バス
１１　プリンタＡ
１２　プリンタＢ
１３　プリンタコントローラ
１４　プリンタエンジン
１５　アプリケーション
１６　オペレーティングシステム
１７　印刷スプールファイル
１８　プリンタドライバ
１９　プリンタ
２０　インストーラ
２１　インストールメインモジュール
２２　バージョン管理モジュール
２３　プリンタドライバ１
２４　プリンタドライバ２
２５　プリンタドライバ３
２６　プリンタドライバ４
【図１】
2004078744.tif 000003
【図２】
2004078744.tif 000004
【図３】
2004078744.tif 000005
【図４】
2004078744.tif 000006
【図５】
2004078744.tif 000007
【図６】
2004078744.tif 000008
【図７】
2004078744.tif 000009
【図８】
2004078744.tif 000010
【図９】
2004078744.tif 000011
【図１０】
2004078744.tif 000012
【図１１】
2004078744.tif 000013
【図１２】
2004078744.tif 000014