JP2004078744A - Information processor and method, and control program - Google Patents

Information processor and method, and control program Download PDF

Info

Publication number
JP2004078744A
JP2004078744A JP2002240555A JP2002240555A JP2004078744A JP 2004078744 A JP2004078744 A JP 2004078744A JP 2002240555 A JP2002240555 A JP 2002240555A JP 2002240555 A JP2002240555 A JP 2002240555A JP 2004078744 A JP2004078744 A JP 2004078744A
Authority
JP
Japan
Prior art keywords
device driver
driver
printer
information
printer driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002240555A
Other languages
Japanese (ja)
Inventor
Masamichi Ebata
江端 正道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002240555A priority Critical patent/JP2004078744A/en
Priority to US10/642,731 priority patent/US7752290B2/en
Publication of JP2004078744A publication Critical patent/JP2004078744A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To automatically recognize an unnecessary printer driver, to provide know-how to delete the recognized driver, and to simplify the uninstalling operation of the printer driver. <P>SOLUTION: This information processor comprises, for example, an acquiring step for acquiring the version information of a device driver in a host computer 1000 and a printer driver management table B of information charts 11, 12 of peripheral devices capable of being controlled by the device driver, a recognizing step for recognizing the unnecessary device driver among the device drivers in which a plurality of versions can exist corresponding to the specific peripheral device, on the basis of the version information of the device driver acquired in the acquiring step, and a delete control step for controlling the delete of the device driver recognized as the unnecessary device driver by the recognizing means. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、周辺装置、周辺装置と接続可能な情報処理装置、及び、これらを含むシステムに関するものである。
【0002】
【従来の技術】
一般に、ホストコンピュータと、周辺装置の一例であるプリンタによって構成される印刷システムにおいて印刷を行なう場合、まず、ホストコンピュータ側でアプリケーションを実行して文字や図形などの印刷対象の描画データを作成する。アプリケーションは、メニューなどで印刷処理が選択されたとき、オペレーティングシステムに対して、作成された描画データを渡して印刷処理を依頼する。アプリケーションより印刷処理の依頼があったとき、オペレーティングシステムはアプリケーションより渡された描画データを、ホストコンピュータに接続されたプリンタが実行可能な印刷コマンドへ変換を行なうため、そのプリンタに対応したデバイスドライバの一例であるプリンタドライバを実行する。プリンタドライバは、オペレーティングシステムによって規定された手続きにより、描画データをオペレーティングシステムより受け取り、それを印刷コマンドへ変換する。そしてプリンタドライバはオペレーティングシステムの通信機能を使用して接続されたプリンタへ印刷コマンドの出力を行なう。
【0003】
プリンタは、機種ごとに、サポートしている用紙サイズ、インクの種類、用紙への記録方法、搬送可能な用紙の種類、用紙の搬送方法などの機能に違いがあり、それにより印刷制御方法、画像処理方法、使用できるプリンタコマンドのパラメータが異なる。そのため、アプリケーションの描画データをプリンタの制御コマンドへ変換するプリンタドライバは、プリンタの機種別の機能特性を十分考慮したうえで設計、作成を行わなければならない。よって、プリンタの機能特性の違いをプリンタドライバの制御アルゴリズムに反映させる必要あり、プリンタがサポートしているコマンド体系が同じであったとしても、制御アルゴリズムを実行するプログラムの違いからプリンタドライバの実行モジュールを各プリンタ個別に作成して供給することが行われている。
【0004】
一方、プリンタの機能特性をデータベース化して、機種別に対応しなければならない処理の部分をプリンタドライバはそのデータベースを参照して得た情報に応じて内部アルゴリズムを切り替えるこというプログラム方法がある。この場合、一つのプリンタドライバの実行モジュールで複数種類のプリンタをサポートすることが可能である。このようにして、機能特性の異なる複数種類のプリンタに対し、ひとつのプリンタドライバを製品として供給することも行なわれている。
【0005】
上述したように、プリンタとそのプリンタの制御を行うプリンタドライバは対応関係があり、使用しているプリンタに適したプリンタドライバをホストコンピュータにインストールする必要がある。プリンタドライバのインストールやアンインストールの作業は、インストーラと呼ばれるプログラムによって行っている。
【0006】
【発明が解決しようとする課題】
すでにプリンタドライバがインストールされているホストコンピュータにプリンタドライバをインストールするとき、プリンタドライバのファイル名に変更がない場合は、ファイルの重ね書きを行えばよく、問題は生じない。しかしながら、例えば、プリンタドライバが一つのプリンタのみをサポートするのか、複数のプリンタ機種をサポートするのかについてプリンタドライバの仕様の変更があった場合など、プリンタドライバのファイル名を変更して対応しなければならない場合がある。プリンタドライバのファイル名に変更がある場合は、以前よりホストコンピュータにあったプリンタドライバを削除する必要がある。
【0007】
この際、ドライバをアンインストール(削除)するための機能は、プリンタドライバのインストーラの一機能として提供するか、或いは、専用のアンインストールプログラムとして提供することが考えられ、ユーザは、それを使用して手動で煩雑なアンインストール作業を行なうことが必要となる。
【0008】
しかしながら、例えば、一機種をサポートしているタイプのプリンタドライバから、複数機種をサポートするタイプのプリンタドライバへ変更することが必要なシステムの移行作業が行われる場合がある。この場合には、複数機種のプリンタをホストコンピュータに接続して使用しているときは、現在接続されているプリンタが新しい複数機種サポート型のプリンタドライバによりサポートされているかどうかを正確にユーザが一々把握した上で、既存の不要な機種用のプリンタドライバを選択的に削除するという作業を手動で行わなければならなかった。あるいは、一度すべてのプリンタドライバを削除してから、プリンタドライバをインストール(導入)し直すなどの面倒な作業が必要であった。
【0009】
本発明は上記課題を解決するためになされたものであり、不要となったプリンタドライバを自動的に認識して削除することにより、プリンタドライバのインストール作業を簡便化することができるインストーラの提供を目的とする。
【0010】
【課題を解決するための手段】
上記目的の少なくとも一つを達成するため、本発明は、例えば以下の構成を備える。
【0011】
請求項1に記載の発明は、周辺装置に接続可能な情報処理装置にデバイスドライバを管理する管理方法であって、情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報から、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバのうち、情報処理装置の記憶装置に存在するデバイスドライバのうち、不要となったデバイスドライバを認識する認識ステップと、前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御ステップを有することを特徴とする。
【0012】
請求項2に記載の発明は、前記認識ステップは、周辺装置を特定する特定手順と、前記特定手順により特定された周辺装置を制御可能なデバイスドライバのうち、最もバージョンが新しいデバイスドライバを不要ではないと判断する判断手順とを備え、前記特定手順により特定された周辺装置に対応するデバイスドライバに対して繰り返し前記判断手順における処理を行うことを特徴とする。
【0013】
請求項3に記載の発明は、前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする。
【0014】
請求項4に記載の発明は、新規にデバイスドライバを情報処理装置に追加した後に、前記取得ステップと、前記認識ステップと、前記削除ステップを、実行することを特徴とする。
【0015】
請求項5乃至請求項9に記載の発明は、請求項1乃至4に記載の発明の装置又はプログラムの発明であるので省略する。
【0016】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0017】
図1はプリンタドライバのインストール先であるコンピュータとプリンタとからなるプリントシステムを示すブロック図である。図1において、1はホストコンピュータであり、イーサネット(R)やUSBなどの外部バス10(通信バス)を介してプリンタA11,プリンタB12が接続されている。図1ではプリンタは2つのみ図示したが、通信バス10を介して任意の数のプリンタが接続可能である。
【0018】
プリンタA11およびプリンタB12は、それぞれプリンタコントローラ13およびプリンタエンジン14を備えるインクジェットプリンタであり、種々のサイズのプリント媒体に画像、文字、グラフィクス等をプリント出力することができる。ここで、プリンタコントローラ13はプリンタ全体の制御を実行する制御回路およびプログラムを意味し、一方、プリンタエンジン14はインクジェットプリンタヘッドの走査やプリント媒体の搬送を行う機構そのものを意味するものである。プリンタ11およびプリンタ12は、それぞれインクジェットカートリッジを備え、インクジェットカートリッジはインクジェットヘッドのヘッドに供給するインクを貯留したインクタンクを色毎に組合せて一体化したものである。
【0019】
ホストコンピュータ1において、2はCPUであり、起動時ROM3に格納されたプログラムによりハードディスクやCD−ROMなどの外部記憶装置6に格納されたオペレーティングシステム(以下、図面ではOSとすることがある。)をRAM4にロードし実行してシステムを制御する。5はCRTあるいはLCDなどの表示装置であり、CPU1の制御にしたがって各種の表示を行うことができる。7はキーボード、マウスなどの入力装置であり、CPU1への各種入力を行う。9はホストコンピュータ内部バスを表し、CPU2、ROM3、RAM4、表示装置5、外部記憶装置6、入力装置7、外部I/F8どの間でデータのやり取りを可能にするものである。
【0020】
外部記憶装置6には、オペレーティングシステムの他にアプリケーションプログラムやプリンタドライバなどの各種プログラムが格納されており、CPU1は種々のアプリケーションプログラムを実行し、オペレーティングシステムの制御に従い、プリンタA11、プリンタB12に対応したプリンタドライバを実行して、アプリケーションプログラムの描画データをプリンタA11、プリンタB12が実行可能なプリンタ制御コマンドに変換する。プリンタドライバの制御にもとづきCPU1が生成したプリンタ制御コマンドは、I/F8により、通信バス10に出力され、プリンタA11またはプリンタB12へ送信される。プリンタA11またはプリンタB12はこのようにしてホストコンピュータ1から送信されたプリンタ制御コマンドの受信を行い、印刷を行う。
【0021】
図2は、コンピュータのオペレーティングシステムにおける印刷処理に関係するプログラム実行モジュールの内部ブロック図を表す。アプリケーション15は、あらかじめユーザの操作により作成された描画データを、オペレーティングシステム16に渡すとともにオペレーティングシステム16に対し印刷処理の依頼を行う。オペレーティングシステム16はアプリケーションから渡された描画データを印刷スプールファイル17にセーブする。アプリケーションから描画データをすべて受け取り印刷スプールファイル17に保存した後、オペレーティングシステム16は出力先のプリンタに対応したプリンタドライバ18をロードする。オペレーティングシステム16は印刷スプールファイル17から描画データをロードし、プリンタドライバ18に渡し処理を依頼する。プリンタドライバ18は渡された描画データをプリンタコマンドへ変換して、オペレーティングシステム16の通信機能を利用してプリンタ19へ出力する。プリンタ19ではこのようにして生成された印刷コマンドにもとづいて印刷を行う。
【0022】
図3は、本実施形態のインストーラが実行されるときの実行環境例のプロック図を示す。図3はプリンタドライバ1、プリンタドライバ2がすでにホストコンピュータ上にインストールされていた状態で、新たにプリンタドライバ3がインストールされた状態を示している。インストーラ20は、インストール作業の実行を担当するインストールメインモジュール21と、プリンタドライバのバージョンとサポートプリンタの情報を取得して処理を行うバージョン管理モジュール22で構成される。プリンタドライバ1は、バージョンが1.0.0の制御プログラムによるプリンタドライバであり、プリンタAをサポートする。プリンタドライバ2は、バージョン1.1.0の制御プログラムを持つプリンタドライバであり、プリンタDをサポートする。プリンタドライバ3は、バージョン2.0.0の制御プログラムを持つプリンタドライバであり、サポート情報テーブルにセーブされたサポート機種情報のプリンタをすべてサポートすることが可能なプリンタドライバである。
【0023】
図5は、サポート情報テーブルのデータ構造を表す。サポート情報テーブルは、プリンタドライバがサポートしているプリンタの機種数と機種の情報を持つ。図5の表のプリンタモジュール3の欄が、プリンタドライバ3に関するものであり、サポート可能なプリンタのデータが保存されている。本実施例では、プリンタドライバ3は、プリンタA、プリンタB、プリンタCの3機種を制御可能である。
【0024】
本実施形態のインストーラが実行されると、まず、インストールメインモジュール21がホストコンピュータのCPUにより実行される。図6は、インストールメインモジュール21の処理を表すフローチャートである。ステップS1において、プリンタドライバをオペレーティングシステムで規定された所定の場所にインストールする。ステップS2において、バージョン管理モジュール22を呼び出し、各プリンタドライバのバージョンとサポートしているプリンタ機種情報を取得して、プリンタドライバ管理テーブルBを作成させ取得する。
【0025】
図7は、ステップS2の詳細であり、バージョン管理モジュール22の処理を表すフローチャートである。ステップS9において、ホストコンピュータの外部記憶装置上に存在するプリンタドライバの検索を行なう。この処理は、例えば、プリンタドライバをオペレーティングシステムに規定された場所の範囲内で、あらかじめ決めておいたディレクトリの中にインストールしておくものとし、バージョン管理モジュール22がそのディレクトリの中の実行ファイルを検索することにより行われる。ステップS10において、検索で見つかったプリンタドライバの総数を変数nに格納する。ステップS11で、カウンタ用の変数iを0に初期化する。ステップS12で、カウンタ変数iとプリンタドライバの総数nを比較する。i<nのときは、ステップS13に進む。ステップS13において、プリンタドライバのバージョン情報を取得する。例えば、Mac OS X(商標)のようなOSにおいては、プリンタドライバはバンドルと呼ばれるディレクトリ階層構造で構成される。ディレクトリ下の所定の場所に所定のファイル名のファイルがあり、その中にバージョン番号が記述されている。あるいは、Mac OS 9(商標)のようなオペレーティングシステムでは、リソースと呼ばれるファイル領域にバージョン情報が記述されている。ステップS13では、例えば、アプリケーションとして提供されるインストーラが、これらOSが管理する情報を参照してバージョン情報を取得する。
【0026】
ステップS14では、インストーラは、i番目のプリンタドライバのサポート情報テーブルを検索する。例えば、Mac OS X(Apple社の商標)用ドライバのようなディレクトリ構造で管理されるプリンタドライバは、プリンタドライバのディレクトリ階層下の所定の場所にサポート情報ファイルを格納されるものとする。別のオペレーティングシステムのプリンタドライバでは、リソースと呼ばれるファイル領域にサポート情報を保存しておくこともできる。ステップS14では、そのようなサポート情報テーブルの検索処理を行う。サポート情報テーブルが見つかった場合、ステップS15へ進む。ステップS15において、サポート情報テーブルの中に記述されたそのプリンタドライバが制御可能なプリンタの機種を取得する。S14において、サポート情報テーブルが見つからなかった場合、S16に進む。S16では、他の手段によりプリンタドライバがサポートするプリンタ機種情報を取得する。例えば、プリンタドライバのファイル名にプリンタの機種名が含まれるようなときは、バージョン管理モジュールはファイル名からプリンタドライバがサポートする機種名称を取得することができる。また、ファイル名にプリンタの機種名称が含まれていない場合でも、バージョン管理モジュールが、プリンタドライバのファイル名とプリンタ機種を対応付けるテーブルを持ち、これを参照することでプリンタドライバが制御可能なプリンタの機種を知ることができる。
【0027】
ステップS17において、i番目のプリンタドライバがサポートするプリンタ機種情報とプリンタドライバのバージョン番号により、モジュール管理テーブルAを更新する。
【0028】
図9、図10はモジュール管理テーブルAの構造を表す図である。モジュール管理テーブルAは、プリンタの機種を表す情報、プリンタドライバのバージョン番号、プリンタドライバを識別するための情報を持つ。プリンタドライバを識別するための情報はオペレーティングシステムで管理されるプリンタドライバの参照情報である。
【0029】
図8はステップS17の詳細を表すフローチャートである。ステップS20において、現在処理対象となっているプリンタドライバがサポートするプリンタの機種数を変数mに代入する。ステップ21において、カウンタ変数jを0に初期化する。ステップ22において、変数mと変数jの大小関係を比較する。j<mのときは、ステップS23へ進み、プリンタドライバがサポートするプリンタのうち、j番目のプリンタに関してステップS23以降の処理を行う。ステップS23において、j番目のプリンタがプリンタドライバ管理テーブルAに登録済であるかどうか調べる。ステップS23で、j番目のプリンタがプリンタドライバ管理テーブルAに存在しないときは、そのプリンタの情報をモジュール管理テーブルAに登録するため、ステップS25へ進む。j番目のプリンタがプリンタドライバ管理テーブルに存在するときは、ステップS24へ進む。ステップS24において、対象となっているj番目のプリンタに関して、プリンタドライバ管理テーブルAにすでに登録されているプリンタドライバのバージョンと、現在処理対象となっているプリンタドライバのバージョンを比較する。現在処理中のプリンタドライバのバージョンの方が大きいときは、ステップS25に進む。ステップS25では、プリンタドライバ管理テーブルAの該当プリンタの情報を現在処理対象となっているプリンタドライバの識別情報とバージョン情報で更新する。プリンタドライバ管理テーブルAにすでに登録されているプリンタドライバのバージョンよりも現在処理中のプリンタドライバのバージョンの方が小さいときは、S25のプリンタドライバ管理テーブルAの更新処理は行わない。ステップS26で、カウンタ変数jをインクリメントしてステップS22に戻り、処理対象となっているプリンタドライバの次のサポートプリンタに対して同様の処理を行う。ステップS22において、j<mでなくなり、すべてのプリンタについての処理が終了したときは、図8のフローチャートの処理を終了して、図7のフローチャートのステップS18へ戻る。
【0030】
図7のフローチャートのステップS18において、カウンタ変数iをインクリメントしてステップS12へ戻り、次のプリンタドライバに関して同様の処理を行う。ステップS12にて、i<nでなくなり、すべてのプリンタドライバについて処理が終了したときは、ステップS19へ進む。ステップS19において、プリンタドライバ管理テーブルAからプリンタドライバ管理テーブルBを作成する。
【0031】
図11、図12はプリンタドライバ管理テーブルBの構造を表す。プリンタドライバ管理テーブルBは、プリンタドライバ識別情報、プリンタドライバのバージョン番号、プリンタの機種数、プリンタの情報を持ち、プリンタドライバをキーとしてプリンタドライバ管理テーブルAを並びかえたものである。そして、このテーブルを参照すれば、各バージョンのプリンタドライバを必要とするプリンタの機種がわかる。
【0032】
図3のプリンタドライバの構成において、バージョン管理モジュール22が図7、図8のフローチャートの処理を行い作成されたプリンタドライバ管理テーブルAとプリンタドライバ管理テーブルBが、図9、図11である。図9のプリンタドライバ管理テーブルAによれば、プリンタAをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ3であり、プリンタBをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ3であり、プリンタCをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ3であり、プリンタDをサポートする最もバージョンの大きいプリンタドライバはプリンタドライバ2であることがわかる。さらにこのテーブルをもとに作成された図11のプリンタドライバ管理テーブルBによれば、プリンタドライバ1を必要とするプリンタはなく、プリンタドライバ2はプリンタDのために必要であり、プリンタドライバ3はプリンタA、プリンタB、プリンタCのために必要であることがわかる。
【0033】
バージョン管理モジュールがプリンタドライバ管理テーブルBを作成後、インストールメインモジュール21の処理の図6のステップS3に戻る。ステップS3において、プリンタドライバ管理テーブルBに登録されたプリンタドライバの総数を変数nに代入する。ステップS4において、カウンタ変数iを0に初期化する。ステップS5において、変数nと変数iの大小関係を比較する。i<nのときは、ステップS6へ進む。ステップS6において、プリンタドライバ管理テーブルBのi番目のプリンタドライバを必要とするプリンタの機種数を取得して機種数が0かどうかを調べる。機種数が0のときは、ステップS7へ進み、そのプリンタドライバの削除処理を行う。ステップS6において、i番目のプリンタドライバを必要とするプリンタの機種数が0でないときは、そのプリンタドライバの削除は行わない。
【0034】
ステップS8において、カウンタ変数iをインクリメントして、ステップS5へ戻る。プリンタドライバ管理テーブルBに登録されているすべてのプリンタドライバの処理が終了して、ステップS5において、i<nではなくなったときは、インストールメインモジュール21の処理を終了する。
【0035】
図3のようなプリンタドライバの構成では、プリンタドライバ管理モジュールBは図11のようであるので、プリンタ機種数が0であるプリンタドライバ1は、インストールメインモジュール21の実行後、削除される。
【0036】
図4は、本実施形態のインストーラが実行されるときの、他の実行環境例のプロック図を示す。図4は図3の環境にプリンタドライバ3がインストールされプリンタドライバ1が削除された状態において、さらに、プリンタドライバ4がインストールされたときの状態を表している。プリンタドライバ4は、サポート情報テーブルを持ち、図5のプリンタドライバ4の欄に示すように、プリンタA、プリンタB、プリンタC、プリンタDの4機種を制御可能である。また、プリンタドライバ4の制御プログラムのバージョンは3.0.0である。
【0037】
このとき、図7、図8のフローチャートのバージョン管理モジュールが実行されることにより作成されるモジュール管理テーブルAは図10である。プリンタA、プリンタB、プリンタC、プリンタDをサポートする最もバージョンの大きいプリンタドライバは、ともにプリンタドライバ4であることがわかる。図10のプリンタドライバ管理テーブルAをもとに作成されるプリンタドライバ管理テーブルBを図12に示す。プリンタドライバ2、プリンタドライバ3を必要とするプリンタは存在せず、プリンタドライバ4を必要とするプリンタは、プリンタA、プリンタB、プリンタC、プリンタDであることがわかる。すなわち、図6のフローチャートにもとづくインストーラメインモジュールを実行すると、プリンタドライバ4がインストールされた後に、プリンタドライバ2とプリンタドライバ3は削除される。
【0038】
(他の実施形態)
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、各情報処理装置により遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【0039】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0040】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0041】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0042】
以上説明したように、本発明の上述の各実施形態によれば、プリンタドライバのバージョンや制御可能なプリンタなどの違いによりファイル名が異なるプリンタドライバがインストールされているホストコンピュータの環境において、プリンタドライバをインストールした後、不要となったバージョンの古いプリンタドライバを認識して削除することができるプリンタドライバのインストーラを提供できる。これにより、従来ユーザが手動で行っていた不要となった古いバージョンのプリンタドライバを削除する作業をインストーラが行えるようになり、ユーザによるプリンタドライバのアンインストール作業を簡便化することができる。
【0043】
【発明の効果】
不要となったプリンタドライバを自動的に認識し、認識したドライバを削除するので、プリンタドライバのアンインストール作業を簡便化することができる。
【図面の簡単な説明】
【図1】コンピュータとプリンタとからなる印刷システムの構成の一例を示すブロック図である。
【図2】印刷システムにおいてオペレーティングシステムを介した印刷処理を表すブロック図である。
【図3】インストーラが実行される環境の例を表すブロック図である。
【図4】インストーラが実行される環境の他の例を表すブロック図である。
【図5】プリンタドライバが制御可能なプリンタの情報を持つサポート情報テーブルを示す図である。
【図6】インストーラメインモジュールの処理を表すフローチャートである。
【図7】バージョン管理モジュールの処理を表すフローチャートである。
【図8】図7において、プリンタドライバ管理テーブルAの更新処理の詳細を表すフローチャートである。
【図9】図3のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルAを示す図である。
【図10】図4のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルAを示す図である。
【図11】図3のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルBを示す図である。
【図12】図4のインストーラ実行環境例において作成されるプリンタドライバ管理テーブルBを示す図である。
【符号の説明】
1 ホストコンピュータ
2 CPU
3 ROM
4 RAM
5 表示装置
6 外部記憶装置
7 入力装置
8 外部I/F
9 内部バス
10 外部バス
11 プリンタA
12 プリンタB
13 プリンタコントローラ
14 プリンタエンジン
15 アプリケーション
16 オペレーティングシステム
17 印刷スプールファイル
18 プリンタドライバ
19 プリンタ
20 インストーラ
21 インストールメインモジュール
22 バージョン管理モジュール
23 プリンタドライバ1
24 プリンタドライバ2
25 プリンタドライバ3
26 プリンタドライバ4
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a peripheral device, an information processing device connectable to the peripheral device, and a system including the same.
[0002]
[Prior art]
Generally, when printing is performed in a printing system including a host computer and a printer that is an example of a peripheral device, first, an application is executed on the host computer side to create drawing data to be printed such as characters and graphics. When print processing is selected from a menu or the like, the application passes the created drawing data to the operating system to request the print processing. When a printing process is requested by the application, the operating system converts drawing data passed from the application into a print command executable by a printer connected to the host computer. An example printer driver is executed. The printer driver receives drawing data from the operating system and converts it into a print command according to a procedure defined by the operating system. The printer driver outputs a print command to the connected printer using the communication function of the operating system.
[0003]
Each printer has different functions such as supported paper size, ink type, recording method on paper, transportable paper type, paper transport method, etc. The processing method and available printer command parameters are different. For this reason, a printer driver that converts drawing data of an application into a control command of a printer must be designed and created with due consideration of the functional characteristics of each printer model. Therefore, it is necessary to reflect the difference in the functional characteristics of the printer in the control algorithm of the printer driver. Even if the command system supported by the printer is the same, the execution module of the printer driver may be affected by the difference in the program that executes the control algorithm. Is created and supplied to each printer individually.
[0004]
On the other hand, there is a programming method in which a printer driver switches the internal algorithm in accordance with information obtained by referring to the database by creating a database of the functional characteristics of the printer and processing the parts that must be dealt with for each model. In this case, it is possible to support a plurality of types of printers with an execution module of one printer driver. In this way, one printer driver is supplied as a product to a plurality of types of printers having different functional characteristics.
[0005]
As described above, there is a correspondence between a printer and a printer driver that controls the printer, and it is necessary to install a printer driver suitable for the printer being used in the host computer. Installation and uninstallation of the printer driver is performed by a program called an installer.
[0006]
[Problems to be solved by the invention]
When the printer driver is installed in a host computer in which the printer driver is already installed, if there is no change in the file name of the printer driver, the file may be overwritten, and no problem occurs. However, if the specifications of the printer driver are changed, for example, whether the printer driver supports only one printer or multiple printer models, it is necessary to change the file name of the printer driver to cope with it. May not be. If there is a change in the file name of the printer driver, it is necessary to delete the printer driver that was previously on the host computer.
[0007]
At this time, the function for uninstalling (deleting) the driver may be provided as one function of the installer of the printer driver, or may be provided as a dedicated uninstallation program. It is necessary to manually perform complicated uninstallation work.
[0008]
However, for example, there is a case where a system migration operation that requires a change from a printer driver of a type supporting one model to a printer driver of a type supporting a plurality of models is performed. In this case, when multiple types of printers are connected to the host computer and used, the user must accurately determine whether the currently connected printer is supported by the new multi-type supported printer driver. After grasping, it was necessary to manually delete the printer driver for the unnecessary unnecessary model. Alternatively, a troublesome operation such as deleting all the printer drivers once and then installing (introducing) the printer drivers again is required.
[0009]
SUMMARY An advantage of some aspects of the invention is to provide an installer that can simplify installation work of a printer driver by automatically recognizing and deleting unnecessary printer drivers. Aim.
[0010]
[Means for Solving the Problems]
In order to achieve at least one of the above objects, the present invention includes, for example, the following configuration.
[0011]
The invention according to claim 1 is a management method for managing a device driver in an information processing device connectable to a peripheral device, wherein the version information of the device driver in the information processing device and the peripheral device controllable by the device driver are included. An acquisition step of acquiring information, and from the version information of the device driver acquired by the acquisition unit and the information of the peripheral device that can be controlled by the device driver, the device driver corresponding to the specific peripheral device and having a plurality of versions available. The information processing apparatus includes a recognition step of recognizing an unnecessary device driver among device drivers existing in the storage device of the information processing apparatus, and a deletion control step of controlling deletion of the device driver recognized as unnecessary by the recognition unit. It is characterized by the following.
[0012]
According to a second aspect of the present invention, in the recognizing step, it is not necessary to specify a specific procedure for specifying a peripheral device and a device driver having the latest version among device drivers capable of controlling the peripheral device specified by the specific procedure. A determining step of determining that there is no peripheral device, wherein the processing in the determining step is repeatedly performed on a device driver corresponding to the peripheral device specified by the specifying step.
[0013]
According to a third aspect of the present invention, in the recognition step, management is performed as table data including information on peripheral devices and device drivers, and an unnecessary device driver is obtained from the table data.
[0014]
The invention according to claim 4 is characterized in that, after a device driver is newly added to the information processing apparatus, the acquiring step, the recognizing step, and the deleting step are executed.
[0015]
The inventions described in claims 5 to 9 are the device or program inventions of the inventions described in the claims 1 to 4, and will not be described.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0017]
FIG. 1 is a block diagram showing a print system including a computer on which a printer driver is installed and a printer. In FIG. 1, reference numeral 1 denotes a host computer to which a printer A11 and a printer B12 are connected via an external bus 10 (communication bus) such as Ethernet (R) or USB. Although FIG. 1 shows only two printers, any number of printers can be connected via the communication bus 10.
[0018]
The printer A11 and the printer B12 are inkjet printers each including a printer controller 13 and a printer engine 14, and can print out images, characters, graphics, and the like on print media of various sizes. Here, the printer controller 13 means a control circuit and a program for controlling the entire printer, while the printer engine 14 means a mechanism for scanning an inkjet printer head and transporting a print medium. The printer 11 and the printer 12 each include an ink-jet cartridge, and the ink-jet cartridge is obtained by combining ink tanks storing ink to be supplied to the heads of the ink-jet heads for each color and integrating them.
[0019]
In the host computer 1, reference numeral 2 denotes a CPU, which is an operating system (hereinafter, sometimes referred to as an OS in the drawings) stored in an external storage device 6 such as a hard disk or a CD-ROM by a program stored in the ROM 3 at the time of startup. Is loaded into the RAM 4 and executed to control the system. Reference numeral 5 denotes a display device such as a CRT or an LCD, which can perform various displays under the control of the CPU 1. Reference numeral 7 denotes an input device such as a keyboard and a mouse, which performs various inputs to the CPU 1. Reference numeral 9 denotes an internal bus of the host computer, which enables data exchange among the CPU 2, the ROM 3, the RAM 4, the display device 5, the external storage device 6, the input device 7, and the external I / F 8.
[0020]
The external storage device 6 stores various programs such as an application program and a printer driver in addition to the operating system. The CPU 1 executes various application programs and corresponds to the printers A11 and B12 according to the control of the operating system. The printer driver converts the drawing data of the application program into a printer control command executable by the printers A11 and B12. The printer control command generated by the CPU 1 based on the control of the printer driver is output to the communication bus 10 by the I / F 8 and transmitted to the printer A11 or the printer B12. The printer A11 or the printer B12 receives the printer control command transmitted from the host computer 1 in this way, and performs printing.
[0021]
FIG. 2 is an internal block diagram of a program execution module related to print processing in an operating system of a computer. The application 15 passes drawing data created by a user's operation in advance to the operating system 16 and requests the operating system 16 to perform a printing process. The operating system 16 saves the drawing data passed from the application in the print spool file 17. After receiving all the drawing data from the application and storing it in the print spool file 17, the operating system 16 loads the printer driver 18 corresponding to the output destination printer. The operating system 16 loads the drawing data from the print spool file 17 and passes the drawing data to the printer driver 18 to request processing. The printer driver 18 converts the received drawing data into a printer command, and outputs it to the printer 19 using the communication function of the operating system 16. The printer 19 performs printing based on the print command generated in this manner.
[0022]
FIG. 3 is a block diagram of an example of an execution environment when the installer of the embodiment is executed. FIG. 3 shows a state in which the printer driver 1 and the printer driver 2 are already installed on the host computer and the printer driver 3 is newly installed. The installer 20 includes an installation main module 21 that is responsible for performing an installation operation, and a version management module 22 that obtains information on a printer driver version and a supported printer and performs processing. The printer driver 1 is a printer driver based on a control program of version 1.0.0, and supports the printer A. The printer driver 2 is a printer driver having a version 1.1.0 control program, and supports the printer D. The printer driver 3 is a printer driver having a version 2.0.0 control program, and is capable of supporting all printers of the supported model information saved in the support information table.
[0023]
FIG. 5 shows the data structure of the support information table. The support information table has information on the number and types of printers supported by the printer driver. The column of the printer module 3 in the table of FIG. 5 relates to the printer driver 3 and stores data of a printer that can be supported. In this embodiment, the printer driver 3 can control three types of printers A, B and C.
[0024]
When the installer of the present embodiment is executed, first, the installation main module 21 is executed by the CPU of the host computer. FIG. 6 is a flowchart showing the processing of the installation main module 21. In step S1, a printer driver is installed in a predetermined location defined by an operating system. In step S2, the version management module 22 is called, the version of each printer driver and information on the supported printer models are acquired, and a printer driver management table B is created and acquired.
[0025]
FIG. 7 is a flowchart showing the details of step S2 and the processing of the version management module 22. In step S9, a search is made for a printer driver present on the external storage device of the host computer. In this process, for example, it is assumed that the printer driver is installed in a predetermined directory within the range defined by the operating system, and the version management module 22 executes the executable file in the directory. This is done by searching. In step S10, the total number of printer drivers found by the search is stored in a variable n. In step S11, a counter variable i is initialized to zero. In step S12, the counter variable i is compared with the total number n of the printer drivers. If i <n, the process proceeds to step S13. In step S13, version information of the printer driver is obtained. For example, in an OS such as Mac OS X (trademark), the printer driver has a directory hierarchical structure called a bundle. There is a file having a predetermined file name at a predetermined location under the directory, and a version number is described therein. Alternatively, in an operating system such as Mac OS 9 (trademark), version information is described in a file area called a resource. In step S13, for example, an installer provided as an application acquires version information by referring to the information managed by the OS.
[0026]
In step S14, the installer searches the support information table of the i-th printer driver. For example, a printer driver managed by a directory structure such as a driver for Mac OS X (a trademark of Apple Inc.) stores a support information file in a predetermined location under a directory hierarchy of the printer driver. In a printer driver of another operating system, support information can be stored in a file area called a resource. In step S14, such a search process of the support information table is performed. If a support information table is found, the process proceeds to step S15. In step S15, a printer model that can be controlled by the printer driver described in the support information table is acquired. If the support information table is not found in S14, the process proceeds to S16. In S16, printer model information supported by the printer driver is acquired by another means. For example, when the file name of the printer driver includes the model name of the printer, the version management module can acquire the model name supported by the printer driver from the file name. Even when the file name does not include the printer model name, the version management module has a table that associates the printer driver file name with the printer model, and refers to this table to determine the printer that can be controlled by the printer driver. You can know the model.
[0027]
In step S17, the module management table A is updated with the printer model information supported by the i-th printer driver and the printer driver version number.
[0028]
9 and 10 are diagrams showing the structure of the module management table A. The module management table A has information indicating the model of the printer, a version number of the printer driver, and information for identifying the printer driver. The information for identifying the printer driver is reference information of the printer driver managed by the operating system.
[0029]
FIG. 8 is a flowchart showing the details of step S17. In step S20, the number of printer models supported by the printer driver currently being processed is substituted for the variable m. In step 21, a counter variable j is initialized to 0. In step 22, the magnitude relationship between the variable m and the variable j is compared. If j <m, the process proceeds to step S23, and the processing after step S23 is performed for the j-th printer among the printers supported by the printer driver. In step S23, it is checked whether the j-th printer has been registered in the printer driver management table A. If the j-th printer does not exist in the printer driver management table A in step S23, the process proceeds to step S25 to register the printer information in the module management table A. If the j-th printer exists in the printer driver management table, the process proceeds to step S24. In step S24, the version of the printer driver already registered in the printer driver management table A and the version of the printer driver currently being processed are compared for the j-th printer of interest. If the version of the printer driver currently being processed is larger, the process proceeds to step S25. In step S25, the information of the corresponding printer in the printer driver management table A is updated with the identification information and the version information of the printer driver currently being processed. If the version of the printer driver currently being processed is smaller than the version of the printer driver already registered in the printer driver management table A, the updating process of the printer driver management table A in S25 is not performed. In step S26, the counter variable j is incremented, and the process returns to step S22, where the same processing is performed for the next supported printer of the printer driver to be processed. In step S22, when j <m is not satisfied and the processing for all the printers is completed, the processing in the flowchart in FIG. 8 is completed, and the process returns to step S18 in the flowchart in FIG.
[0030]
In step S18 of the flowchart of FIG. 7, the counter variable i is incremented, and the process returns to step S12, and the same processing is performed for the next printer driver. In step S12, when i <n is not satisfied and the processing is completed for all printer drivers, the process proceeds to step S19. In step S19, a printer driver management table B is created from the printer driver management table A.
[0031]
11 and 12 show the structure of the printer driver management table B. The printer driver management table B has printer driver identification information, a printer driver version number, the number of printer models, and printer information. The printer driver management table A is arranged using the printer driver as a key. Then, by referring to this table, the model of the printer that requires the printer driver of each version can be determined.
[0032]
In the configuration of the printer driver of FIG. 3, the printer driver management table A and the printer driver management table B created by the version management module 22 performing the processes of the flowcharts of FIGS. 7 and 8 are shown in FIGS. According to the printer driver management table A of FIG. 9, the printer driver of the largest version supporting the printer A is the printer driver 3, the printer driver of the largest version supporting the printer B is the printer driver 3, and the printer C is It can be seen that the printer driver with the largest version supporting the printer driver 3 is the printer driver 3, and the printer driver with the largest version supporting the printer D is the printer driver 2. Further, according to the printer driver management table B of FIG. 11 created based on this table, no printer requires the printer driver 1, the printer driver 2 is required for the printer D, and the printer driver 3 is It can be seen that it is necessary for the printers A, B and C.
[0033]
After the version management module creates the printer driver management table B, the process returns to step S3 in FIG. In step S3, the total number of printer drivers registered in the printer driver management table B is substituted for a variable n. In step S4, a counter variable i is initialized to 0. In step S5, the magnitude relationship between the variable n and the variable i is compared. If i <n, the process proceeds to step S6. In step S6, the number of printer models that require the i-th printer driver in the printer driver management table B is acquired, and it is checked whether the number of printer models is zero. If the number of models is 0, the process proceeds to step S7, and the printer driver is deleted. If the number of printer models requiring the i-th printer driver is not 0 in step S6, the printer driver is not deleted.
[0034]
In step S8, the counter variable i is incremented, and the process returns to step S5. When the processing of all the printer drivers registered in the printer driver management table B has been completed and i <n is not satisfied in step S5, the processing of the installation main module 21 ends.
[0035]
In the configuration of the printer driver as shown in FIG. 3, since the printer driver management module B is as shown in FIG. 11, the printer driver 1 having zero printer models is deleted after the installation main module 21 is executed.
[0036]
FIG. 4 is a block diagram of another example of the execution environment when the installer of the present embodiment is executed. FIG. 4 shows a state where the printer driver 3 is installed and the printer driver 1 is deleted in the environment of FIG. 3, and a state where the printer driver 4 is further installed. The printer driver 4 has a support information table and can control four types of printers A, B, C and D as shown in the column of the printer driver 4 in FIG. The version of the control program of the printer driver 4 is 3.0.0.
[0037]
At this time, FIG. 10 shows the module management table A created by executing the version management module in the flowcharts of FIGS. It can be seen that the printer driver of the largest version supporting the printers A, B, C and D is the printer driver 4. FIG. 12 shows a printer driver management table B created based on the printer driver management table A of FIG. It can be seen that there is no printer that requires the printer driver 2 and the printer driver 3, and the printers that require the printer driver 4 are the printer A, the printer B, the printer C, and the printer D. That is, when the installer main module based on the flowchart of FIG. 6 is executed, the printer driver 2 and the printer driver 3 are deleted after the printer driver 4 is installed.
[0038]
(Other embodiments)
The processing shown in each drawing in the present embodiment is performed by each information processing device by a program installed from the outside. In this case, the present invention is applied even when a group of information including a program is supplied to a host computer from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Things.
[0039]
As described above, the storage medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, or is downloaded from an external server (not shown), so that the system or the apparatus is obtained. It is needless to say that the object of the present invention can also be achieved when the computer (or CPU or MPU) reads and executes the program code stored in the storage medium.
[0040]
In this case, the program code itself read from the storage medium implements the novel function of the present invention, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, DVD, CD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like can be used.
[0041]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing. Further, after the program code read from the storage medium is written into a memory provided on a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0042]
As described above, according to the above-described embodiments of the present invention, a printer driver is installed in an environment of a host computer in which a printer driver having a different file name due to a difference between a printer driver version and a controllable printer is installed. After installing the printer driver, an installer of a printer driver that can recognize and delete an old printer driver of an unnecessary version can be provided. As a result, the installer can delete the unnecessary old version of the printer driver, which has been manually performed by the user in the past, thereby simplifying the user's uninstallation of the printer driver.
[0043]
【The invention's effect】
Since the unnecessary printer driver is automatically recognized and the recognized driver is deleted, the operation of uninstalling the printer driver can be simplified.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a configuration of a printing system including a computer and a printer.
FIG. 2 is a block diagram illustrating print processing via an operating system in the print system.
FIG. 3 is a block diagram illustrating an example of an environment in which an installer is executed.
FIG. 4 is a block diagram illustrating another example of an environment in which an installer is executed.
FIG. 5 is a diagram illustrating a support information table having information on printers that can be controlled by a printer driver.
FIG. 6 is a flowchart illustrating processing of an installer main module.
FIG. 7 is a flowchart illustrating processing of a version management module.
FIG. 8 is a flowchart showing details of an update process of a printer driver management table A in FIG.
9 is a diagram illustrating a printer driver management table A created in the example of the installer execution environment in FIG. 3;
FIG. 10 is a diagram showing a printer driver management table A created in the example of the installer execution environment of FIG. 4;
11 is a diagram showing a printer driver management table B created in the example of the installer execution environment of FIG. 3;
12 is a diagram illustrating a printer driver management table B created in the example of the installer execution environment in FIG. 4;
[Explanation of symbols]
1 Host computer
2 CPU
3 ROM
4 RAM
5 Display device
6. External storage device
7 Input device
8 External I / F
9 Internal bus
10 External bus
11 Printer A
12 Printer B
13 Printer controller
14 Printer Engine
15 Applications
16 Operating system
17 Print spool file
18 Printer Driver
19 Printer
20 Installer
21 Installation main module
22 Version control module
23 Printer Driver 1
24 Printer Driver 2
25 Printer Driver 3
26 Printer Driver 4

