(57)【要約】【課題】個別対応プリンタドライバがインストールされている装置に、汎用プリンタドライバをインストールする場合でも、プリンタ情報の登録や、プリンタドライバの環境設定を行う手間を省くこと。【解決手段】汎用プリンタドライバのインストーラは、印刷システムに既に登録されているプリンタの登録情報（プリンタ登録情報）を検索し（Ｓ１９０１）、該検索された登録情報に関連して前記印刷システムに登録されているプリンタ関連情報（プリンタ仕様記述ファイル及びプリンタ設定ファイル）が利用可能か否かを判定し（Ｓ１９０３〜Ｓ１９０９）、利用可能と判定した場合（Ｓ１９０９でＹｅｓ）、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報及び前記プリンタ関連情報を用いて、汎用プリンタドライバを使用するプリンタを印刷システムに登録する（Ｓ１９１１）。【選択図】図１９
2010262448.tif 000002
【特許請求の範囲】
【請求項１】
印刷システムとしてコモン・ユニックス・プリンティング・システムを用いる情報処理装置であって、
既にプリンタドライバがインストールされている前記情報処理装置の記憶手段に、前記プリンタドライバとは異なるバイナリオブジェクトから構成される汎用プリンタドライバのプリンタドライバモジュールを格納する格納手段と、
前記印刷システムに既に登録されているプリンタの登録情報を検索する検索手段と、
前記検索手段により検索された前記登録情報に関連して前記印刷システムに登録されているプリンタ関連情報が利用可能か否かを判定する判定手段と、
前記判定手段により前記プリンタ関連情報が利用可能と判定された場合、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報及び前記プリンタ関連情報を用いて、前記汎用プリンタドライバを使用するプリンタを前記印刷システムに登録する登録手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記プリンタ関連情報は、プリンタで利用可能な機能を示すプリンタ仕様情報、及び、プリンタに対するユーザの設定情報を示すユーザ設定情報を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記登録手段は、前記判定手段により前記プリンタ関連情報が利用不可能と判定された場合、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報、前記汎用プリンタドライバのプリンタドライバモジュールに含まれるプリンタ仕様情報、及び、前記プリンタ関連情報に含まれるユーザ設定情報を用いて、前記汎用プリンタドライバを使用するプリンタを前記印刷システムに登録することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記印刷システムに既に登録されているプリンタのプリンタ仕様情報と、前記汎用プリンタドライバのプリンタドライバモジュールに含まれる前記汎用プリンタドライバのプリンタ仕様情報とを比較して、前記既に登録されているプリンタのプリンタ仕様情報が示す機能が、前記汎用プリンタドライバのプリンタ仕様情報が示す機能を包含する場合、前記プリンタ関連情報が利用可能であると判定することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記既に登録されているプリンタが使用するプリンタドライバのページ記述言語が、前記汎用プリンタドライバのページ記述言語と等しい場合、前記プリンタ関連情報が利用可能であると判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項６】
前記判定手段は、前記既に登録されているプリンタに使用可能なページ記述言語に、前記汎用プリンタドライバのページ記述言語が含まれている場合、前記プリンタ関連情報が利用可能であると判定することを特徴とする請求項１、２、又は５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定手段は、前記既に登録されているプリンタと通信して該プリンタに使用可能なページ記述言語の情報を取得することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記既に登録されているプリンタが使用するプリンタドライバを削除すべきか否かを判定する削除判定手段と、
前記削除判定手段が、前記既に登録されているプリンタが使用するプリンタドライバを削除すべきと判定した場合、前記既に登録されているプリンタの関連情報は削除することなく、前記既に登録されているプリンタが使用するプリンタドライバのプリンタドライバモジュールを削除する削除手段と、
を有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記削除判定手段は、前記既に登録されているプリンタが使用するプリンタドライバが前記情報処理装置が利用しているオペレーティングシステムのバージョンをサポートしていない場合、前記既に登録されているプリンタが使用するプリンタドライバを削除すべきと判定することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
印刷システムとしてコモン・ユニックス・プリンティング・システムを用いる情報処理装置におけるプリンタドライバのインストール方法であって、
格納手段が、既にプリンタドライバがインストールされている前記情報処理装置の記憶手段に、前記プリンタドライバとは異なるバイナリオブジェクトから構成される汎用プリンタドライバのプリンタドライバモジュールを格納する格納ステップと、
検索手段が、前記印刷システムに既に登録されているプリンタの登録情報を検索する検索ステップと、
判定手段が、前記検索手段により検索された前記登録情報に関連して前記印刷システムに登録されているプリンタ関連情報が利用可能か否かを判定する判定ステップと、
登録手段が、前記判定ステップで前記プリンタ関連情報が利用可能と判定された場合、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報及び前記プリンタ関連情報を用いて、前記汎用プリンタドライバを使用するプリンタを前記印刷システムに登録する登録ステップと、
を有することを特徴とするプリンタドライバのインストール方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載された情報処理装置の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバのインストールに関するものである。
【背景技術】
【０００２】
従来、プリンタドライバのバージョンアップ等を行う場合、既にインストールされているプリンタドライバのキュー情報、登録情報や設定情報を保持するための方法が提案されている。
【０００３】
特許文献１では、プリンタドライバをバージョンアップインストールする場合、設定がデフォルトに戻ってしまうことを避けるために、予め初期化情報をネットワークに接続されたサーバの記憶領域に保存しておく。そして、この初期化情報をもとに新しいプリンタドライバをインストールする方法が提案されている。なお、初期化情報はフォーマットを予め決めておき、バージョンアップの際、新しいプリンタドライバは、旧バージョンの初期化情報を解釈できるように作成される。
【０００４】
このように、プリンタドライバをバージョンアップする場合、旧バージョンで登録したプリンタの情報（キュー情報）やユーザ環境設定ファイル等を引き継ぐことが可能となる。これにより、ユーザは新しくインストールしたプリンタドライバに対して、プリンタの情報の再登録やユーザ環境の再設定を行う手間を省くことが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２０８２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の方法では、以下のような課題がある。
バージョンアップするプリンタドライバは、機能追加／削減や機能変更程度に限られ、全く異なる機能群のプリンタドライバや、異なるページ記述言語への変更は困難である。
例えば、プリンタドライバを個別のプリンタに応じて作成している場合を考える。あるプリンタがステイプル及びパンチが可能な場合、そのプリンタに個別対応するプリンタドライバは、ユーザＩ／Ｆにステイプルとパンチの設定が可能なコントロールを持つことになる。
【０００７】
この個別対応プリンタドライバに対し、全く異なるコンセプトを持つプリンタドライバを作成する場合を考える。例えば、どのプリンタにも適用可能な汎用の機能しか持たず、個別対応プリンタドライバとは全く異なる構成のユーザＩ／Ｆをもつ汎用プリンタドライバを作成する場合を考える。なお、この汎用プリンタドライバは、個別対応プリンタドライバとは全く異なるバイナリオブシェクとから構成されるソフトウェアとなる。
【０００８】
この場合、汎用プリンタドライバの設定ファイルや関連ファイルは、個別対応プリンタドライバのそれらとは異なり、個別に扱われる。そのため、ユーザが汎用ドライバを使用したい場合、従来例にあるようなバージョンアップの手続きを行うことができない。
【０００９】
ユーザは、一度、個別対応プリンタドライバを削除して新しい汎用プリンタドライバをインストールする必要がある。さらに、汎用プリンタドライバは、新しいプリンタドライバとしてインストールされるため、ユーザはプリンタドライバの環境設定等をはじめからやり直す必要があり、手間がかかるといった問題がある。なお、この例では、汎用プリンタドライバ内に個別対応プリンタドライバの登録情報や設定情報を汎用プリンタドライバ用に変換する仕組みを作成すればよい。しかし、この変換する仕組みの作成自体が、プリンタドライバ提供側の手間となってしまうといった課題がある。
【００１０】
さらに、この例では、汎用プリンタドライバの機能が個別対応プリンタドライバの機能より勝る場合や劣る場合がある。この場合、ユーザは双方の機能を自分で比較して汎用プリンタドライバをインストールするか否かを決定する必要がある。
ユーザが１台のプリンタしか使用していない場合はそれほど手間ではないが、複数台のプリンタを使用している場合、それぞれのプリンタドライバの機能を比較して汎用プリンタドライバをインストールするか否かを決定する必要がある。これは非常に手間がかかる作業である。
【００１１】
また、異なるケースの課題もある。既にインストールされているプリンタドライバと、新たにインストールするプリンタドライバのページ記述言語が異なる場合がある。これは、1つプリンタが複数のページ記述言語をサポートしているケースが該当する。異なるページ記述言語のプリンタドライバは、例えば同一機種に対応するプリンタドライバであっても全く異なるソフトウェアとして扱うことになる。そのため前述したように、ユーザは一度、旧プリンタドライバを削除して、新しい異なるページ記述言語のプリンタドライバをインストールする必要がある。この場合も、前例と同様、異なるページ記述言語のプリンタドライバは新しいプリンタドライバとしてインストールするため、ユーザはプリンタドライバの環境設定などをはじめからやり直す必要があり、手間がかかってしまうという問題がある。
【００１２】
なお、上述の二例とも、新しいプリンタドライバをインストールするときに、古いプリンタドライバは必ずしも削除する必要はない。そのため削除する手間は必須ではないが、新しいプリンタドライバをインストール後、再度プリンタの登録（プリントキューの登録）やプリンタドライバの設定を行う必要があり、かなりの手間が残る。
【００１３】
また、別のケースとして古いプリンタドライバを削除しなくてはならないケースがある。例えばユーザがオペレーティングシステムをバージョンアップして、古いプリンタドライバが動作しなくなる場合である。この場合、古いプリンタドライバはユーザが削除する必要があり、非常に手間がかかってしまう。
【００１４】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、個別対応プリンタドライバ等がインストールされている装置に、汎用プリンタドライバをインストールする場合でも、プリンタの登録や、プリンタドライバの環境設定を行う手間を省くことができる仕組みを提供することである。
【課題を解決するための手段】
【００１５】
本発明は、印刷システムとしてコモン・ユニックス・プリンティング・システムを用いる情報処理装置であって、既にプリンタドライバがインストールされている前記情報処理装置の記憶手段に、前記プリンタドライバとは異なるバイナリオブジェクトから構成される汎用プリンタドライバのプリンタドライバモジュールを格納する格納手段と、前記印刷システムに既に登録されているプリンタの登録情報を取得するプリンタ登録情報取得手段と、前記プリンタ登録情報取得手段により取得された前記登録情報に基づいて前記既に登録されているプリンタに関連して前記印刷システムに登録されているプリンタ関連情報を前記記憶手段から取得する関連情報取得手段と、前記関連情報取得手段により取得された前記プリンタ関連情報が利用可能か否かを判定する判定手段と、前記判定手段により前記プリンタ関連情報が利用可能と判定された場合、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報及び前記プリンタ関連情報を用いて、前記汎用プリンタドライバを使用するプリンタを前記印刷システムに登録する登録手段とを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、個別対応プリンタドライバ等がインストールされている装置に、汎用プリンタドライバをインストールする場合でも、個別対応プリンタドライバの設定情報を引き継ぎ、新しいプリンタドライバを容易にインストールすることができる。これにより、プリンタ情報の登録や、プリンタドライバの環境設定を行う手間を省くことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明が適用されるシステムの一例を示す図である。
【図２】コンピュータ１０１のハードウェア構成を示すブロック図である。
【図３】プリンタドライバの構成を示すブロック図である。
【図４】プリンタドライバのインストール手順を示したフローチャートである。
【図５】プリンタドライバを登録する手順を示すフローチャートである。
【図６】プリンタ登録ユーザＩ／Ｆを示した図である。
【図７】プリンタ登録ダイアログを示した図である。
【図８】既にプリンタが登録された状態を示すシステムブロック図である。
【図９】登録するプリンタの情報が記述されたプリンタ登録情報を示す図である。
【図１０】プリンタ登録情報を追記するファイルを示した図である。
【図１１】プリンタ仕様記述ファイルの一例を示した図である。
【図１２】プリンタ仕様記述ファイルの格納場所とそのファイル名を示した図である。
【図１３】プリンタ設定ファイルの一例を示す図である。
【図１４】プリンタ設定ファイルの格納場所とそのファイル名を示した図である。
【図１５】個別対応プリンタドライバのユーザＩ／Ｆを示す図である。
【図１６】個別対応プリンタドライバのプリンタ仕様記述ファイルを示す図である。
【図１７】汎用プリンタドライバのユーザＩ／Ｆを示す図である。
【図１８】汎用プリンタドライバのプリンタ仕様記述ファイルを示した図である。
【図１９】本発明の実施例１のインストール手順を示すフローチャートである。
【図２０】図１９のＳ１９１３の処理を詳細に示したフローチャートである。
【図２１】インストーラにより作成されたプリンタのリストを示す図である。
【図２２】図１６のプリンタ仕様記述ファイルから作成した機能能力テーブルである。
【図２３】図１８のプリンタ仕様記述ファイルから作成した機能能力テーブルである。
【図２４】個別対応プリンタドライバのプリンタ仕様記述ファイルである。
【図２５】図２４のプリンタ仕様記述ファイルから作成した機能能力テーブルである。
【図２６】プリンタの削除に関するオプション設定ダイアログの一例を示す図である。
【図２７】本発明の実施例２のインストール手順を示すフローチャートである。
【図２８】汎用プリンタドライバのプリンタ仕様記述ファイルである。
【図２９】プリンタから取得したプリンタが対応するページ記述言語を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１９】
まず、図１〜図２６を用いて、本発明の実施例１を示す。
［システム構成］
図１は、本発明が適用されるシステムの一例を示す図である。
図１において、１０４はコンピュータネットワークである。このネットワーク１０４には、クライアントコンピュータ１０１（以下、コンピュータ１０１）とネットワークプリンタ１０２及び１０３が接続される。
【００２０】
コンピュータ１０１には、オペレーティングシステム（ＯＳ（印刷システムを含む））、アプリケーション、及び、プリンタドライバ等がインストールされている。このシステムにより、ユーザは、コンピュータ１０１からユーザデータをプリンタ１０２或いは１０３に送信し、印刷することができる。
【００２１】
本実施例では、印刷システムとしてＣＵＰＳを用いるＯＳで動作するコンピュータに、汎用プリンタドライバ（ジェネリックプリンタドライバ）をインストールする例を示す。汎用プリンタドライバは、特定のプリンタ機種に依存せず、広く諸種のプリンタにおいて印刷処理を実行することができる、汎用性を確保したプリンタドライバである。
【００２２】
本実施例のコンピュータ１０１は、印刷システムとしてＣＵＰＳを用いるＯＳで動作するコンピュータである。即ち、コンピュータ１０１は、印刷システムとしてＣＵＰＳを用いるコンピュータである。
なお、ＣＵＰＳとは、Common Unix Printing System(コモン・ユニックス・プリンティング・システム)を示す。ＣＵＰＳは、Ｍａｃ ＯＳ Ｘ以降、Ｌｉｎｕｘ（登録商標）等の各種ＵＮＩＸ（登録商標）ベースのＯＳで標準の印刷システムとして採用されているものであり、上記ＵＮＩＸベースのＯＳ上で動作する（通常、デーモンとして動作する）。なお、本実施例では、ＣＵＰＳがＯＳのパッケージに含まれるものとして説明する。よって、ＯＳが行う動作として説明する箇所であってもＣＵＰＳが行う動作が含まれる場合がある。なお、ＣＰＵＳが、ＯＳとは別にインストールされる構成であってもよい。また、ＣＵＰＳは、印刷ジョブとキューの管理に、ＩＰＰ(Internet Printing Protocol)を使用する。さらに、ＣＵＰＳは、プリンタで利用可能な機能の記述にＰＰＤ(PostScript Printer Description)を用いる。
【００２３】
図２は、コンピュータ１０１のハードウェア構成を示すブロック図である。
図２において、２０３は中央演算装置（ＣＰＵ）である。２０４は揮発性メモリであるＲＡＭである。２０５は不揮発性メモリであるＲＯＭである。
２０６はキーボードコントローラである。キーボードコントローラ２０６には、ユーザがコンピュータを操作するためのキーボード２１０や不図示のポインティングデバイス（例えばマウス）が接続されている。キーボードコントローラ２０６は、キーボード２１０やポインティングデバイスからの入力を制御する。
【００２４】
２０７はビデオコントローラである。ビデオコントローラ２０７には、表示装置２１１が接続されている。ビデオコントローラ２０７は、表示装置２１１への出力を制御する。
２０８は外部記憶装置コントローラである。外部記憶装置コントローラ２０８には、大容量のデータを保存するための不揮発性の外部記憶装置２１２（例えば、ハードディスク）が接続されている。外部記憶装置コントローラ２０８は、外部記憶装置２１２に対するデータの読み書きを制御する。
【００２５】
２０９はネットワークＩ／Ｆコントローラである。ネットワークＩ／Ｆコントローラ２０９は、ネットワークへの接続を制御する。コンピュータ１０１は、ネットワークＩ／Ｆコントローラ２０９を用いて、コンピュータネットワーク１０４に接続された他の機器（１０２，１０３）との通信が可能となる。
【００２６】
２１３は外部メディア装置コントローラである。外部メディア装置コントローラ２１３には、外部メディア読み取り装置２１４が接続されている。外部メディア装置コントローラ２１３は、外部メディア読み取り装置２１４にセットされた外部メディア（ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ）の読み取りを制御する。例えば、アプリケーションやドライバソフトウェア等が外部メディアなどで提供されているとき、ユーザは外部メディア読み取り装置２１４にＣＤ−ＲＯＭなどのメディアをセットし、コンピュータ１０１にプログラムを読み込ませることができる。
【００２７】
通常、コンピュータ１０１を起動するための初期プログラムやコンピュータ１０１の各モジュールを制御するための基本的なプログラムは、ＲＯＭ２０５に保存されている。またＯＳ（印刷システムを含む）、アプリケーション、及びプリンタドライバ等は、外部記憶装置２１２に保存されている。コンピュータ１０１の電源が投入されると、まずＣＰＵ２０３によりＲＯＭ２０５に保存されているコンピュータを起動するためのプログラムが実行される。そして、そのプログラムが（そのプログラムを実行することによりＣＰＵ２０３が）、外部記憶装置に保存されているＯＳをＲＡＭ２０４にロードし、その後、制御権をＯＳに渡す。なお、ＯＳを実行することによりＣＰＵ２０３が行う動作を、以降、ＯＳが行う等と表現する。
【００２８】
ＯＳは、必要なモジュールやドライバをさらに外部記憶装置２１２からＲＡＭ２０４に読み込む。さらに、ＯＳは、ユーザの指示により、必要なアプリケーションを外部記憶装置２１２からＲＡＭ２０４に読み込み、実行する。
なお、本実施例で説明する。プリンタドライバ及びプリンタドライバのインストーラは、ＣＤ−ＲＯＭ等の外部メディアで供給されるものとする。ユーザは、この外部メディアを外部メディア読み取り装置２１４にセットする。そして、ＣＰＵ２０３が必要に応じてプリンタドライバやインストーラをこの外部メディアからＲＡＭ２０４に読み込んだり、外部記憶装置２１２に保存したりする。
【００２９】
［プリンタドライバ］
次に、プリンタドライバについて説明する。
図３は、プリンタドライバの構成を示すブロック図である。
プリンタドライバは、図３に示すようなモジュール群で構成されている。
図３に示すように、プリンタドライバ３０１は、グラフィックレンダリングモジュール３０２、ＵＩ制御モジュール３０３、プリンタ仕様記述ファイル３０４、色処理モジュール３０５、入出力制御モジュール３０６等のモジュール群で構成される。なお、プリンタドライバの機能によっては、この他のモジュールから構成されることもある。
【００３０】
グラフィックレンダリングモジュール３０２は、ＯＳの印刷システムから受け取った印刷データをプリンタデバイスが理解できる印刷データ（ページ記述言語；ＰＤＬ）にレンダリングする。ＵＩ制御モジュール３０３は、プリンタで利用可能な機能（プリンタ仕様情報）を記述したプリンタ仕様記述ファイル３０４に基づいてプリンタで利用可能な機能を表示したり、ユーザからの設定を受け付ける。色処理モジュール３０５は、ＩＣＣプロファイルに基づく色処理を行う。入出力制御モジュール３０６は、印刷データをプリンタへ送信する。
【００３１】
このプリンタドライバは、いくつかの作成の仕方がある。例えば、1つプリンタドライバで複数のプリンタを対応するために、グラフィックレンダリングモジュール３０２、及び、ＵＩ制御モジュール３０３を複数のプリンタに対応できるように作成しておく。また、プリンタ仕様記述ファイルに関しては、対応しているプリンタ分プリンタドライバに同梱しておく、という方法である。このような方法では、ＵＩ制御モジュール３０３は、プリンタ仕様記述ファイル３０４に合わせてＵＩを表示制御する。また、グラフィックレンダリングモジュール３０２は、各プリンタに合わせたページ記述言語およびプリンタ制御コマンドを発行する。
【００３２】
また、別の方法としては、特定の機種に依存せず、広く諸種のプリンタに共通している機能のみに対応したプリンタ仕様記述ファイル３０４を作成しておき、また、ＵＩ制御モジュール３０３もそのプリンタ仕様記述ファイルに従って動作するというものである。さらに、グラフィックレンダリングモジュール３０２は、プリンタ仕様記述ファイルに従った、広く諸種のプリンタで印刷可能な汎用的なページ記述言語を生成するというものである。
【００３３】
本実施例では、前者のようなプリンタドライバを個別対応プリンタドライバ（モノリシックプリンタドライバ）、後者のようなプリンタドライバを汎用プリンタドライバ（ジェネリックプリンタドライバ）と呼び説明する。
【００３４】
次に、このような構成のプリンタドライバをコンピュータ１０１へインストールする手順を説明する。
図４は、プリンタドライバのインストール手順を示したフローチャートである。なお、このフローチャートの処理は、ＣＰＵ２０３がプリンタドライバインストーラ（以下、インストーラ）をＯＳ上で実行することにより実現されるものである。ユーザは、プリンタドライバが格納されたＣＤ−ＲＯＭを準備するか、ネットワーク経由でインストーラを入手しているものとする。
【００３５】
まず、ユーザがインストーラを起動する操作を行うと、ＯＳは、この操作を検知し、インストーラを起動する（Ｓ４０１）。なお、ＣＰＵ２０３がＯＳを実行することにより実行される動作を、ＯＳを主語として、ＯＳが行う等と表現する。また、ＣＰＵ２０３がＯＳ上でインストーラを実行することにより実行される動作を、インストーラを主語として、インストーラが行う等と表現する。
【００３６】
起動されたインストーラは、ＣＤ−ＲＯＭ等からプリンタドライバモジュールを読み出して、外部記憶装置２１２の所定の場所に格納する（Ｓ４０２）。なお、プリンタドライバモジュールの格納先は、印刷システムによって異なるが、一例として、ＣＵＰＳでは、"/Library/Printers/"ディレクトリ以下にベンダー毎にプリンタドライバモジュールを格納することになっている。なお、ベンダー毎のディレクトリの下にさらにプリンタドライバの種類に分けて格納することも可能である。例えば、"ABCCompany"というベンダーの"PrinterC PDL1"と"PrinterC PDL2"という異なるプリンタドライバがあるとき、以下のように行う。まず、"PrinterC PDL1"用に"/Library/Printers/ABCCompany/PrinterC PDL1/"というディレクトリを作成する。また、"PrinterC PDL2"用に"/Library/Printers/ABCCompany/PrinterC PDL2/"というディレクトリを作成する。そして、ＰＤＬ１のプリンタドライバとＰＤＬ２のプリンタドライバを、対応するディレクトリ下に格納する。
以上により、プリンタドライバのインストールを完了するが、実際にプリンタへの出力を可能にするためには、ユーザはプリンタドライバを使用してプリンタを印刷システムに登録する必要がある。
【００３７】
図５は、プリンタドライバを登録する手順を示すフローチャートである。この手順に沿って、必要な図を用いながら流れを説明する。なお、このフローチャートの処理は、ＣＰＵ２０３がＯＳを実行することにより実現されるものである。また、ＣＰＵ２０３がＯＳを実行することにより実行される動作を、プリンタドライバを主語として、プリンタドライバが行う等と表現する。
ユーザがプリンタ登録のダイアログを開く操作を行うと、ＯＳは、この操作を検知して、プリンタ登録のダイアログを開く。このステップにおいて、ＯＳは、プリンタ登録のためのプログラムコードを外部記憶装置２１２からＲＡＭ２０４に読み出して実行する。
【００３８】
図６は、プリンタ登録ユーザＩ／Ｆを示した図である。
このダイアログには、現在登録されているプリンタ一覧を表示するための登録プリンタリスト６０２、登録プリンタリスト６０２で選択されているプリンタの詳細情報を表示するプリンタ詳細表示領域６０３がある。
また、６０４はプリンタを登録するためのボタンである。６０５は、現在、登録プリンタリスト６０２で選択されているプリンタを削除するためのボタンである。なお、６０６はこのダイアログを閉じるためのボタンである。
【００３９】
以下、図５のフローチャートの説明に戻る。
次に、ユーザがプリンタ登録ユーザＩ／Ｆ６０１のプリンタ追加ボタン６０４のクリックすると、ＯＳは、この操作を検知して（Ｓ５０２）、プリンタ登録ダイアログ７０１（図７）を表示する（Ｓ５０３）。ここで表示されたプリンタ登録ダイアログ７０１（図７）に対して、ユーザが、後述する必要な情報を入力、プリンタドライバの選択、及びプリンタの追加の操作を行うと、ＯＳは、この操作を検知して（Ｓ５０４）、ステップＳ５０５に処理を進める。
【００４０】
図７は、プリンタ登録ダイアログを示した図である。
プリンタ登録ダイアログ７０１において、７０２は接続されているプリンタのネットワークアドレス（この例ではＩＰアドレス）を指定するコントロールである。７０３はプリンタを識別するためのプリンタの名前を入力するコントロールである。７０４はプリンタが設置されている場所を入力するコントロールである。プリンタの名前入力コントロール７０３及びプリンタの場所入力コントロール７０４に入力される文字列は、図６に示した登録プリンタリスト６０２及びプリンタ詳細表示領域６０３に表示する際に使用される文字列となる。
【００４１】
７０５はプリンタを登録する際に使用するプリンタドライバを指定するコントロールである。このコントロール７０５でリストされるプリンタドライバは、先に説明したＯＳのプリンタドライバ格納ディレクトリ(/Library/Printers)に格納されているプリンタドライバがＯＳによりリストされる。
図７の例では、アドレスが"192.168.1.10"、名前が"PrinterC"、場所が"2F"、またプリンタドライバとして"PrinterC PDL1"を選択している状態である。この状態で、ユーザが追加ボタン７０６をクリックすると、ＯＳはこの操作を検知し、プリンタ追加処理を行う（図５のＳ５０５）。なお、追加を行わないでこのダイアログを閉じるときは、ユーザはダイアログクローズボタン７０７をクリックする。
【００４２】
以下、図５のフローチャートの説明に戻る。
ステップＳ５０５では、ＯＳは、ユーザが上記プリンタ登録ダイアログで指定した情報に基づいてプリンタをシステムに登録する。即ち、ＯＳは、プリンタ登録キュー、プリンタ仕様記述ファイルの印刷システムへの登録を行う。
続いて、ステップＳ５０６において、ＯＳは、プリンタ仕様記述ファイルに基づいてデフォルトのプリンタ設定ファイルを作成して、このプリンタ設定ファイルも印刷システムに登録し、処理を終了する。なお、プリンタ設定ファイルとは、プリンタに対するユーザ設定情報を記述するファイルである。なお、上記２つのステップ（Ｓ５０５，Ｓ５０６）について、図８〜図１４を使用して詳細な説明を行う。
【００４３】
図８は、コンピュータ１０１に既にプリンタが登録された状態を示すシステムブロック図である。
図８に示す、グラフィックレンダリングモジュール８０３は、前述した手順によりＯＳの所定のディレクトリ（/Library/Printers/）に登録されたプリンタドライバのグラフィックレンダリングモジュール３０２に対応する。
同様に、ＵＩ制御モジュール８０５は、登録されたプリンタドライバのＵＩ制御モジュール３０３に対応する。色処理モジュール８０４は、登録されたプリンタドライバの色処理モジュール３０５に対応する。入出力制御モジュール８０８は、登録されたプリンタドライバの入出力制御モジュール３０６に対応する。また、プリンタ仕様記述ファイル８０６は、登録されたプリンタドライバのプリンタ仕様記述ファイル３０４に対応する。
【００４４】
なお、バックエンドモジュール８０７は、ＯＳ８０２が提供するものであり、グラフィックレンダリングモジュール８０３が生成した印刷データを、入出力制御モジュール８０８へ受け渡しするためのモジュールである。なお、バックエンドモジュール８０７から印刷データを受け取った入出力制御モジュール８０８は、そのデータをプリンタへ送信する。また、プリンタ登録情報８０９、プリンタ仕様記述ファイル８１０、プリンタ設定ファイル８１１は、図５のプリンタ登録の過程でＯＳ８０２が生成するものであり、以下その詳細を説明する。
【００４５】
図５のステップＳ５０５において、ＯＳ８０２は、プリンタ登録ダイアログの情報を集め、印刷システムへのプリンタの登録作業を行う。この登録作業は、以下のように実行される。
図９は、登録するプリンタの情報が記述されたプリンタ登録情報を示す図である。なお、このり、このプリンタ登録情報はマークアップ言語で記述されている。
図９において、９０１はプリンタの識別子であり、プリンタ名とアンダースコアで続けてプリンタのアドレスを記述している。９０２はプリンタの名前を記述している。９０３はプリンタの設置場所を記述している。９０４はプリントキューの記述を行っており、この例ではｌｐｄプロトコルによりアドレス"192.168.1.10"に送信することとなる。９０５は、このプリンタが使用するプリンタドライバ名を記述している。９０６は、このプリンタの記述が終了することを示している。
【００４６】
まず、図５のステップＳ５０５において、ＯＳ８０２は、図９の記述を作成し、このプリンタのプリンタ登録情報として外部記憶装置２１２の所定のファイルに追記する。
図１０は、プリンタ登録情報を追記するファイルを示した図である。
図１０の例では、"/etc/cups/"ディレクトリ１００１に格納されている"printer.conf"ファイル１００２に追記を行うこととなる。この追記により、登録するプリンタのプリンタ登録情報（プリンタキューの情報を含む）がＯＳ８０２の印刷システムに登録されることとなる。これがプリンタ登録情報８０９となる。
【００４７】
続いて、ＯＳ８０２は、プリンタ仕様記述ファイルをシステムに登録する。この登録作業は、以下のように実行される。
図８において、ＯＳ８０２の印刷システムは、プリンタドライバのＵＩ制御モジュール８０５から登録するプリンタのプリンタ仕様記述ファイルを取得し、システムの所定の箇所に登録する。なお、プリンタ仕様記述ファイルの登録方法を説明する前に、プリンタ仕様記述ファイルの説明を行う。
【００４８】
図１１は、プリンタ仕様記述ファイルの一例を示した図である。なお、このプリンタ仕様記述ファイルは、プリンタの仕様記述フォーマットに沿って記述される。以下、フォーマットも踏まえながら説明する。
【００４９】
図１１において、１１０１はコメントを記述している。コメントは行頭が"*%"となっている。１１０２はベンダー名を記述している。１１０３はこのプリンタ仕様記述ファイルが対応するプリンタ名を記述している。１１０４はこのプリンタ仕様記述ファイルが対応しているページ記述言語を記述している。１１０５はプリンタドライバのバージョンを記述している。このあと、このプリンタの機能仕様が記述されている。機能仕様は、"*OpenUI"の行から"*CloseUI"の行までがひとつの機能となっている。"*OpenUI"のあとには"*"を先頭に付加した機能名、機能名の後には":"で区切り、その機能の選択するさいの種類を示す。この種類には、"PickOne"と"Boolean"があり、"PickOne"は選択肢の中からひとつを選択する機能であることを表している。また、"Boolean"はこの機能がＯｎ／Ｏｆｆで制御されることを表している。
【００５０】
１１０６では、"*PageSize"という機能があり、この機能は選択肢のなかからひとつを選択するものであることを表している。１１０６の次の行にはこの機能のデフォルト値を記述する。この行は"*Default"で始まり、この後につづけて前の行で定義した機能名を付加する。この行では、"PageSize"という機能のデフォルトが"A4"であることを示している。次の行から１１１０の"*CloseUI"のところまではこの機能の選択肢を１行に１選択肢記述する。例えば、１１０８では、"PageSize"の選択肢のひとつとして"A3"があることを表している。なお、これはページサイズを選択する機能を記述しており、ページサイズは選択肢が多いため途中を省略している。この機能の最後の記述は１１１０であり、"*CloseUI"の後に"*OpenUI"で記述した機能名を記述する。これで一つの機能が表現されている。次の１１１１〜１１１６は、もう一つの機能の記述である。重複する説明は省略するが、このブロックでは、"Duplex"という機能があり、どれかひとつの選択肢を選択するものであり、選択肢は"None"、"Simplex"、"Duplex"から選択することを表している。実際にはこれは両面印刷指定の機能を表現したものであり、"None"は指定しないためプリンタのデフォルト設定に従い、"Simplex"は片面、"Duplex"は両面印刷を意味する。
【００５１】
次に、このプリンタ仕様記述ファイルの登録方法について説明する。ＯＳ８０２は、登録するプリンタに対応するこのプリンタ仕様記述ファイルをＵＩ制御モジュール８０５から取得し、図１２に示すような、システムの所定の場所に格納する。
【００５２】
図１２は、プリンタ仕様記述ファイルの格納場所とそのファイル名を示した図である。
図１２に示すように、プリンタ仕様記述ファイルの格納場所は、外部記憶装置２１２の"/etc/cups/ppd/"ディレクトリ１２０１としている。また、上記格納場所に格納するフプリンタ仕様記述ファイルは、１２０２〜１２０４に示すように、ファイル名として登録するプリンタの名前とその後、アンダースコアに続いて登録するプリンタのアドレスを付加したファイル名としている。即ち、登録するプリンタのプリンタ仕様記述ファイルは、登録するプリンタの識別子（図９の９０１)をファイル名とした拡張子"ppd"のファイルとする。ここで追加したプリンタ仕様記述ファイル８１０は、１２０４に示す"PrinterC_192.168.1.10_.ppd"となっている。
【００５３】
このように、登録するプリンタのプリンタ仕様記述ファイルを図１２に示すような、システムの所定の場所に格納することにより、登録するプリンタのプリンタ仕様記述ファイルが印刷システムに登録されることとなる。これがプリンタ仕様記述ファイル８１０となる。
次に、ＯＳ８０２は、図５のステップＳ５０６において、プリンタ仕様記述ファイルに基づいてデフォルトのプリンタドライバ設定を記述したファイルを作成し、プリンタ設定ファイル８１１としてシステムに登録する。
【００５４】
図１３は、プリンタ設定ファイルの一例を示す図である。このファイルはマークアップ言語で記載されており、各マークアップのキーにより解釈を行う。
図１３において、１３０１と１３０８はこの行の間にデフォルト設定が記載されていることを示している。１３０２〜１３０４は、PageSizeのデフォルト設定を記述しており、そのデフォルト値は"A4"であることを示している。これは、ＯＳが外部記憶装置２１２に登録したプリンタ仕様記述ファイル（図１１）を解釈し、"*PageSize"の機能記述内容から"*DefaultPageSize"のキーを捜し、１３０２〜１３０４の記述に変換することにより実現している。
【００５５】
１３０５〜１３０７も同様に、Ｄｕｐｌｅｘの機能のデフォルト設定値が"None"であることを記述している。ここで作成したプリンタのデフォルト設定記述は、ＯＳ８０２が図１４に示す場所及びファイル名で外部記憶装置２１２に格納する。
【００５６】
図１４は、プリンタ設定ファイルの格納場所とそのファイル名を示した図である。
図１４に示すように、プリンタ設定ファイルの格納場所は、外部記憶装置２１２の"/usr/Libraries/Preferences/"ディレクトリ１４０１としている。また、上記格納場所に格納するプリンタ設定ファイルは、１４０２〜１４０４に示すように、ファイル名としてプリンタの名前とその後、アンダースコアに続いてプリンタのアドレスを付加したファイル名としている。即ち、登録するプリンタのプリンタ設定ファイルは、登録するプリンタの識別子（図９の９０１)をファイル名とした拡張子"plist"のファイルとする。このように、登録するプリンタのプリンタ設定ファイルを図１４に示すような、システムの所定の場所に格納することにより、登録するプリンタのプリンタ設定ファイルが印刷システムに登録されることとなる。これがプリンタ設定ファイル８１１となる。
【００５７】
このプリンタ設定ファイル８１１は、ユーザがデフォルト設定を変更したいときに利用する。具体的には、プリンタドライバのユーザＩ／Ｆを表示し、ユーザが設定値を変更する。その変更の保存指示があったときに、ＵＩ制御モジュール８０５は、ＯＳ８０２を介して、プリンタ設定ファイル８１１にアクセスし、該当する機能の設定値を変更する。これにより、ユーザは例えば、あるプリンタでは常に両面設定で使用したい場合、プリンタドライバを介してデフォルトを両面に変更しておく、ということが可能となる。
【００５８】
以上のようにして、ＯＳ８０２は、ユーザが指定したプリンタの印刷システムへの登録を完了する。印刷システムは、プリンタ登録情報８０９、プリンタ仕様記述ファイル８１０、プリンタ設定ファイル８１１を読み込み、登録したプリンタへの印刷処理を実行可能にする。
【００５９】
次に、本実施例で説明に供する２種類のプリンタドライバについて説明する。
図１５は、プリンタ固有機能をフルにサポートするように作成されたプリンタドライバ（個別対応プリンタドライバ）のユーザＩ／Ｆを示す図である。このプリンタドライバのユーザＩ／Ｆは、このプリンタが持っている機能をすべて制御できるように作成されたものである。
例えば、プリント設定ダイアログ１５０１において、１５０２〜１５０４はシステムが共通で提供するコントロールであり、基本機能である部数の設定や用紙サイズの指定が可能となっている。
【００６０】
プリンタ固有の機能は、それ以外の部分で設定が可能となっている。このプリンタの機能が数多くある場合、全ての機能を一度に表示せずに、１５０５で機能ジャンルを切り替える方法がある。ここでは「仕上げ」に関連する機能を表示している状態を示したものである。
「仕上げ」関連の機能としては、１５０６の片面／両面指定、１５０７のステイプル指定、１５０８の製本印刷指定がある。他にもさまざまな機能があり、それは他のジャンルを１５０５のコントロールで指定することにより表示切り替えが可能となっている。
【００６１】
図１６は、個別対応プリンタドライバのプリンタ仕様記述ファイルを示す図である。このプリンタ仕様記述ファイルは説明に必要な部分のみを示したものである。
図１６において、１６０１〜１６０５はプリンタに関する情報を記述している。１６０６〜１６１０はページサイズ機能の記述である。１６１１〜１６１６は両面印刷機能の記述であり、プリンタドライバは、この記述により図１５の両面機能のコントロール１５０６を表示している。１６１７〜１６２１はステイプル機能の記述であり、選択肢が多くあるため図１６では一部の選択肢の記述をしている。１６２２〜１６２６は製本印刷機能の記述である。１６２７〜１６３２は画像処理機能の記述であり、この機能の選択肢として、"Profile_1"、"Profile_2"、"Profile_3"があることを示している。ただし、この機能は色処理関連の機能であるため、図１５では表示されていない。この機能は１５０５の機能ジャンルを「色処理」に切り替えることで表示、設定が可能となる。
【００６２】
以下、図１７，図１８に対応するプリンタドライバは、上記図１５，図１６に対応するプリンタドライバとは異なる種類のプリンタドライバである。具体的には、図１７，図１８に対応するプリンタドライバは、図１５，図１６に対応するプリンタドライバとは別のバイナリオブジェクトを持ち、機能の提供の仕方も異なっている。
【００６３】
図１７は、広く諸種のプリンタで汎用的に使用できるように作成されたプリンタドライバ（汎用プリンタドライバ）のユーザＩ／Ｆを示す図である。汎用プリンタドライバは、設定できる機能を限定しており、どのようなプリンタ仕様記述ファイルであっても、用紙サイズ、印刷方法、画像処理の機能しか提供しない。そのためプリンタ仕様記述ファイルも１種類しか用意していない。汎用プリンタドライバは広く種々のプリンタに適応しているため、ユーザがプリンタを追加した場合でも、新しいプリンタドライバをインストールせずに、汎用プリンタドライバを用いて今までと同じユーザＩ／Ｆで使用できる。また、ベンダー側もプリンタ毎にプリンタドライバを開発する必要がない。このような汎用プリンタドライバを提供することより、ユーザ側とベンダー側の双方が上記のようなメリットを得る。なお、汎用プリンタドライバは、仮にプリンタ仕様記述ファイルが多くの機能が記述されているものであっても、機能として、"*PageSize"、"*Duplex"、"*ImageProcess"のみを解釈してプリンタの登録を行えばよい。
【００６４】
図１８は、汎用プリンタドライバのプリンタ仕様記述ファイルを示した図である。
図１８において、１８０１〜１８０５はプリンタに関する情報を記述している。１８０６〜１８１０はページサイズ機能の記述である。１８１１〜１８１６は両面印刷機能の記述であり、プリンタドライバはこの記述により図１７の両面機能のコントロール１７０５を表示している。１８１７〜１８２２は画像処理機能の記述であり、この機能の選択肢として、"Profile_1"、"Profile_2"、"Profile_3"があることを示している。プリンタドライバはこの記述により画像処理機能のコントロール１７０６を表示している。
【００６５】
以下、前記個別対応プリンタドライバが既にインストールされている状態で、前記汎用プリンタドライバをインストールして前記個別対応プリンタドライバを前記汎用プリンタドライバに置き換える実施例を説明する。上述のように前記個別対応プリンタドライバと前記汎用プリンタドライバは、機能が大きく異なるため、前記個別対応プリンタドライバと前記汎用プリンタドライバのバイナリオブジェクトは異なる。そのため、これらのプリンタドライバがインストールされるディレクトリも、"/Library/Printers/ベンダー名/"ディレクトリ以下、別々のディレクトリとなる。これは、古いバージョンのプリンタドライバが既にインストールされている状態で、バージョンアップドライバをインストールする通常のプリンタドライバのバージョンアップとは異なるものである。
【００６６】
通常のプリンタドライバのバージョンアップの場合は、バージョンアップドライバを既にインストールされているプリンタドライバのディレクトリに上書きすることによりインストールを行う。この点が、個別対応プリンタドライバの汎用プリンタドライバへの置き換えと、従来の通常のプリンタドライバのバージョンアップとが大きく異なる点である。
【００６７】
［インストール手順］
次に本発明でのプリンタドライバインストール及びプリンタの登録手順を説明する。説明の前提として、既に個別対応のプリンタドライバである"PrinterA PDL1"、"PrinterB PDL1"がコンピュータ１０１にインストールされているものとする。また、"PrinterA PDL1"を使用するプリンタとして"PrinterA"、"PrinterB PDL1"を使用するプリンタとして"PrinterB"がそれぞれ登録されているものとする。このコンピュータ１０１に対して、図１７及び図１８で説明した汎用プリンタドライバをインストールする場合について説明する。
【００６８】
図１９及び図２０は、本発明の実施例１のインストール手順を示すフローチャートである。また、図２１〜図２６を合わせてこの手順を説明する。なお、図２０のフローチャートは、図１９のＳ１９１３で示されるステップの詳細を示すものである。
ユーザはＣＤ−ＲＯＭ等の記憶媒体に保存されている、汎用プリンタドライバのインストーラを起動するように操作する。この操作を検知して、ＣＰＵ２０３は、インストーラプログラムをＲＡＭ２０４にロードし、そのプログラムをＯＳ上で実行する。なお、ＣＰＵ２０３がＯＳ上でインストーラを実行することにより実行される動作を、インストーラを主語として、インストーラが行う等と表現する。
【００６９】
インストーラは、ステップＳ１９００において、ＣＤ−ＲＯＭ等の記憶媒体から汎用プリンタドライバのプリンタドライバモジュールを読み出して、外部記憶装置２１２の所定の場所に格納する（プリンタドライバをインストールする）。"ABCCompany"というベンダーの"PDL1 Generic"というプリンタドライバの場合、"/Library/Printers/ABCCompany/PDL1 Generic/"ディレクトリにプリンタドライバモジュールを格納する。
【００７０】
次に、ステップＳ１９０１において、インストーラは、既に印刷システムに登録されているプリンタを検索して、リストを作成する。具体的には、インストーラは、外部記憶装置２１２の"/etc/cups/"ディレクトリ１００１に格納されている"printer.conf"１００２をＲＡＭ２０４に読み込む。さらに、インストーラは、読み込んだ"printer.conf"１００２から"＜Printer"で始まるキーワードを検索し、その行からプリンタ名を抽出する。例えば、図９の"printer.conf"では、９０１の行が"＜Printer"で始まっているので、この行からプリンタ名、具体的には"＜Printer"の後に続く文字列からアンダースコアで挟まれるＩＰアドレスを削除する手順で抽出できる。図９の例では"PrinterC"となる。これを"printer.conf"１００２のすべてに適用して登録されているプリンタをリストする。
【００７１】
図２１は、インストーラにより作成されたプリンタのリストを示す図である。
図２１に示す例では、２１０１に示す"PrinterA"、２１０２に示す"PrinterB"がリストされている。
次に、ステップＳ１９０２において、インストーラは、既に登録されているプリンタがあるか否かの判定を行う。そして、上記Ｓ１９０２において、既に登録されているプリンタが存在しない（上記Ｓ１９０１でリストされたプリンタがない）と判定した場合、ステップＳ１９１０に処理を進める。ステップＳ１９１０では、インストーラは、図５で示した、通常のプリンタの登録処理を実行する。
【００７２】
一方、図２１に示すとおり、上記Ｓ１９０２において、既に登録されているプリンタが存在する（上記Ｓ１９０１でリストされたプリンタがある）と判定した場合、ステップＳ１９０３に処理を進める。ステップＳ１９０３では、インストーラは、プリンタのリスト（図２１）から順にひとつずつ選択し、該選択したプリンタ（以下、「登録済みプリンタ」という）のプリンタ仕様記述ファイルからドライバの種類（ベンダー名、及び、ページ記述言語）を抽出する。"PrinterA"が上記登録済みプリンタの場合、"PrinterA"のプリンタ仕様記述ファイル（/etc/cups/ppd/に格納されているPrinterA_192.168.1.3_.ppd）からドライバの種類を抽出する。ここで、"PrinterA"のプリンタ仕様記述ファイルの例（図１６）を用いて、ドライバの種類（ベンダー名、及び、ページ記述言語）の抽出を具体的に説明する。
まず、ベンダー名は"*Manufacturer"から抽出する。つまり１６０２からベンダー名がABC Companyであることがわかる。また、ページ記述言語は"*PrinterLanguage"から抽出する。つまり１６０４からページ記述言語は"PDL1"であることがわかる。
【００７３】
次に、ステップＳ１９０４において、インストーラは、上記登録済みプリンタが使用するプリンタドライバが自社製品であるか、上記Ｓ１９０３で抽出したベンダー名から判定する。そして、上記Ｓ１９０４において、上記登録済みプリンタが使用するプリンタドライバが自社製品であると判断した場合、ステップＳ１９０５に処理を進める。上記"PrinterA"の例では、"ABC Company"というベンダー名であるため（自社は"ABC Company"とする）、自社製であると判断し、ステップＳ１９０５に処理を進める。
【００７４】
一方、上記Ｓ１９０４において、上記登録済みプリンタが使用するプリンタドライバが自社製品でないと判断した場合、Ｓ１９１４に処理を進める。
ステップＳ１９０５では、インストーラは、上記登録済みプリンタが使用するプリンタドライバのページ記述言語は、上記Ｓ１９００でインストールした汎用プリンタドライバ（以下、単に「汎用プリンタドライバ」)のページ記述言語と同じであるか判定する。そして、上記Ｓ１９０５において、ページ記述言語が同じであると判定した場合には、インストーラは、ステップＳ１９０６に処理を進める。例えば、上記汎用プリンタドライバのページ記述言語は、図１８の例では１８０４の"*PrinterLanguage"から"PDL1"とわかる。また、上記登録済みプリンタが使用するプリンタドライバのページ記述言語は、図１６の例では１６０４の"*PrinterLanguage"から"PDL1"であることがわかる。この場合、ページ記述言語が同じであるので、ステップＳ１９０６に処理を進める。
【００７５】
一方、上記Ｓ１９０５において、ページ記述言語が同じでないと判定した場合には、インストーラは、ステップＳ１９１４に処理を進める。
ステップＳ１９０６では、インストーラは、上記登録済みプリンタのプリンタ仕様記述ファイルから機能能力テーブルを作成する。このプリンタ仕様記述ファイルから機能能力テーブルを作成するには、各プリンタ機能のキーワードと、その機能の選択肢キーワードのテーブルを作成することにより行う。上記登録済みプリンタのプリンタ仕様記述ファイルの例を図１６として説明する。
【００７６】
図２２は、図１６のプリンタ仕様記述ファイルから作成した機能能力テーブルの一例を示す図である。
図２２に示すように、機能能力テーブル２２０１は、機能キーとその値の対のリストから構成される。この機能能力テーブル２２０１を作成するには、まずプリンタ仕様記述ファイル（図１６）の１行目から"*OpenUI"で始まる機能を検索する。
【００７７】
図１６のファイルにおいて、１６０６に"*OpenUI"があるので、この行から機能を表す"*PageSize"を機能キーとする。次に、この機能キーに関する選択し得る値を検索する。この検索は、"*CloseUI"が出現するまで、"*PageSize"で始まる行から値を抽出することで可能となる。具体的には１６０８にて"*PageSize:A3"とあるので、"PageSize"機能の取りうる値として"A3"があることがわかる。これと同様の処理を繰り返し、ファイルの終端まで検索することにより、図２２に示すようなプリンタドライバの機能能力テーブル２２０１が完成する。
【００７８】
次に、ステップＳ１９０７において、インストーラは、自身がこれから登録するプリンタの機能能力テーブルを作成する。これから登録するプリンタのプリンタ仕様記述ファイルの例を図１８として説明する。
図２３は、図１８のプリンタ仕様記述ファイルから作成した機能能力テーブルである。なお、機能能力テーブルの作成方法は図２２の機能能力テーブルと同様なため説明を省略する。
【００７９】
次に、ステップＳ１９０８において、インストーラは、上記Ｓ１９０６で作成した上記登録済みプリンタの機能能力テーブルと、上記Ｓ１９０７で作成したこれから登録するプリンタの機能能力テーブルとの比較を行う。上記Ｓ１９０８の比較は、これから登録するプリンタの機能能力テーブルが、上記登録済みプリンタの機能能力テーブルを包含しているかどうかについて行う。
【００８０】
次に、ステップＳ１９０９において、インストーラは、上記Ｓ１９０８の比較結果に基づいて、これから登録するプリンタの機能能力テーブルが上記登録済みプリンタの機能能力テーブルを包含しているか否かを判定する。そして、上記Ｓ１９０９において、これから登録するプリンタの機能能力テーブルが上記登録済みプリンタの機能能力テーブルを包含していないと判定した場合には、ステップＳ１９１１に処理を進める。
【００８１】
本実施例では、登録済みプリンタの機能能力テーブル２２０１（図２２）と、これから登録する汎用プリンタの機能能力テーブル２３０１（図２３）の比較を行い包含関係を判断する。上記の例では、これから登録するプリンタの機能能力テーブル２３０１は、登録済みプリンタの機能能力テーブル２２０１を包含していない。具体的には、これから登録する汎用プリンタの機能にはない"*Staple"、"*Booklet"が、登録済みプリンタにあるため、包含していないと判定し、ステップＳ１９１１に処理を進める。即ち、インストーラは、Ｓ１９０９でＮｏと判定した場合、上記登録済みプリンタのプリンタ関連情報（プリンタ仕様記述ファイル及びプリンタ設定ファイル）が利用可能であると判定し、ステップＳ１９１１に処理を進める。
【００８２】
次に、ステップＳ１９１１では、インストーラは、上記登録済みプリンタの登録情報に含まれているプリンタキューの情報、及び、上記登録済みプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルを用いて、上記汎用プリンタドライバを使用するプリンタを印刷システムに登録する。
【００８３】
なお、上記登録済みプリンタの登録情報に含まれているプリンタキューの情報は、該プリンタのプリンタ登録情報内の"DeviceURI"（例えば図９の９０４）に登録されている。また、上記登録済みプリンタのプリンタ仕様記述ファイルは、上記登録済みプリンタの識別子をファイル名としたppdファイルで、外部記憶装置２１２の"/etc/cups/ppd/"ディレクトリに格納されている。また、上記登録済みプリンタのプリンタ設定ファイルは、上記登録済みプリンタの識別子をファイル名としたplistファイルで、外部記憶装置２１２の"/usr/Libraries/Preferences/"ディレクトリに格納されている。
【００８４】
よって、インストーラは、登録するプリンタの識別子、名前、プリンタキューの情報に、上記登録済みプリンタの識別子、名前を用い、登録するプリンタの使用するプリンタドライバ名に、上記汎用プリンタドライバの名前を用いたプリンタ登録情報を生成する。そして、該プリンタ登録情報を、外部記憶装置２１２の"/etc/cups/"ディレクトリ１００１に格納されている"printer.conf"１００２に登録する（上書きする）。上述したように、登録されたプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルは、プリンタの識別子により決定される。そのため、上記Ｓ１９１１で登録されるプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルは、登録済みプリンタのものを使用することとなる。よって、Ｓ１９１１で登録されるプリンタは、プリンタドライバオブジェクト自体は汎用プリンタドライバのものだが、プリンタキュー、プリンタ仕様記述ファイル、及びプリンタ設定ファイルは、上記登録済みプリンタのものを使用するプリンタとして登録される。
【００８５】
なお、プリンタ仕様記述ファイル及びプリンタ設定ファイルは汎用フォーマットであるため、上記汎用プリンタドライバモジュールが解釈できない機能は無視され、上記汎用プリンタドライバモジュールで問題なく使用可能である。このような登録手順により、インストールする汎用プリンタドライバの機能が高くない場合、自動的に個別対応プリンタドライバの機能と設定保存が使用されて登録される。このため、インストールする汎用プリンタドライバに以前の設定が適用されることになり、プリンタ情報（プリントキュー等）の登録や、プリンタドライバの環境設定を行う手間を省くことができる。上記Ｓ１９１１の登録処理が終了すると、ステップＳ１９１３に処理を進める。
【００８６】
一方、上記Ｓ１９０９において、これから登録するプリンタの機能能力テーブルが上記登録済みプリンタの機能能力テーブルを包含していると判定した場合には、ステップＳ１９１２に処理を進める。即ち、インストーラは、Ｓ１９０９でＹｅｓと判定した場合、上記登録済みプリンタのプリンタ関連情報（プリンタ仕様記述ファイル及びプリンタ設定ファイル）が利用不可能であると判定し、ステップＳ１９１２に処理を進める。
【００８７】
ここでは、一例として、上記登録済みプリンタのプリンタ仕様記述ファイルを図２４とし、図２４のプリンタ記述ファイルから作成された登録済みプリンタの機能能力テーブルを図２５として説明する。
図２４は、個別対応プリンタドライバのプリンタ仕様記述ファイルの一例を示す図である。図２５は、図２４のプリンタ仕様記述ファイルから作成した機能能力テーブルの一例を示す図である。なお、機能能力テーブルの作成方法については上述したものと同様であるので説明は省略する。
【００８８】
そして、上記登録済みプリンタの機能能力テーブル２５０１（図２５）と、これから登録する汎用プリンタの機能能力テーブル２３０１（図２３）の比較を行い包含関係を判断する。この例では、これから登録する汎用プリンタの機能能力テーブル２３０１は、登録済みプリンタの機能能力テーブル２５０１を包含している。具体的には、登録済みプリンタの機能が全てこれから登録する汎用プリンタの機能にあるため、包含していると判定し、ステップＳ１９１２に処理を進める。
【００８９】
ステップＳ１９１２では、インストーラは、上記登録済みプリンタの登録情報に含まれているプリンタキューの情報、及び、上記汎用プリンタドライバのプリンタ仕様記述ファイル、及び、上記登録済みプリンタのプリンタ設定ファイルを用いて、上記汎用プリンタドライバを使用するプリンタを印刷システムに登録する。
【００９０】
よって、登録するプリンタの識別子、名前、及びプリンタキューの情報に、上記登録済みプリンタの識別子、名前を用い、さらに、登録するプリンタの使用するプリンタドライバ名に、上記汎用プリンタドライバの名前を用いたプリンタ登録情報を生成する。そして、該プリンタ登録情報を、外部記憶装置２１２の"/etc/cups/"ディレクトリ１００１に格納されている"printer.conf"１００２に登録する（上書きする）。さらに、上記汎用プリンタのプリンタ仕様記述ファイルを"/etc/cups/ppd/"ディレクトリ１２０１に、上記登録済みプリンタの識別子をファイル名（例えば"PrinterB_192.168.1.5_.ppd"）として上書きする。なお、プリンタのプリンタ設定ファイルは特に変更しない。
【００９１】
上述したように、登録されたプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルは、プリンタの識別子により決定される。そのため、上記Ｓ１９１２で登録されるプリンタのプリンタ仕様記述ファイルは、上記汎用プリンタドライバのものを使用することとなる。また、上記Ｓ１９１２で登録されるプリンタのプリンタ設定ファイルは、登録済みプリンタのものを使用することとなる。よって、上記Ｓ１９１２で登録されるプリンタは、プリンタドライバモジュールとプリンタ仕様記述ファイルは、上記汎用プリンタドライバのものだが、プリンタキュー及びプリンタ設定ファイルは上記登録済みプリンタのものを使用するプリンタとして登録される。
【００９２】
このようにして、汎用プリンタのプリンタ機能能力が高いと判定された場合、プリンタ機能としては新しい機能、ユーザ設定は登録済みプリンタのプリンタ設定ファイルを使用することになる。
【００９３】
このような登録手順により、インストールする汎用プリンタドライバの機能が高い場合、自動的にそのプリンタ機能が使用され、設定保存は既にインストールされている個別対応プリンタドライバものが使用されて登録される。このため、インストールする汎用プリンタドライバに以前の設定が適用されることになる。よって、プリンタ情報（プリントキュー等）の登録や、プリンタドライバの環境設定を行う手間を省くことができる。上記Ｓ１９１２の登録処理が終了すると、ステップＳ１９１３に処理を進める。
【００９４】
なお、上記Ｓ１９１１及びＳ１９１２では、登録するプリンタの名前に、上記登録済みプリンタのプリンタ登録情報内の名前を用い、プリンタ登録情報を上書きした。しかし、登録するプリンタの名前に、上記登録済みプリンタのプリンタ登録情報内の名前とは異なる名前を用いて、新たなプリンタ登録情報を"printer.conf"に追記してもよい。
【００９５】
次に、ステップＳ１９１３において、インストーラは、上記登録済みプリンタと上記登録済みプリンタが使用するプリンタドライバの削除処理を行う。図２０はＳ１９１３の処理を詳細に示したものであり、図２０に沿って説明する。
インストーラは、起動後、図１９の処理を開始する前に、図２６に示すダイアログを表示して、プリンタの削除に関するオプションの設定操作を受け付ける。
【００９６】
図２６は、インストーラが表示するプリンタの削除に関するオプションを設定するためのダイアログの一例を示す図である。
図２６に示すように、このダイアログ２６０１では、２６０２，２６０３，２６０４の３つのオプションがある。まず、２６０２は、新しいプリンタドライバをインストールしたあと、古いプリンタを削除することを指定するオプションである。また、２６０３は、古いプリンタが現在のＯＳで動作しない場合、その古いプリンタを自動的に削除することを指定するオプションである。また、２６０４は、古いプリンタドライバを削除しないことを指定するオプションである。そして、ユーザが、上記いずれかのオプションを選択した後、次へボタン２６０６を指示すると、インストーラは、この操作を検知し、上記選択されたオプションの情報を、ＲＡＭ２０４に記憶して、図１９のフローチャートの処理を開始する。なお、ユーザがキャンセルボタン２６０５を指示すると、インストーラは、この操作を検知し、インストール処理を実行せず、そのまま処理を終了する。
【００９７】
以下、図２０のフローチャートの説明を行う。
ステップＳ２００１において、インストーラは、インストールオプション指定ダイアログ２６０１（図２６）で指定したオプションの選択肢（オプションの指定結果）をＲＡＭ２０４から取得する。
【００９８】
次に、ステップＳ２００２において、インストーラは、上記Ｓ２００１で取得したオプションの指定結果に応じて処理を切り換える。削除しないオプション（２６０４）が指定されていると判定した場合には、インストーラは、プリンタドライバの削除は行わず、そのまま図２０の処理を終了させ、図１９のフローチャートに処理を戻す。
【００９９】
また、削除するオプション（２６０２）が指定されていると判定した場合には、インストーラは、ステップＳ２００６に処理を進める。ステップＳ２００６では、インストーラは、図１９のＳ１９０２で選択された既に登録されているプリンタに対応してインストールされているプリンタドライバのモジュールを削除する。そして、図２０の処理を終了させ、図１９のステップＳ１９１４に処理を進める。
【０１００】
また、自動オプション（２６０３）が指定されていると判定した場合には、インストーラは、ステップＳ２００３に処理を進める。ステップＳ２００３では、インストーラは、図１９のＳ１９０２で選択された登録済みプリンタが使用していたプリンタドライバのドライババージョンを該プリンタドライバのプリンタ仕様記述ファイルから取得する。なお、図１９のＳ１９０２で選択された登録済みプリンタが使用していたプリンタドライバを、以下、「既にインストールされていたプリンタドライバ」という。具体的には、例えば、上記既にインストールされていたプリンタドライバのプリンタ仕様記述ファイルが図１６である場合、１６０５の"*DriverVersion"から"PDL 1.00"の値を取得する。
【０１０１】
次に、ステップＳ２００４において、インストーラは、上記Ｓ２００３で取得したバージョンから、上記既にインストールされていたプリンタドライバが現在のＯＳ８０２で動作するか否かの判定を行う。この判定処理は、インストーラ自身がプリンタドライバのバージョンと動作するＯＳのバージョンの情報を保持し、この情報を用いて判定を行う。
【０１０２】
次に、ステップＳ２００５において、インストーラは、上記Ｓ２００４の判定の結果に基づいて上記既にインストールされていたプリンタドライバを削除するか否かを削除判定する。そして、上記既にインストールされていたプリンタドライバが現在のＯＳで動作するバージョンであれば、該プリンタドライバは削除しないと判定し、そのまま図２０の処理を終了させる。そして、図１９のステップＳ１９１４に処理を進める。
【０１０３】
一方、上記Ｓ２００５において、インストーラは、上記Ｓ２００４の判定の結果、上記既にインストールされていたプリンタドライバが現在のＯＳで動作しないバージョンであれば、該プリンタドライバを削除すると判定する。そして、ステップＳ２００６に処理を進める。そして、ステップＳ２００６にて、インストーラは、上記既にインストールされていたプリンタドライバのモジュールを削除する。そして、図２０の処理を終了させ、図１９のステップＳ１９１４に処理を進める。なお、上記Ｓ２００６において、削除しようとするプリンタドライバが、既に削除済みの場合には、そのまま図２０の処理を終了させ、図１９のステップＳ１９１４に処理を進めるものとする。
【０１０４】
なお、上記Ｓ１９１１及びＳ１９１２で登録したプリンタの名前に、上記登録済みプリンタの名前とは異なる名前を用いた場合、上記Ｓ２００６では、上記登録済みプリンタのプリンタ登録情報も"printer.conf"から削除する。
【０１０５】
図２０の処理により、既にインストールされていたプリンタドライバの削除や、既に登録されていたプリンタの削除の手間を省くことができる。
次に、図１９のステップＳ１９１４では、インストーラは、上記Ｓ１９０１で作成したリストの全てのプリンタについて確認したか（上記Ｓ１９０３〜Ｓ１９１３の処理を終了したか）を判定する。そして、上記１９１４において、まだ全てのプリンタについて確認していないと判定した場合には、インストーラは、ステップＳ１９０３に処理を戻し、リストの次のプリンタに処理を移す。
【０１０６】
一方、上記１９１４において、既に全てのプリンタについて確認したと判定した場合には、インストーラは、図１９の処理を終了する。
以上のようにして、既に個別対応プリンタドライバがインストールされているコンピュータ１０１に対して、汎用ブリンタドライバをインストールする際に、以下のような効果を有する。ユーザは既にインストールされている個別対応プリンタドライバを削除して新たに汎用プリンタドライバをインストールして、デフォルト設定を行うといった煩雑なインストール操作を行うことなく、汎用プリンタドライバを自動的にインストールすることが可能となる。なお、個別対応プリンタドライバで設定していたデフォルト設定も汎用プリンタドライバに自動的に引き継ぐことが可能となる。よって、個別対応プリンタドライバ等がインストールされている装置に、汎用プリンタドライバをインストールする場合、プリンタ情報（プリントキュー等）の登録や、プリンタドライバの環境設定を行う手間を省くことができる。
【実施例２】
【０１０７】
以下、実施例２を説明する。この実施例では、図１〜図３、図６〜図１８、図２４、図２７〜図２９を用いて説明する。なお、図２４までは実施例１の内容と同様のため説明は省略し、以下、図２７〜図２９について説明する。
【０１０８】
［インストール手順］
図２７は、本発明の実施例２のインストール手順を示すフローチャートであり、この図に沿って説明する。なお、Ｓ２７００〜Ｓ２７０５は図１９のＳ１９００〜Ｓ１９０５、Ｓ２７０９，Ｓ２７１０，Ｓ２７１１は図１９のＳ１９１０，Ｓ１９１３，Ｓ１９１４と同様のステップであるため説明は省略し、以下、Ｓ２７０６〜Ｓ２７０８について詳細な説明を行う。なお、図２７においても、図１９と同様に、Ｓ２７００でインストールした汎用プリンタドライバを単に「汎用プリンタドライバ」といい、Ｓ２７０３で選択された既に登録されているプリンタを、「登録済みプリンタ」という。
【０１０９】
なお、一例として、上記登録済みプリンタのプリンタ仕様記述ファイルを図２４、これからインストールする汎用プリンタのプリンタ仕様記述ファイルを図２８として説明する。図２８は、汎用プリンタドライバのプリンタ仕様記述ファイルの一例を示した図である。
【０１１０】
ステップＳ２７０５にて、インストーラは、上記登録済みプリンタが使用するプリンタドライバのページ記述言語が、上記汎用プリンタドライバのページ記述言語と同じである場合、ステップＳ２７０８に処理を進める。
一方、上記Ｓ２７０５にて、インストーラは、上記登録済みプリンタが使用するプリンタドライバのページ記述言語が上記汎用プリンタドライバのページ記述言語と同じでない場合、ステップＳ２７０６に処理を進める。
【０１１１】
例えば、上記登録済みプリンタが使用するプリンタドライバのページ記述言語は、図２４の例では２４０４の"*PrinterLanguage"から"PDL1"であることがわかる。また、上記汎用プリンタドライバのページ記述言語は、図２８の例では２８０４の"*PrinterLanguage"から"PDL2"とわかる。"PDL1"と"PDL2"は異なるページ記述言語であるため、通常、上記汎用プリンタドライバを、上記登録済みプリンタが使用するプリンタドライバの代わりにはできない。ただし、プリンタによっては複数種類のページ記述言語を処理可能なものがある。例えば、プリンタが、"PDL1"と"PDL2"という２種類のページ記述言語をサポート（使用可能と）しており、上記登録済みプリンタが"PDL1"のプリンタドライバを使用しているとする。その場合、上記汎用プリンタドライバのページ記述言語が"PDL2"であっても、プリンタが解釈可能なため、上記汎用プリンタドライバを使用するように上記プリンタを登録しても動作上問題はない。
そのため、ステップＳ２７０６において、インストーラは、上記登録済みプリンタから該プリンタが使用可能な（サポートしている）ページ記述言語を取得する。
図２９は、プリンタから取得したプリンタが対応するページ記述言語の一例を示す図である。図２９に示すように、このプリンタは、"PDL1"及び"PDL2"をサポートしている。
【０１１２】
次に、ステップＳ２７０７において、インストーラは、上記Ｓ２７０６でプリンタから取得したページ記述言語に、自身のプリンタドライバ（上記汎用プリンタドライバ）が使用しているページ記述言語があるか判定を行う。そして、上記Ｓ２７０７において、プリンタから取得したページ記述言語に、自身のプリンタドライバが使用しているページ記述言語があると判定した場合、ステップＳ２７０８に処理を進める。上述の例では、上記汎用プリンタドライバのページ記述言語は"PDL2"であり、プリンタが対応しているページ記述言語は、図２９に示すように、"PDL1"及び"PDL2"であった。よって、インストーラは、自身のプリンタドライバが使用可能であると判断し、ステップＳ２７０８に処理を進める。即ち、インストーラは、Ｓ２７０５でＹｅｓ又はＳ２７０７でリストにあると判定した場合、上記登録済みプリンタのプリンタ関連情報（プリンタ仕様記述ファイル及びプリンタ設定ファイル）が利用可能であると判定する。そして、ステップＳ２７０８に処理を進める。
【０１１３】
ステップＳ２７０８では、図１９のステップＳ１９１１と同様に、上記登録済みプリンタの登録情報に含まれているプリンタキューの情報、及び、上記登録済みプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルを用いて、上記汎用プリンタドライバを使用するプリンタを印刷システムに登録する。そして、ステップＳ２７１０に処理を進める。
【０１１４】
一方、上記Ｓ２７０７において、プリンタから取得したページ記述言語に、自身のプリンタドライバが使用しているページ記述言語がなかったと判定した場合、インストーラは、プリンタの登録を行わず、そのままステップＳ２７１１に処理を進める。
【０１１５】
なお、上記Ｓ２７０８において、実施例１の図１９のＳ１９０６〜Ｓ１９０９の手順により、プリンタの能力を判定して使用するプリンタ仕様記述ファイルやプリンタ設定ファイルを決定するように構成してもよい。
【０１１６】
以上より、個別対応プリンタドライバと汎用プリンタドライバとでページ記述言語が異なる場合でも、上記個別対応プリンタドライバを使用する登録済みのプリンタを削除して上記汎用プリンタドライバを使用するプリンタを登録する煩雑な操作が不要となる。上記個別対応プリンタドライバの設定情報も引き継いで、上記汎用プリンタドライバを使用するプリンタを自動的に登録できる。
【０１１７】
なお、図２７では、インストーラが新たなプリンタドライバをインストールする前に、既に装置にインストールされているプリンタドライバを個別対応プリンタドライバとし、新たなプリンタドライバを汎用プリンタドライバとして説明した。しかし、既に装置にインストールされているプリンタドライバと新たなプリンタドライバは、同一のプリンタ装置に対応し、ページ記述言語が異なるプリンタドラバであればよく、個別対応プリンタドライバと汎用プリンタドライバである必要はない。
よって、既にプリンタドライバがインストールされている装置に、該プリンタドライバとは異なるページ記述言語のプリンタドライバをインストールする場合、プリンタ情報（プリントキュー等）の登録や、環境設定を行う手間を省くことができる。
【０１１８】
図１９では、上記汎用プリンタドライバのプリンタ仕様記述ファイルが示す機能が、上記登録済みプリンタのプリンタ仕様記述ファイルが示す機能を包含していない場合、上記登録済みプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルを使用した。しかし、上記汎用プリンタドライバのプリンタ仕様記述ファイルが示す機能と、上記登録済みプリンタのプリンタ仕様記述ファイルが示す機能との間に包含関係がない場合、以下のようにプリンタの登録処理を行ってもよい。即ち、上記汎用プリンタドライバのプリンタ仕様記述ファイル及びプリンタ設定ファイルと、上記登録済みプリンタのプリンタ仕様記述ファイル及びプリンタ設定ファイルとを合成して新たなプリンタ仕様記述ファイル及びプリンタ設定ファイルを生成する。この際、上記登録済みプリンタのプリンタ仕様記述ファイルに含まれる機能については、上記登録済みプリンタのプリンタ設定ファイルの値を使用するようにプリンタ設定ファイルを生成する。そして、該生成したプリンタ仕様記述ファイル及びプリンタ設定ファイルを利用して、上記汎用プリンタドライバを使用するプリンタの設定を行うように制御する。
【０１１９】
なお、本実施例では、印刷システムとしてＣＵＰＳを用いて説明したが、本発明は、ＣＵＰＳのみに限定されるものではない。
ＣＵＰＳに限らず、他の印刷システムでも、一般に、プリンタドライバは、プリンタドライバモジュールとして、プリンタグラフィックドライバ、プリンタインターフェイスドライバ、特性データファイル等から構成される。さらに、プリンタに対するユーザの設定情報も印刷システムに登録されている。これは、Windows（登録商標）の印刷システムに対応するプリンタドライバであっても同様である。なお、上記プリンタグラフィックドライバは、グラフィックレンダリングモジュール８０３に対応する。また、上記プリンタインターフェイスドライバは、ＵＩ制御モジュール８０５に対応する。また、上記特性データファイルは、プリンタ仕様記述ファイル８０６に対応する。また、上記設定情報は、プリンタ設定ファイル８１１に対応する。
【０１２０】
よって、詳細な登録手順は異なるものの、ＣＵＰＳ以外の印刷システム（Windows（登録商標）の印刷システム）であっても、本実施例に示したＣＵＰＳの場合と同様に、汎用プリンタドライバのインストールを行うことが可能である。即ち、インストーラは、印刷システムに既に登録されているプリンタのプリンタ登録情報を検索する。また、インストーラは、該検索されたプリンタ登録情報に関連して印刷システムに登録されているプリンタ関連情報（プリンタ仕様記述ファイル及びプリンタ設定ファイル）が利用可能か否かを判定する。利用可能と判定された場合、インストーラは、前記既に登録されているプリンタの登録情報に含まれているプリンタキューの情報及び前記プリンタ関連情報を用いて、汎用プリンタドライバを使用するプリンタを印刷システムに登録することが可能である。
【０１２１】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２２】
以上示したように、既に個別対応プリンタドライバをインストール済みのコンピュータ１０１に、汎用プリンタドライバをインストールする際、ユーザの設定等を維持した状態で、汎用プリンタドライバを容易に（自動で）インストールすることができる。したがって、プリンタ情報（プリントキュー等）の登録や、プリンタドライバの環境設定を行う手間を省くことができる。
【０１２３】
以下、本発明に係る情報処理装置で読み取り可能な（コンピュータ読取り可能な）各種データ処理プログラムを格納する記憶媒体（記録媒体）について説明する。
本発明の各工程（上述した各機能）は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【０１２４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【０１２５】
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施例を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２６】
１０１    コンピュータ
２０３    ＣＰＵ
２０３    ＲＡＭ
２１２    外部記憶装置
８０２    オペレーティングシステム
【図１】
2010262448.tif 000003
【図２】
2010262448.tif 000004
【図３】
2010262448.tif 000005
【図４】
2010262448.tif 000006
【図５】
2010262448.tif 000007
【図６】
2010262448.tif 000008
【図７】
2010262448.tif 000009
【図８】
2010262448.tif 000010
【図９】
2010262448.tif 000011
【図１０】
2010262448.tif 000012
【図１１】
2010262448.tif 000013
【図１２】
2010262448.tif 000014
【図１３】
2010262448.tif 000015
【図１４】
2010262448.tif 000016
【図１５】
2010262448.tif 000017
【図１６】
2010262448.tif 000018
【図１７】
2010262448.tif 000019
【図１８】
2010262448.tif 000020
【図１９】
2010262448.tif 000021
【図２０】
2010262448.tif 000022
【図２１】
2010262448.tif 000023
【図２２】
2010262448.tif 000024
【図２３】
2010262448.tif 000025
【図２４】
2010262448.tif 000026
【図２５】
2010262448.tif 000027
【図２６】
2010262448.tif 000028
【図２７】
2010262448.tif 000029
【図２８】
2010262448.tif 000030
【図２９】
2010262448.tif 000031