(57)【特許請求の範囲】
【請求項１】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御することを特徴とし、
前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から前記新アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
【請求項３】
請求項１又は２に記載のプログラムであって、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーに加え、前記旧アーキテクチャのデバイスドライバーもインストールするよう制御することを特徴とし、
前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであった際に、前記周辺装置から取得された識別情報に対応するアーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記２つのアーキテクチャのデバイスドライバーのいずれかのセットアップが行われることを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれか一項に記載のプログラムであって、
前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであり、かつ、前記周辺装置から前記旧アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれか一項に記載のプログラムであって、
前記新アーキテクチャのデバイスドライバーのためのセットアップ情報と、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報とはそれぞれ、識別情報に応じたアーキテクチャのデバイスドライバーをインストールするための第一のセットアップ情報と、前記識別情報に関わらず所定のアーキテクチャのデバイスドライバーをインストールするための第二のセットアップ情報とを含み、
前記プログラムのプログラムファイルは、前記セットアップ情報と、前記旧アーキテクチャのデバイスドライバーのプログラムファイルと、前記新アーキテクチャのデバイスドライバーのプログラムファイルと共にインストールセットに含まれることを特徴とするプログラム。
【請求項６】
請求項１乃至４のいずれか一項に記載のプログラムであって、
前記新アーキテクチャのデバイスドライバーのためのセットアップ情報と、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報とはそれぞれ、前記オペレーティングシステムの能力情報ごとに、インストールできる前記デバイスドライバーと識別情報とを関連づけた第三のセットアップ情報と、前記識別情報に関わらず所定のアーキテクチャのデバイスドライバーをインストールするための第二のセットアップ情報とを含み、
前記プログラムのプログラムファイルは、前記セットアップ情報と、前記旧アーキテクチャのデバイスドライバーのプログラムファイルと、前記新アーキテクチャのデバイスドライバーのプログラムファイルと共にインストールセットに含まれることを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれか一項に記載のプログラムであって、
前記デバイスドライバーは、プリンタードライバーまたはファクシミリドライバーであることを特徴とするプログラム。
【請求項８】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムであって、
前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるシステムであったと判断され、かつ、前記周辺装置から前記新アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
【請求項１０】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御する情報処理装置であって、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段と、
周辺装置から取得された識別情報に対応する前記セットアップ情報を用いて、インストールされた前記デバイスドライバーのセットアップを行う設定手段とを有し、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記設定手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する前記識別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップを行うことを特徴とする情報処理装置。
【請求項１１】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御する情報処理装置であって、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段と、
周辺装置から取得された識別情報に対応する前記セットアップ情報を用いて、インストールされた前記デバイスドライバーのセットアップを行う設定手段とを有し、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記設定手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する前記識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップを行うことを特徴とする情報処理装置。
【請求項１２】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するインストール制御方法であって、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得工程と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御工程と、
を有し、
前記制御工程では、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御が行われ、
前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするインストール制御方法。
【請求項１３】
周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するインストール制御方法であって、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得工程と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御工程と、
を有し、
前記制御工程では、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御が行われ、
前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするインストール制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばコンピューター周辺装置の動作環境を設定するプラグアンドプレイ技術に関する。
【背景技術】
【０００２】
コンピューターと周辺機器とを接続するだけで適切なドライバーが自動でコンピューターにインストールされて周辺機器が使用可能になる技術をプラグアンドプレイと呼ぶ。一方、複数のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）をサポートするプリンターが存在する。これらのプリンターでは対応する全てのＰＤＬに対するプラグアンドプレイＩＤ（ＰｎＰ  ＩＤ）を使用してコンピューターでプラグアンドプレイを実施させて、対応する全てのＰＤＬ用のプリンタードライバーをコンピューターにインストールすることができる。しかしながら特定のＰＤＬしか使用しないユーザーにとって、使用しないＰＤＬ用のプリンタードライバーは必要ない。そのため特許文献１のようにどのＰＤＬのプラグアンドプレイを発生させるかをプリンター上でユーザーに選択させることができる技術が知られている。
また、近年、Ｗｉｎｄｏｗｓ（登録商標）ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）におけるＶ３プリンタードライバーとＶ４プリンタードライバー等のように、同じＯＳ上で動作するアーキテクチャの異なるプリンタードライバーが存在する。アーキテクチャの異なるプリンタードライバーは見た目や使用方法が異なるため、どちらのアーキテクチャのプリンタードライバーを使用するかも含めて特許文献１の方法でユーザーにＰｎＰ  ＩＤを選択させることができるプリンターも出てきている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０９７１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、将来、ＯＳが古いアーキテクチャのプリンタードライバーをサポートしなくなることが考えられる。特許文献１の方法で、サポートされない古いアーキテクチャのプリンタードライバー用のＰｎＰ  ＩＤがプリンターに設定してあると、将来のＯＳにおいて該当するプリンタードライバーがプラグアンドプレイでインストールできなくなるという課題が生じる。ユーザーはＰｎＰ  ＩＤを新しいアーキテクチャのプリンタードライバー用のＰｎＰ  ＩＤに変更しておくことでプラグアンドプレイインストールできるようになるが、手間がかかる。なお、プリンターは周辺装置の一例であり、他の周辺装置についても同様である。
【０００５】
本発明は上記従来例に鑑みて成されたもので、プラグアンドプレイの対象を選択し直すことなく適切なプリンタードライバーをプラグアンドプレイでインストールできる、インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を有する。
【０００７】
本発明の第１の側面によれば、周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われる。
【０００８】
また本発明の第２の側面によれば、周辺装置のための新旧の２つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該２つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記２つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記２つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われる。
【発明の効果】
【０００９】
本発明によれば、プラグアンドプレイの対象を選択し直すことなく適切なプリンタードライバーがプラグアンドプレイでインストールできる。
【図面の簡単な説明】
【００１０】
【図１】コンピューターとプリンターとの接続形態を示す図である。
【図２】コンピューターとプリンターの構成を示す図である。
【図３】ＰｎＰ  ＩＤを選択させるプリンターパネルのＵＩ遷移を示す図である。
【図４】実施例１、２におけるドライバーのインストールセットの構成を示した図である。
【図５】第一、第二のＶ３セットアップ情報ファイルの内容を示した図である。
【図６】第一、第二のＶ４セットアップ情報ファイルの内容を示した図である。
【図７】実施例１のインストーラーのプラグアンドプレイインストール処理フローである。
【図８】ＯＳのプラグアンドプレイ処理のフロー図である。
【図９】実施例２のインストーラーのプラグアンドプレイインストール処理フローである。
【図１０】実施例３におけるドライバーのインストールセットの構成を示した図である。
【図１１】第三のＶ３、Ｖ４セットアップ情報ファイルの内容を示した図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１２】
＜コンピューターと周辺装置とを含むシステム＞
図１は実施例１における情報処理装置であるコンピューター１０００とプリンター２０００との接続形態を示す図である。ここでは周辺装置の一例としてプリンターを用いて説明する。図１（ａ）ではネットワーク１００に対してコンピューター１０００とプリンター２０００が接続されている。本実施例はプラグアンドプレイに関するものであるが、図１（ａ）はＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ）  Ｄｉｓｃｏｖｅｒｙによるネットワークプラグアンドプレイを例としたものである。一方、図１（ｂ）はＵＳＢプラグアンドプレイにおけるコンピューター１０００とプリンター２０００との接続形態を示している。コンピューター１０００とプリンター２０００はＵＳＢケーブル２００によって接続されている。本実施例はプラグアンドプレイによるものであれば、ネットワーク接続時でもＵＳＢ接続時でも変わらず実施が可能である。
【００１３】
図２はコンピューター１０００とプリンター２０００の構成をブロック図として示した図である。始めに実施例１におけるコンピューター１０００の構成について説明する。コンピューター１０００はＣＰＵ１０４１とメモリ１０４２とを含む制御部１０４０が全体を制御している。表示部１０１０はディスプレイなどの出力装置、操作部１０２０はマウスやキーボードなどの入力装置を示す。また、記憶部１０３０にはＯＳ（オペレーティングシステム）１０３１や各種プログラム１０３２などのソフトウェアが保存されている。それらのプログラムは必要に応じてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。ＯＳ１０３１はコンピューター１０００の基本動作をつかさどるソフトウェアである。各種プログラム１０３２にはプリンタードライバーをはじめとするデバイスドライバーや、デバイスドライバーをインストールするためのインストーラープログラムを含む。ネットワーク通信部１０５０はネットワーク１００に接続して外部装置とのデータの入出力を行う。ＵＳＢ通信部１０６０はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）で接続された周辺装置などの外部装置とのデータの入出力を行う。実施例１におけるコンピューター１０００の処理は全て記憶部１０３０に記憶されたソフトウェアを制御部１０４０におけるメモリ１０４２にロードしてＣＰＵ１０４１が実行することによって実現される。なお、ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
【００１４】
次に、実施例１におけるプリンター２０００の構成を説明する。プリンター２０００はＣＰＵ２０４１とメモリ２０４２とを含む制御部２０４０が全体を制御している。表示部２０１０はパネルなどの出力装置、操作部２０２０はタッチパネルや各種ボタンによる入力装置を示す。これらのユーザーインターフェイスデバイスを用いてＰｎＰ  ＩＤの設定等の操作が行われる。また、記憶部２０３０にはＯＳ２０３１や各種プログラム２０３２が保存されている。これらのソフトウェアは必要に応じてメモリ２０４２にロードされ、ＣＰＵ２０４１によって実行される。ＯＳ２０３１はプリンター２０００の基本動作をつかさどるソフトウェアである。ネットワーク通信部２０５０はネットワーク１００に接続して外部装置とのデータの入出力を行う。ＵＳＢ通信部２０６０はＵＳＢで接続されたコンピューターなどの外部装置とのデータの入出力を行う。印刷部２０７０は、制御部２０４０の指示に従って用紙にトナーやインクを定着させて目的の画像を物理用紙上に形成することで印刷を行う。実施例１におけるプリンター２０００の処理は全て記憶部２０３０に記憶されたソフトウェアを制御部２０４０におけるメモリ２０４２にロードしてＣＰＵ２０４１が実行することによって実現される。
【００１５】
＜ＰｎＰ  ＩＤの選択＞
図３はＰｎＰ  ＩＤをユーザーに選択させるためのパネル上のユーザーインタフェース（ＵＩ）の遷移を示す図である。選択されたＰｎＰ  ＩＤは、例えば記憶部２０３０あるいはメモリ２０４２の不揮発領域に記憶され、ＰｎＰによりインストールされるデバイスドライバーに対応する識別情報としてコンピューター等のホスト装置に通知される。ここで示すユーザーインタフェースはプリンター２０００の表示部２０１０であるパネルに表示され、タッチパネルや各種ボタンなどの操作部１０２０によるユーザーからの入力を受け付けて遷移する。「システム管理設定」２１１０はプリンター２０００の各種システム管理を設定するためのＵＩである。本実施例におけるＰｎＰ  ＩＤの設定は「ページ記述言語（ＰｎＰ）」２１１１をシステム管理者が選択することで可能になる。選択後のＵＩが「ページ記述言語（ＰｎＰ）」２１２０の画面である。ここでは「ネットワーク」２１２１と「ＵＳＢ」２１２２のそれぞれに対してＰｎＰ  ＩＤが指定できる。
【００１６】
「ネットワーク」２１２１を選択後のＵＩが「ネットワーク  ＰｎＰ  ＩＤ」２１３０の画面である。プリンター２０００のシステム管理者はこの画面でネットワークプラグアンドプレイをさせたいＰｎＰ  ＩＤを指定する。プリンター２０００はここで指定されたＰｎＰ  ＩＤをコンピューター１０００との接続時にコンピューターに対して送信する。デフォルトの設定は「ＰＤＬ１（Ｖ３）」２１３２であるが、ここにはプリンター２０００がＰｎＰ  ＩＤとして使用できるＩＤが全て列挙されている。「ＦＡＸ（Ｖ３）」２１３１はコンピューター１０００上で動作するＶ３アーキテクチャのファクシミリドライバー（ＦＡＸドライバー）をプラグアンドプレイで接続するためのＰｎＰ  ＩＤである。システム管理者が「ＦＡＸ（Ｖ３）」２１３１を選択すると、プリンター２０００のネットワークＰｎＰ  ＩＤの設定が「ＦＡＸ（Ｖ３）」に変更され、画面は「ページ記述言語（ＰｎＰ）」２１２０に戻る。
【００１７】
同様に「ＰＤＬ１（Ｖ３）」２１３２と「ＰＤＬ２（Ｖ３）」２１３３は、それぞれＶ３アーキテクチャのＰＤＬ１用のドライバーとＰＤＬ２用のドライバーをプラグアンドプレイで接続するためのＰｎＰ  ＩＤである。同様に「ＦＡＸ（Ｖ４）」２１３４、「ＰＤＬ１（Ｖ４）」２１３５、「ＰＤＬ２（Ｖ４）」２１３６はそれぞれＶ４アーキテクチャのそれぞれのドライバーをプラグアンドプレイで接続するためのＰｎＰ  ＩＤである。このように、それぞれのＰｎＰ  ＩＤにはそれぞれ対応するプリンタードライバーがあり、システム管理者はＰｎＰ  ＩＤを選択することで、接続後のコンピューター１０００に自動インストールされるプリンタードライバーを制御することができる。
【００１８】
ここでＶ３アーキテクチャとＶ４アーキテクチャのプリンタードライバーについて簡単に説明する。Ｖ３アーキテクチャのプリンタードライバーとＶ４アーキテクチャのプリンタードライバーはファイル構成やＵＩが異なりＷｉｎｄｏｗｓ（登録商標）ＯＳ１０３１上で明確に区別される。Ｖ３は旧アーキテクチャ、Ｖ４は新アーキテクチャであり、Ｖ４アーキテクチャはＶ３アーキテクチャに対してよりセキュアで堅牢な構造となっている。また、Ｖ４アーキテクチャのプリンタードライバーはＶ３アーキテクチャのプリンタードライバーに比べて最新のアプリケーションに対する親和性が高い。ＰＤＬはページ記述言語であり、プリンターに出力するデータ形式を示している。同一のＰＤＬであってもＶ３アーキテクチャとＶ４アーキテクチャのそれぞれのプリンタードライバーを作成することができる。また、それぞれのプリンタードライバーには複数バージョンが存在し、機能追加や障害修正のためにバージョンアップが行われる。オペレーティングシステムには、Ｖ３、Ｖ４といった新旧のアーキテクチャの両方またはいずれかをインストールできるものが、そのバージョンによって存在し得る。すなわちオペレーティングシステムはデバイスドライバーをインストールするインストール環境であり、インストールできるデバイスドライバーはその環境に応じて変わり得る。
【００１９】
さて、画面２１２０上で「ＵＳＢ」２１２２選択後のＵＩが「ＵＳＢ  ＰｎＰ  ＩＤ」２１４０の画面である。内容は「ネットワークＰｎＰ  ＩＤ」２１３０と同等なのでここでは説明は割愛する。以上のように、本実施例において、プリンター２０００のシステム管理者はネットワーク接続、ＵＳＢ接続のそれぞれで別のＰｎＰ  ＩＤを指定することができるようになっている。さらに、それぞれの接続方式において、インストール可能な複数のデバイスドライバーのうちから所望のデバイスドライバーのＰｎＰ  ＩＤを指定し、プリンター２０００に格納させることができる。
【００２０】
＜ドライバーのインストールセット＞
図４は本実施例におけるＰＤＬ１のプリンタードライバーのインストールセット１１００の構成を示した図である。インストールセット１１００はインストーラー（実行ファイル）１１１０、各種ドライバーセットアップ情報ファイル１１２０〜１１５０、およびＯＳの下でドライバーを構築するためのドライバーファイル群から構成されている。さらにドライバーファイル群はＶ３アーキテクチャのドライバーファイル群１１６０、Ｖ４アーキテクチャのドライバーファイル群１１７０で構成されている。インストーラー１１１０は実行形式のプログラムファイルであり、コンピューター１０００上でユーザーによって起動されると、メモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。ドライバーセットアップ情報ファイルはドライバーをコンピューター１０００にインストールするために必要な情報がテキスト形式で記載されたファイルである。具体的には、ドライバーのバージョン情報やドライバーのモデル名称、ドライバーを構成するファイルの名称などが記載されている。ＯＳ１０３１はドライバーセットアップ情報ファイルを元にドライバーのインストールを行うことができる。なお、ドライバーセットアップ情報ファイルはＷｉｎｄｏｗｓ（登録商標）ＯＳにおいてはＩＮＦファイルと呼ばれている。本実施例におけるドライバーのインストールセット１１００の中にはドライバーセットアップ情報ファイルが４種類存在する。第一のＶ３セットアップ情報ファイル１１２０と第二のＶ３セットアップ情報ファイル１１３０はどちらもＶ３アーキテクチャのドライバーをインストールするためのファイルである。一方、第一のＶ４セットアップ情報ファイル１１４０と第二のＶ４セットアップ情報ファイル１１５０はどちらもＶ４アーキテクチャのドライバーをインストールするためのファイルである。それぞれのセットアップ情報ファイルの内容は後述する。Ｖ３ドライバーファイル群１１６０は例えばＵＩ制御を行うためのＤＬＬ（ダイナミックリンクライブラリ）ファイルや印刷実行時の描画処理を行うためのＤＬＬファイル、色処理のためのＩＣＣプロファイルファイルなどを含む。一方、Ｖ４ドライバーファイル群１１７０は例えば印刷設定の記載されたＧＰＤファイル、ＵＩコンフリクトを記述したＪａｖａＳｃｒｉｐｔファイル、印刷実行時の描画処理を行うフィルターと呼ばれるＤＬＬファイルなどを含む。
【００２１】
＜セットアップ情報ファイルの内容の例＞
次に図５と図６を用いて各種セットアップ情報ファイルの内容について説明する。図５（ａ）は第一のＶ３セットアップ情報ファイル１１２０の内容を示している。行５１０１は行５１０２から行５１０４が［Ｖｅｒｓｉｏｎ］セクションであることを示している。［Ｖｅｒｓｉｏｎ］セクション５１０１にはドライバーのクラスやドライバーのバージョンが含まれる。クラス５１０２はこのドライバーのクラスがプリンターに対するドライバーであることを示している。メーカー名５１０３はこのセットアップ情報ファイルの提供元のメーカー名を示している。なお、「％ＯＥＭ％」はこのファイルの後半に存在する不図示の「Ｓｔｒｉｎｇ」セクションで定義されている文字列を示している。バージョン５１０４はこのドライバーの作成日およびバージョンを示している。
【００２２】
行５１０６は続く行５１０７が［Ｍａｎｕｆａｃｔｕｒｅｒ］セクションであることを示している。［Ｍａｎｕｆａｃｕｒｅｒ］セクション５１０６はこのドライバーが扱うデバイスのメーカー名を示している。メーカー名５１０７はメーカー名とそれに対応するモデル名セクションのセクション名を示している。ここではメーカー名として「Ｃｏｍｐａｎｙ  Ｎａｍｅ」、モデル名セクションのセクション名として「Ｃｏｍｐａｎｙ＿Ｎａｍｅ」が指定されている。モデル名セクションとはインストールするプリンタードライバーのモデル名称とそれに対応するドライバーのファイル群、プラグアンドプレイのＩＤなどをリストしたセクションである。
【００２３】
行５１０９は続く行５１１０と行５１１１が「Ｃｏｍｐａｎｙ＿Ｎａｍｅ」というセクション名のモデル名セクション５１０９であることを示している。モデル名称５１１０は「ＰＤＬ１  Ｐｒｉｎｔｅｒ」のモデル名称のプリンタードライバーのファイル群のファイル名が不図示の［ＰＤＬ１］セクションに記載されていることを示している。［ＰＤＬ１］セクションにはＶ３ドライバーファイル群１１６０の各ファイルのファイル名などが記載されている。モデル名称５１１０は同時に、ＷＳＤ  Ｄｉｓｃｏｖｅｒｙにおいて「ＰＤＬ１（Ｖ３）」のＰｎＰ  ＩＤでプラグアンドプレイが発生した時に「ＰＤＬ１  Ｐｒｉｎｔｅｒ」のモデル名称でプリンタードライバーをインストールするということも示している。なお、行５１１０の「ＷＳＤＰＲＩＮＴ￥」はプリンター２０００がＷＳＤプロトコルのプリンターであることを示している。モデル名称５１１１では同様にＵＳＢ接続時に「ＰＤＬ１（Ｖ３）」のＰｎＰ  ＩＤでプラグアンドプレイが発生した時に「ＰＤＬ１  Ｐｒｉｎｔｅｒ」のモデル名称でプリンタードライバーをインストールするという事が示されている。モデル名称５１１１の「ＵＳＢＰＲＩＮＴ￥」はプリンター２０００がＵＳＢプロトコルのプリンターであることを示している。第一のＶ３セットアップ情報ファイル１１２０は、コンピューターにＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」のプリンター２０００が接続された時にＶ３ドライバーファイル群１１６０をインストールする、ということを示したファイルという事になる。それは接続プロトコルがＷＳＤであるかＵＳＢであるかに拠らない。
【００２４】
図５（ｂ）は第二のＶ３セットアップ情報ファイル１１３０の内容を示している。行５２０１から行５２１１は図５（ａ）で説明済みのため説明を割愛する。モデル名称５２１２と５２１３とには、ＰｎＰ  ＩＤが「ＰＤＬ（Ｖ４）」のデバイスについてプラグアンドプレイが発生した時に「ＰＤＬ１  Ｐｒｉｎｔｅｒ」のモデル名称でプリンタードライバーをインストールするという事が示されている。第二のＶ３セットアップ情報ファイル１１３０では、コンピューターにＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」または「ＰＤＬ１（Ｖ４）」のプリンター２０００が接続された時にＶ３ドライバーファイル群１１６０をインストールすることが示されている。
【００２５】
第一のＶ３セットアップ情報ファイル１１２０と第二のＶ３セットアップ情報ファイル１１３０との違いは、第二のＶ３セットアップ情報１１３０だけＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ４）」であるデバイスのプラグアンドプレイ時にＶ３ドライバーをインストールする点である。
【００２６】
図６（ａ）は第一のＶ４セットアップ情報ファイル１１４０の内容を示している。［Ｖｅｒｓｉｏｎ］セクション６１０１「ＣｌａｓｓＶｅｒ」属性６１０４に値として「４．０」が指定されている。これはセットアップ情報ファイル１１４０がＶ４ドライバーをインストールするためのセットアップ情報ファイルであることを示している。他の行については図５（ａ）で示した第一のＶ３セットアップ情報ファイル１１２０と同等であるため説明を割愛する。第一のＶ４セットアップ情報ファイル１１４０では、コンピューターにＰｎＰ  ＩＤが「ＰＤＬ（Ｖ４）」のプリンター２０００が接続された時にＶ４ドライバーファイル群１１７０をインストールする、ということを示したファイルという事になる。
【００２７】
図６（ｂ）は第二のＶ４セットアップ情報ファイル１１５０の内容を示している。第一のＶ４セットアップ情報ファイル１１４０との違いは、モデル名称セクションにＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」であるデバイスに関する記述が含まれていることである。そのため第二のＶ４セットアップ情報１１５０では「ＰＤＬ１（Ｖ３）」のＰｎＰ  ＩＤのプラグアンドプレイ時にＶ４ドライバーをインストールする点が第一のＶ４セットアップ情報ファイル１１４０と相違する。
【００２８】
＜インストーラーによるデバイスドライバーのインストール処理＞
次に、図７を用いて本実施例のインストーラーのプラグアンドプレイインストール処理について説明する。これらの処理を実行するインストーラー１１１０はすべてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。なお図７に示す処理は、プリンタードライバーをインストールしようとするプリンターがコンピューターに接続されていな状態で行われるインストール制御方法を示す。なおインストール制御方法には、ＯＳによる後述する図８のセットアップ処理を含むこともある。ユーザーによってインストーラー１１１０が起動されると、インストーラー１１１０はユーザーからのインストール方法の入力を受け付ける（Ｓ７０１）。インストール方法はプラグアンドプレイインストールの他に、自動でネットワーク探索を行う探索インストールや手動でポートを指定するカスタムインストールなどがある。次にインストーラー１１１０は入力されたインストール方法がプラグアンドプレイインストールかどうかを判定する（Ｓ７０２）。インストーラー１１１０はプラグアンドプレイインストール以外が選択されたと判定した場合は選択された方法でのインストール処理を行うが（Ｓ７１１）、ここでは説明を割愛する。プラグアンドプレイインストールが選択されていると判定した場合は、インストーラー１１１０は、ＯＳ１０３１のバージョン情報などを含む能力情報を取得する（Ｓ７０３）。インストーラー１１１０は、Ｓ１０３で取得した能力情報に基づき、ＯＳ１０３１にインストール可能なドライバーのアーキテクチャを判断する（ＳＳ７０４）。逆に言えば、能力情報とは、それに基づいて、ＯＳ１０３１にインストール可能なドライバーのアーキテクチャを判定することができるような情報である。ＯＳにインストールできるドライバーのアーキテクチャはＯＳのバージョンで決まるので、ＯＳのバージョン情報は能力情報に含まれる。ＯＳのバージョンとインストール可能なドライバーのアーキテクチャの対応付けに関する情報をインストーラー１１１０が予め有していれば、インストーラー１１１０はＳ７０４の判定を行うことができる。
【００２９】
ＯＳ１０３１がＶ３アーキテクチャのプリンタードライバーのみインストール可能なＯＳであると判定された場合、インストーラー１１１０は第二のＶ３セットアップ情報ファイル１１３０でＶ３ドライバーをインストールする（Ｓ７０５）。ＯＳ１０３１がＶ３アーキテクチャもＶ４アーキテクチャもインストール可能なＯＳであると判定された場合、インストーラー１１１０は第一のＶ３セットアップ情報ファイル１１３０でＶ３ドライバーをインストールする（Ｓ７０６）。さらに、第一のＶ４セットアップ情報でＶ４ドライバーもインストールする（Ｓ７０７）。すなわち、Ｖ３ドライバーとＶ４ドライバーの両方をインストールする。また、ＯＳ１０３１がＶ４アーキテクチャのプリンタードライバーのみインストール可能なＯＳであると判定された場合、インストーラー１１１０は第二のＶ４セットアップ情報でＶ４ドライバーをインストールする（Ｓ７０８）。なお、ここに記載した「インストール」とは、ＯＳ１０３１に対してセットアップ情報を指定してそのドライバーをＯＳ１０３１の管理下にすることを示している。ＯＳ１０３１の管理下のドライバーに対してはさらにＯＳによるプラグアンドプレイ処理（図８に示す）でプリンターオブジェクト（プリンターキューとも呼ぶ）が生成される。これにより、ユーザーが、当該プリンタードライバーを用いてプリンター２０００により印刷を行わせることが可能になる。プリンターオブジェクトの生成タイミングについては後述する。インストーラー１１１０はＯＳ１０３１の能力情報に応じたドライバーのインストールが終了した後に、ユーザーに対してプリンター２０００の接続指示を行う（Ｓ７０９）。その後、インストーラー１１１０はＯＳ１０３１が行うプラグアンドプレイ処理を待つ（Ｓ７１０）。インストーラー１１１０はプラグアンドプレイ処理が終了したらインストーラーの処理を終了する。
【００３０】
＜ＯＳによるデバイスドライバーのインストール手順＞
図８はＯＳ１０３１が行うプラグアンドプレイ処理のフローを説明している。ここでのプラグアンドプレイ処理とはコンピューターに対して初めてプリンター２０００が接続された時に、対応するプリンターオブジェクトを生成し、ユーザーが印刷できるようにするまでの処理を指す。これらの処理はすべてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。始めに、プリンター２０００のプラグアンドプレイ接続を検知する（Ｓ８０１）。ここでの接続形態はＷＳＤやＵＳＢなどが考えられるがどちらでも良い。プリンター２０００はコンピューターとの接続時に図３で示したシステム管理設定のＰｎＰ  ＩＤで選択されたＰｎＰ  ＩＤをコンピューターに返す。ＯＳ１０３１はプリンター２０００の接続を検知したらプリンター２０００からのＰｎＰ  ＩＤを取得する（Ｓ８０２）。次に図７の手順でインストーラー１１１０によりインストールされたプリンタードライバーのセットアップ情報ファイルの中から、取得したＰｎＰ  ＩＤに対応するセットアップ情報を検索する（Ｓ８０３）。
【００３１】
検索の対象は例えばセットアップ情報のモデル名セクションであり、モデル名セクションに含まれたモデル名称のなかから、Ｓ８０２で取得したＰｎＰ  ＩＤに相当する項目が検索される。たとえば、図６に示したセットアップ情報１１３０でＶ３ドライバーがインストールされており、デバイスからはＰｎＰ  ＩＤとプロトコルとを組み合わせた「ＷＳＤＰＲＩＮＴ￥ＰＤＬ１（Ｖ４）」が得られているものとする。その場合には、モデル名セクション５２０９をプロトコルとＰｎＰ  ＩＤとの組、すなわち「ＷＳＤＰＲＩＮＴ￥ＰＤＬ１（Ｖ４）」で検索する。プロトコルが別途得られている場合にはそれを組み合わせればよい。この例では、モデル名称５２１２が該当するので、その欄に記載された「ＰＤＬ１」なるセクション名のセクション（不図示）から、「ＰＤＬ１  Ｐｒｉｎｔｅｒ」のモデル名称のプリンタードライバーファイル群のファイル名を特定することができる。
【００３２】
そして、ＯＳは、見つかったセットアップ情報のドライバーで新しいプリンターオブジェクトを生成する（Ｓ８０４）。さらにプリンターオブジェクトのポートを接続されたプリンター２０００のポートに設定して（Ｓ８０５）、終了する。なお、図８に示した工程、特にＳ８０４、Ｓ８０５の工程は、プリンタードライバーのインストール工程の一部ではあるが、図７の手順と区別するために、図７の手順をインストールと呼び、図８の手順特にＳ８０４，Ｓ８０５をまとめてセットアップと呼ぶことがある。
【００３３】
なお、デバイスの接続によって、デバイスからデバイスクラス情報が取得されている場合には、インストールされているドライバーのセットアップ情報が、該当するデバイスクラスの者であるか否かを、バージョンセクションのクラス名を参照して判定する。該当すれば、その中のモデル名セクションから取得したＰｎＰ  ＩＤを検索する。このようにすることで、インストールしたドライバーと同じるデバイスクラスおよびメーカーのデバイスについてのみ、インストールしたドライバがセットアップされることになる。
【００３４】
＜具体例＞
図５、図６を参照して具体例を説明する。図５，図６に例示したセットアップ情報の「ＰＤＬ１」セクションはすべてのセットアップ情報に共通である。しかし、そのセクションに示されたドライバーファイル名は、Ｖ３セットアップ情報１１２０，１１３０とＶ４セットアップ情報１１４０，１１５０とで異なっていてよい。それによりＶ３，Ｖ４それぞれに応じたファイル群がインストールできる。ただし、ひとつのセットアップ情報においては、セクション名称は固有なので、同じセクション名称の参照は、同じドライバーがインストールされることを示す。たとえば図５（ｂ）の例では、図７の手順で第二のＶ３セットアップ情報１１３０でインストールされたドライバーは、プリンターのＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」であろうと、「ＰＤＬ１（Ｖ４）」であろうと、「ＰＤＬ１」セクションに記述されたファイル名のドライバー群すなわち所定のドライバー（この例ではＶ３ドライバー）である。図８の手順によりＶ３ドライバーのセットアップが行われる。この場合にはユーザーが利用できるプリンターは、ＰｎＰ  ＩＤの値「ＰＤＬ（Ｖ３）」に応じたＶ３ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。また例えば図６（ｂ）に示した第二のＶ４セットアップ情報１１５０でＶ４ドライバーがインストールされた場合には、プリンターのＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」であろうと、「ＰＤＬ１（Ｖ４）」であろうと、同じＶ４ドライバーがインストールされる。そして図8の手順により「ＰＤＬ１」セクションに記述されたファイル名のプリンタードライバーでセットアップが行われる。したがってこの場合にはユーザーが利用できるプリンターは、ＰｎＰ  ＩＤの値「ＰＤＬ１（Ｖ４）」に応じたＶ４ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。
【００３５】
これに対して、図７のＳ７００，７０７で、第１のＶ３セットアップ情報でＶ３ドライバーが、第１のＶ４セットアップ情報でＶ４ドライバーがインストールされる。この場合には、ＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」であればＶ３ドライバーで、「ＰＤＬ１（Ｖ４）」であればＶ４ドライバーでセットアップが行われる。したがってこの場合にはユーザーが利用できるプリンターは、ＰｎＰ  ＩＤの値が「ＰＤＬ１（Ｖ３）」であればＶ３ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。一方、「ＰＤＬ１（Ｖ４）」であればＶ４ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。
【００３６】
＜実施例の効果＞
図７と図８で説明したようなフローでドライバーのインストールを行う事で下記のような効果が得られる。すなわち、Ｖ３ドライバーしかインストールできないＯＳに対しては、プリンター２０００からのＰｎＰ  ＩＤがＶ３ドライバー用の「ＰＤＬ（Ｖ３）」であってもＶ４ドライバー用の「ＰＤＬ（Ｖ４）」であってもＶ３ドライバーを用いて印刷が可能となる。同様にＶ４ドライバーしかインストールできないＯＳに対しても、同様にＶ４ドライバーを用いて印刷が可能となる。さらにＶ３もＶ４もインストール可能なＯＳに対してはシステム管理者がプリンター２０００のパネル２１２０で指定したアーキテクチャのドライバーを用いて印刷が可能となる。
【実施例２】
【００３７】
実施例１ではＶ３アーキテクチャのプリンタードライバーもＶ４アーキテクチャのプリンタードライバーも両方インストール可能なＯＳに対してそれぞれプリンター２０００のパネル２１２０で指定したアーキテクチャのドライバーをインストールする方法を述べた。しかし、Ｖ３ドライバーとＶ４ドライバーはそれぞれの能力が異なり、できる事に差異がある。そのため、環境によってはＶ３ドライバーとＶ４ドライバーの両方がインストール可能なＯＳに対してはＶ４ドライバーを優先してインストールさせたいというユースケースも存在する。このような場合にも対応可能としたのが実施例２である。
【００３８】
図９（ａ）は実施例２におけるインストーラー１１１０のプラグアンドプレイインストール処理を示したものである。これらの処理もすべてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。実施例１と異なる点は、インストーラー１１１０がＯＳ１０３１にインストール可能なドライバーのアーキテクチャに応じて行う動作の内容である。Ｖ３ドライバーのみインストール可能なＯＳに対しては実施例１と同様に第二のＶ３セットアップ情報ファイル１１３０でＶ３ドライバーをインストールする（Ｓ９０５）。一方、Ｖ４ドライバーがインストール可能なＯＳに対しては全て第二のＶ４セットアップ情報を用いてＶ４ドライバーをインストールする（Ｓ９０６）。こうすることで、Ｖ３もＶ４もインストール可能なＯＳに対して、プリンターパネル２１２０でのＰｎＰ  ＩＤの設定が「ＰＤＬ（Ｖ３）」だったとしてもＶ４ドライバーのプリンターオブジェクトを優先してＯＳ１０３１に生成させることができる。その他の動作や構成要素は実施例１に示したものと同様であるため説明は割愛する。
【００３９】
図９（ｂ）は図（ａ）で示したフローとは反対のユースケースに対応するためのインストーラー１１１０の処理フローを示している。これらの処理もすべてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。Ｖ４ドライバーのみインストール可能なＯＳに対しては第二のＶ４セットアップ情報でＶ４ドライバーをインストールする（Ｓ９１６）。一方でＶ３ドライバーがインストール可能なＯＳに対しては全て第二のＶ３セットアップ情報ファイル１１３０を用いてＶ３ドライバーをインストールする（Ｓ９１５）。このようにすることで、Ｖ３もＶ４もインストール可能なＯＳ１０３１に対して、プリンターパネル２１２０でのＰｎＰ  ＩＤの設定が「ＰＤＬ（Ｖ４）」だったとしてもＶ３ドライバーのプリンターオブジェクトを優先してＯＳ１０３１に生成させることができる。
【００４０】
図９（ａ）で示したフローと図９（ｂ）で示したフローは独立して実施することも可能であるが、実施例１のフロー（図７）も含めてユーザーにどのフローでインストールするかを選択させて実施することも可能である。すなわち、インストーラー１１１０はインストール前にＵＩを用いて図７、図９（ａ）、図９（ｂ）のいずれかフローを実行するかをユーザーに選択させてもよい。この選択は、たとえば優先するドライバーのバージョンの選択により行ってもよく、Ｖ４ドライバーが選択されれば図９（ａ）が、Ｖ３ドライバーが選択されれば図９（ｂ）が実行され、優先順が選択されなければ図７が実行されるように構成してもよい。こうすることで、プリンターパネル２１２０でのＰｎＰ  ＩＤの設定に関わらず、ユーザーがプラグアンドプレイインストールしたいドライバーのアーキテクチャを自由に制御することができるという効果がある。かつＯＳ１０３１の能力情報によってドライバーがインストールできないという問題も発生しない。
【実施例３】
【００４１】
ここでは実施例１、実施例２とは異なるセットアップ情報ファイルを用意することで本発明を実施する方法について述べる。図１０は実施例３におけるプリンタードライバーのインストールセット１２００の構成を示した図である。インストーラー１２１０、ドライバーファイル群１２４０、１２５０は実施例１と同等であるので説明を割愛する。実施例１との違いはプリンタードライバーのインストールのために第三のＶ３セットアップ情報１２２０と第三のＶ４セットアップ情報１２３０を用いる点である。また、インストーラー１２１０によるドライバーのインストール手順は、図７のＳ７０５からＳ７０８における「第一」と「第二」とをいずれも「第三」と読み替えたものである。あるいは、ＯＳの能力を判定することなく、第三のＶ３セットアップ情報を用いたインストールおよび第三のＶ４セットアップ情報を用いたインストールを無条件に行ってもよい。
【００４２】
第三のＶ３セットアップ情報ファイル１２２０の内容を示したのが図１１（ａ）である。［Ｖｅｒｓｉｏｎ］セクション７１０１は第一のＶ３セットアップ情報ファイル１１２０のものと同じであるため説明を割愛する。［Ｍａｎｕｆａｃｔｕｒｅｒ］セクション７１０６内のメーカー名７１０７には、モデル名セクションのセクション名である「Ｃｏｍｐａｎｙ＿Ｎａｍｅ」の記載の横に各ＯＳのバージョンを「，」区切りで列挙してある。これにより、後に続くモデル名セクションをＯＳのバージョンごとに記載することが可能となる。本例では、モデル名セクションのセクション名は、モデル名称とバージョンとをピリオドで区切って示される。モデル名セクション７１０９は、後に続く行７１１０から行７１１３が［Ｃｏｍｐａｎｙ＿Ｎａｍｅ．ＯＳ＿Ａ］というセクション名のモデル名セクションであることを示している。さらにモデル名セクション７１１５は、後に続く行７１１６と行７１１７が［Ｃｏｍｐａｎｙ＿Ｎａｍｅ．ＯＳ＿Ｂ］というセクション名のモデル名セクションであることを示している。このようにセットアップ情報ファイルのモデル名セクションをＯＳのバージョンごとに記載する。ＯＳのバージョンは、そのＯＳの下でインストールできるドライバーのバージョンを示す情報でもある。これにより、インストール対象のＯＳのバージョンすなわち能力情報によって、どのＰｎＰ  ＩＤを対象とするドライバーと関連付けてインストールするかをＯＳが制御する。本実施例ではＯＳ＿ＡをＶ３アーキテクチャのドライバーしかインストールできないＯＳ、ＯＳ＿ＢをＶ３アーキテクチャのドライバーもＶ４アーキテクチャのドライバーもインストールできるＯＳと仮定している。さらに、ＯＳ＿ＣをＶ４アーキテクチャのドライバーしかインストールできないＯＳと仮定している。ＯＳは図８のＳ８０３において、［Ｍａｎｕｆａｃｔｕｒｅｒ］セクション７１０６内のメーカー名７１０７にＯＳのバージョンが記載されていると、そのバージョンを含む名称のモデル名セクションを検索する。さらに、該当するセクション内で、取得したＰｎＰ  ＩＤを、プロトコルを含めて検索する。第三のＶ３セットアップ情報ファイル１２２０を用いることでＯＳ＿ＡではＰｎＰ  ＩＤに関わらずＶ３をインストールことができ、ＯＳ＿ＢではＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ３）」の時のみＶ３をインストールすることができる。
【００４３】
第三のＶ４セットアップ情報ファイル１２３０の内容を示したのが図１１（ｂ）である。詳細な説明は繰り返しになるため割愛する。こちらを用いることでＯＳ＿ＣにおいてはＰｎＰ  ＩＤに関わらずＶ４ドライバーをインストールことができ、ＯＳ＿ＢにおいてはＰｎＰ  ＩＤが「ＰＤＬ１（Ｖ４）」の時のみＶ４ドライバーをインストールすることができる。すなわち、第三のＶ３セットアップ情報ファイル１２２０と第三のＶ４セットアップ情報ファイル１２３０をどちらもあらかじめインストールしておくことで、プラグアンドプレイインストール時に実施例１と同様の効果を得ることができる。
【００４４】
以上、実施例１から実施例３を用いて本発明の実施形態とその効果について図面を用いて説明した。なお、本発明の効果と関係のない公知技術に関しては割愛して説明した。セットアップ情報ファイルの内容や処理フローなど、詳細に関しては本実施例の通りの実装でなくても構わない。さらに、本実施例では主に「ＰＤＬ１」のドライバーを対象に説明を行ったが、「Ｆａｘ」や「ＰＤＬ２」でも同様に実施することで同様の効果を得ることができる。また、本実施例ではコンピューター１０００のＯＳ１０３１としてＷｉｎｄｏｗｓ（登録商標）ＯＳを用いて説明したが他のＯＳで実施してもよい。
【００４５】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４６】
１１００：インストールセット、１１１０：インストーラー、１１２０：第一のＶ３セットアップ情報、１１３０：第二のＶ３セットアップ情報、１１４０：第一のＶ４セットアップ情報、１１５０：第二のＶ４セットアップ情報
【図１】
0006557594.tif 000002
【図２】
0006557594.tif 000003
【図３】
0006557594.tif 000004
【図４】
0006557594.tif 000005
【図５】
0006557594.tif 000006
【図６】
0006557594.tif 000007
【図７】
0006557594.tif 000008
【図８】
0006557594.tif 000009
【図９】
0006557594.tif 000010
【図１０】
0006557594.tif 000011
【図１１】
0006557594.tif 000012