(57)【特許請求の範囲】
【請求項１】
プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとして複数のプリンタドライバに対して横断的にオペレーティングシステムに登録し、該登録されたプリセットをいずれかのプリンタドライバのプリントキューの印刷設定として呼び出して印刷実行可能な情報処理装置であって、
前記印刷設定のうちアンインストールするプリンタドライバにのみ含まれる印刷設定を抽出する抽出手段と、
前記オペレーティングシステムに登録されているプリセットの印刷設定を取得する取得手段と、
前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれているか判定する第１判定手段と、
前記第１判定手段により、前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれていると判定された場合、前記プリセットから前記アンインストールするプリンタドライバにのみ含まれる印刷設定の情報を削除する第１削除手段と、
前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値を比較する比較手段と、
前記比較手段により前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値とに差がないと判定された場合、前記プリセットを削除する第２削除手段と、
前記アンインストールするプリンタドライバをアンインストールするアンインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記プリセットから前記アンインストールするプリンタドライバにのみ含まれる印刷設定の情報を削除する際に、ユーザに削除の是非を確認する第１確認手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記プリセットを削除する際に、ユーザに削除の是非を確認する第２確認手段を備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記プリセットの中に同一内容のプリセットが存在するか判定する第２判定手段と、
前記第２判定手段により前記プリセットの中に同一内容のプリセットが存在すると判定された場合、前記同一内容のプリセットを削除する第３削除手段と、
を備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記同一内容のプリセットを削除する際に、ユーザに削除の是非を確認する第３確認手段を備えることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとして複数のプリンタドライバに対して横断的にオペレーティングシステムに登録し、該登録されたプリセットをいずれかのプリンタドライバのプリントキューの印刷設定として呼び出して印刷実行可能な情報処理装置におけるプリンタドライバのアンインストール方法であって、
抽出手段が、前記印刷設定のうちアンインストールするプリンタドライバにのみ含まれる印刷設定を抽出する抽出ステップと、
取得手段が、前記オペレーティングシステムに登録されているプリセットの印刷設定を取得する取得ステップと、
判定手段が、前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれているか判定する判定ステップと、
第１削除手段が、前記判定ステップで前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれていると判定された場合、前記プリセットから前記アンインストールするプリンタドライバにのみ含まれる印刷設定の情報を削除する第１削除ステップと、
比較手段が、前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値を比較する比較ステップと、
第２削除手段が、前記比較手段により前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値とに差がないと判定された場合、前記プリセットを削除する第２削除ステップと、
アンインストール手段が、前記アンインストールするプリンタドライバをアンインストールするアンインストールステップと、
を備えることを特徴とするプリンタドライバのアンインストール方法。
【請求項７】
情報処理装置に備えられたプロセッサを、請求項１乃至５のいずれか１項に記載された情報処理装置の手段として機能させるためのプログラム。
【請求項８】
情報処理装置に備えられたプロセッサを、請求項１乃至５のいずれか１項に記載された情報処理装置の手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバのアンインストール時の制御に関するものである。
【背景技術】
【０００２】
従来、クライアントコンピュータに複数のプリンタドライバがインストールされている環境において、プリンタドライバのアンインストールを行った際の各種の設定に関して、いくつかの方法、あるいは発明が提案されている。
【０００３】
アンインストールの際に、オペレーティングシステム（ＯＳ）の動作上の不具合が発生するおそれがあると判断された場合、ソフトウェアに関する各種の設定内容を変更する操作手順をユーザに通知し、設定内容を変更する手段が特許文献１で提案されている。
【０００４】
また一方で、動作上の不具合だけでなく、アンインストール後のユーザの使い勝手を考慮した提案もされている。アンインストール対象のプリンタドライバが通常使うプリンタドライバに設定されているときに、アンインストール対象のプリンタドライバと異なるプリンタドライバを通常使うプリンタドライバに設定することをユーザに促す制御が特許文献２で提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−９２６４２号公報
【特許文献２】特開２００４−２８７７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、プリンタドライバに対して横断的な印刷設定をＯＳが保持するシステム環境に関するものである。例えば、Ｍａｃ ＯＳ Ｘ以降、Ｌｉｎｕｘ（登録商標）等の各種ＵＮＩＸ（登録商標）ベースのＯＳ等で動作するシステム環境がこれに相当する。
このようなシステム環境においては、プリンタドライバのプリセットの情報も、プリンタドライバに対して横断的にＯＳが保持している。そのため、従来のプリンタドライバのアンインストーラは、インストールしたプリンタドライバを制御するモジュール群や、プリンタの情報が記載された設定ファイルを削除していた。
【０００７】
しかしながら、このようなアンインストーラは、プリセットに関しては特別の処理を行わない。そのため、アンインストールしたプリンタドライバに関する設定が保存されたプリセットが、ユーザの実用上意味をなさないプリセットとしてアンインストール後もシステムに残り続けてしまうことがあった。このようなプリセットがシステムに残り続けてしまう現象は、動作上の不具合とはならないが、ユーザの使い勝手を考慮すると好ましくはない。
【０００８】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとしてプリンタドライバに対して横断的にオペレーティングシステムに登録する情報処理装置からプリンタドライバをアンインストールした後に、アンインストールしたプリンタドライバに関する設定が保存されたプリセットが、ユーザの実用上意味をなさないプリセットとして情報処理装置に残り続けてしまうことを防ぐ仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとして複数のプリンタドライバに対して横断的にオペレーティングシステムに登録し、該登録されたプリセットをいずれかのプリンタドライバのプリントキューの印刷設定として呼び出して印刷実行可能な情報処理装置であって、前記印刷設定のうちアンインストールするプリンタドライバにのみ含まれる印刷設定を抽出する抽出手段と、前記オペレーティングシステムに登録されているプリセットの印刷設定を取得する取得手段と、前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれているか判定する第１判定手段と、前記第１判定手段により、前記プリセットの印刷設定に前記アンインストールするプリンタドライバにのみ含まれる印刷設定が含まれていると判定された場合、前記プリセットから前記アンインストールするプリンタドライバにのみ含まれる印刷設定の情報を削除する第１削除手段と、前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値を比較する比較手段と、前記比較手段により前記プリセットの印刷設定と前記プリントキューの印刷設定のデフォルト値とに差がないと判定された場合、前記プリセットを削除する第２削除手段と、前記アンインストールするプリンタドライバをアンインストールするアンインストール手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとしてプリンタドライバに対して横断的にオペレーティングシステムに登録する情報処理装置からプリンタドライバをアンインストールした後に、アンインストールしたプリンタドライバに関する設定が保存されたプリセットが、ユーザの実用上意味をなさないプリセットとして情報処理装置に残り続けてしまうことを防ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明が適用されるシステムの一例を示す図である。
【図２】コンピュータ１０１のハードウェア構成を示すブロック図である。
【図３】プリンタドライバの構成を示すブロック図である。
【図４】プリンタドライバのインストール手順を示したフローチャートである。
【図５】プリントキューを登録する手順を示すフローチャートである。
【図６】プリントキューリストダイアログを示した図である。
【図７】プリントキュー追加ダイアログを示した図である。
【図８】コンピュータ１０１に既にプリントキューが登録された状態を示すシステムブロック図である。
【図９】登録するプリントキューの情報が記述されたたファイルを示す図である。
【図１０】プリンタ仕様記述ファイルの一例を示した図である。
【図１１】プリンタ仕様記述ファイルの格納場所とそのファイル名を示した図である。
【図１２】登録したプリントキューの印刷設ダイアログを開いたときのユーザＩ／Ｆ（印刷ダイアログ）を示す図である。
【図１３】プリセットの設定内容を保存するプリセット記述ファイルの一例を示す図である。
【図１４】本発明の実施例１におけるアンインストール手順の一例を示すフローチャートである。
【図１５】アンインストール時におけるプリセット設定の更新例を説明するための図である。
【図１６】本発明の実施例２におけるアンインストール手順の一部を示すフローチャートである。
【図１７】本発明の実施例２におけるプリセット設定変更通知ダイアログの一例を示す図である。
【図１８】本発明の実施例３におけるアンインストール手順の一例を示すフローチャートである。
【図１９】本発明の実施例３におけるプリセット設定変更通知ダイアログの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１３】
［システム構成］
図１は、本発明が適用されるシステムの一例を示す図である。
図１において、１０４はコンピュータネットワークである。このネットワーク１０４には、情報処理装置としてのクライアントコンピュータ１０１（以下、コンピュータ１０１）とネットワークプリンタ（以下、プリンタ）１０２及び１０３が接続される。
コンピュータ１０１には、オペレーティングシステム（ＯＳ（印刷システムを含む））、アプリケーション、及び、プリンタドライバ等がインストールされている。このシステムにより、ユーザは、コンピュータ１０１からユーザデータをプリンタ１０２或いは１０３に送信し、印刷することができる。
【００１４】
なお、コンピュータ１０１は、プリンタドライバに対して横断的な印刷設定を保持するＯＳで動作するコンピュータとする。例えば、Ｍａｃ ＯＳ Ｘ以降のＯＳで動作するコンピュータがこれに該当する。なお、Ｍａｃ ＯＳ Ｘ以降のＯＳでは、標準の印刷システムとしてＣＵＰＳが採用されている。しかし、本発明は、Ｍａｃ ＯＳ Ｘ以降のＯＳで動作するコンピュータに限定されるものではない。プリンタドライバにより登録されたプリントキューの印刷設定をプリセットとして複数のプリンタドライバに対して横断的にオペレーティングシステムに登録し、該登録されたプリセットをいずれかのプリンタドライバのプリントキューの印刷設定として呼び出して印刷実行可能なコンピュータであれば、どのようなコンピュータにも適用可能である。また、印刷システムもＣＵＰＳに限定されるものではない。
なお、ＣＵＰＳとは、Common Unix(登録商標) Printing System(コモン・ユニックス・プリンティング・システム)を示す。ＣＵＰＳは、Ｍａｃ ＯＳ Ｘ以降で標準の印刷システムとして採用されているものであり、Ｍａｃ ＯＳ Ｘ以降のＯＳ上で動作する（通常、デーモンとして動作する）。なお、本実施例では、ＣＵＰＳがＯＳのパッケージに含まれるものとして説明する。よって、ＯＳが行う動作として説明する箇所であってもＣＵＰＳが行う動作が含まれる場合がある。なお、ＣＰＵＳが、ＯＳとは別にインストールされる構成であってもよい。また、ＣＵＰＳは、印刷ジョブとキューの管理に、ＩＰＰ(Internet Printing Protocol)を使用する。さらに、ＣＵＰＳは、プリンタで利用可能な機能の記述にＰＰＤ(PostScript Printer Description)を用いる。
【００１５】
図２は、コンピュータ１０１のハードウェア構成を示すブロック図である。
図２において、２０３は中央演算装置としてのプロセッサ（ＣＰＵ）である。２０４は揮発性メモリであるＲＡＭである。２０５は不揮発性メモリであるＲＯＭである。
２０６はキーボードコントローラである。キーボードコントローラ２０６には、ユーザがコンピュータを操作するためのキーボード２１２が接続されている。キーボードコントローラ２０６は、キーボード２１２からの入力を制御する。２０７はマウスコントローラである。マウスコントローラ２０７には、ユーザがコンピュータを操作するためのマウス等のポインティングデバイス（以下、マウスとして説明する）２１３が接続されている。マウスコントローラ２０７は、マウス２１３からの入力を制御する。
【００１６】
２０８はビデオコントローラである。ビデオコントローラ２０８には、表示装置２１４が接続されている。ビデオコントローラ２０８は、表示装置２１４への出力を制御する。
２０９は外部記憶装置コントローラである。外部記憶装置コントローラ２０９には、アプリケーションプログラムや大容量のデータを保存するための不揮発性の外部記憶装置２１５（例えば、ハードディスク）が接続されている。外部記憶装置コントローラ２０９は、外部記憶装置２１５に対するデータの読み書きを制御する。
【００１７】
２１０は外部メディア装置コントローラである。外部メディア装置コントローラ２１０には、外部メディア制御装置２１６が接続されている。外部メディア装置コントローラ２１０は、外部メディア制御装置２１６にセットされた外部メディア（ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のプログラムやデータを記録したコンピュータ読み取り可能な記録媒体）の読み取りや書き込み等を制御する。例えば、アプリケーションやドライバソフトウェア等が外部メディアなどで提供されているとき、ユーザは外部メディア制御装置２１６にＣＤ−ＲＯＭなどのメディアをセットし、コンピュータ１０１にプログラムを読み込ませることができる。
【００１８】
２１１はネットワークＩ／Ｆコントローラである。ネットワークＩ／Ｆコントローラ２１１は、ネットワーク１０４への接続を制御する。コンピュータ１０１は、ネットワークＩ／Ｆコントローラ２１１を用いて、コンピュータネットワーク１０４に接続された他の機器（１０２，１０３）との通信が可能である。
【００１９】
通常、コンピュータ１０１を起動するための初期プログラムやコンピュータ１０１の各モジュールを制御するための基本的なプログラムは、ＲＯＭ２０５に保存されている。またＯＳ（印刷システムを含む）、アプリケーション、及びプリンタドライバ等は、外部記憶装置２１５に保存されている。コンピュータ１０１の電源が投入されると、まずＣＰＵ２０３によりＲＯＭ２０５に保存されているコンピュータを起動するためのプログラムが実行される。そして、そのプログラムが（そのプログラムを実行することによりＣＰＵ２０３が）、外部記憶装置２１５に保存されているＯＳをＲＡＭ２０４にロードし、その後、制御権をＯＳに渡す。なお、ＯＳを実行することによりＣＰＵ２０３が行う動作を、以降、ＯＳが行う等と表現する。
【００２０】
ＯＳは、必要なモジュールやドライバをさらに外部記憶装置２１５からＲＡＭ２０４に読み込む。さらに、ＯＳは、ユーザの指示により、必要なアプリケーションを外部記憶装置２１５からＲＡＭ２０４に読み込み、実行する。
なお、本実施例で説明する、プリンタドライバ、プリンタドライバのインストーラ、及びプリンタドライバのアンインストーラは、ＣＤ−ＲＯＭ等の外部メディアで供給されるものとする。ユーザは、この外部メディアを外部メディア制御装置２１６にセットする。そして、ＣＰＵ２０３が必要に応じてプリンタドライバやインストーラ、アンインストーラをこの外部メディアからＲＡＭ２０４に読み込んだり、外部記憶装置２１５に保存したりする。
【００２１】
［プリンタドライバのインストールおよびプリントキュー登録］
次に、プリンタドライバについて説明する。
図３は、プリンタドライバの構成を示すブロック図である。
プリンタドライバは、図３に示すようなモジュール群で構成されている。
図３に示すように、プリンタドライバ３０１は、グラフィックレンダリングモジュール３０２、ＵＩ制御モジュール３０３、プリンタ仕様記述ファイル３０４、色処理モジュール３０５、入出力制御モジュール３０６等のモジュール群で構成される。なお、プリンタドライバの機能によっては、この他のモジュールから構成されることもある。
【００２２】
グラフィックレンダリングモジュール３０２は、ＯＳの印刷システムから受け取った印刷データをプリンタデバイスが理解できる印刷データ（ページ記述言語；ＰＤＬ）にレンダリングする。ＵＩ制御モジュール３０３は、プリンタで利用可能な機能（プリンタ仕様情報）を記述したプリンタ仕様記述ファイル３０４に基づいてプリンタで利用可能な機能を表示したり、ユーザからの設定を受け付ける。色処理モジュール３０５は、ＩＣＣプロファイルに基づく色処理を行う。入出力制御モジュール３０６は、印刷データをプリンタへ送信する。
【００２３】
次に、このような構成のプリンタドライバをコンピュータ１０１へインストールする手順を説明する。
図４は、プリンタドライバのインストール手順を示したフローチャートである。なお、このフローチャートの処理は、ＣＰＵ２０３がプリンタドライバインストーラ（以下、インストーラ）をＯＳ上で実行することにより実現されるものである。ユーザは、プリンタドライバが格納されたＣＤ−ＲＯＭを準備するか、ネットワーク経由でインストーラを入手しているものとする。
【００２４】
まず、ユーザがインストーラを起動する操作を行うと、ＯＳは、この操作を検知し、インストーラを起動する（Ｓ４０１）。なお、ＣＰＵ２０３がＯＳを実行することにより実行される動作を、ＯＳを主語として、ＯＳが行う等と表現する。また、ＣＰＵ２０３がＯＳ上でインストーラを実行することにより実行される動作を、インストーラを主語として、インストーラが行う等と表現する。
【００２５】
起動されたインストーラは、ＣＤ−ＲＯＭ等からプリンタドライバモジュールを読み出して、外部記憶装置２１５の所定の場所に格納する（Ｓ４０２）。なお、プリンタドライバモジュールの格納先は、印刷システムによって異なるが、一例として、ＣＵＰＳでは、"/Library/Printers/"ディレクトリ以下にベンダー毎にプリンタドライバモジュールを格納することになっている。なお、ベンダー毎のディレクトリの下にさらにプリンタドライバの種類に分けて格納することも可能である。例えば、"ABC"というベンダーの"PDL1"と" PDL2"という異なるプリンタドライバがあるとき、以下のように行う。まず、"PDL1"用に"/Library/Printers/ABC/ PDL1/"というディレクトリを作成する。また、"PDL2"用に"/Library/Printers/ABC/PDL2/"というディレクトリを作成する。そして、"PDL1"のプリンタドライバと"PDL2"のプリンタドライバを、対応するディレクトリ下に格納する。
【００２６】
以上により、プリンタドライバのインストールを完了するが、実際にプリンタへの出力を可能にするためには、ユーザはプリンタドライバを使用してプリンタを印刷システムに登録する必要がある。
以下、システムに登録されるプリンタを今後、プリントキュー、或いは、単に、キューと呼ぶ。
【００２７】
図５は、プリントキューを登録する手順を示すフローチャートである。この手順に沿って、必要な図を用いながら流れを説明する。なお、このフローチャートの処理は、ＣＰＵ２０３がＯＳを実行することにより実現されるものである。また、ＣＰＵ２０３がＯＳを実行することにより実行される動作を、プリンタドライバを主語として、プリンタドライバが行う等と表現する。
【００２８】
ユーザがプリンタ登録リストダイアログ（以下、プリントキューリストダイアログ）６０１（図６）を開く操作を行うと、ＯＳは、この操作を検知して、プリントキューリストダイアログを開く。このステップにおいて、ＯＳは、プリントキュー登録のためのプログラムコードを外部記憶装置２１５からＲＡＭ２０４に読み出して実行する。
【００２９】
図６は、ＯＳが表示するプリントキューリストダイアログを示した図である。
このプリントキューリストダイアログ６０１には、現在登録されているプリントキューを表示する登録プリントキューリスト６０２、登録プリントキューリスト６０２で選択されているプリントキューの詳細情報を表示するプリントキュー詳細表示領域６０３がある。
また、６０４はプリントキューを新たに追加するためのボタンである。６０５は、現在、登録プリントキューリスト６０２で選択されているプリントキューを削除するためのボタンである。なお、６０６はこのダイアログを閉じるためのボタンである。
【００３０】
以下、図５のフローチャートの説明に戻る。
次に、ユーザがプリントキューリストダイアログ６０１のプリントキュー追加ボタン６０４のクリックすると、ＯＳは、この操作を検知して（Ｓ５０２）、プリントキュー追加ダイアログ７０１（図７）を表示する（Ｓ５０３）。ここで表示されたプリントキュー追加ダイアログ７０１（図７）に対して、ユーザが、後述する必要な情報を入力、プリンタの選択、及びプリンタの追加の操作を行うと、ＯＳは、この操作を検知して（Ｓ５０４）、ステップＳ５０５に処理を進める。
【００３１】
図７は、プリントキュー追加ダイアログを示した図である。
プリントキュー追加ダイアログ７０１において、７０２は接続されているプリンタのネットワークアドレス（この例ではＩＰアドレス）を指定するコントロールである。７０３はプリントキューを識別するためのプリンタの名前を入力するコントロールである。７０４はプリンタが設置されている場所を入力するコントロールである。プリンタの名前入力コントロール７０３及びプリンタの場所入力コントロール７０４に入力される文字列は、図６に示した登録プリントキューリスト６０２及びプリントキュー詳細表示領域６０３に表示する際に使用される文字列となる。
【００３２】
７０５はプリントキューを登録する際に使用するプリンタドライバを指定するコントロールである。このコントロール７０５でリストされるプリンタドライバは、先に説明したＯＳのプリンタドライバ格納ディレクトリ("Library/Printers")の下に格納されているプリンタドライバがＯＳによりリストされる。
【００３３】
図７の例では、アドレスが"192.168.1.10"、名前が"PrinterC"、場所が"2F"、またプリンタドライバとして"ABC PDL1"を選択している状態である。この状態で、ユーザが追加ボタン７０６をクリックすると、ＯＳはこの操作を検知し、プリントキューの追加処理を行う（図５のＳ５０５）。なお、追加を行わないでこのダイアログを閉じるときは、ユーザはダイアログクローズボタン７０７をクリックする。
【００３４】
以下、図５のフローチャートの説明に戻る。
ステップＳ５０５では、ＯＳは、ユーザが上記プリントキュー追加ダイアログ７０１で指定したプリントキューとそのプリンタ仕様記述ファイルの印刷システムへの登録を行い、処理を終了する。なお、上記ステップＳ５０５について、図８〜図１１を使用して詳細な説明を行う。
【００３５】
図８は、コンピュータ１０１に既にプリントキューが登録された状態を示すシステムブロック図である。
図８に示す、グラフィックレンダリングモジュール８０３は、前述した手順によりＯＳの所定のディレクトリ（"/Library/Printers/"）の下に格納されたプリンタドライバのグラフィックレンダリングモジュール３０２に対応する。
同様に、ＵＩ制御モジュール８０５は、インストールされたプリンタドライバのＵＩ制御モジュール３０３に対応する。色処理モジュール８０４は、インストールされたプリンタドライバの色処理モジュール３０５に対応する。入出力制御モジュール８０８は、インストールされたプリンタドライバの入出力制御モジュール３０６に対応する。また、プリンタ仕様記述ファイル８０６は、インストールされたプリンタドライバのプリンタ仕様記述ファイル３０４に対応する。
【００３６】
なお、バックエンドモジュール８０７は、ＯＳ８０２が提供するものであり、グラフィックレンダリングモジュール８０３が生成した印刷データを、入出力制御モジュール８０８へ受け渡しするためのモジュールである。なお、バックエンドモジュール８０７から印刷データを受け取った入出力制御モジュール８０８は、そのデータをプリンタへ送信する。また、登録プリントキュー情報８０９、プリンタ仕様記述ファイル８１０は、図５のプリンタ登録の過程でＯＳ８０２が生成するものであり、以下その詳細を説明する。
【００３７】
図５のステップＳ５０５において、ＯＳ８０２は、プリントキュー追加ダイアログ７０１の情報を集め、印刷システムへのプリントキューの登録作業を行う。この登録作業は、以下のように実行される。
【００３８】
図９は、登録するプリントキューの情報が記述されたファイルを示す図である。なお、このファイルはマークアップ言語で記述されている。
図９において、９０１はプリントキューの識別子であり、プリンタ名とアンダースコアで続けてプリンタのアドレスを記述している。９０２はプリンタ名を記述している。９０３はプリンタの設置場所を記述している。９０４は実際のプリントキューの記述を行っており、この例ではｌｐｄプロトコルによりアドレス"192.168.1.10"に送信することとなる。９０５は、このプリンタが使用するプリンタドライバ名（ここでは"ABC PDL1"）を記述している。９０６は、このプリンタの記述が終了することを示している。
【００３９】
図５のステップＳ５０５において、ＯＳ８０２は、図９の記述を作成し、このプリンタの登録情報として外部記憶装置２１５の所定のファイルに追記する。所定のファイルとは、例えばＣＵＰＳでは、"/etc/cups/"のディレクトリに格納されている"printers.conf"ファイルとなる。この追記により、登録するプリンタキューがＯＳ８０２の印刷システムに登録されることとなる。これが登録プリントキュー情報８０９となる。なお、複数のプリントキューが登録されている場合、"printers.conf"には、そのプリントキュー分、それぞれ対応するプリンタに対する図９の記述が繰り返されることになる。
【００４０】
またＳ５０５において、ＯＳ８０２は、プリンタ仕様記述ファイルをシステムに登録する。この登録作業は、以下のように実行される。
図８において、ＯＳ８０２は、プリンタドライバのＵＩ制御モジュール８０５から、登録するプリントキューのプリンタ仕様記述ファイル８０６を取得し、システムの所定の箇所（プリンタ仕様記述ファイル８１０）に登録する。なお、プリンタ仕様記述ファイル８１０の登録の方法を説明する前に、プリンタ仕様記述ファイルそのものの説明を行う。
【００４１】
図１０は、プリンタ仕様記述ファイルの一例を示した図である。なお、このプリンタ仕様記述ファイルは、プリンタの仕様記述フォーマットに沿って記述される。以下、フォーマットも踏まえながら説明する。
【００４２】
図１０において、１００１はコメントを記述している。コメントは行頭が"*%"となっている。１００２はベンダー名を記述している。１００３はこのプリンタ仕様記述ファイルが対応するプリンタ名を記述している。１００４はこのプリンタ仕様記述ファイルが対応しているページ記述言語を記述している。１００５はプリンタドライバのバージョンを記述している。この後、このプリンタの機能仕様が記述されている。
【００４３】
機能仕様は、"*OpenUI"の行から"*CloseUI"の行までがひとつの機能となっている。"*OpenUI"の後には"*"を先頭に付加した機能名、機能名の後には":"で区切り、その機能の選択する際の種類を示す。この種類には、"PickOne"と"Boolean"があり、"PickOne"は選択肢の中からひとつを選択する機能であることを表している。また、"Boolean"はこの機能がＯｎ／Ｏｆｆで制御されることを表している。
【００４４】
１００６では、"*PageSize"という機能があり、この機能は選択肢のなかからひとつを選択するものであることを表している。１００６の次の行にはこの機能のデフォルト値を記述する。この行は"*Default"で始まり、この後につづけて前の行で定義した機能名を付加する。この行では、"PageSize"という機能のデフォルトが"A4"であることを示している。次の行から１０１０の"*CloseUI"のところまではこの機能の選択肢を１行に１選択肢記述する。例えば、１００８では、"PageSize"の選択肢のひとつとして"A3"があることを表している。また、１００９では、"PageSize"の選択肢のひとつとして"A4"があることを表している。なお、これはページサイズを選択する機能を記述しており、ページサイズは選択肢が多いため途中を省略している。この機能の最後の記述は１０１０であり、"*CloseUI"の後に"*OpenUI"で記述した機能名を記述する。これで一つの機能が表現されている。
【００４５】
次の１０１１〜１０１６は、もう一つの機能の記述である。重複する説明は省略するが、このブロックでは、"Duplex"という機能があり、どれかひとつの選択肢を選択するものであり、選択肢は"None"、"Simplex"、"Duplex"から選択することを表している。実際には"*Duplex"は両面印刷指定の機能を表現したものであり、"None"は指定しないためプリンタのデフォルト設定に従い、"Simplex"は片面、"Duplex"は両面印刷を意味する。
【００４６】
次に、このプリンタ仕様記述ファイルの登録方法について説明する。ＯＳ８０２は、登録するプリンタに対応するこのプリンタ仕様記述ファイル８０６をＵＩ制御モジュール８０５から取得し、図１１に示すような、システムの所定の場所に格納する。
【００４７】
図１１は、プリンタ仕様記述ファイルの格納場所とそのファイル名を示した図である。
図１１に示すように、プリンタ仕様記述ファイルの格納場所は、外部記憶装置２１５の"/etc/cups/ppd/"ディレクトリ１１０１以下である。また、上記格納場所に格納するプリンタ仕様記述ファイルは、１１０２〜１１０４に示すように、ファイル名として登録するプリンタの名前とその後、アンダースコアに続いて登録するプリンタのアドレスを付加したファイル名としている。即ち、登録するプリントキューのプリンタ仕様記述ファイルは、登録するプリントキューの識別子（図９の９０１)をファイル名とした拡張子"ppd"のファイルとする。ここで追加したプリンタ仕様記述ファイル８１０は、１１０４に示す"PrinterC_192.168.1.10_.ppd"となっている。
【００４８】
このように、登録するプリントキューのプリンタ仕様記述ファイルを図１１に示すような、システムの所定の場所に格納することにより、登録するプリントキューのプリンタ仕様記述ファイルが印刷システムに登録されることとなる。これがプリンタ仕様記述ファイル８１０となる。以上のステップにより、プリントキューの登録が完了する。
【００４９】
［プリントキューおよびプリセット設定］
続いて、プリントキュー及びプリセットの設定について説明する。
図１２は、登録したプリントキューの印刷設ダイアログを開いたときのユーザＩ／Ｆ（印刷ダイアログ）を示す図である。このユーザＩ／Ｆ（印刷ダイアログ）は、アプリケーションのファイルメニューなどに「プリント」というメニューがあり、その「プリント」を選択したときに表示されるダイアログである。
【００５０】
図１２において、１２０１は印刷ダイアログである。１２０２〜１２０５はシステムが共通で提供するコントロールである。１２０２ではプリントキューの選択、１２０３では後述するプリセットの選択、１２０４では基本機能である部数の設定、１２０５では用紙サイズの指定が可能となっている。
【００５１】
プリンタ固有の機能は、それ以外の部分で設定が可能となっている。このプリンタの機能が数多くある場合、全ての機能を一度に表示せずに、１２０６のコントロールで機能のグループを切り替える方法がある。
【００５２】
ここでは、「仕上げ」に関連する機能を表示している状態を示したものである。仕上げ関連の機能としては、１２０７の片面／両面指定、１２０８のステイプル指定、１２０９の製本印刷指定がある。他にもさまざまな機能があり、それは他のグループを１２０６のコントロールで指定することにより表示切り替えが可能となっている。
【００５３】
このダイアログにおいて、ユーザが出力先のプリンタを切り替えたい場合、プリントキュー選択コントロール１２０２により変更を行う。印刷ダイアログ１２０１では、現在プリントキュー"PrinterA"が選択されているが、このコントロールをクリックし、例えば"PrinterB"を選択すると、"PrinterB"のプリントキューが選択された状態となる。その結果、"PrinterB"に印刷出力されることになる。
【００５４】
次に、プリセット設定に関して説明する。
プリセットとは、ユーザが頻繁に使用する印刷設定に特定の名称をつけて保存しておくものである。例えば、あるプリントキューのデフォルト設定は、片面、１−ｕｐ印刷、であるが、ユーザが両面、２−ｕｐ印刷をよく使用する場合、以下のようにしてプリセットとして名称をつけて保存しておく。まず、印刷ダイアログ１２０１を開き、両面、２−ｕｐに設定した後に、プリセット選択コントロール１２０３で「別名で保存」を選び、保存するプリセットの名前を入力することにより、その設定をプリセットとして名称をつけて保存することができる。なお、プリセットは、図８のプリセット記述ファイル８１１に保存される。ユーザはこの設定を使用したい場合に、プリセット選択コントロール１２０３で保存したプリセットを選択するのみで、この設定を再現することができる。以下に、このプリセットの設定保存に関して説明する。
【００５５】
図１３は、プリセットの設定内容を保存するプリセット記述ファイル８１１（図８）の一例を示す図である。
図１３に示すように、１３０１及び１３１０に記述されているように＜CustomPresetList＞というタグ内に、複数のプリセットの設定内容を記述する。
1つのプリセットは、１３０２及び１３０３に記述されているように＜PresetSettings＞というタグ内に記述する。なお、＜PresetSettings＞のパラメータとして、そのプリセット名を記述することとする。
【００５６】
１３０２及び１３０３で示されるプリセットは、プリセット名が"Standard"、このプリセットの設定内容はＮＵＬＬであることを記述している。
図１３のプリセット記述ファイルには、もう一組のプリセットが記述されており、１３０４から１３０９に記述されている"Preset1"という名称のプリセットである。このプリセットの設定内容は、１３０５から１３０８に記述されている。１３０５はColorModeが"Color"、１３０６はDuplexが"Simplex"、１３０７はResolutionが"600"、１３０８はLastQueueが"NULL"であることを示している。
【００５７】
なお、各項目の前に"ABC."という識別子が付いている。これは、プリセットをＯＳ８０２が管理しており、ベンダ共通で使用されるため、設定項目をベンダ毎に区別するために付けていることによる。以上、説明したように、このプリセット記述ファイルにより、プリセットの種類及び各プリセットの設定内容が分かる。
【００５８】
［アンインストール時におけるプリセット設定の更新手順］
続いて、プリンタドライバのアンインストールを行う際の流れを説明する。
図１４は、本発明の実施例１におけるアンインストール手順の一例を示すフローチャートである。なお、このフローチャートの処理は、ＣＰＵ２０３がプリンタドライバアンインストーラ（以下、アンインストーラ）をＯＳ上で実行することにより実現されるものである。なお、アンインストーラは、プリンタドライバのインストール時に外部記憶装置２１５に保存されているものとする。
【００５９】
ユーザは外部記憶装置２１５に保存されている、プリンタドライバのアンインストーラを起動するように操作する。この操作を検知して、ＣＰＵ２０３は、アンインストーラプログラムを外部記憶装置２１５からＲＡＭ２０４にロードし、そのプログラムをＯＳ上で実行する。即ち、ＯＳ８０２は、アンインストーラを起動する（Ｓ１４０１）。なお、ＣＰＵ２０３がＯＳ上でアンインストーラを実行することにより実行される動作を、アンインストーラを主語として、アンインストーラが行う等と表現する。
【００６０】
アンインストーラは、まず、図１３のプリセット記述ファイルを参照し、「標準」以外のプリセットが存在するか判定する（Ｓ１４０２）。なお、ここでいう「標準」とは、特定のプリセットを指すのではなく、プリセットを何も指定しないことを意味している。
【００６１】
「標準」以外のプリセットが存在しないと判定した場合（Ｓ１４０２で「存在しない」）、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１４１２）、処理を終了する。
一方、「標準」以外のプリセットが存在すると判定した場合（Ｓ１４０２で「存在する」）、アンインストーラは、Ｓ１４０３に処理を進める。
Ｓ１４０３では、アンインストーラは、図１０のプリンタ記述ファイルを参照し、全ての印刷設定項目の中で、今アンインストールするプリンタドライバにのみ含まれる印刷設定項目があるか判定する。その結果、アンインストールするプリンタドライバにのみ含まれる印刷設定項目が「ない」と判定された場合（Ｓ１４０３で「ない」）、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１４１２）、処理を終了する。
【００６２】
一方、Ｓ１４０３でアンインストールするプリンタドライバにのみ含まれる印刷設定項目が「ある」と判定された場合（Ｓ１４０３で「ある」）、アンインストーラは、「標準」以外の全てのプリセットに対して、以下の処理（Ｓ１４０５〜Ｓ１４１０に相当）を実行するように制御する（Ｓ１４０４、Ｓ１４１１）。
【００６３】
まず、アンインストーラは、対象のプリセットに関して、その印刷設定項目を抽出する（Ｓ１４０５）。そして、アンインストーラは、上記Ｓ１４０５で抽出された印刷設定項目の中に、アンインストールするドライバにのみ含まれる印刷設定項目が存在するか判定する（Ｓ１４０６）（第１判定処理）。ここで、アンインストールするドライバにのみ含まれる印刷設定項目が存在しないと判定された場合（Ｓ１４０６で「存在しない」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
【００６４】
一方、Ｓ１４０６で、アンインストールするドライバにのみ含まれる印刷設定項目が存在すると判定された場合（Ｓ１４０６で「存在する」）、アンインストーラは、Ｓ１４０７に処理を進める。
Ｓ１４０７では、アンインストーラは、図１３に示したプリセット記述ファイルにおいて、アンインストールするドライバにのみ含まれる印刷設定項目の情報を、このプリセットから削除する（第１削除処理）。
【００６５】
さらに、アンインストーラは、アンインストールするドライバに対応しているプリントキュー以外の全てのプリントキューに対して、図１０のプリンタ記述ファイルを参照し、それらの印刷設定項目のデフォルト値を抽出する（Ｓ１４０８）。詳細には図１０のプリンタ記述ファイル内から"*Default"で始まる行が示す値を抽出する。
【００６６】
そして、アンインストーラは、プリセットの印刷設定項目の値と上記Ｓ１４０８で抽出されたデフォルト値とを比較し、差があるか判定する（Ｓ１４０９）。その結果、プリセットの印刷設定項目の値とデフォルト値とに差がある場合（Ｓ１４０９で「差がある」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
【００６７】
一方、処理中のプリセットの印刷設定項目の値と上記Ｓ１４０８で抽出されたデフォルト値とに差が無い場合（Ｓ１４０９で「差が無い」）、そのプリセットの情報を図１３のプリセット記述ファイルから削除する（Ｓ１４１０）（第２削除処理）。
【００６８】
このＳ１４０５〜Ｓ１４１０までの一連の処理を「標準」以外の全てのプリセットに対して実行した後、アンインストーラは、ドライバのアンインストールを実行し（Ｓ１４１２）、処理を終了する。
【００６９】
このアンインストール処理により、アンインストーラは、インストール時に、図４のＳ４０２で外部記憶装置の所定の場所に格納したプリンタドライバモジュールを削除する。
［アンインストール時におけるプリセット設定の更新例］
ここでは、具体的なプリンタドライバとプリセットの例を用いて、前記更新手順を説明する。その際プリンタドライバとプリセットに関する前提条件を、それぞれ図１５（ａ）、図１５（ｂ）に示す。
【００７０】
図１５は、アンインストール時におけるプリセット設定の更新例を説明するための図である。
ここで示す例では、図１５（ａ）に示すように、プリンタドライバとして、"Driver A"、"Driver B"、"Driver C"、及び"Driver D"がインストールされているものとする。また、それぞれのプリンタドライバの設定可能な印刷設定項目は、図１５（ａ）に示すように、例えば、"Driver A"は、"ColorMode"及び"Copies"の印刷設定項目を設定可能とする。また、"Driver B"は、"ColorMode"、"Duplex"、及び"Copies"の印刷設定項目を設定可能とする。また、"Driver C"は、"ColorMode"、"Staple"、及び"Copies"の印刷設定項目を設定可能とする。また、"Driver D"は、"Punch"、及び"Copies"の印刷設定項目を設定可能とする。なお、図１５（ａ）に記載している印刷設定項目は、プリンタの機能の一部の例であり、プリセット設定の更新はこれらの機能に限定されるものではない。
【００７１】
一方、プリセットに関する設定は、図１５（ｂ）に示すように、"Preset P"、"Preset Q"、"Preset R"、及び"Preset S"が登録されているものとする。図１５（ｂ）に示すように、例えば、"Preset P"は、"Punch"及び"Copies"の印刷設定項目に関する情報を持つとする。また、"Preset Q"は"ColorMode"、"Duplex"、及び"Copies"の印刷設定項目に関する情報を持つとする。また、"Preset R"は"ColorMode"、"Punch"、及び"Copies"の印刷設定項目に関する情報を持つとする。また、"Preset S"は"ColorMode"、"Duplex"、"Punch"、及び"Copies"の印刷設定項目に関する情報を持つとする。
【００７２】
この前提において、ユーザがアンインストーラにより"Driver D"のプリンタドライバをアンインストールする場合を考える。このときのプリセット設定の更新の手順を図１４に沿って説明する。
【００７３】
まず、ユーザが外部記憶装置２１５に保存されている、プリンタドライバ"Driver D"のアンインストーラを起動するように操作すると、この操作を検知して、ＯＳは、"Driver D"のアンインストーラを起動する（Ｓ１４０１）。なお、"Driver D"のアンインストーラを、以下、「アンインストーラ」と呼ぶ。
【００７４】
次に、Ｓ１４０２で、アンインストーラは、「標準」以外のプリセットが存在するか判定する。このとき、プリセットとして"Preset P"、"Preset Q"、"Preset R"、及び"Preset S"が登録されているため、続けてアンインストーラは、アンインストールするプリンタドライバ"Driver D"にのみ含まれる印刷設定項目があるか判定する（Ｓ１４０３）。
【００７５】
図１５（ａ）に示すとおり、"Driver D"にのみ含まれる印刷設定項目として、"Punch"があるため、Ｓ１４０３の判定結果は「ある」となる。よって、アンインストーラは、「標準」以外の全てのプリセット"Preset P"、"Preset Q"、"Preset R"、及び"Preset S"に対して、以下の処理を行うように制御する（Ｓ１４０４、Ｓ１４１０）。
【００７６】
まず、アンインストーラは、"Preset P"の印刷設定項目を抽出する（Ｓ１４０５）。そして、その中に"Punch"の印刷設定項目があるか判定する（Ｓ１４０６）。図１５（ｂ）に示すとおり、"Preset P"は"Punch"の印刷設定項目に関する情報を持っているため、アンインストーラは、"Preset P"から"Punch"の印刷設定項目を削除する（Ｓ１４０７）。
【００７７】
その後、アンインストーラは、"Driver D"以外の"Driver A"、"Driver B"、及び"Driver C"に対応しているプリントキューのプリンタ記述ファイルを参照し、それらの印刷設定項目のデフォルト値を抽出する（Ｓ１４０８）。
【００７８】
そして、"Preset P"の印刷設定項目の値と抽出されたデフォルト値を比較し、差があるか判定する（Ｓ１４０９）。この時点で"Preset P"は"Copies"の印刷設定項目のみ持っているので、その値と抽出されたデフォルト値を比較する。ここで抽出されたデフォルト値と"Preset P"の値に差が無かった場合、プリセット記述ファイルから、"Preset P"の情報を全て削除する（Ｓ１４１０）。逆に、抽出されたデフォルト値と"Preset P"の値に差があった場合、"Preset P"は"Copies"の印刷設定項目に関する情報を持ったままプリセット記述ファイルに残ることとなる。
【００７９】
同様に、"Preset Q"、"Preset R"、及び"Preset S"についても処理を行う。"Preset R"と"Preset S"には"Punch"印刷設定項目があるため、それらの項目をプリセット記述ファイルから削除する（Ｓ１４０７）。その結果残った印刷設定項目の値と抽出されたデフォルト値を比較し（Ｓ１４０８、Ｓ１４０９）、差が無かった場合、プリセット記述ファイルから、それぞれの情報を全て削除する（Ｓ１４１０）。逆に、抽出されたデフォルト値と"Preset R"や"Preset S"の値に差があった場合、"Preset R"や"Preset S"はプリセット記述ファイルに残ることとなる。
【００８０】
仮に、"Preset P"と"Preset R"の印刷設定項目の値がデフォルト値と差が無く、"Preset Q"と"Preset S"の印刷設定項目の値がデフォルト値と差が有ったとする。この場合、この一連の処理の後のプリセット記述ファイルは、図１５（ｃ）に示すような状態になる。
【実施例２】
【００８１】
以下、本発明の実施例２について図１６、図１７を用いて説明する。
図１６は、本発明の実施例２におけるアンインストール手順の一部を示すフローチャートである。なお、このフローチャートは実施例１のフローチャート図１４のＳ１４０４〜Ｓ１４１１までの部分に相当し、その前後のステップは上記実施例１と同じ処理であるため省略している。
【００８２】
図１７は、本発明の実施例２におけるプリセット設定変更通知ダイアログの一例を示す図である。
本実施例では、プリセット記述ファイルから印刷設定項目の情報を削除する際、及び、プリセットの情報を削除する際に、ユーザに確認を求める構成を有する。
図１４のＳ１４０３の判定結果が「ある」の場合、図１６の処理に進み、まず、アンインストーラは、「標準」以外の全てのプリセットに対して、以下の処理（Ｓ１６０２〜Ｓ１６１１に相当）を実行するように制御する（Ｓ１６０１、Ｓ１６１２）。
【００８３】
まず、アンインストーラは、対象のプリセットに関して、その印刷設定項目を抽出する（Ｓ１６０２）。そして、アンインストーラは、上記Ｓ１６０２で抽出された印刷設定項目の中に、アンインストールするドライバにのみ含まれる印刷設定項目が存在するか判定する（Ｓ１６０３）。ここで、存在しないと判定された場合（Ｓ１６０３で「存在しない」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
【００８４】
一方、Ｓ１６０３で、存在すると判定された場合、アンインストーラは、図１７（ａ）に示すプリセット設定変更通知ダイアログを表示し、特定の印刷設定項目の情報を削除する旨をユーザに通知し、許可を求める（Ｓ１６０４）（第１確認処理）。
【００８５】
ユーザが印刷設置項目の情報の削除の是非の指示（判断）を図１７（ａ）に示すプリセット設定変更通知ダイアログから入力すると、アンインストーラは、ユーザによる印刷設置項目の情報の削除の是非の指示（判断）を判定する（Ｓ１６０５）。
【００８６】
そして、削除しない（削除を禁止する）と判定された場合（Ｓ１６０５が「禁止」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
一方、削除する（削除を許可する）と判定された場合（Ｓ１６０５が「許可」）、アンインストーラは、図１３のプリセット記述ファイルにおいて、アンインストールするドライバにのみ含まれる印刷設定項目の情報を、このプリセットから削除する（Ｓ１６０６）。
【００８７】
さらに、アンインストーラは、アンインストールするドライバに対応しているプリントキュー以外の全てのプリントキューに対して、図１０のプリンタ記述ファイルを参照し、それらの印刷設定項目のデフォルト値を抽出する（Ｓ１６０７）。
【００８８】
そして、アンインストーラは、プリセットの印刷設定項目の値と上記Ｓ１６０７で抽出されたデフォルト値とを比較し、差があるか判定する（Ｓ１６０８）。その結果、差がある場合（Ｓ１６０８で「差がある」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
【００８９】
一方、処理中のプリセットの印刷設定項目の値と上記Ｓ１６０７で抽出されたデフォルト値とに差が無い場合（Ｓ１６０８で「差が無い」）、アンインストーラは、Ｓ１６０９に処理を進める。Ｓ１６０９では、アンインストーラは、図１７（ｂ）に示すプリセット設定変更通知ダイアログを表示し、特定のプリセットの情報を削除する旨をユーザに通知し、許可を求める（第２確認処理）。
【００９０】
ユーザがプリセットの情報の削除の是非の指示（判断）を図１７（ｂ）に示すプリセット設定変更通知ダイアログから入力すると、アンインストーラは、ユーザによるプリセットの情報の削除の是非の指示（判断）を判定する（Ｓ１６１０）。
【００９１】
そして、削除しない（削除を禁止する）と判定された場合（Ｓ１６１０が「禁止」）、アンインストーラは、そのプリセットの処理を終了し、次のプリセットに処理を移す。
一方、削除する（削除を許可する）と判定された場合（Ｓ１６１０が「許可」）、アンインストーラは、そのプリセットの情報を図１３のプリセット記述ファイルから削除する（Ｓ１６１１）。
このＳ１６０２〜Ｓ１６１１までの一連の処理を「標準」以外の全てのプリセットに対して実行した後、アンインストーラは、図１４のＳ１４１２に処理を進める。
【実施例３】
【００９２】
以下、本発明の実施例３について図１８、図１９を用いて説明する。
図１８は、本発明の実施例３におけるアンインストール手順の一例を示すフローチャートである。なお、図１８のＳ１８０５の「ループ内処理」は、実施例１のフローチャート図１４のＳ１４０４〜Ｓ１４１１までの部分に相当する。
【００９３】
図１９は、本発明の実施例３におけるプリセット設定変更通知ダイアログの一例を示す図である。
本実施例では、更新した全てのプリセットと同一内容のプリセットが存在する場合に、同一内容のプリセットに関する情報をユーザに提示する構成を有する。
ユーザは外部記憶装置２１５に保存されている、プリンタドライバのアンインストーラを起動するように操作する。この操作を検知して、ＯＳ８０２は、アンインストーラを起動する（Ｓ１８０１）。
【００９４】
アンインストーラは、まず、図１３のプリセット記述ファイルを参照し、「標準」以外のプリセットが存在するか判定する（Ｓ１８０２）。
「標準」以外のプリセットが存在しないと判定した場合（Ｓ１８０２で「存在しない」）、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
一方、「標準」以外のプリセットが存在すると判定した場合（Ｓ１８０２で「存在する」）、アンインストーラは、Ｓ１８０３に処理を進める。
Ｓ１８０３では、アンインストーラは、図１０のプリンタ記述ファイルを参照し、全ての印刷設定項目の中で、今アンインストールするプリンタドライバにのみ含まれる印刷設定項目があるか判定する。その結果「ない」と判定された場合（Ｓ１８０３で「ない」）、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
【００９５】
一方、Ｓ１８０３で「ある」と判定された場合、アンインストーラは、「標準」以外の全てのプリセットに対して、ループ内の処理（Ｓ１８０５；図１４のＳ１４０５〜Ｓ１４１０に相当）を実行するように制御する（Ｓ１８０４、Ｓ１８０６）。
【００９６】
このＳ１８０５のループ内の処理を「標準」以外の全てのプリセットに対して実行した後、アンインストーラは、Ｓ１８０７に処理を進める。
Ｓ１８０７では、アンインストーラは、上記Ｓ１８０６までの一連の処理を行った結果、今回更新した全てのプリセットに関して、そのプリセットと同一内容のプリセットが存在するか判定する（第２判定処理）。そして、同一内容のプリセットが存在すると判定された場合（Ｓ１８０７で「存在する」）、アンインストーラは、図１９（ａ）に示すプリセット設定変更通知ダイアログを表示し、ユーザに同一内容のプリセットに関する情報を通知する（Ｓ１８０８）。
次に、アンインストーラは、ドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
【００９７】
一方、アンインストーラは、上記Ｓ１８０６までの一連の処理を行った結果、今回更新した全てのプリセットに関して、そのプリセットと同一内容のプリセットが存在しないと判定された場合（Ｓ１８０７で「存在しない」）、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
【００９８】
なお、上記Ｓ１８０８において、ユーザに同一内容のプリセットに関する情報をユーザに通知する際に、図１９（ｂ）に示すような操作パネルを表示することで、その場で同一内容のプリセットの情報を削除する旨をユーザに通知し、許可を求める（第３確認処理）ように構成してもよい。なお、同一内容のプリセットの削除を許可する場合は、削除するプリセットの選択も行うように構成する。
【００９９】
この場合、ユーザが同一内容のプリセットの情報の削除の是非の指示（判断）を図１９（ｂ）に示すプリセット設定変更通知ダイアログから入力すると、アンインストーラは、ユーザによるプリセットの情報の削除の是非の指示（判断）を判定する。そして、削除しない（削除を禁止する）と判定した場合、アンインストーラは、そのままドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
【０１００】
一方、削除する（削除を許可する）と判定した場合、アンインストーラは、図１９（ｂ）に示すプリセット設定変更通知ダイアログで削除するように選択されたプリセットの情報を図１３のプリセット記述ファイルから削除する（Ｓ１４１０）（第３削除処理）。そして、アンインストーラは、ドライバのアンインストールを実行し（Ｓ１８０９）、処理を終了する。
【０１０１】
なお、上記の説明では、図１８のＳ１８０５の「ループ内処理」を、実施例１のフローチャート図１４のＳ１４０４〜Ｓ１４１１までの部分とした。しかし、図１８のＳ１８０５の「ループ内処理」を、実施例２のフローチャート図１６のＳ１６０２〜Ｓ１６１１までの部分とするように構成してもよい。
【０１０２】
以上、３つの実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることが可能である。
以上示したように、本発明によれば、プリンタドライバに対して横断的な印刷設定やプリセットをＯＳが保持するシステムにおいて、プリンタドライバをアンインストールした後に、アンインストールしたプリンタドライバに関する設定が保存されたプリセットが、ユーザの実用上意味をなさないプリセットとしてシステムに残り続けてしまうことを防ぐことを可能とする。
【０１０３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０４】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０６】
１０１    コンピュータ
１０２，１０３    プリンタ
１０４    ネットワーク
８０１    オペレーティングシステム（ＯＳ）
８０９    登録プリントキュー
８１０    プリンタ仕様記述ファイル
８１１    プリセット記述ファイル
【図１】
0005479166.tif 000002
【図２】
0005479166.tif 000003
【図３】
0005479166.tif 000004
【図４】
0005479166.tif 000005
【図５】
0005479166.tif 000006
【図６】
0005479166.tif 000007
【図７】
0005479166.tif 000008
【図８】
0005479166.tif 000009
【図９】
0005479166.tif 000010
【図１０】
0005479166.tif 000011
【図１１】
0005479166.tif 000012
【図１２】
0005479166.tif 000013
【図１３】
0005479166.tif 000014
【図１４】
0005479166.tif 000015
【図１５】
0005479166.tif 000016
【図１６】
0005479166.tif 000017
【図１７】
0005479166.tif 000018
【図１８】
0005479166.tif 000019
【図１９】
0005479166.tif 000020