Claims (9)

周辺装置に接続可能な情報処理装置にデバイスドライバを管理する管理方法であって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、
前記取得ステップにて取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識ステップと、
前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御ステップを有することを特徴とする管理方法。
A management method for managing a device driver in an information processing device connectable to a peripheral device, comprising:
An obtaining step of obtaining version information of a device driver in the information processing apparatus and information of a peripheral device that can be controlled by the device driver;
A device driver that can correspond to a specific peripheral device and has a plurality of versions, using the device driver version information acquired in the acquiring step and information on peripheral devices that can be controlled by the device driver; A recognition step of recognizing an unnecessary device driver among device drivers existing in the storage device of the device;
A management method comprising a deletion control step of controlling deletion of a device driver recognized as unnecessary by the recognition unit.
前記認識ステップは、周辺装置を特定する特定手順と、前記特定手順により特定された周辺装置を制御可能なデバイスドライバのうち、最もバージョンが新しいデバイスドライバを不要ではないと判断する判断手順とを備え、
前記特定手順により特定された周辺装置に対応するデバイスドライバに対して繰り返し前記判断手順における処理を行うことを特徴とする請求項1に記載の管理方法。
The recognizing step includes a specifying procedure for specifying a peripheral device, and a determining procedure for determining that a device driver having the latest version among device drivers capable of controlling the peripheral device specified by the specifying procedure is not necessary. ,
2. The management method according to claim 1, wherein the processing in the determination procedure is repeatedly performed on a device driver corresponding to the peripheral device identified by the identification procedure.
前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする請求項2に記載の管理方法。3. The management method according to claim 2, wherein in the recognition step, management is performed as table data including information on peripheral devices and device drivers, and an unnecessary device driver is obtained from the table data. 新規にデバイスドライバを情報処理装置に追加した後に、前記取得ステップと、前記認識ステップと、前記削除ステップを、実行することを特徴とする請求項1乃至3のいずれかに記載の管理方法。4. The management method according to claim 1, wherein the acquiring step, the recognizing step, and the deleting step are performed after a device driver is newly added to the information processing apparatus. 周辺装置に接続可能な情報処理装置にデバイスドライバを管理可能な情報処理装置であって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得手段と、
前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識手段と、
前記認識手段によって不要と認識されたデバイスドライバの削除を制御する削除制御手段とを有することを特徴とする情報処理装置。
An information processing device capable of managing a device driver in an information processing device connectable to a peripheral device,
Acquiring means for acquiring version information of a device driver in the information processing apparatus and information of a peripheral device that can be controlled by the device driver;
A device driver corresponding to a specific peripheral device and having a plurality of versions, using the device driver version information acquired by the acquisition unit and information on the peripheral device controllable by the device driver. Recognizing means for recognizing an unnecessary device driver among device drivers existing in the storage device;
An information processing apparatus comprising: a deletion control unit configured to control deletion of a device driver recognized as unnecessary by the recognition unit.
前記認識手段は、特定の周辺装置を制御可能なデバイスドライバのうちで最もバージョンが新しいデバイスドライバを不要ではないと認識することを特徴とする請求項5に記載の情報処理装置。6. The information processing apparatus according to claim 5, wherein the recognition unit recognizes that a device driver having the latest version among device drivers capable of controlling a specific peripheral device is not necessary. 前記認識ステップでは、周辺装置とデバイスドライバの情報を含むテーブルデータとして管理し、該テーブルデータより、不要となったデバイスドライバを求めることを特徴とする請求項6に記載の情報処理装置。7. The information processing apparatus according to claim 6, wherein, in the recognizing step, the device data is managed as table data including information on the peripheral device and the device driver, and an unnecessary device driver is obtained from the table data. 新規にデバイスドライバを情報処理装置に追加した後に、前記取得手段と、前記認識手段と、前記削除手段とを、機能させることを特徴とする請求項6乃至7のいずれかに記載の情報処理装置。8. The information processing apparatus according to claim 6, wherein the acquisition unit, the recognition unit, and the deletion unit are made to function after a device driver is newly added to the information processing apparatus. . 周辺装置に接続可能な情報処理装置にデバイスドライバを管理可能な情報処理装置において実行される制御プログラムであって、
情報処理装置内のデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を取得する取得ステップと、
前記取得手段が取得したデバイスドライバのバージョン情報とデバイスドライバが制御可能な周辺装置の情報を用いて、特定の周辺装置に対応し、複数のバージョンが存在し得るデバイスドライバであって、情報処理装置の記憶装置に存在するデバイスドライバのうち不要となったデバイスドライバを認識する認識ステップと、
前記認識ステップによって不要と認識されたデバイスドライバを削除する処理を制御する削除制御ステップとを情報処理装置において実行させることを特徴とする制御プログラム。
A control program executed in an information processing device capable of managing a device driver in an information processing device connectable to a peripheral device,
An obtaining step of obtaining version information of a device driver in the information processing apparatus and information of a peripheral device that can be controlled by the device driver;
A device driver corresponding to a specific peripheral device and having a plurality of versions, using the device driver version information acquired by the acquisition unit and information on the peripheral device controllable by the device driver. A recognition step of recognizing an unnecessary device driver among device drivers existing in the storage device,
A deletion control step of controlling a process of deleting a device driver recognized as unnecessary by the recognition step in the information processing apparatus.
JP2002240555A 2002-08-21 2002-08-21 Information processor and method, and control program Pending JP2004078744A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002240555A JP2004078744A (en) 2002-08-21 2002-08-21 Information processor and method, and control program
US10/642,731 US7752290B2 (en) 2002-08-21 2003-08-19 Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002240555A JP2004078744A (en) 2002-08-21 2002-08-21 Information processor and method, and control program

