(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
ユーザーからネットワーク上のデバイスの探索要求を受け付ける受付手段と、
ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、探索手段にネットワーク上のデバイスを探索させる手段と、
ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、当該情報処理装置にインストール済みのデバイスドライバーの種類を判定する判定手段と、
前記探索により見つかったデバイスの情報と前記インストール済みのデバイスドライバーの種類の判定結果とに基づいて、表示手段に表示させるデバイスのモデル名を決定する決定手段と、
前記決定したデバイスのモデル名の一覧を前記表示手段に表示させる制御手段と、を有し、
前記モデル名の一覧には、前記探索により見つかったデバイスのモデル名が、第１の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が除かれた状態で含まれており、
前記モデル名の一覧には、第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が含まれており、
前記第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が選択され、当該デバイスを制御するデバイスドライバーのインストールが指示された場合に、当該デバイスのための前記第１の種類のデバイスドライバーをインストールし、かつ、前記第２の種類のデバイスドライバーを削除する手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１の種類のデバイスドライバーがインストールされているデバイスは前記探索手段で見つかっても、前記モデル名の一覧には、当該デバイスのモデル名は含まれないことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記デバイスはプリンターであり、前記デバイスドライバーはプリンタードライバーであることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
情報処理装置の制御方法であって、
ユーザーからネットワーク上のデバイスの探索要求を受け付ける受付工程と、
ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、探索手段にネットワーク上のデバイスを探索させる工程と、
ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、当該情報処理装置にインストール済みのデバイスドライバーの種類を判定する判定工程と、
前記探索により見つかったデバイスの情報と前記インストール済みのデバイスドライバーの種類の判定結果とに基づいて、表示手段に表示させるデバイスのモデル名を決定する決定工程と、
前記決定したデバイスのモデル名の一覧を前記表示手段に表示させる制御工程と、を有し、
前記モデル名の一覧には、前記探索により見つかったデバイスのモデル名が、第１の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が除かれた状態で含まれており、
前記モデル名の一覧には、第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が含まれており、
前記第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が選択され、当該デバイスを制御するデバイスドライバーのインストールが指示された場合に、当該デバイスのための前記第１の種類のデバイスドライバーをインストールし、かつ、前記第２の種類のデバイスドライバーを削除する工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項５】
前記第１の種類のデバイスドライバーがインストールされているデバイスは前記探索手段で見つかっても、前記モデル名の一覧には、当該デバイスのモデル名は含まれないことを特徴とする請求項４に記載の情報処理装置の制御方法。
【請求項６】
前記デバイスはプリンターであり、前記デバイスドライバーはプリンタードライバーであることを特徴とする請求項４又は５に記載の情報処理装置の制御方法。
【請求項７】
請求項４乃至６のいずれか１項に記載の制御方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタードライバーをインストールする技術に関する。
【背景技術】
【０００２】
特許文献１は同一セグメント内のネットワークプリンターの検索を行い、検索において新規ネットワークプリンターが見つかれば、プリンタードライバーをインストールする技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３６６５０２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリンターの探索を行った際に、プリンタードライバーが既にインストールされているプリンターは探索結果から除外されてしまう場合がある。その結果、探索結果からプリンタードライバーをインストールしたいプリンターを選択しようとしても、インストールしたいプリンターを選択できないという課題が生じる。具体的には既にインストールされているプリンタードライバーとは別の種類のプリンタードライバーをインストールしようとする際に、探索結果から除外されているためにプリンターを選択できない。
【０００５】
これに対して本発明は、上記の課題が生じる環境であったとしても、既にプリンタードライバーがインストールされているプリンターに対して別の種類のプリンタードライバーをインストールできるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明に係る情報処理装置は、ユーザーからネットワーク上のデバイスの探索要求を受け付ける受付手段と、ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、探索手段にネットワーク上のデバイスを探索させる手段と、
ネットワーク上のデバイスの探索要求を受け付けたことに基づいて、当該情報処理装置にインストール済みのデバイスドライバーの種類を判定する判定手段と、前記探索により見つかったデバイスの情報と前記インストール済みのデバイスドライバーの種類の判定結果とに基づいて、表示手段に表示させるデバイスのモデル名を決定する決定手段と、前記決定したデバイスのモデル名の一覧を前記表示手段に表示させる制御手段と、を有し、前記モデル名の一覧には、前記探索により見つかったデバイスのモデル名が、第１の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が除かれた状態で含まれており、前記モデル名の一覧には、第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が含まれており、前記第２の種類のデバイスドライバーが当該情報処理装置にインストール済みのデバイスのモデル名が選択され、当該デバイスを制御するデバイスドライバーのインストールが指示された場合に、当該デバイスのための前記第１の種類のデバイスドライバーをインストールし、かつ、前記第２の種類のデバイスドライバーを削除する手段と、を有することを特徴とする情報処理装置。
【発明の効果】
【０００７】
本発明によれば、既にプリンタードライバーがインストールされているプリンターに対して別の種類のプリンタードライバーをインストールすることができる。
【図面の簡単な説明】
【０００８】
【図１】クライアントとサーバー、そしてプリンターが接続されたネットワークの構成図
【図２】コンピューターシステムのハードウェアとソフトウェアのブロック構成図
【図３】インストーラーモジュールのブロック構成図
【図４】ＷＳＤプリンター探索処理のフローチャート
【図５】インストーラーモジュールのプリンター探索画面
【図６】ＷＳＤプリンターインストール処理のフローチャート  その１
【図７】ＷＳＤプリンターインストール処理のフローチャート  その２
【図８】既存のプリンターキューを削除するかどうかのメッセージを表示する画面の一例
【図９】ＷＳＤプリンターインストール処理のフローチャート  その３
【図１０】Ｖ４ドライバーをインストールするかどうかユーザーに確認する画面の一例
【図１１】ＷＳＤプリンターインストール処理のフローチャート  その４
【発明を実施するための形態】
【０００９】
Ｗｉｎｄｏｗｓ（登録商標）  ＶＩＳＴＡから導入された、プリンターと情報処理装置の一例であるクライアントコンピューター（以降、ＰＣとも呼ぶ）との接続形態として、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｆｏｒ  Ｄｅｖｉｃｅｓ（以降、ＷＳＤとも呼ぶ）というものがある。このＷＳＤのＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用することにより、ＰＣと接続可能なプリンターをＰＣに通知すること可能となる。さらに、Ｗｉｎｄｏｗｓ（登録商標）  ８．１以降、このＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用することによって、ＰＣに自動でプリンタードライバーがインストールされることがある。
【００１０】
このＰＣに自動でインストールされるプリンタードライバーが、ユーザーにとって最適なプリンタードライバーではないことがある。具体的な事例としては、一度もハードウェアベンダーから直接提供されるプリンタードライバーがインストールされていないＰＣに対して、ＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用して、自動的にプリンタードライバーのインストールが行われたとする。その場合、ＯＳ添付のプリンタードライバーがインストールされる。
【００１１】
本明細書ではプリンタードライバーを２種類に分けて説明する。一種類目はＯＳ添付のプリンタードライバーであり、別名Ｉｎｂｏｘドライバーと呼ばれる。これはＯＳやＯＳのパッチに含まれるデバイスドライバーのことを指す。ＩｎｂｏｘドライバーはＯＳに添付されているため、単にハードウェアを利用するという観点で言えば、別途ドライバーをインストールする必要がなく、ユーザーの利便性は高い。ただし、ＩｎｂｏｘドライバーはＯＳのリリース以降にリリースされた新しいデバイスもサポートするために、汎用的に作らざるを得ない。汎用的に作ると必然的に機能数は制限され、その結果、ユーザーは機種固有の機能を利用できない場合がある。また、対象の機種に対して、印刷品質や、印刷性能が最適なものではない可能性もある。ＯＳ添付のプリンタードライバーをＩｎｂｏｘドライバーと呼ぶのに対して、ＯＳに含まれずにハードウェアベンダーから直接提供されるドライバーをＯｕｔｂｏｘドライバーと呼ぶ。これが二種類目のドライバーである。ユーザーは、使用するハードウェアを最適に使用するためには、ハードウェアベンダーから提供されるＯｕｔｂｏｘドライバーをインストールすることが望ましい。
【００１２】
一方、Ｉｎｂｏｘドライバーを一度インストールされてしまうと、ＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用して対象の機種が探索できなくなるというＯＳの仕様がある。さらに、Ｗｉｎｄｏｗｓ（登録商標）の特定の条件下で、ＷＳＤポート接続しているデバイスに対して、ユーザーの通知が行われずに、Ｉｎｂｏｘドライバーが自動的にインストールされる場合がある。その結果、ＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用してＯｕｔｂｏｘドライバーをインストールできない。
【００１３】
本明細書ではインストーラーはプリンタードライバーのインストール時に、既にＩｎｂｏｘドライバーがインストールされているプリンターもＷＳ−Ｄｉｓｃｏｖｅｒｙで探索したプリンターモデルリストに含める。これによってＯｕｔｂｏｘドライバーをインストール可能とする。
【実施例１】
【００１４】
図１は本発明の実施形態に係る印刷処理システムのＰＣ、サーバーおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。本実施形態のプリントシステムは、１又は複数のＰＣ１００（例えば、ユーザー毎）、１又は複数のサーバー２０００（例えば、階毎に設置）、１又は複数のプリンター２５００（例えば、階毎に設置）で構成される。さらに、上記ＰＣ１００、サーバー２０００、プリンター２５００がローカルエリアネットワーク３０００を介して接続される構成となっている。ネットワーク３０００にはＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウド環境上にある、サーバーやプリンターが接続されていてもかまわない。
【００１５】
プリンター２５００とサーバー２０００もしくはＰＣ１００とをネットワーク接続するプリンターポートのプロトコルの一種としてＷＳＤがある。ＷＳＤの一機能として、ＷＳ−Ｄｉｓｃｏｖｅｒｙ機能があり、そのＰＣと接続可能なプリンターをＰＣに通知することができる。ユーザーは、探索した結果のリストから該当するプリンター（例えば２５０１）を選択し、インストールすることが可能となる。さらに、特定のネットワーク環境において、接続されているプリンター２５０１に対するプリンタードライバー（以降、単にドライバーとも呼ぶ）１０５３が自動的にインストールされることがある。
【００１６】
図２は本発明の実施形態を示す一般的なコンピューターを用いた主にハードウェアのブロック構成図である。ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１、ＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って、ＰＣ１００全体の制御を行う。加えて、ＣＰＵ１０１が補助記憶装置１０５に記憶されているプログラムに基づき処理を実行することによって、図２に示されるようなＰＣ１００のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５には、アプリケーション１０５１やインストーラー１０５２、プリンタードライバー１０５３、オペレーティングシステム（ＯＳ）１０５４等の各種プログラムが格納される。ここで本明細書のインストーラー１０５２はＶ４のＯｕｔｂｏｘドライバーをインストールするソフトウェアである。また、Ｖ４（バージョン４）プリンタードライバーとはＷｉｎｄｏｗｓ（登録商標）  ８から導入された新しいアーキテクチャで動作するプリンタードライバーである。キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス（マウス）１０９などの入力機器は、入力Ｉ／Ｆ１０３を通じてＰＣ１００に接続される。出力Ｉ／Ｆ１０４にはモニター１１０などの出力デバイスが接続され、プログラムの指示に従いモニター上にユーザインターフェース（ＵＩ）を表示する。これらの入力・出力機器からユーザーからのプログラムへの操作を受け付ける。通信Ｉ／Ｆ１０６は、ネットワーク３０００に接続されており、ＰＣ１００の外部機器、例えば、図１のサーバー２０００やプリンター２５００との通信が可能である。上記のモジュールは、共通データシステムバス１０７で接続され、各モジュール間でデータのやり取りが可能である。プログラム１０５１〜１０５４は、不図示のＣＤ−ＲＯＭやＵＳＢメモリーを介して補助記憶装置１０５に追加可能である。更にネットワーク３０００を経由して補助記憶装置１０５に追加することも可能である。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００１７】
図３は本発明の対象となるインストーラーモジュールのブロック構成図の一例である。ブロック図の基本構成は、ネットワーク探索モジュール１０５２０、ドライバーインストールモジュール１０５２１、プリンターキューインストールモジュール１０５２３で構成されている。これらのソフトウェアモジュールは、補助記憶装置１０５に格納されており、ユーザーの要求や、他のシステムの要求に応じて、補助記憶装置１０５からＲＡＭ１０２２にロードされ、ＣＰＵ１０１で実行される。
【００１８】
ネットワーク探索モジュール１０５２０は、ＩＰｖ４探索部４００、ＩＰｖ６探索部４０１、ＷＳＤ探索部４０２で構成されている。ネットワーク探索モジュールとは、ネットワーク３０００で繋がっているプリンタードライバーがインストール可能なプリンターを探索する機能を搭載したモジュールである。探索するプロトコルはＩＰｖ４、ＩＰｖ６、ＷＳＤがあり、ユーザーの指示に従い、それぞれのプロトコルでプリンター２５００と通信し、プリンタードライバーがインストール可能なプリンターのモデルをリストする。探索した結果のリストを、それぞれＩＰｖ４探索部４００はＩＰｖ４探索結果リスト４０３に、ＩＰｖ６探索部４０１はＩＰｖ６探索結果リスト４０４に、ＷＳＤ探索部４０２はＷＳＤ探索結果リスト４０５に保存する。特にＷＳＤの場合、ＷＳ−Ｄｉｓｃｏｖｅｒｙという特別な方法を用いて、プリンタードライバーがインストール可能なプリンターを探索する。ＷＳ−Ｄｉｓｃｏｖｅｒｙの場合、ＰＣ１００に既にＷＳＤでプリンタードライバーがインストールされているプリンターは、探索対象から外れ、プリンタードライバーがインストール可能なプリンターとしてリストされない。
【００１９】
ドライバーインストールモジュール１０５２１はプリンタードライバーをインストールするためのモジュールである。
【００２０】
プリンターキューインストールモジュール１０５２３は、ＵＳＢプリンターインストール部４０６、ネットワークプリンターインストール部４０７、ＷＳＤプリンターインストール部４０８で構成されている。ＵＳＢプリンターインストール部４０６は、ドライバーインストールモジュール１０５２１で予め対象のプリンタードライバー１０５３をインストールしておき、その後、ＵＳＢプラグアンドプレイインストールを行う。プラグアンドプレイインストールとはＰＣ１００にプリンター２５０１を接続した際にＯＳ１０５４が、プリンタードライバー１０５３のインストールと設定を自動的に行う仕組みのことである。ユーザーは手順に従って、プリンター２５０１とＰＣ１００をケーブルでつなぐだけでプリンタードライバーの自動インストールが行われるので、ユーザビリティ（使い勝手）を向上させる技術の１つとなっている。ＷＳＤポートの場合もプラグアンドプレイインストールがあり、ＷＳＤプリンターインストール部４０８によってプリンタードライバーのインストールが行われる。ＷＳＤポートの場合はケーブルをつなぐ必要もなく、手順に従って探索されたプリンターの一覧から所望するプリンター２５０１を選択するだけでプリンタードライバーの自動インストールが行われる。
【００２１】
図４のフローチャートを用いて、本発明にかかるＷＳＤプリンターの探索処理について説明する。まずユーザーが本インストーラー１０５２を起動し、図５のプリンター探索画面６００に遷移したのち、［ＷＳＤ］タブ６０１を選択して、ＷＳＤプリンター探索要求を受け付けたことによりフローチャートの処理が開始される（Ｓ５００）。特に明記しない場合、フローチャートの各ステップの処理はインストーラー１０５２が行う。Ｓ５０１では、ＷＳＤ探索部４０２のＷＳ−Ｄｉｓｃｏｖｅｒｙ機能を使用し、ＷＳＤプラグアインドプレイインストールが可能なプリンターの探索結果をリストとしてＯＳから取得する。この探索結果には探索によって見つかったネットワーク上のプリンターが含まれているが、見つかったプリンターから、ＰＣ１００にＩｎｂｏｘドライバーやＯｕｔｂｏｘドライバーがインストールされているプリンターはＯＳによって除かれている。その後、Ｓ５０２では、探索で見つかったプリンターのモデル名をＷＳＤ探索結果リスト４０５に追加する。ＷＳＤ探索結果リスト４０５は探索で見つかったプリンターをプリンター探索画面６００で表示するためのリストである。Ｓ５０３では、ＰＣ１００に既にプリンタードライバーがインストールされているプリンターキューを列挙して、プリンターキューリストとしてメモリーに記憶する。
【００２２】
Ｓ５０４以降は、Ｓ５０３で列挙したそれぞれのプリンターキューごとに処理を行う。Ｓ５０４では対象のプリンターキューの情報を調べる。Ｓ５０５ではＳ５０４で取得したプリンターキューの情報から、対象のプリンターキューの接続ポートがＷＳＤポートかどうかと対象のプリンターキューに対応するプリンタードライバーがＩｎｂｏｘドライバーかどうかを判断する。接続ポートがＷＳＤポート以外、またはＩｎｂｏｘドライバーではない場合（Ｓ５０５のＮｏ）、対象とするプリンターではないので、プリンターキューリストの次のプリンターキューを調べる。接続ポートがＷＳＤポートでかつＩｎｂｏｘドライバーだった場合（Ｓ５０５のＹｅｓ）、Ｓ５０６に進む。
【００２３】
Ｓ５０６ではＰＣ１００にＩｎｂｏｘドライバーがインストールされているプリンター２５０１と通信し、モデル名とＰｎＰＩＤを取得する。なお、ＰｎＰＩＤとはプラグアンドプレイＩＤの略称であり、プラグアンドプレイインストール時にプリンタードライバーを一意に決定するＩＤである。
【００２４】
次に、取得したＰｎＰＩＤから、プリンター２５０１がＯｕｔｂｏｘドライバーをインストール可能な対象機種かどうかを調べる（Ｓ５０７）。ＰｎＰＩＤはプリンターで候補の中から選択して設定されるＩＤであり、候補の中にはＶ３とＶ４の両方が含まれている。よって、Ｉｎｂｏｘドライバーがインストールされているプリンター２５０１のＰｎＰＩＤは、必ずしもＶ４ドライバー対応のＰｎＰＩＤとは限らない。その場合、ＷＳＤプラグアンドプレイインストールを行ってもＶ４ドライバーのインストールに失敗してしまう。そのため、事前にＰｎＰＩＤを調べて、Ｖ４のＯｕｔｂｏｘドライバーをインストール可能かどうか調べる。これによって、Ｉｎｂｏｘドライバーがインストールされているプリンターと通信し、Ｏｕｔｂｏｘドライバーがインストール可能なプリンターを特定することができる。調べた結果、インストール可能なＰｎＰＩＤではなかった場合（Ｓ５０８のＮｏ）、対象とするプリンターではないので、プリンターキューリストの次のプリンターを調べる。インストール可能なＰｎＰＩＤだった場合、（Ｓ５０８のＹｅｓ）、Ｓ５０３で取得したプリンターキューの情報からモデル名をＷＳＤ探索結果リスト４０５に追加する（Ｓ５０９）。
【００２５】
上記の処理をＰＣ１００にインストールされている全てのプリンターキューに対して行う（Ｓ５１０）。全てのプリンターを調べ終えたら（Ｓ５１０のＹｅｓ）、Ｓ５０２とＳ５０９の処理により作成されたＷＳＤプラグアインドプレイインストールが可能なプリンターのリスト５０４を表示する（Ｓ５１１）。
【００２６】
例えば、図５の６０２は、ＷＳＤプラグアインドプレイインストールが可能なプリンターのリスト表示を行っている画面の一例である。この例において、「ｉＲ−ＡＤＶ  ＣＸＸＸＸ」と「ｉＲ−ＡＤＶ  ＣＹＹＹＹ」はＷＳ−Ｄｉｓｃｏｖｅｒｙで見つかったプリンターである。最後の行の「ｉＲ−ＡＤＶ  ＣＺＺＺＺ」という名称のプリンターは、既にＩｎｂｏｘドライバーを使用してＷＳＤプラグアインドプレイインストールされているプリンターである。本明細書では図４のＳ５０９の処理によって、プリンターをあたかもＷＳ−Ｄｉｓｃｏｖｅｒｙで見つかったように見せることが可能となる。このようにＯｕｔｂｏｘドライバーをインストールするプリンターの候補として、（Ａ）ＯＳ１０５４から取得した探索結果のプリンターと、（Ｂ）Ｓ５０６とＳ５０７の処理により特定されたプリンターの両方を表示することができる。なお、図５の画面では（Ａ）のプリンターと（Ｂ）のプリンターの両方を一画面で表示しているが、それぞれを別画面で表示するように構成しても構わない。
【００２７】
次に、図６のフローチャートを用いて、本発明にかかるＷＳＤを用いたプリンタードライバーのインストール処理について説明する。本処理は、ユーザーが本インストーラー１０５２で探索したＷＳＤプラグアインドプレイインストールが可能なプリンターのリスト表示画面６０２から、所望するプリンターを選択した後、次へボタンを押下したことにより開始される（Ｓ７００）。まず、選択されたプリンター２５０１は、既にＩｎｂｏｘドライバーがインストール済のプリンターかどうか調べる（Ｓ７０１）。Ｉｎｂｏｘドライバーがインストール済のプリンターかどうかを調べる方法を説明する。方法としてはＳ５０９でＷＳＤ探索結果リスト４０５にプリンターを追加時にＩｎｂｏｘドライバーがインストールされているプリンターである旨のフラグを保存しておく。そして、そのフラグを参照してＩｎｂｏｘドライバーがインストール済のプリンターかどうかを判別する方法が考えられる。しかし、この方法に限定されるものではない。
【００２８】
前記判断結果より、Ｉｎｂｏｘドライバーがインストール済のプリンターではない場合（Ｓ７０１のＮｏ）、通常のＷＳＤプラグアインドプレイインストール処理を行う（Ｓ７０４）。前記判断結果より、Ｉｎｂｏｘドライバーがインストール済のプリンターだった場合（Ｓ７０１のＹｅｓ）、該当するプリンターキューをいったん削除する（Ｓ７０２）。その結果、Ｉｎｂｏｘドライバーが削除される。こうすることにより、再度ＷＳ−Ｄｉｓｃｏｖｅｒｙを使用したＷＳＤデバイス探索で、該当のプリンター２５０１が見つけられるので、見つかったプリンターに対して、ＷＳＤのプラグアンドプレイインストールを行う（Ｓ７０３）。
【００２９】
このように、Ｏｕｔｂｏｘドライバーをインストールするプリンターとして、Ｉｎｂｏｘドライバーがインストールされているプリンターが選択された場合、Ｉｎｂｏｘドライバーを削除する。そして、ネットワーク上のプリンターを探索することにより、Ｏｕｔｂｏｘドライバーをインストールする。
【００３０】
以上の手順を用いることにより、Ｉｎｂｏｘドライバーが既にＷＳＤプラグアインドプレイインストールされているプリンター２５０１でも、Ｏｕｔｂｏｘドライバーがインストールすることが可能となる。これにより、プリンターに最適なドライバーがインストールされる。
【実施例２】
【００３１】
実施例１の方法では、Ｓ７０２の処理でインストールされているＩｎｂｏｘドライバーを自動的に削除していたが、削除したプリンタードライバーは、ユーザーが意図してインストールしたものかどうか判別できないという問題があった。もし、ユーザーが意図してインストールしたものであれば、インストール当時のユーザーの意図に反してＩｎｂｏｘドライバーがＯｕｔｂｏｘのプリンタードライバーに入れ替わってしまう。
【００３２】
上記問題を解決する方法として、本実施例では、Ｓ７０２で該当するプリンターキューを削除する前に、現在インストールされているプリンターキューを削除する旨のメッセージをユーザーに通知する。
【００３３】
図７は上記解決方法を説明したフローチャートである。Ｓ８００〜Ｓ８０１は、実施例１のＳ７００〜Ｓ７０１と同じなので説明は割愛する。Ｓ８０１の判断結果より、インストール済のプリンターではない場合（Ｓ８０１のＮｏ）、通常のＷＳＤプラグアインドプレイインストール処理を行う（Ｓ８０８）。前記判断結果より、インストール済のプリンターだった場合（Ｓ８０１のＹｅｓ）、該当するプリンターキューを削除するかどうかのメッセージを通知する（Ｓ８０２）。通知する方法として、例えば図８に示したメッセージダイアログを表示して、ユーザーにＩｎｂｏｘドライバーを削除するかどうかを選択させる。ユーザーが選択した結果、既存のプリンターキューを削除する、すなわち、Ｉｎｂｏｘドライバーを削除する指示を受付けた場合（Ｓ８０３のＹｅｓ）、既存のプリンターキューを削除する（Ｓ８０４）。そして、再度ＷＳＤ探索を行い、対象のプリンター２５０１に対してＷＳＤプラグアインドプレイインストールを行う（Ｓ８０５）。なお、Ｓ８０４〜Ｓ８０５の処理は、実施例１のＳ７０２〜Ｓ７０３と同じである。
【００３４】
ユーザーが削除しないを選択した場合（Ｓ８０３のＮｏ）、ＷＳＤプラグアンドプレイインストールを行わずに、接続ポートを切り替える方法でインストールする。この方法でインストールするためには、まず、該当のプリンター２５０１に対応したＯｕｔｂｏｘドライバーのインストールを行う（Ｓ８０６）。ドライバーのインストールが完了した後、Ｏｕｔｂｏｘドライバーのインストールに伴って作成されたプリンターキューの接続ポートの設定を、既存のＩｎｂｏｘドライバーに対応するプリンターキューのＷＳＤポートと同一のポートに設定する（Ｓ８０７）。
【００３５】
以上の手順を用いることにより、Ｉｎｂｏｘドライバーを使用して既にＷＳＤプラグアインドプレイインストールされているプリンターキューも残したまま、新しいＯｕｔｂｏｘドライバーもインストールできる。ユーザーは、既存のプリンタードライバーと新しいプリンタードライバー両方を使い分けて印刷することが可能となる。
【実施例３】
【００３６】
実施例２までは、プラグアンドプレイインストールを行う際のプリンター２５０１で設定されたＰｎＰＩＤに対応するドライバーがＶ４である場合を想定していた。しかし、プリンター２５０１によっては、ＰｎＰＩＤとしてＶ３ドライバーのＩＤを設定している場合もある。この場合、ＷＳＤプラグアンドプレイインストールを行うと、インストールに失敗したり、ユーザーが意図しないプリンタードライバーをインストールしたりしてしまう可能性がある。
【００３７】
上記問題を解決する方法として、本実施例ではプリンター２５０１で設定されたＰｎＰＩＤに対応するドライバーがＶ３だった場合でも、Ｖ４ドライバーのインストールを可能にする方法について説明する。
【００３８】
図９は上記解決方法を説明したフローチャートである。Ｓ９００〜Ｓ９０１は、実施例１のＳ７００〜Ｓ７０１と同じなので説明は割愛する。Ｓ９０１の判断結果より、インストール済のプリンターではない場合（Ｓ９０１のＮｏ）、通常のＷＳＤプラグアインドプレイインストール処理を行う（Ｓ９０７）。前記判断結果より、Ｉｎｂｏｘドライバーがインストール済のプリンターだった場合（Ｓ９０１のＹｅｓ）、プリンターで設定されたＰｎＰＩＤがＶ３ドライバーのＩＤかどうかを調べる（Ｓ９０２）。具体的には、プリンター２５０１と通信を行い、ＰｎＰＩＤが、Ｖ３ドライバーの属性として設定されているＰｎＰＩＤと一致しているかどうかを調べる。なお、Ｓ９０２ではＰｎＰＩＤがＶ４ドライバーのＩＤかどうかを調べてもよい。この場合はＳ９０２のＹｅｓとＮｏが逆になる。ＰｎＰＩＤがＶ３ドライバーではなかった場合（Ｓ９０２のＮｏ）、ＷＳＤプラグアインドプレイインストールを行う。ＷＳＤプラグアインドプレイインストールを行うＳ９０３〜Ｓ９０４の処理については、実施例１のＳ７０２〜Ｓ７０３と同じなので説明は割愛する。ＰｎＰＩＤがＶ３ドライバーだった場合（Ｓ９０２のＹｅｓ）、接続ポートを切り替える方法でインストールする。また、Ｖ３ドライバーと判断した際に、Ｖ４ドライバーをインストールするかどうかユーザーに確認してもよい。確認する方法として、例えば図１０に示したメッセージダイアログを表示して、ユーザーに確認する方法があるが、この方法に限定するものではない。接続ポートを切り替えてインストールする方法のＳ９０５〜Ｓ９０６については、実施例２のＳ８０６〜Ｓ８０７と同じなので説明は割愛する。
【００３９】
以上の手順を用いることにより、Ｉｎｂｏｘドライバーを使用して既にＷＳＤプラグアインドプレイインストールされているプリンタードライバーがＶ３ドライバーのＰｎＰＩＤであっても、ユーザーが意図したＶ４ドライバーをインストールすることが可能となる。
【実施例４】
【００４０】
実施例２では、既にインストールされているプリンタードライバーが、ユーザーが意図してインストールしたものかどうかわからないことが前提となっていた。本実施例では、既存のプリンターキューが自動でインストールされたかどうかを判別できると想定して、自動でインストールされたプリンターキューのみ削除して、Ｏｕｔｂｏｘドライバーをインストールする方法を説明する。
【００４１】
図１１では、既存のプリンタードライバーが自動でインストールされたのかどうかを判別して、自動でインストールされている場合、既存のプリンターキューを削除し、そうでない場合は、既存のプリンターキューと共存してインストールする方法を説明している。
【００４２】
まず、Ｓ１００１は、実施例１のＳ７０１と同じなので説明は割愛する。Ｓ１００１の判断結果より、選択されたプリンターはＩｎｂｏｘドライバーがインストール済のプリンターではないと判断された場合（Ｓ１００１のＮｏ）、通常のＷＳＤプラグアインドプレイインストール処理を行う（Ｓ１０１１）。
【００４３】
Ｓ１００１の判断結果より、選択されたプリンターはＩｎｂｏｘドライバーがインストール済のプリンターであると判断された場合（Ｓ１００１のＹｅｓ）、対象のＩｎｂｏｘドライバーが自動でインストールされたドライバーであるかどうかを調べる（Ｓ１００２）。具体的に対象のＩｎｂｏｘドライバーが自動でインストールされたドライバーであるかどうかを調べるための２つの方法を挙げる。一つ目はＩｎｂｏｘドライバーに自動でインストールされたことを示す属性が付与されているか否かを調べる方法である。二つ目はＯＳ１０５４に用意されたＩｎｂｏｘドライバーが自動でインストールされたか否かを把握するためのＡＰＩを利用することで調べる方法である。なお、対象のＩｎｂｏｘドライバーが自動でインストールされたドライバーであるかどうかを調べられればこの方法に限定されない。
【００４４】
対象のＩｎｂｏｘドライバーが自動でインストールされたドライバーではない場合（Ｓ１００２のＮｏ）、接続ポートを切り替えてインストールする。接続ポートを切り替えてインストールする方法のＳ１００９〜Ｓ１０１０については、実施例２のＳ８０６〜Ｓ８０７と同じなので説明は割愛する。
【００４５】
対象のＩｎｂｏｘドライバーが自動でインストールされたドライバーである場合（Ｓ１００２のＹｅｓ）、プリンター２５０１で設定しているＰｎＰＩＤがＶ３ドライバーのＩＤかどうかを調べる（Ｓ１００３）。ＰｎＰＩＤがＶ３ドライバーではなかった場合（Ｓ１００３のＮｏ）、ＷＳＤプラグアインドプレイインストールを行う。ＷＳＤプラグアインドプレイインストールを行うＳ１００４〜Ｓ１００５の処理については、実施例１のＳ７０２〜Ｓ７０３と同じなので説明は割愛する。ＰｎＰＩＤがＶ３ドライバーだった場合（Ｓ１００３のＹｅｓ）、ＷＳＤプラグアンドプレイインストールを行わずに、インストール後に接続ポートを設定する方法でインストールする。インストール後に接続ポートを設定する方法のＳ１００６〜Ｓ１００７については、実施例２のＳ８０６〜Ｓ８０７と同じなので説明は割愛する。インストールが完了した後、既存のＩｎｂｏｘドライバーに対応するプリンターキューを削除する（Ｓ１００８）。
【００４６】
以上の手順を用いることにより、自動でインストールされているユーザーが意図しないプリンターキューであれば、新しいドライバーをインストールする際に自動的に削除し、意図してインストールしている場合は、削除を行わないようにする。それによりユーザーの意図を反映した印刷環境を提供することが可能となる。
【００４７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006624987.tif 000002
【図２】
0006624987.tif 000003
【図３】
0006624987.tif 000004
【図４】
0006624987.tif 000005
【図５】
0006624987.tif 000006
【図６】
0006624987.tif 000007
【図７】
0006624987.tif 000008
【図８】
0006624987.tif 000009
【図９】
0006624987.tif 000010
【図１０】
0006624987.tif 000011
【図１１】
0006624987.tif 000012