(57)【特許請求の範囲】
【請求項１】
インストール済の第１デバイスドライバのバージョンを特定する第１特定部と、
インストール対象の第２デバイスドライバのバージョンを特定する第２特定部と、
ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する記憶部と、
前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する検証部と、
前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する実行部と、
を備えた情報処理装置。
【請求項２】
前記互換性情報は、バージョンアップインストールが必要であるが、追加対象の新機能の内の一部を制限機能として制限すれば前記機能情報の追加により対応することが可能である事を示す制約情報を更に含み、
前記第１の特定部は、前記第１デバイスドライバで対応可能な周辺機器の機種及び機能を更に特定し、
前記第２の特定部は、前記第２デバイスドライバで対応可能な周辺機器の機種及び機能を更に特定し、
前記検証部は、前記第２デバイスドライバへのバージョンアップが前記機能情報の追加によって可能であるか否かを更に検証し、
前記実行部は、前記第２デバイスドライバへのバージョンアップが前記機能情報の追加によって可能と検証された場合に、前記第１特定部によって特定された機種及び機能と、前記第２特定部によって特定された機種及び機能と、の差分から、前記第２デバイスドライバのバージョンに対応する前記互換性情報に示される制限機能に対応する機能を除いた差分情報を、前記第１のデバイスドライバに追加する、
請求項１に記載の情報処理装置。
【請求項３】
前記実行部は、前記第２デバイスドライバへのバージョンアップが前記機種情報の追加で対応否と検証された場合に、前記第２デバイスドライバのインストールを行う、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記検証部は、前記第２デバイスドライバのバージョンが前記第１デバイスドライバのバージョンより新しい場合に、前記検証を行う、請求項１〜請求項３の何れか１項に記載の情報処理装置。
【請求項５】
ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する記憶部を備えたコンピュータに実行させるためのプログラムであって、
インストール済の第１デバイスドライバのバージョンを特定する第１ステップと、
インストール対象の第２デバイスドライバのバージョンを特定する第２ステップと、
前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する第３ステップと、
前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する第４ステップと、
を前記コンピュータに実行させるためのプログラム。
【請求項６】
ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する記憶部を備えたコンピュータに、
インストール済の第１デバイスドライバのバージョンを特定する第１ステップと、
インストール対象の第２デバイスドライバのバージョンを特定する第２ステップと、
前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する第３ステップと、
前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する第４ステップと、
を実行させるためのプログラムを記憶した読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
ネットワークに接続されたプリンタ、スキャナ、ファックス、コピー機等の周辺機器を、ホストコンピュータ等の情報処理装置で制御することが行われている。この制御のためには、情報処理装置に、周辺機器の機種の各々に対応する制御プログラム（ドライバ、またはデバイスドライバと称する）をインストールする必要がある。
【０００３】
ここで、１の周辺機器ではなく、機種の異なる複数種類の周辺機器を制御するためのデバイスドライバとして、ユニバーサルプリンタドライバ等の、ユニバーサルデバイスドライバが知られている。ユニバーサルデバイスドライバを用いることで、１のデバイスドライバで複数種類の周辺機器を制御することができる。しかし、従来のユニバーサルデバイスドライバでは、ドライバ内に保持している機種情報リストに登録されていない機種の周辺機器には対応することが出来ず、該機種の周辺機器に対応したバージョンへのバージョンアップが必要であった。
【０００４】
情報処理装置にインストールされているデバイスドライバのインストールにかかる作業を削減する方法として、例えば、特許文献１や特許文献２が開示されている。
【０００５】
特許文献１には、既にインストールされている特定のデバイスドライバに対する機能追加の情報を記述した追加機能データファイルを用意し、この追加機能データファイルの内容を、既にインストールされているデバイスドライバに反映させることが開示されている。
【０００６】
また、特許文献２には、周辺機器ドライバを、全ての周辺機器に共通仕様である基本プログラムを具備した構成とし、接続対象の周辺機器が保持する差分プログラムや、該周辺機器の機能に対応する機能プログラム等を含む周辺機器依存ファイルを、基本プログラムに追加することが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来では、周辺機器の機種に共通のドライバに対して、接続対象の周辺機器固有の機能を追加することは開示されている。機種の異なる複数種類の周辺装置を制御するユニバーサルデバイスドライバについて、容易に、制御可能な対応機種を追加することは困難であった。
【０００８】
本発明は、上記に鑑みてなされたものであって、機種の異なる複数種類の周辺装置を制御するためのユニバーサルデバイスドライバについて、容易に新たな機種を対応させることができる、情報処理装置、プログラム、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、第１特定部と、第２特定部と、記憶部と、検証部と、実行部と、を備える。第１特定部は、インストール済の第１デバイスドライバのバージョンを特定する。第２特定部は、インストール対象の第２デバイスドライバのバージョンを特定する。記憶部は、ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する。検証部は、前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する。実行部は、前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する。
【００１０】
本発明のプログラムは、ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する記憶部を備えたコンピュータに実行させるためのプログラムであって、インストール済の第１デバイスドライバのバージョンを特定する第１ステップと、インストール対象の第２デバイスドライバのバージョンを特定する第２ステップと、前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する第３ステップと、前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する第４ステップと、を前記コンピュータに実行させるためのプログラムである。
【００１１】
本発明の記憶媒体は、ドライバのバージョン毎に、異なるバージョンのデバイスドライバへのバージョンアップ時にバージョンアップインストールが必要となるデバイスドライバのバージョンと、該バージョンアップ時に周辺機器の所定の機種の機能に関する機種情報の追加で対応可能なデバイスドライバのバージョンとを示す互換性情報を記憶する記憶部を備えたコンピュータに、インストール済の第１デバイスドライバのバージョンを特定する第１ステップと、インストール対象の第２デバイスドライバのバージョンを特定する第２ステップと、前記第１特定部において特定された前記第１デバイスドライバのバージョンと前記第２特定部において特定された前記第２デバイスドライバのバージョンと前記互換性情報とに基づいて、前記第１デバイスドライバの前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であるか否かを検証する第３ステップと、前記第２デバイスドライバへのバージョンアップが前記機種情報の追加によって可能であると検証された場合に、前記第１デバイスドライバが対応可能な周辺機器の機種と前記第２デバイスドライバが対応可能な周辺機器の機種の差分の機種における前記機種情報を前記第１のデバイスドライバに追加する第４ステップと、を実行させるためのプログラムを記憶した読取り可能な記憶媒体である。
【発明の効果】
【００１２】
本発明によれば、機種の異なる複数種類の周辺装置を制御するためのユニバーサルデバイスドライバについて、容易に新たな機種を対応させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施の形態の情報処理システムの構成を示す図である。
【図２】図２は、バージョン間互換性情報ファイルの一例を示す模式図である。
【図３】図３は、情報処理装置のソフトウェア構成を示す模式図である。
【図４】図４は、情報処理装置で実行するインストール処理の手順を示すフローチャートである。
【図５】図５は、インストール方式選択画面の一例を示す模式図である。
【図６】図６は、選択可能な機種リストを示す画面である。
【図７】図７は、選択可能な機種リストを示す画面である。
【図８】図８は、インストール方式選択画面の一例を示す模式図である。
【図９】図９は、インストール方式選択画面の一例を示す模式図である。
【図１０】図１０は、機種情報ファイルの一例を示す模式図である。
【図１１】図１１は、機能表示画面の一例を示す模式図である。
【図１２】図１２は、機能表示画面の一例を示す模式図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、情報処理装置、プログラム、及び記録媒体の実施の形態を詳細に説明する。図１は、本実施の形態にかかる、情報処理システムの構成を示す図である。
【００１５】
図１に示すように、本実施の形態の情報処理システム１０００は、情報処理装置１００、サーバ２００、及び機種の異なる複数種類の周辺機器としての画像形成装置４００が、ネットワーク３００を介して接続されている。
【００１６】
ネットワークは、有線通信網であっても無線通信網であってもよい。ネットワークは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用い、Ｅｔｈｅｒｎｅｔ（登録商標）やＴＣＰ／ＩＰなどの通信プロトコルを利用する。
【００１７】
画像形成装置４００は、記録媒体に画像を形成する画像形成機能等を備えた公知の画像形成装置である。なお、図１には、説明を簡略化するために、１台の画像形成装置４００がネットワーク３００に接続されている図を示したが、実際には、機種の異なる複数種類の周辺機器が接続される。
【００１８】
また、本実施の形態の情報処理システムでは、ネットワーク３００に接続された周辺機器が、画像形成装置４００である場合を説明するが、周辺機器は、画像形成装置に限られない。周辺機器は、例えば、ファクシミリ機能を備えたファックス装置や、スキャナ機能を備えたスキャナ装置、画像を投影する投影機能を備えた投影装置等であってもよい。また、周辺機器は、画像形成機能、ファクシミリ機能、スキャナ機能、及び投影機能等の複数の機能の内の２以上を備えた複合機であってもよい。
【００１９】
画像形成装置４００は、コントローラ４０２とエンジン部４０４とを備える。コントローラ４０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの主記憶部と、ＨＤＤなどの補助記憶部と、通信部とを有する。主記憶部は、各種プログラムや各種データを記憶する。補助記憶部は、各種プログラムや各種データを記憶する。通信部は、情報処理装置１００などの外部装置との通信を行う。ＣＰＵは、補助記憶部や主記憶部に記憶された各種プログラムを実行することにより、画像形成装置４００全体の制御と描画、外部装置との通信部を介した通信、操作パネル（不図示）を介したユーザからの操作入力や操作パネルへの情報の表示を制御する。エンジン部４０４は、画像の印刷を行う公知のプリンタエンジンである。
【００２０】
画像形成装置４００のコントローラ４０２は、情報処理装置１００からサーバ２００を介して印刷ジョブを受信する。印刷ジョブは、印刷条件や、印刷対象の画像データ等を含む。エンジン部４０４は、コントローラ４０２の制御によって、印刷ジョブに含まれる印刷条件に応じて、印刷ジョブに含まれる画像データの画像を記録媒体等に形成する。
【００２１】
サーバ２００は、ＣＰＵ、ＲＯＭ、及びＲＡＭなどを含んで構成されるコンピュータである。サーバ２００は、ネットワーク３００に接続された各画像形成装置４００を管理して、情報処理装置１００から受信した印刷ジョブを画像形成装置４００へ送信する。本実施の形態では、サーバ２００は、バージョン間互換性情報ファイル２０１を予め記憶している。
【００２２】
バージョン間互換性情報ファイル２０１は、ユニバーサルプリンタドライバのバージョン間における、互換性を示す情報である。なお、以下、ユニバーサルプリンタドライバを、ＵＰＤと称して説明する場合がある。
【００２３】
バージョン間互換性情報ファイル２０１は、詳細には、各バージョンのＵＰＤに対して、新たにＵＰＤをインストールするときに、バージョンアップインストール（詳細後述）が必要となるＵＰＤのバージョン情報や、機種情報の追加で対応可能なデバイスドライバのバージョン情報や、バージョンアップインストールが必要であるが追加対象の新機能の内の一部を制限機能として制限すれば機能情報の追加により対応することが可能である事を示す制約情報、等を規定したファイルである。
【００２４】
図２は、バージョン間互換性情報ファイル２０１の一例を示す模式図である。
【００２５】
バージョン間互換性情報ファイル２０１は、ＵＰＤのバージョン情報（ＶＥＲＳＩＯＮ）毎に、互換性情報を定めたファイルである。各ＵＰＤのバージョン情報毎の互換性情報は、旧バージョンのＵＰＤに対する当該ＵＰＤの追加機能（ＡＤＤ  ＦＵＮＣＴＩＯＮ）、当該ＵＰＤの対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）、当該バージョンのＵＰＤに対して機種情報の追加で対応可能なＵＰＤのバージョン情報（ＭＯＤＥＬ  ＡＤＤＩＴＩＯＮＡＢＬＥ）、バージョンアップインストールが必要であるが追加対象の新機能の内の一部を制限機能として制限すれば機能情報の追加により対応することが可能であるか否かを示す制約情報（追加機能に対する制約、とも称する）（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）、当該バージョンのＵＰＤに対してバージョンアップインストールが必要となるＵＰＤのバージョン情報（ＮＥＥＤ  ＶＥＲＳＩＯＮ  ＵＰ）、を規定している。
【００２６】
図２の例では、バージョン間互換性情報ファイル２０１は、例えば、情報処理装置１００に既にインストールされているＵＰＤのバージョン（Ｖｅｒ）が１．０．０．０であるときに、バージョン１．１．０．０のＵＰＤをインストールする場合、追加機能（ＡＤＤ  ＦＵＮＣＴＩＯＮ）は無い“ＮＯＮＥ”が、ＮＸ１１０，ＮＸ２１０の２機種の機種が対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）として増えることが示されている。
【００２７】
また、図２のバージョン間互換性情報ファイル２０１には、バージョン１．０．０．０のＵＰＤにおいて、機種追加で対応することの可能なＵＰＤのバージョン情報（ＭＯＤＥＬ  ＡＤＤＩＴＩＯＮＡＢＬＥ）として、バージョン１．１．０．０から１．２．０．０までの範囲が示されている。また、図２のバージョン間互換性情報ファイル２０１には、バージョン１．０．０．０のＵＰＤにおいて、バージョンアップインストールが必要であるが追加対象の新機能の内の一部を制限機能として制限すれば機能情報の追加により対応することが可能であるか否かを示す制約情報（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）は、対応否、を示す“ＮＯＮＥ”が示されている。また、図２のバージョン間互換性情報ファイル２０１には、バージョン１．０．０．０のＵＰＤに対して、バージョンアップインストールが必要なＵＰＤのバージョン情報（ＮＥＥＤ  ＶＥＲＳＩＯＮ  ＵＰ）として、２．０．０．０以降のバージョンが示されている。
【００２８】
このように、バージョン間互換性情報ファイル２０１は、ＵＰＤのバージョン情報毎に、互換性情報を規定したファイルである。なお、バージョン間互換性情報ファイル２０１は、例えば、新たなＵＰＤがリリースされたとき等に、リリース元の製造会社等によって提供または更新される。また、このバージョン間互換性情報ファイル２０１は、後述するバージョン間互換性ファイル１４０及びバージョン間互換性情報ファイル１２５と同じファイルである（図３参照、詳細後述）。
【００２９】
図１に戻り、情報処理装置１００は、ＣＰＵ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータである。また、情報処理装置１０には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部と、画像形成装置４００などの周辺機器やサーバ２００との通信を制御する通信Ｉ／Ｆ（ＩｎｔｅｒＦａｃｅ）とが有線又は無線により各々接続されている。表示部には、液晶等の公知の表示装置を用いればよい。
【００３０】
図３は、情報処理装置１００のソフトウェア構成を示す模式図である。
【００３１】
情報処理装置１００は、ＵＰＤ１０１、及びインストーラ１２０を含む。本実施の形態では、この情報処理装置１００に、インストール対象のＵＰＤとして、ＵＰＤパッケージ１１０をインストールする場合を説明する。また、情報処理装置１００の図示を省略するＲＯＭ等の記憶部には、バージョン間互換性ファイル１４０が格納されている。
【００３２】
なお、新たにインストールする対象のＵＰＤパッケージ１１０は、各周辺機器の製造メーカ側等で新たにＵＰＤパッケージ１１０がリリースされた場合や、新たな機種の周辺機器がネットワーク３００に接続された場合等に、適宜、該製造メーカの管理する管理サーバや、製造メーカから提供された記憶媒体等から取得すればよい。このＵＰＤパッケージ１１０の取得は、ユーザによる情報処理装置１００の操作部の操作指示によって「インストール」が指示された場合に行ってもよいし、該管理サーバや該記憶媒体等から、自動で配信されるようにしてもよい。
【００３３】
バージョン間互換性ファイル１４０は、サーバ２００に記憶されているバージョン間互換性情報ファイル２０１と同じファイルである。例えば、サーバ２００に記憶されているバージョン間互換性情報ファイル２０１が更新されると、更新後のバージョン間互換性情報ファイル２０１がバージョン間互換性ファイル１４０として情報処理装置１００に配信されるものとする。
【００３４】
ＵＰＤ１０１は、情報処理装置１００内に既にインストールされているユニバーサルプリンタドライバである。なお、ＵＰＤ１０１は、第１デバイスドライバに相当する。
【００３５】
ＵＰＤ１０１は、ＵＩ（ユーザ・インターフェース）部１０２、描画部１０３、機種情報ファイル１０４（第１機種情報ファイル）、及びバージョン情報ファイル１０５を含む。ＵＩ部１０２は、情報処理装置１００に設けられている表示部に、各種入力画面や選択画面等を表示するためのモジュール（機能部）である。描画部１０３は、ＵＰＤ１０１で印刷処理時に実行する描画処理を機能させる描画モジュールである。
【００３６】
機種情報ファイル１０４は、ＵＰＤ１０１で対応可能な機種を示す機種情報や、該機種の機能を示す機能情報を格納したファイルである。機種とは、上述したように、ネットワーク３００に接続されるまたは接続された画像形成装置４００等の周辺機器の機種を示す。また、機能とは、各周辺機器の有する機能を示す。機能は、例えば、画像形成装置４００で印刷を行うときの各種印刷条件を実行するための機能を示す。
【００３７】
バージョン情報ファイル１０５は、ＵＰＤ１０１のバージョンを示すバージョン情報を含むファイルである。
【００３８】
ＵＰＤパッケージ１１０は、情報処理装置１００に新たにインストールする対象のＵＰＤである。ＵＰＤパッケージ１１０は、第２デバイスドライバに相当する。
【００３９】
ＵＰＤパッケージ１１０は、ＵＩ部１１１、描画部１１２、機種情報ファイル１１３（第２機種情報ファイル）、バージョン情報ファイル１１４、及びインストール情報ファイル１１５を含む。
【００４０】
ＵＩ部１１１は、ＵＰＤパッケージ１１０のインストールされる装置（ここでは情報処理装置１００）の表示部に、各種入力画面や選択画面等を表示するためのモジュールである。描画部１１２は、ＵＰＤパッケージ１１０で印刷処理時に実行する描画処理を機能させる描画モジュールである。
【００４１】
機種情報ファイル１１３は、ＵＰＤパッケージ１１０で対応可能な機種を示す機種情報や、該機種の機能を示す機能情報を格納したファイルである。バージョン情報ファイル１１４は、ＵＰＤパッケージ１１０のバージョンを示すバージョン情報を含むファイルである。
【００４２】
インストール情報ファイル１１５は、インストール先の情報処理装置１００にＵＰＤパッケージ１１０がインストールされるときに、該情報処理装置１００のインストーラ１２０がインストール時に用いる各種情報を含むファイルである。インストール情報ファイル１１５には、例えば、ＵＰＤパッケージ１１０の圧縮状態等を示す情報等が格納されている。インストーラ１２０では、インストール情報ファイル１１５に基づいてＵＰＤパッケージ１１０を読取り、後述するインストールを実行する。
【００４３】
インストーラ１２０は、インストール対象のＵＰＤ（本実施の形態ではＵＰＤパッケージ１１０）の情報処理装置１００へのインストールを実行するための各種アプリケーションやファイルを１つにまとめたものである。
【００４４】
インストーラ１２０は、第１特定部１２３、第２特定部１２６、検証部１２４、実行部１３１、バージョン間互換性情報ファイル１２５、及びＵＩ部１２７を含む。
【００４５】
なお、バージョン間互換性情報ファイル１２５は、上述したように、バージョン間互換性情報ファイル２０１と同じである。例えば、サーバ２００に記憶されているバージョン間互換性情報ファイル２０１が更新されると、更新後のバージョン間互換性情報ファイル２０１がバージョン間互換性ファイル１２５として情報処理装置１００に配信されるものとする。
【００４６】
第１特定部１２３は、インストール済の第１デバイスドライバとしてのＵＰＤ１０１から、該ＵＰＤ１０１のバージョン情報及び該ＵＰＤ１０１で対応可能な周辺機器の機種及び機能を特定する。第１特定部１２３は、ＵＰＤ１０１の機種情報ファイル１０４及びバージョン情報ファイル１０５を読み取ることで、該ＵＰＤ１０１のバージョン情報及び該ＵＰＤ１０１で対応可能な周辺機器の機種及び機能を特定する。
【００４７】
第２特定部１２６は、インストール対象の第２デバイスドライバとしてのＵＰＤパッケージ１１０から、該ＵＰＤパッケージ１１０のバージョン情報及び該ＵＰＤパッケージ１１０で対応可能な周辺機器の機種及び機能を特定する。第２特定部１２６は、ＵＰＤパッケージ１１０の機種情報ファイル１１３及びバージョン情報ファイル１１４を読み取ることで、該ＵＰＤパッケージ１１０のバージョン情報及び該ＵＰＤパッケージ１１０で対応可能な周辺機器の機種及び機能を特定する。
【００４８】
検証部１２４は、第１特定部１２３及び第２特定部１２６の取得結果、及びバージョン間互換性情報ファイル１２５に基づいて、ＵＰＤパッケージ１１０のインストールが機種情報の追加で対応可能であるか否かを検証する。
【００４９】
また、検証部１２４は、差分抽出部１２８を含む。差分抽出部１２８は、インストール対象のＵＰＤパッケージ１１０の機種情報ファイル１１３によって示される機種及び機能と、インストール済のＵＰＤ１０１の機種情報ファイル１０４によって示される機種及び機能と、の差分を差分情報として抽出する。
【００５０】
差分情報は、すなわち、インストール対象のＵＰＤパッケージ１１０の対応可能な機種及び機能の内、インストール済のＵＰＤ１０１に対応可能な機種及び機能以外の、機種及び機能である。換言すれば、差分情報は、インストール対象のＵＰＤパッケージ１１０によって対応可能となる新しい機種（新機種）及び新しい機能（新機能）である。
【００５１】
本実施の形態では、差分抽出部１２８は、バージョン間互換性情報ファイル１２５に基づいて、情報処理装置１００に既にインストールされているＵＰＤ１０１のバージョン情報に対応する互換性情報と、インストール対象のＵＰＤパッケージ１１０のバージョン情報に対応する互換性情報と、に基づいて、差分情報を抽出する。
【００５２】
実行部１３１は、インストール等の処理を実行する実行モジュールである。実行部１３１は、検証部１２４による検証結果等に基づいて、バージョンアップインストール、または機種追加インストールを行う。
【００５３】
バージョンアップインストールとは、インストール対象のＵＰＤパッケージ１１０を、インストール済のＵＰＤ１０１に置換えることで、ＵＰＤパッケージ１１０の全てを情報処理装置１００へインストールすることを示す。このバージョンアップインストールによって、情報処理装置１００のＵＰＤのバージョンは、ＵＰＤパッケージ１１０のバージョンにバージョンアップされることとなる。
【００５４】
機種追加インストールとは、詳細は後述するが、ＵＰＤパッケージ１１０の機種情報ファイル１１３によって示される機種及び機能と、インストール済のＵＰＤ１０１の機種情報ファイル１０４によって示される機種及び機能と、の差分の内の少なくとも一部を、インストール済のＵＰＤ１０１の機種情報ファイル１０４へ追加することを示す。この場合、情報処理装置１００のＵＰＤのバージョンは、インストール済のＵＰＤ１０１のバージョンのままで、インストール対象のＵＰＤパッケージ１１０に含まれる新たな機種及び機能の内の少なくとも一部が機種情報ファイル１０４に追加されることとなる。
【００５５】
実行部１３１は、詳細には、インストール実行部１２１、バージョンアップインストール部１２２、機種情報ファイル作成部１２９、及び機種情報ファイル更新部１３０を含む。
【００５６】
インストール実行部１２１は、情報処理装置１００にユニバーサルプリンタドライバがインストールされていない場合に、ユニバーサルプリンタドライバを情報処理装置１００にインストールするモジュールである。
【００５７】
バージョンアップインストール部１２２は、インストール済のＵＰＤ１０１に対して、インストール対象のＵＰＤパッケージ１１０へのバージョンアップインストールを実行する。機種情報ファイル作成部１２９は、インストール対象のＵＰＤパッケージ１１０に含まれる機種情報ファイル１１３を新たに作成または該機種情報ファイル１１３に、差分抽出部１２８によって抽出された差分情報によって示される機能及び機種の内、ユーザによって選択された機能及び機種を追加する。機種情報ファイル更新部１３０は、インストール済のＵＰＤ１０１の機種情報ファイル１０４に、差分抽出部１２８によって抽出された差分情報によって示される機能及び機種の内、ユーザによって選択された機能及び機種を追加することで、該機種情報ファイル１０４を更新する。
【００５８】
ＵＩ部１２７は、インストーラ１２０で各種処理を実行するときに、情報処理装置１００に設けられている表示部に、各種入力画面を表示するための機能部である。
【００５９】
次に、情報処理装置１００で実行するインストール処理の手順を説明する。
【００６０】
図４は、情報処理装置１００で実行するインストール処理の手順を示すフローチャートである。情報処理装置１００では、情報処理装置１００にＵＰＤをインストールするときに、インストーラ１２０が起動され、図４に示す処理ルーチンを実行する。
【００６１】
例えば、情報処理装置１００では、情報処理装置１００をネットワーク３００に接続したときに、図４に示す処理ルーチンを実行する。なお、インストール対象のＵＰＤであるＵＰＤパッケージ１１０は、ネットワークに接続された、各機種の周辺機器のメーカの管理するＷｅｂサーバ等から取得すればよい。このサーバには、例えば、サーバ２００を用いればよい。
【００６２】
まず、第１特定部１２３が、情報処理装置１００にインストール済のプリンタドライバを調査する（ステップＳ５０１）。本実施の形態では、例えば、ステップＳ５０１の処理において、第１特定部１２３は、ＵＰＤ１０１のバージョン情報ファイル１０５を読み取り、該ＵＰＤ１０１のバージョン情報を取得する。
【００６３】
次に、第２特定部１２６が、情報処理装置１００にインストールする対象のＵＰＤパッケージ１１０のバージョン情報を特定する（ステップＳ５０２）。ステップＳ５０２では、第２特定部１２６は、ＵＰＤパッケージ１１０のバージョン情報ファイル１１４を読み取ることで、ＵＰＤパッケージ１１０のバージョン情報を特定する。
【００６４】
次に、第１特定部１２３が、情報処理装置１００にユニバーサルプリンタドライバがインストール済みであるか否かを判断する（ステップＳ５０３）。ステップＳ５０３では、ステップＳ５０１で調査した情報処理装置１００にインストール済のプリンタドライバが、ユニバーサルプリンタドライバであるか否かを判別することで、ステップＳ５０３の判断を行う。例えば、第１特定部１２３は、情報処理装置１００にインストール済のプリンタドライバのバージョン情報が、ユニバーサルプリンタドライバを示すバージョン情報であるか否かを判別することで、ステップＳ５０３の判断を行えばよい。
【００６５】
次に、ステップＳ５０３で否定判断すると（ステップＳ５０３：Ｎｏ）、ステップＳ５０４へ進む。ステップＳ５０４では、インストール実行部１２１が、インストール対象のＵＰＤパッケージ１１０を情報処理装置１００へインストールする、通常インストールを行う（ステップＳ５０４）。そして、本ルーチンを終了する。
【００６６】
一方、ステップＳ５０３で肯定判断すると（ステップＳ５０３：Ｙｅｓ）、ステップＳ５０５へ進む。
【００６７】
ステップＳ５０５では、第１特定部１２３が、情報処理装置１００にインストール済のＵＰＤ１０１のバージョン情報ファイル１０５を読み取り、該ＵＰＤ１０１のバージョン情報を特定する（ステップ５０５）。
【００６８】
次に、検証部１２４が、バージョンアップを行うか否かを判断する（ステップＳ５０６）。ステップＳ５０６では、検証部１２４は、第２特定部１２６が取得した、インストール対象のＵＰＤパッケージ１１０のバージョン情報によって示されるバージョンが、上記ステップＳ５０５で特定したインストール済のＵＰＤ１０１のバージョン情報に示されるバージョンより新しいか否かを判別することで、ステップＳ５０６の判断を行う。
【００６９】
ステップＳ５０６で否定判断すると（ステップＳ５０６：Ｎｏ）、本ルーチンを終了する。一方、ステップＳ５０６で肯定判断すると（ステップＳ５０６：Ｙｅｓ）、ステップＳ５０７へ進む。
【００７０】
ステップＳ５０７では、検証部１２４が、インストール対象のＵＰＤパッケージ１１０と、情報処理装置１００にインストール済のＵＰＤ１０１と、の互換性を検証する（ステップＳ５０７）。
【００７１】
検証部１２４は、情報処理装置１００に格納されているバージョン間互換性情報ファイル１２５、バージョン間互換性ファイル１４０、及びサーバ２００に格納されているバージョン間互換性情報ファイル２０１の何れかを参照することで、互換性を検証する。
【００７２】
バージョン間の互換性の検証とは、具体的には、バージョン間互換性情報ファイル１２５（またはバージョン間互換性ファイル１４０、またはバージョン間互換性情報ファイル２０１）に格納されている、情報処理装置１００にインストール済のＵＰＤ１０１のバージョン情報に対応する互換性情報と、インストール対象のＵＰＤパッケージ１１０のバージョン情報に対応する互換性情報と、を比較検証することを意味する。なお、本実施の形態では、バージョン間互換性情報ファイル１２５を用いる場合を説明する。
【００７３】
次に、検証部１２４は、ステップＳ５０７の検証結果に基づいて、インストール対象のＵＰＤパッケージ１１０のインストールが、機種情報の追加で対応可能であるか否かを判断（検証）する（ステップＳ５０８）。
【００７４】
例えば、バージョン間互換性情報ファイル１２５が、図２に示す内容であったとする。そして、情報処理装置１００にインストール済のＵＰＤ１０１のバージョン情報（Ｖｅｒ）が、１．０．０．０であったとする。また、インストール対象のＵＰＤパッケージ１１０のバージョン情報（Ｖｅｒ）が、１．１．０．０であったとする。
【００７５】
この場合、図２に示されるように、バージョン間互換性情報ファイル１２５における、バージョン１．０．０．０のＵＰＤに対して機種情報の追加で対応可能なＵＰＤのバージョン情報（ＭＯＤＥＬ  ＡＤＤＩＴＩＯＮＡＢＬＥ）は、１．１．０．０から１．２．０．０までの範囲である。このため、この場合、検証部１２４は、機種情報の追加で対応可能であると判断する（ステップＳ５０８：Ｙｅｓ）。
【００７６】
上記ステップＳ５０８で肯定判断すると（ステップＳ５０８：Ｙｅｓ）、ステップＳ５０９へ進む。ステップＳ５０９では、差分抽出部１２８が、追加機種を選定する（ステップＳ５０９）。
【００７７】
ステップＳ５０９の処理において、差分抽出部１２８は、インストール対象のＵＰＤパッケージ１１０の対応する周辺機器の機種及び機能と、インストール済のＵＰＤ１０１の対応する周辺機器の機種及び機能と、の差分を差分情報として抽出することで、追加機種を選定する。
【００７８】
本実施の形態では、まず、差分抽出部１２８は、例えば、バージョン間互換性情報ファイル１２５に示される、情報処理装置１００に既にインストールされているＵＰＤ１０１のバージョン情報（Ｖｅｒ）１．０．０．０に対応する、当該バージョンのＵＰＤの対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）として、ＮＸ１００及びＮＸ２００を読み取る。また、差分抽出部１２８は、バージョン間互換性情報ファイル１２５を検証し、インストール対象のＵＰＤパッケージ１１０のバージョン情報（Ｖｅｒ）１．１．０．０に対応する、当該バージョンのＵＰＤの対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）として、ＮＸ１００、ＮＸ２００、ＮＸ１１０、及びＮＸ２１０を読み取る。
【００７９】
そして、差分抽出部１２８は、読み取ったこれらの各バージョンに対応する機種及び機能を比較し、これらの差分を示す差分情報を抽出する。そして、差分抽出部１２８は、抽出した差分情報に含まれる機種を選定することで、追加機種を選定する。
【００８０】
この場合、差分抽出部１２８は、ＮＸ１１０、及びＮＸ２１０を追加機種として選定する。
【００８１】
次に、ＵＩ部１２７が、インストール方式を選択するためのインストール方式選択画面（選択ＵＩ）を情報処理装置１００の表示部に表示する（ステップＳ５１０）。
【００８２】
ステップＳ５１０で表示するインストール方式選択画面は、「バージョンアップインストール」か、「機種追加」か、をユーザに選択させるための画面である。「バージョンアップインストール」とは、新たにインストールする対象のＵＰＤをインストールすることを示す。「機種追加」とは、バージョンアップインストールではなく機種情報の追加で対応することを示す。
【００８３】
図５は、インストール方式選択画面の一例を示す模式図である。図５に示すように、ＵＩ部１２７は、ステップＳ５１０の処理によって、インストール方式選択画面を情報処理装置１００の表示部に表示する。図５に示す例では、該インストール方式選択画面は、インストール済のＵＰＤ１０１のバージョンと、インストール対象のＵＰＤパッケージ１１０のバージョンと、を表示すると共に、「バージョンアップインストール」または「機種追加」を選択するためのチェックボックスと、を含む。また、「機種追加」の欄には、上記ステップＳ５０９で選定した機種の一覧と、各機種を選択するためのチェックボックスと、が表示される。例えば、ＮＸ１１０、及びＮＸ２１０が追加可能な機種として選択可能に表示される。
【００８４】
ユーザは、該インストール方式選択画面を参照しながら、図示を省略する操作部を操作することで、「バージョンアップインストール」または「機種追加」を選択する。また、「機種追加」を選択した場合には、追加可能な機種として表示された一覧の機種の内の少なくとも１つを選択する。そして、ユーザの操作部の操作指示によって、インストール方式選択画面における「ＯＫ」ボタンが選択されることで、該インストール方式選択画面を介してユーザによって指示された選択情報がインストーラ１２０に入力される。
【００８５】
この選択情報は、「バージョンアップインストール」、または「機種追加」及び選択された「機種」を含む。
【００８６】
次に、実行部１３１が、ユーザによって「機種追加」が指示されたか否かを判断する（ステップＳ５１１）。実行部１３１では、ステップＳ５１０の表示処理によって、インストーラ１２０で受け付けた選択情報が「機種追加」を示すか否かを判別することで、ステップＳ５１１の判断を行う。
【００８７】
ステップＳ５１１で肯定判断すると（ステップＳ５１１：Ｙｅｓ）、ステップＳ５１２へ進む。
【００８８】
ステップＳ５１２では、機種情報ファイル更新部１３０が、機種追加インストールを実行する（ステップＳ５１２）。そして、本ルーチンを終了する。
【００８９】
ステップＳ５１２の処理において、機種情報ファイル更新部１３０は、上記ステップＳ５１０の処理によってインストーラ１２０で受け付けた選択情報に含まれる、ユーザによって選択された「機種」を示す機種情報を、情報処理装置１００にインストール済のＵＰＤ１０１の機種情報ファイル１０４に追加する。これによって、機種情報ファイル更新部１３０は、機種追加インストールを実行する。
【００９０】
すなわち、ステップＳ５１２の処理が実行されることによって、ＵＰＤ１０１のバージョン情報ファイル１０５によって示されるバージョン情報は、インストール対象のＵＰＤパッケージ１１０のバージョンにバージョンアップされない状態で、機種情報ファイル１０４が更新される。具体的には、機種情報ファイル１０４には、ＵＰＤ１０１では未対応で且つＵＰＤパッケージ１１０で対応可能な機種の機種情報が追加されることとなる。
【００９１】
このため、ステップＳ５１２の処理によって、追加された新たな機種が、情報処理装置１００のＵＰＤ１０１で対応可能な機種として選択可能となる。
【００９２】
図６は、ステップＳ５１２の機種追加インストールが行われる前の状態において、ＵＩ部１０２が情報処理装置１００の表示部に表示する、選択可能な機種リストを示す画面である。また、図７は、ステップＳ５１２の機種追加インストールが行われた後の状態において、ＵＩ部１０２が情報処理装置１００の表示部に表示する、選択可能な機種リストを示す画面である。
【００９３】
ステップＳ５１２の機種追加インストール後では、ＵＰＤ１０１のバージョンは、旧バージョンである１．０．０．０のままであるが、図６及び図７に示すように、選択可能な機種が、ＮＸ１００とＮＸ２００の２機種（図６参照）から、ＮＸ１００、ＮＸ２００、ＮＸ１１０、及びＮＸ２１０の４機種（図７参照）となる。
【００９４】
図４に戻り、一方、上記ステップＳ５１１で否定判断されると（ステップＳ５１１：Ｎｏ）、すなわち、ユーザによって「バージョンアップインストール」が指示された場合には、ステップＳ５１３へ進む。
【００９５】
ステップＳ５１３では、バージョンアップインストール部１２２が、バージョンアップインストールを実行する（ステップＳ５１３）。詳細には、バージョンアップインストール部１２２は、インストール済のＵＰＤ１０１を、インストール対象のＵＰＤパッケージ１１０に置換えることで、ＵＰＤパッケージ１１０の全てを情報処理装置１００へインストールする。そして、本ルーチンを終了する。
【００９６】
ステップＳ５１３の処理が実行されることによって、情報処理装置１００にインストール済のＵＰＤは、ＵＰＤパッケージ１１０となる。
【００９７】
一方、上記ステップＳ５０８の処理において否定判断すると（ステップＳ５０８：Ｎｏ）、ステップＳ５１５へ進む。
【００９８】
例えば、バージョン間互換性情報ファイル１２５が、図２に示す内容であったとする。そして、情報処理装置１００にインストール済のＵＰＤ１０１のバージョン情報（Ｖｅｒ）が、１．２．０．０であったとする。また、インストール対象のＵＰＤパッケージ１１０のバージョンが、２．０．０．０であったとする。
【００９９】
この場合、図２に示されるように、バージョン間互換性情報ファイル１２５における、バージョン１．２．０．０のＵＰＤに対して機種情報の追加で対応することの可能なＵＰＤのバージョンの範囲（ＭＯＤＥＬ  ＡＤＤＩＴＩＯＮＡＢＬＥ）は、無（ＮＯＮＥ）である。このため、この場合、検証部１２４は、機種情報の追加で対応することは不可と判別し、ステップＳ５０８で否定判断する。そして、ステップＳ５１５へ進む。
【０１００】
ステップＳ５１５では、検証部１２４が、機能選択バージョンアップが不可であるか否かを判断する（ステップＳ５１５）。
【０１０１】
ステップＳ５１５では、検証部１２４は、バージョン間互換性情報ファイル１２５における、インストール済のＵＰＤ１０１のバージョン情報に対応する制約情報（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）が、不可を示す“ＮＯＮＥ”であるか否か判別することで、ステップＳ５１５の判断を行う。
【０１０２】
例えば、バージョン１．２．０．０のＵＰＤ１０１がインストール済であるとする。この場合、図２に示すバージョン間互換性情報ファイル１２５における、バージョン情報１．２．０．０に対応する制約機能（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）は、不可（ＮＯＮＥ）である。このため、この場合、検証部１２４は、ステップＳ５１５で肯定判断する（ステップＳ５１５：Ｙｅｓ）。
【０１０３】
ステップＳ５１５で肯定判断した場合、ＵＩ部１２７は、インストール方式選択画面として、「バージョンアップインストール」のみを選択可能なインストール方式選択画面を、情報処理装置１００の図示を省略する表示部に表示する。
【０１０４】
図８は、インストール方式選択画面の一例を示す模式図である。図８に示すように、ＵＩ部１２７は、上記ステップＳ５１５で肯定判断された場合には、図８に示すインストール方式選択画面を情報処理装置１００の表示部に表示可能となる。図８に示すように、該インストール方式選択画面は、インストール済のＵＰＤ１０１のバージョンと、インストール対象のＵＰＤパッケージ１１０のバージョンと、を表示すると共に、「バージョンアップインストール」のみを選択するためのチェックボックスと、を含む。
【０１０５】
そして、ユーザが、該インストール方式選択画面を参照しながら、図示を省略する操作部を操作することで、「バージョンアップインストール」を選択すると共に、該インストール方式選択画面における「ＯＫ」ボタンを選択することで、該インストール方式選択画面を介してユーザによって指示された選択情報がインストーラ１２０に入力される。この選択情報は、「バージョンアップインストール」を示す情報を含むものとなる。図４に戻り、そして、上記ステップＳ５１３へ進む。そして、上述したように、バージョンアップインストールが実行される。
【０１０６】
一方、上記ステップＳ５１５で否定判断（ステップＳ５１５：Ｎｏ）されると、ステップＳ５１６へ進む。ステップＳ５１５で否定判断される場合とは、バージョンアップインストールが必要であるが追加対象の新機能の内の一部を制限機能として制限すれば機能情報の追加により対応することが可能である場合である。具体的には、図２に示すバージョン間互換性情報ファイル１２５によって示される、インストール済のＵＰＤ１０１のバージョン情報に対応する制約情報（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）に、不可を示す“ＮＯＮＥ”ではなく、何らかの制限機能を示す情報が設定されている場合である。
【０１０７】
図９は、インストール済みのＵＰＤ１０１のバージョン（Ｖｅｒ）が２．１．０．０であり、インストール対象のＵＰＤパッケージ１１０のバージョン（Ｖｅｒ）が３．０．０．０である場合に、ＵＩ部１２７が表示部に表示するインストール方式選択画面の一例を示す図である。
【０１０８】
バージョン間互換性情報ファイル１２５の一例である図２に示すように、ＵＰＤ１０１のバージョン（Ｖｅｒ）２．１．０．０の、該バージョンのＵＰＤに対して機種情報の追加で対応可能なＵＰＤのバージョン情報（ＭＯＤＥＬ  ＡＤＤＩＴＩＯＮＡＢＬＥ）は、無しを示す“ＮＯＮＥ”である。このため、この場合、既にインストールされているＵＰＤ１０１のバージョン情報がバージョン２．１．０．０である場合には、該２．１．０．０より新しい（上位の）バージョンのＵＰＤパッケージ１１０をインストール対象のＵＰＤとした場合、機種追加インストールは不可である。
【０１０９】
また、バージョン間互換性情報ファイル１２５の一例である図２に示すように、ＵＰＤ１０１のバージョン（Ｖｅｒ）２．１．０．０では、当該バージョンのＵＰＤに対してバージョンアップインストールが必要となるＵＰＤのバージョン（ＮＥＥＤ  ＶＥＲＳＩＯＮ  ＵＰ）は“３．０．０．０  ＬＡＴＥＲ”となっている。これは、既にインストールされているＵＰＤ１０１のバージョン情報がバージョン２．１．０．０であり、インストール対象のＵＰＤパッケージ１１０のバージョンがＶｅｒ３．０．０．０以降である場合には、バージョンアップインストールが必要であることを示す。
【０１１０】
また、図２に示す例では、バージョン（Ｖｅｒ）２．１．０．０がインストール済のＵＰＤ１０１である場合の制約情報（ＦＵＮＣＴＩＯＮ  ＬＩＭＩＴＡＴＩＯＮ  ＶＥＲＳＩＯＮ  ＵＰ）は、“ＮＯＮＥ”ではなく、“３．０．０．０［ＢＡＮＮＥＲ  ＰＡＧＥ］”となっている。これは、バージョン３．０．０．０以降のＵＰＤパッケージ１１０をインストールする場合には、“ＢＡＮＮＥＲ  ＰＡＧＥ”機能を制限機能として制限すれば、それ以外の機能情報の追加により対応することができることを意味する。
【０１１１】
このため、このような場合には、上記ステップＳ５０８で否定判断され（ステップＳ５０８：Ｎｏ）、ステップＳ５１５へ進み、さらに、ステップＳ５１５で否定判断され（ステップＳ５１５：Ｎｏ）、ステップＳ５１６へ進むこととなる。
【０１１２】
ステップＳ５１６では、差分抽出部１２８が機能差分抽出を行う（ステップＳ５１６）。ステップＳ５１６の処理において、差分抽出部１２８は、インストール済のＵＰＤ１０１で対応可能な機能と、インストール対象のＵＰＤパッケージ１１０で対応可能な機能と、の差分から、インストール済のＵＰＤ１０１の制約情報によって示される機能（追加機能に対する制約）を除外した機能を、差分情報として抽出する。
【０１１３】
例えば、インストール済みのＵＰＤ１０１のバージョン（Ｖｅｒ）が２．１．０．０であり、インストール対象のＵＰＤパッケージ１１０のバージョン（Ｖｅｒ）が３．０．０．０であるとする。この場合、図２に示す、バージョン間互換性情報ファイル１２５における、バージョン３．０．０．０に対応する追加機能（ＡＤＤ  ＦＵＮＣＴＩＯＮ）は、“ＳＥＣＵＲＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ，ＢＡＮＮＥＲ  ＰＡＧＥ”の３機能である。また、バージョン３．０．０．０のＵＰＤの対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）は、“ＮＸ１００，ＮＸ２００，ＮＸ１１０，ＮＸ２１０，ＮＸ３００，ＮＸ５００，ＮＸ５１０，ＮＸ６００”である。
【０１１４】
一方、バージョン（Ｖｅｒ）２．１．０．０の対応機種（ＳＵＰＰＯＲＴ  ＭＯＤＥＬ）は、“ＮＸ１００，ＮＸ２００，ＮＸ１１０，ＮＸ２１０，ＮＸ３００，ＮＸ５００，ＮＸ５１０”である。このため、この場合、差分抽出部１２８は、インストール済のバージョンのＵＰＤ１０１の対応機種と、インストール対象のＵＰＤの対応機種との差分である機種“ＮＸ５１０”の新機能である“ＳＥＣＵＲＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ，ＢＡＮＮＥＲ  ＰＡＧＥ”の３機能を抽出する。そして、さらに、差分抽出部１２８は、抽出した３機能から、インストール済のバージョン２．１．０．０のＵＰＤ１０１の制約情報によって示される機能（追加機能に対する制約）である、“ＢＡＮＮＥＲ  ＰＡＧＥ”を除外した機能である、“ＳＥＣＵＲＩＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ”の機能を、インストール可能な機能、すなわち、差分情報として抽出する。
【０１１５】
このため、この場合、差分抽出部１２８は、Ｖｅｒ２．１．０．０からＶｅｒ３．０．０．０のバージョンアップに関しては、“ＮＸ６００”と言う機種を、“ＳＥＣＵＲＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ”の２機能に関して機種追加インストールが可能であるとして、差分情報を抽出する。
【０１１６】
次に、ＵＩ部１２７が、インストール方式と、インストールする機種と、インストールする機能と、を選択するためのインストール方式選択画面を表示部に表示する（ステップＳ５１７）。
【０１１７】
例えば、インストール済みのＵＰＤ１０１のバージョン（Ｖｅｒ）が２．１．０．０であり、インストール対象のＵＰＤパッケージ１１０のバージョン（Ｖｅｒ）が３．０．０．０であるとする。そして、上記ステップＳ５１６の処理によって、差分抽出部１２８が、インストール済のバージョンのＵＰＤ１０１の対応機種と、インストール対象のＵＰＤの対応機種と、の差分から制約機能を除外し、機種“ＮＸ５１０”と、機能“ＳＥＣＵＲＩＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ”とを、差分情報として抽出したとする。
【０１１８】
この場合、ステップＳ５１７の処理において、ＵＩ部１２７は、図９に示すインストール方式選択画面を表示する。
【０１１９】
図９に示す例では、該インストール方式選択画面は、インストール済のＵＰＤ１０１のバージョン（図９では、バージョン２．１．０．０）と、インストール対象のＵＰＤパッケージ１１０のバージョン（図９では、バージョン３．０．０．０）と、を表示すると共に、「バージョンアップインストール」または「機種追加」を選択するためのチェックボックスと、を含む。また、「機種追加」の欄には、上記ステップＳ５１６で抽出した差分情報によって特定される機種（図９では、ＮＸ６００）と、ステップＳ５１６で抽出した差分情報によって示される機能（図９では、ＳＥＣＵＲＩＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ）と、各機種及び機能を選択するためのチェックボックスと、が表示される。
【０１２０】
すなわち、上述したように、例えば、Ｖｅｒ２．１．０．０からＶｅｒ３．０．０．０のバージョンアップに関しては、“ＮＸ６００”と言う機種を、“ＳＥＣＵＲＴＹ  ＰＲＩＮＴ，ＴＲＵＳＴＹ  ＰＲＩＮＴ”の２機能に関して機種追加インストールが可能である。このため、この場合、ＵＩ部１２７は、図９に示すようにインストール方式選択画面に、インストール方式以外に、機種と機能を選択できるチェックボックスを配置して表示する。
【０１２１】
ユーザは、該インストール方式選択画面を参照しながら、図示を省略する操作部を操作することで、「バージョンアップインストール」または「機種追加」を選択する。また、「機種追加」を選択した場合には、追加可能な機種として表示された一覧の機種の内の少なくとも１つと、追加可能な機能として表示された機能の内の少なくとも１つと、を選択する。そして、ユーザの操作部の操作指示によって、インストール方式選択画面における「ＯＫ」ボタンが選択されることで、該インストール方式選択画面を介してユーザによって指示された選択情報がインストーラ１２０に入力される。
【０１２２】
この選択情報は、「バージョンアップインストール」または「機種追加」を含み、「機種追加」を含む場合には、「機種」及び「機能」を含む。なお、この選択情報が「バージョンアップインストール」を含む場合には、ステップＳ５１７の処理の後に、上記ステップＳ５１３へ進めばよい。
【０１２３】
そして、ユーザによって選択された「機種追加」、「機種」、及び「機能」を含む選択情報を受け付けたインストーラ１２０では、機種情報ファイル作成部１２９が、インストール対象のＵＰＤパッケージ１１０に含まれる機種情報ファイル１１３を修正する（ステップＳ５１８）。詳細には、機種情報ファイル作成部１２９は、インストール対象のＵＰＤパッケージ１１０に含まれる機種情報ファイル１１３に、ステップＳ５１６の処理によって抽出された差分情報によって示される機能及び機種の内、ステップＳ５１７によってユーザによって選択された機能及び機種を追加する。なお、機種情報ファイル作成部１２９は、該内容の機種情報ファイル１１３を新たに作成してもよい。
【０１２４】
次に、機種情報ファイル更新部１３０が、機種追加インストールを実行する（ステップＳ５１９）。そして、本ルーチンを終了する。
【０１２５】
ステップＳ５１９の処理において、機種情報ファイル更新部１３０は、インストール済のＵＰＤ１０１の機種情報ファイル１０４に、ステップＳ５１６の処理によって抽出された差分情報によって示される機能及び機種の内、ステップＳ５１７によってユーザによって選択された機能及び機種を追加する。
【０１２６】
すなわち、ステップＳ５１９の処理が実行されることによって、ＵＰＤ１０１のバージョン情報ファイル１０５によって示されるバージョン情報は、インストール対象のＵＰＤパッケージ１１０のバージョンにバージョンアップされない状態で、機種情報ファイル１０４が更新される。具体的には、機種情報ファイル１０４には、ＵＰＤ１０１では未対応で且つＵＰＤパッケージ１１０で対応可能な機種の機種情報と、ＵＰＤ１０１では未対応で且つＵＰＤパッケージ１１０で対応可能な機種の内の制約情報以外で且つユーザによって選択された機能の機能情報と、が追加されることとなる。
【０１２７】
このため、ステップＳ５１９の処理によって追加された新たな機種及び機能が、情報処理装置１００のＵＰＤ１０１で対応可能な機種及び機能として選択可能となる。
【０１２８】
そして、本ルーチンを終了する。
【０１２９】
ここで、インストール対象のバージョン（Ｖｅｒ）３．０．０．０のＵＰＤパッケージ１１０の保持している機種情報ファイル１１３の一例を、図１０に示した。図１０は、機種情報ファイルの一例を示す模式図である。
【０１３０】
図１０に示す例では、バージョン（Ｖｅｒ）３．０．０．０のＵＰＤパッケージ１１０の保持している機種情報ファイル１１３には、機種“ＮＸ６００”の機能を示す項目として、＜ＶＡＬＩＤＡＣＣＥＳＳ＞の項があり、この中にはＴｒｕｓｔｙ  Ｐｒｉｎｔの項目の＜ＴＲＡＵＳＴＹＰＲＩＮＴ＞、Ｓｅｃｕｒｉｔｙ  Ｐｒｉｎｔの項目の＜ＳＥＣＵＲＩＴＹＰＲＩＮＴ＞、Ｂａｎｎｅｒ  Ｐａｇｅの項目の＜ＢＡＮＮＥＲＰＡＧＥ＞がある。
【０１３１】
ここで、図２に示すバージョン間互換性情報ファイル１２５には、機能“Ｂａｎｎｅｒ  Ｐａｇｅ”は、バージョン（Ｖｅｒ）２．１．０．０のＵＰＤでは制約情報として示され、使用不可であることが示されている。このため、この場合、機種情報ファイル作成部１２９は、バージョン（Ｖｅｒ）３．０．０．０のＵＰＤパッケージ１１０の保持している機種情報ファイル１１３に含まれる、＜ＢＡＮＮＥＲＰＡＧＥ＞の項を削除あるいはコメントアウト等で無効化する。これによって、機種情報ファイル作成部１２９は、機種情報ファイル１１３を修正する。
【０１３２】
図１１は、ステップＳ５１９で機種情報ファイル更新部１３０が機種追加インストールを行う前において、ＵＩ部１０２が表示する印刷設定画面における機能表示画面（Ｖａｌｉｄ  Ａｃｃｅｓｓ）の一例である。図１１に示すように、ステップＳ５１９で機種情報ファイル更新部１３０が機種追加インストールを行う前の状態では、該機能表示画面には、例えば、Ｕｓｅｒ  Ｃｏｄｅの選択肢しか表示されない。
【０１３３】
図１２は、ステップＳ５１９の機種情報ファイル更新部１３０が機種追加インストールを行った後に、ＵＩ部１０２が表示する印刷設定画面における機能表示画面（Ｖａｌｉｄ  Ａｃｃｅｓｓ）の一例である。なお、図１２は、情報処理装置１００にインストール済のＵＰＤ１０１のバージョンがＶｅｒ２．１．０．０であり、インストール対象のＵＰＤパッケージ１１０のバージョンがＶｅｒ３．０．０．０である場合に、機種“ＮＸ６００”の機能“Ｓｅｃｕｒｉｔｙ  Ｐｒｉｎｔ”と“Ｔｒｕｓｔｙ  Ｐｒｉｎｔ”を、機種情報ファイル更新部１３０が機種追加インストールした場合に、ＵＩ部１０２が表示する機能表示画面の一例である。
【０１３４】
図１２に示すように、機種情報ファイル更新部１３０が機種追加インストールを行った後の状態では、該機能表示画面には、選択可能な機能として、“Ｓｅｃｕｒｉｔｙ  Ｐｒｉｎｔ”と“Ｔｒｕｓｔｙ  Ｐｒｉｎｔ”の選択項目が表示される。一方、該機能表示画面には、制約情報として示されていた“Ｂａｎｎｅｒ  Ｐａｇｅ”の選択肢は表示されない。
【０１３５】
以上説明したように、本実施の形態の情報処理装置１００では、情報処理装置１００にインストール済のＵＰＤ１０１、インストール対象のＵＰＤパッケージ１１０、及びバージョン間互換性情報ファイル１２５（またはバージョン間互換性ファイル１４０、またはバージョン間互換性情報ファイル１２５）に基づいて、インストール対象のＵＰＤパッケージ１１０のインストールが機種情報の追加で対応可能であると検証された場合には、バージョンアップインストールは行わず、インストール済のＵＰＤ１０１の機種情報ファイル１０４に、追加対象の機種及び機能を追加することで対応する。
【０１３６】
このため、バージョンアップインストールを行うことなく、対応可能な機種を追加することができる。
【０１３７】
従って、本実施の形態の情報処理装置１００では、機種の異なる複数種類の周辺装置を制御するためのユニバーサルデバイスドライバについて、容易に新たな機種を対応させることができる。
【０１３８】
また、バージョンアップインストールが必要であるが、追加対象の新機能の内の一部を制限機能として制限すれば機能情報の追加により対応することが可能である場合には、制限機能以外で、且つ追加可能な機能及び機種をンストール済のＵＰＤ１０１の機種情報ファイル１０４に追加する。
【０１３９】
このため、機種の異なる複数種類の周辺装置を制御するためのユニバーサルデバイスドライバについて、更に容易に、新たな機種を対応させることができる。
【０１４０】
また、追加可能な機種及び機能の内、ユーザによって選択された機種及び機能を、機種情報ファイル１０４に追加することができるので、ユーザ側で容易にカスタマイズすることができる。
【０１４１】
なお、本実施の形態の情報処理装置１００で実行されるインストール処理を実行するためのプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録されて提供される。
【０１４２】
また、本実施の形態の情報処理装置１００で実行されるインストール処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の情報処理装置１００で実行されるインストール処理を実行するためのプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１４３】
また、本実施の形態の情報処理装置１００で実行されるインストール処理を実行するためのプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４４】
なお、本実施の形態の情報処理装置１００で実行されるインストール処理を実行するためのプログラムは、上述したインストール処理を実行するための機能部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体から当該プログラムを読み出して実行することにより上記各機能部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
【０１４５】
なお、上記には、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４６】
１００  情報処理装置
１０１  ＵＰＤ
１０４、１１３  機種情報ファイル
１０５、１１４  バージョン情報ファイル
１１０  ＵＰＤパッケージ
１２３  第１特定部
１２４  検証部
１２５、１４０、２０１  バージョン間互換性情報ファイル
１２６  第２特定部
１２８  差分抽出部
１３１  実行部
４００  画像形成装置
１０００  情報処理システム
【先行技術文献】
【特許文献】
【０１４７】
【特許文献１】特開２００９−０２５８６５号公報
【特許文献２】特開２００５−２６７５４１号公報
【図１】
0006051601.tif 000002
【図２】
0006051601.tif 000003
【図３】
0006051601.tif 000004
【図４】
0006051601.tif 000005
【図５】
0006051601.tif 000006
【図６】
0006051601.tif 000007
【図７】
0006051601.tif 000008
【図８】
0006051601.tif 000009
【図９】
0006051601.tif 000010
【図１０】
0006051601.tif 000011
【図１１】
0006051601.tif 000012
【図１２】
0006051601.tif 000013