Publications (1)

Publication Number Publication Date
JP2004078744A true JP2004078744A (en) 2004-03-11

Family

ID=32023301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002240555A Pending JP2004078744A (en) 2002-08-21 2002-08-21 Information processor and method, and control program

Country Status (1)

Country Link
JP (1) JP2004078744A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258900A (en) * 2004-03-12 2005-09-22 Fuji Xerox Co Ltd Driver management method, device and program
JP2008015912A (en) * 2006-07-07 2008-01-24 Canon Inc Information processor, and device driver deleting method
JP2008021048A (en) * 2006-07-12 2008-01-31 Konica Minolta Business Technologies Inc Print control program
US7376666B2 (en) 2004-03-19 2008-05-20 Sharp Laboratories Of America, Inc. Driver database auto-configuration methods and means
JP2008146398A (en) * 2006-12-11 2008-06-26 Hitachi Ltd Information processing system, method for controlling the system, service using device, and service providing device
JP2009077268A (en) * 2007-09-21 2009-04-09 Denso Corp Handsfree device
JP2010186239A (en) * 2009-02-10 2010-08-26 Ricoh Co Ltd Information processing apparatus, program control method, program control program, and storage medium
JP2010250369A (en) * 2009-04-10 2010-11-04 Canon Inc Information processing apparatus, information processing method, and program
KR101352851B1 (en) 2007-08-01 2014-01-20 삼성전자주식회사 Method and apparatus for installing printer driver of image forming apparatus in printing environment which used Universal Printer Driver
JP2017117232A (en) * 2015-12-24 2017-06-29 キヤノン株式会社 Program for controlling installation, information processing apparatus, and method of installing device driver

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258900A (en) * 2004-03-12 2005-09-22 Fuji Xerox Co Ltd Driver management method, device and program
JP4507649B2 (en) * 2004-03-12 2010-07-21 富士ゼロックス株式会社 Driver management method, apparatus, and program
US7376666B2 (en) 2004-03-19 2008-05-20 Sharp Laboratories Of America, Inc. Driver database auto-configuration methods and means
JP2008015912A (en) * 2006-07-07 2008-01-24 Canon Inc Information processor, and device driver deleting method
JP2008021048A (en) * 2006-07-12 2008-01-31 Konica Minolta Business Technologies Inc Print control program
JP4678342B2 (en) * 2006-07-12 2011-04-27 コニカミノルタビジネステクノロジーズ株式会社 Print control program
JP2008146398A (en) * 2006-12-11 2008-06-26 Hitachi Ltd Information processing system, method for controlling the system, service using device, and service providing device
KR101352851B1 (en) 2007-08-01 2014-01-20 삼성전자주식회사 Method and apparatus for installing printer driver of image forming apparatus in printing environment which used Universal Printer Driver
JP2009077268A (en) * 2007-09-21 2009-04-09 Denso Corp Handsfree device
JP4595978B2 (en) * 2007-09-21 2010-12-08 株式会社デンソー Hands-free device
JP2010186239A (en) * 2009-02-10 2010-08-26 Ricoh Co Ltd Information processing apparatus, program control method, program control program, and storage medium
JP2010250369A (en) * 2009-04-10 2010-11-04 Canon Inc Information processing apparatus, information processing method, and program
JP2017117232A (en) * 2015-12-24 2017-06-29 キヤノン株式会社 Program for controlling installation, information processing apparatus, and method of installing device driver

Similar Documents

Publication Publication Date Title
US8804172B2 (en) Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
US7752290B2 (en) Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
US20060232816A1 (en) Image processing apparatus, method for updating control program, and program
JP3787544B2 (en) Information processing apparatus, control method, and execution program
JP2004078744A (en) Information processor and method, and control program
US20060117312A1 (en) Device to serve software to a host device through a peripheral device and method thereof
JP2003058378A (en) Information processor, program installing method, storage medium and program
JP2001043039A (en) Data processor, printing controller, driver managing, method and storage medium with computer-readable program stored thereon
JPH11134135A (en) Printer control system
JP2000078340A (en) Information processor, software installation method for the information processor, software uninstallation method for the information processor, color correction processing method for information processing and storage medium with computer-readable program stored therein
JPH09114614A (en) Printer
JPH10154121A (en) Communication system
JP4239392B2 (en) Printing apparatus, printing system, and printing method
JP4343673B2 (en) Port setting automatic conversion method, port setting automatic conversion system, program, and storage medium
JPH10283129A (en) Printing controller, installation method for printing control program and storage medium
JP2005196261A (en) Information processor, its control method and program
JP2003150342A (en) Driver management system
JP4726250B2 (en) Information processing apparatus, control method therefor, and computer program
JP2008071288A (en) Software management method and management system
JP2000339075A (en) Data processor, print server, data processing method, and storage medium storing computer readable program
JP3817499B2 (en) Information processing apparatus, control method, and control program
JP2003015827A (en) Device, method for processing character, computer program and storage medium
JP2000330920A (en) Method and system for information processing, and storage medium
JPH09254485A (en) Image forming apparatus
JP3833195B2 (en) Image processing apparatus and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050905

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060406

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060630