(57)【要約】【課題】ネットワークに接続されたデバイスについてＰｎＰＸを実行することを契機として、デバイスの機能を使用可能にするドライバをインストールする。【解決手段】ＰＣ１が、ネットワーク４に複合機３が接続されたことを認識し、認識されたデバイスが有する情報機器に対応する第１のドライバをＰＣ１インストールする。ＰＣ１が、上記デバイスの機能を使用可能にする第２のドライバをＰＣ１にインストールする追加インストーラを、第１のドライバをＰＣ１にインストールしたことを契機としてＩＨＶ用Ｗｅｂサーバ１００から取得する。そして、追加インストーラが、ＰＣ１に第２のドライバのインストールが必要であるかを判断し、ＰＣ１に第２のドライバのインストールが必要である場合に、第２のドライバをＰＣ１にインストールする。【選択図】図１
2011186969.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、該ネットワークにデバイスが接続されたことを認識するデバイス認識手段と、
前記ネットワークに前記デバイスが接続されたことが認識された場合に、該デバイスが有する情報機器に対応する第１のドライバを情報処理装置にインストールする第１インストール手段とを備え、
前記第１インストール手段は、前記デバイスの機能を使用可能にする第２のドライバを前記情報処理装置にインストールする第２インストール手段を、前記第１のドライバを前記情報処理装置にインストールしたことを契機として前記ネットワークを介して取得し、
前記第２インストール手段は、前記情報処理装置に前記第２のドライバのインストールが必要であるかを判断し、前記情報処理装置に前記第２のドライバのインストールが必要である場合に、前記ネットワークを介して該第２のドライバを前記情報処理装置にインストールする
ことを特徴とする情報処理装置。
【請求項２】
前記第２インストール手段は、前記デバイスが有する情報機器毎に、前記情報処理装置に前記情報機器の機能を全て使用可能にするフルスペックドライバがインストール済みであるかを判断し、該情報処理装置に前記フルスペックドライバがインストール済みでない場合に、該フルスペックドライバを該情報処理装置にインストールする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２インストール手段は、選択されたアプリケーションを前記情報処理装置にインストールし、該アプリケーション毎に、該アプリケーションの実行に必要な情報機器である必須情報機器と、該アプリケーションの実行に必要な必須ドライバと、該アプリケーションの実行に必要な必須出力ポートとの対応情報を作成し、該対応情報を参照して、前記必須情報機器毎に、前記情報処理装置に前記必須情報機器に対応する必須ドライバがインストール済みであるかを判断し、前記情報処理装置に前記必須情報機器に対応する必須ドライバがインストール済みでない場合に、該必須ドライバを前記ネットワークを介してインストールする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第２インストール手段は、前記情報処理装置に前記必須情報機器に対応する必須ドライバがインストール済みでない場合に、前記必須ドライバのうち、ドライバのインストールに関して予め決められた優先順位に従って選択した必須ドライバをインストールする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２インストール手段は、前記情報処理装置に前記必須情報機器に対応する必須ドライバがインストール済みである場合に、前記情報処理装置に、前記対応情報において前記必須ドライバに対応づけられている必須出力ポートがあるかを判断し、前記情報処理装置に該必須出力ポートがない場合に、該必須出力ポートを実現する手段をインストールする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記第１インストール手段は、プラグアンドプレイによって、前記第１のドライバをインストールする
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
ネットワークを介して、該ネットワークにデバイスが接続されたことを認識するデバイス認識ステップと、
前記ネットワークに前記デバイスが接続されたことが認識された場合に、該デバイスが有する情報機器に対応する第１のドライバを情報処理装置にインストールする第１インストールステップとを有し、
前記第１インストールステップは、前記デバイスの機能を使用可能にする第２のドライバを前記情報処理装置にインストールする第２インストール手段を、前記第１のドライバを前記情報処理装置にインストールしたことを契機として前記ネットワークを介して取得し、
前記第２インストールステップは、前記情報処理装置に前記第２のドライバのインストールが必要であるかを判断し、前記情報処理装置に前記第２のドライバのインストールが必要である場合に、前記ネットワークを介して該第２のドライバを前記情報処理装置にインストールする
ことを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項９】
デバイスがネットワークに接続されたことに応じてドライバがインストールされた後の後処理で実行されるインストール方法であって、
インストールされているドライバがフルスペックドライバであるか判断する判断ステップと、
前記判断ステップによりインストールされているドライバがフルスペックドライバでないと判断された場合、フルスペックドライバをインストールするステップとを有することを特徴とするインストール方法。
【請求項１０】
デバイスがネットワークに接続されたことに応じてドライバがインストールされた後の後処理で実行されるプログラムであって、
インストールされているドライバがフルスペックドライバであるか判断する判断ステップと、
前記判断ステップによりインストールされているドライバがフルスペックドライバでないと判断された場合、フルスペックドライバをインストールするステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、インストール方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、ＰＣとも記述）のオペレーティングシステム（以下ＯＳとも記述）で情報機器を扱えるようにするためには、その情報機器をＯＳ上で使うためのドライバを、ＯＳ上にインストールしなくてはならない。このドライバのインストール方法の一つとして、Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｅｘｔｅｎｓｉｏｎｓ（以下、ＰｎＰＸと記述）がある（非特許文献１、２を参照）。ＰｎＰＸは、Ｗｉｎｄｏｗｓ（登録商標）ＶｉｓｔａＯＳに標準搭載されている機能であり、ユーザの命令を受けて、ネットワーク上に存在する情報機器のドライバをＯＳが独自の手法で取得し、インストールする技術である。また、ＰｎＰＸには、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ（以下ＷＳＤ）という、ネットワーク上の情報機器をＯＳが見つけるための仕組みが使われる（非特許文献３を参照）。また、ＰｎＰＸを行う際に、ＯＳがドライバを取得する方法には、ＰＣ上のハードディスク内を検索して取得する方法と、インターネット上に設置されたＯＳ専用のＷｅｂサーバから取得する方法などがある。なお、情報機器には、見た目は一つの情報機器に見えても、内部的には複数の情報機器から構成されているものが存在する。例えば、見た目は一つの情報機器だが、内部的にはプリンタやスキャナ、ＦＡＸなどの情報機器を搭載しているものがある。このような情報機器をＭｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒや複合機と称することもある。
【０００３】
上記複合機に対してＰｎＰＸが発生した場合、内部的に存在する複数の情報機器のそれぞれについて、ドライバが必要である。例えば、プリンタとスキャナが内部的に搭載されている複合機であれば、プリンタ用ドライバとスキャナ用ドライバという２種類のドライバがＰｎＰＸによってインストールされる。ここで、ドライバは、開発者とその配布方法を主眼におくと、以下のような三種類に分類することができる。一つ目は、ＯＳ開発会社が情報機器の最低限の機能が使えるように開発したＯＳ標準ドライバである。プリンタやＦＡＸなど、多くの一般的な情報機器には、このＯＳ標準ドライバが用意されている。二つ目は、情報機器の全ての機能をＯＳ上で使えるように、情報機器開発会社（ＩＨＶ）が独自に開発したフルスペックドライバである。ＩＨＶは、Ｉｎｄｅｐｅｎｄｅｎｔ  Ｈａｒｄｗａｒｅ  Ｖｅｎｄｏｒの略語である。一般的に、ＯＳ標準ドライバには、必要最低限の機能しか搭載されていないため、各ＩＨＶが情報機器に実装した独自の機能を使用できない。従って、フルスペックドライバをインストールすることが望ましい。しかし、一般的には、ユーザはフルスペックドライバを自ら探して手に入れる必要があり、手間がかかる。また、どのような手段でフルスペックドライバを取得すれば良いのか、ユーザが知ることが難しい場合もある。さらには、複合機の場合、内蔵されている情報機器の数に応じて、複数のドライバを取得する必要があり、これも一般のユーザが理解することは困難である。三つ目は、前述のユーザがフルスペックドライバを取得することが困難であるという問題を解決するため、ＩＨＶからＯＳ開発会社に提供される、ＯＳ提供用ドライバである。ＯＳ開発会社は、提供されたＯＳ提供用ドライバを、ＯＳが認識できる場所に保存しておくことで、ＯＳがＰｎＰＸ時にＩＨＶ製のＯＳ提供用ドライバをインストールできるようにする。
【０００４】
ＯＳ提供用ドライバには制限が設けられることが多い。その制限の代表的な例としては、容量制限がある。ＯＳ提供用ドライバは、主にＰＣのハードディスク上に保存されたり、インターネット上に設置されたＯＳ専用のＷｅｂサーバに保存されたりすることが多い。しかし、あらゆる情報機器のＩＨＶ製のフルスペックドライバを上記ハードディスクやＯＳ専用のＷｅｂサーバに保存してしまうと、膨大な容量が必要になり、ＰＣやＷｅｂサーバにとって大きな負担となってしまう。そこで、ドライバの容量に制限が設けられることがある。この容量制限を満たすため、ＯＳ提供用ドライバは、フルスペックドライバより機能が削られてしまう場合がある。従って、ＯＳ提供用ドライバがインストールされてしまうことにより、ユーザは情報機器の全ての機能を使えなくなってしまうという問題が発生する。この問題に対処するため、ＯＳがＩＨＶによって開発されたＰｎＰＸモジュールを実行してフルスペックドライバをダウンロード及びインストールする技術が提案されている。例えば、特許文献１は、ＷＳＤモジュールによって発見したプリンタの性能情報と、現在インストールしているプリンタの性能情報のうち、いずれが優位かを判定し、判定結果に従ってドライバをインストールするプログラムを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２７００６号公報
【非特許文献】
【０００６】
【非特許文献１】マイクロソフト株式会社，" 探索テクノロジ : PnPX"，［online］，Windows Hardware Developer Center ，インターネットURL ：(http://www.microsoft.com/japan/whdc/connect/rally/rallyPnpx.mspx 〉
【非特許文献２】マイクロソフト株式会社，Building Develoyable Device Driver Package" ［online］，Windows Hardware Developer Center ，インターネットURL ：http://download.microsoft.com/download/a/f/d/afdfd50d-6eb9-425e-84e1-b4085a80e34e/DVR-T393＿WH07.pptx 〉
【非特許文献３】Windows Rally テクノロジ，インターネットURL ：http://www.microsoft.com/japan/windows/marketplace/rally/rallyfeatures.aspx
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、ユーザがデバイスのフルスペックドライバを自ら探して手に入れることは困難である。また、特許文献１が開示するような技術では、ユーザが、フルスペックドライバを自ら探す代わりに、ＩＨＶ製ＰｎＰＸモジュールを別途手に入れる必要がある。しかし、ユーザがＩＨＶ製ＰｎＰＸモジュールをどのような場所から、どうやって入手するかを認識することは困難である。
本発明は、ネットワークに接続されたデバイスについてＰｎＰＸを実行することを契機として、デバイスの機能を使用可能にするドライバをインストールする情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の情報処理装置は、ネットワークを介して、該ネットワークにデバイスが接続されたことを認識するデバイス認識手段と、前記ネットワークにデバイスが接続されたことが認識された場合に、該デバイスが有する情報機器に対応する第１のドライバを情報処理装置にインストールする第１インストール手段とを備える。前記第１インストール手段は、前記デバイスの機能を使用可能にする第２のドライバを前記情報処理装置にインストールする第２インストール手段を、前記第１のドライバを前記情報処理装置にインストールしたことを契機として前記ネットワークを介して取得し、前記第２インストール手段は、前記情報処理装置に前記第２のドライバのインストールが必要であるかを判断し、前記情報処理装置に前記第２のドライバのインストールが必要である場合に、前記ネットワークを介して該第２のドライバを前記情報処理装置にインストールする。
【発明の効果】
【０００９】
本発明によれば、ネットワークに接続されたデバイスについてＰｎＰＸが実行されることを契機として、デバイスの機能を使用可能にするドライバを情報処理装置にインストールすることができる。従って、例えば、ユーザは、使用したいデバイスのドライバを自ら探すことなく、プラグアンドプレイを行うだけで、このデバイスのフルスペックドライバを情報処理装置にインストールさせることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態のシステム構成例を示す図である。
【図２】ＰＣと複合機のハードウェア構成例を示す図である。
【図３】ＰＣのソフトウェア構成例を表す図である。
【図４】ＮＭが表示する画面の例を示す図である。
【図５】ＷＳＤｉｓｃｏｖｅｒｙメッセージの例である。
【図６】ＰｎＰＸの実行時に発行される情報機器の情報を示す図（１）である。
【図７】ＰｎＰＸの実行時に発行される情報機器の情報を示す図（２）である。
【図８】追加インストーラの構成とフルスペックドライバ表の例を示す図である。
【図９】ＰＣの全体動作処理フローの例を示す図である。
【図１０】後処理の呼び出し処理を説明するフローチャートである。
【図１１】追加インストーラの実行処理を説明するフローチャート（１）である。
【図１２】第２の実施形態の情報処理装置の構成例を示す図である。
【図１３】追加インストーラの構成例とドライバ部品表の例を示す図である。
【図１４】ドライバ機能一覧表とアプリ機能表の例を示す図である。
【図１５】追加インストーラの実行処理を説明するフローチャート（２）である。
【図１６】必須機能表の例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、添付図面を参照して本実施形態について説明する。なお、本実施形態は、本発明を限定するものではない。また、本実施形態で説明されている特徴の組み合わせの全てが、本発明の必須の構成要素とは限らない。また、以下で引用するＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａ  ＯＳに関する技術のうち、特に説明していない技術は、ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａ−ｊｐ／ｄｅｆａｕｌｔ．ａｓｐｘにおいて開示されている。
【００１２】
図１は第１の実施形態のシステム構成例を示す図である。図１に示すシステムは、ＰＣ（Personal Computer ）１と、複合機３と、ＩＨＶ用Ｗｅｂサーバ１００とを備える。ＰＣ１と複合機３とＩＨＶ用Ｗｅｂサーバ１００とは、ネットワーク４を介して互いに接続されている。ネットワーク４は、例えばＥｔｈｅｒｎｅｔ（登録商標）で構成される。ＰＣ１は、本実施形態の情報処理装置である。ＰＣ１は、図２（Ａ）を参照して後述するようなハードウェア構成を有し、ＯＳとして、例えば米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａと同等のＯＳがインストールされている。図１に示す例では、ＰＣ１は、スキャナドライバ５０、プリンタドライバ７０、ネットワークモニタ８０を備える。プリンタドライバ７０は、複合機３が備えるプリンタ１２２の機能を使用するためのプログラムである。スキャナドライバ５０は、複合機３が備えるスキャナ１２１の機能を使用するためのプログラムである。ネットワークモニタ（ＮＭ）８０は、ネットワーク４に接続された、デバイス（例えば複合機３）やＰＣ１以外のＰＣ等を表示するプログラムである。
【００１３】
複合機３は、本実施形態のデバイスであり、情報機器としてプリンタ１２２とスキャナ１２１とを備える。複合機３は、例えばＸＸＸ社製のＣというモデル名の複合機である。本実施形態のデバイスが、プリンタ１２２、スキャナ１２１以外の任意の情報機器（例えば、複写機、ファクシミリ、デジタルカメラ等）を備えるようにしてもよい。複合機３は図２（Ｂ）で後述するようなハードウェアで構成され、ＰＣ１とネットワーク４を介して双方向通信可能に接続されている。ＩＨＶ用Ｗｅｂサーバ１００は、Ｗｅｂ１４１上に設けられている。ＩＨＶ用Ｗｅｂサーバ１００は、情報機器開発会社（ＩＨＶ）が利用又は管理するＷｅｂサーバである。本実施形態のシステムが、ＩＨＶ用Ｗｅｂサーバ１００の代わりに、ネットワーク４を介してＰＣ１等の情報処理装置に対して該情報処理装置から要求されたソフトウェアを提供できる任意のサーバを備えるようにしてもよい。図２（Ａ）に示すＰＣ１のハードウェア構成と同様のハードウェア構成を有する。ＩＨＶ用Ｗｅｂサーバ１００は、ＩＨＶが開発した情報機器用に、追加インストーラ１３１、プリンタドライバ１３２、スキャナドライバ１３３、アプリケーション１３４、ドライバ部品１３５を備える。
【００１４】
図２は、ＰＣと複合機のハードウェア構成例を示す図である。図２（Ａ）は、ＰＣ１のハードウェア構成例を示す。ＰＣ１はランダムアクセスメモリ（ＲＡＭ）１２０１、ハードディスクドライブ（ＨＤＤ）１２０２、キーボード（ＫＢＤ）１２０３、マウス（ＭＯＵＳＥ）１２０８を備える。また、ＰＣ１は、ＣＰＵ（Central Processing Unit）１２０４、ＬＣＤ（Liquid Crystal Display）１２０５、ネットワークボード（ＮＢ）１２０７を備える。ＣＰＵ１２０４は、ＰＣ１全体を制御する。具体的には、ＣＰＵ１２０４は、ＨＤＤに記憶されたコンピュータプログラムをＲＡＭ１２０１上に読み出し、このコンピュータプログラムを実行する。このコンピュータプログラムは、本実施形態の情報処理装置の制御方法を実現するプログラムである。ＰＣ１が、ＨＤＤ１２０２の代わりに、可搬性ＣＤ−ＲＯＭ又は内部据付のＲＯＭ（Read Only Memory）等を備えるようにしてもよい。ＫＢＤ１２０３、ＭＯＵＳＥ１２０８は、ユーザの操作に応じた情報を入力する。ＮＢ１２０７はＰＣ１と複合機３との通信を制御する。図２（Ａ）に示すＰＣ１が備える構成部は、互いにバス１２０６を介して接続されている。
【００１５】
図２（Ｂ）は、複合機３のハードウェア構成例を示す。複合機３は、ＣＰＵ１５、ＲＯＭ１６、ＲＡＭ１７、通信部１８、記録部１９、操作部２０、表示部２１、画像取得部２２を備える。ＣＰＵ１５が、複合機３全体を制御する。具体的には、ＣＰＵ１５が、ＲＯＭ１６に記憶されているプログラムに従って、ＲＡＭ１７、通信部１８、記録部１９、操作部２０、表示部２１、画像取得部２２を制御する。ＲＯＭ１６には、ＰＣ１が備えるプリンタドライバ７０の制御に従って、記録（印刷）処理を行ったり、複合機３の状態をＰＣ１へ通知する処理を行ったりするプログラムが記憶されている。また、ＲＯＭ１６には、ＰＣ１が備えるスキャナドライバ５０の制御に従って複合機３が画像取得部２２より画像を取得する処理や、取得画像をＰＣ１へ伝える処理を行うプログラムも記憶されている。また、ＲＯＭ１６には、複合機３が備える情報機器であるプリンタ１２２、スキャナ１２１の各々に対応するＩＨＶ製ドライバ（第１のドライバ）が予め記憶されている。ＲＡＭ１７には、ＰＣ１から送信されて記録部１９によって印刷される印字データが一時的に記憶される。ＲＡＭ１７に、画像取得部２２により取得された画像データが一時的に記憶されるようにしてもよい。
【００１６】
通信部１８は、ネットワーク４用の接続ポートを備える。通信部１８は、Ｅｔｈｅｒｎｅｔ（登録商標）の通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等を有する記録ユニットと、印字データに基づいて記録ヘッドにて印字用パルスを発生させるためのＡＳＩＣ等を有する電気回路とを備える。ＰＣ１のユーザが、印刷可能なアプリケーションを用いて印刷することを指示すると、アプリケーションで開かれているファイルの表示内容（画像データ）が、ＥＭＦ形式のスプールファイルとしてＰＣ１のＨＤＤ１２０２に一時的に格納される。そして、格納されたスプールファイルは、プリンタドライバ７０を介して複合機３の制御用コマンドを含む印字データに変換された後、ネットワーク４を介して複合機３に送られる。複合機３の通信部１８がこの印字データを受信し、記録部１９が印字データを印字用パルスに変換して、記録紙上に印刷する。操作部２０は、電源ボタン、リセットボタン等の各種ボタンを有する。ユーザが操作部２０が備える各種ボタンを押し下げることによって、複合機３を操作することができる。表示部２１は、例えばタッチパネルの液晶ディスプレイを備える。表示部２１は、複合機３の状態の表示や、各種設定の表示や入力等を行うことができる。画像取得部２２は、スキャナ１２１を介して画像データを取得する。このために、画像取得部２２は、ＣＩＳ方式やＣＳＳ方式のスキャンヘッドを有する。
【００１７】
図３はＰＣのソフトウェア構成例を表す図である。ＰＣ１は、Ｅｔｈｅｒｎｅｔ（登録商標）を制御するＥｔｈｅｒｎｅｔ（登録商標）制御スタック９２、ＩＰ（Internet Protocol ）Ｎｅｔｗｏｒｋを制御するＩＰ  Ｎｅｔｗｏｒｋ制御スタック９１、ＷＳＤを制御するＷＳＤ制御スタック９０を備える。また、ＰＣ１は、ＩＨＶの独自プロトコルを制御するＩＨＶネイティブプロトコル制御スタック８９を備える。また、ＰＣ１は、例えば、ＰｎＰＸを制御して、つまりプラグアンドプレイを行って、ネットワーク４へのデバイスの接続を認識するＰｎＰＸ制御モジュール８８を備える。ＰｎＰＸ制御モジュール８８は、ＯＳの指示に従ってデバイスの接続を認識する。すなわち、ＯＳ及びＰｎＰＸ制御モジュール８８は、ネットワーク４を介して、該ネットワーク４にデバイス（複合機３等）が接続されたことを認識するデバイス認識手段として機能する。ＰｎＰＸは、Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｅｘｔｅｎｓｉｏｎｓの略語である。ＰｎＰＸは、ネットワーク接続情報機器に対するサポートを提供するプラグアンドプレイの一連の拡張機能としてＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａ  ＯＳに標準搭載されている。以下の説明では、ＰｎＰＸ制御モジュール８８は、例えば、ＰｎＰＸの一種であるＮ−ＰｎＰを用いた制御を実行する。
【００１８】
また、ＰＣ１は、情報機器ドライバ群８５を備える。情報機器ドライバ群８５は、ＯＳに標準で同梱されている標準ドライバ群８７とＩＨＶから提供されるＩＨＶ製ドライバ（群）８６とを備える。ＩＨＶ製ドライバ８６は、ネットワーク４に接続され得る任意のデバイス、該デバイスが備える情報機器に対応するドライバであり、ＰＣ１の所定の記憶手段内に予め記憶される。ＩＨＶ製ドライバは、ＯＳ提供用ドライバであってもよいし、フルスペックドライバであってもよい。ＩＨＶ製ドライバ８６には、ＦｉｎｉｓｈＩｎｓｔａｌｌアクション（以後、後処理とも記述）が実装されている。ＦｉｎｉｓｈＩｎｓｔａｌｌアクションは、ＰｎＰＸの制御によってＰＣ１にインストールされるＩＨＶ製ドライバ８６の設定ファイルに予め定義されるアクションである。ＯＳが、インストールされたＩＨＶ製のドライバの設定ファイルにＦｉｎｉｓｈＩｎｓｔａｌｌアクションが定義されていることを確認すると、ＩＨＶ製ドライバ８６に指示してドライバの後処理を実行させる。ドライバの後処理はＩＨＶ用Ｗｅｂサーバ１００からの追加インストーラの取得処理である。
【００１９】
具体的には、ＯＳは、後処理実行を命令するメッセージであるＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮメッセージをＩＨＶ製ドライバに対して送信する。ＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮメッセージを受けたＩＨＶドライバ８６は、ドライバの後処理を実行する。なお、ＩＨＶドライバ８６に後処理が必ず実装されているわけではない。本実施形態では、プリンタドライバの設定ファイルに後処理が実装されているものとする。上述したＦｉｎｉｓｈＩｎｓｔａｌｌアクションは、下記の参考文献１に開示されている。
参考文献１：ＷｉｎｄｏｗｓＶｉｓｔａでの情報機器のＦｉｎｉｓｈ−Ｉｎｓｔａｌｌアクション，ＵＲＬ：ｈｔｔｐｓ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｗｈｄｃ／ｄｒｉｖｅｒ／ｉｎｓｔａｌｌ／Ｆｉｎｉｓｈ＿Ｉｎｓｔａｌｌ．ｍｓｐｘ
【００２０】
また、ＰＣ１は、ＡＰＩ／ＤＤＩ８４を備える。ＡＰＩはＡｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略語である。ＤＤＩは、Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅの略語である。ＡＰＩ／ＤＤＩ８４は、例えば、図５を参照して後述するＷＳＤｉｓｃｏｖｅｒｙのイベントをネットワークモニタ（ＮＭ）８０に渡す。ＮＭ８０は、図６を参照して後述するデバイス（複合機３）が備える情報機器の情報を、ＡＰＩ／ＤＤＩ８４を介して取得する。また、ＮＭ８０は、図４（Ａ）乃至（Ｃ）に示す画面をＡＰＩ／ＤＤＩ８４を介して表示する。アプリケーション３０は、印刷指示やスキャン指示を発行可能なアプリケーションである。ＯＳが元々アプリケーション３０を備えていてもよく、また、ＰＣ１がＩＨＶ製Ｗｅｂサーバ１００からアプリケーション１３４を取得して、これをアプリケーション３０としてＯＳにインストールするようにしてもよい。上述したＰＣのソフトウェア構成に含まれるモジュールのうち、ＩＨＶネイティブプロトコル制御スタック８９とＩＨＶ製ドライバ８６が、ＩＨＶ製モジュールであり、これら以外のモジュールは、ＯＳに標準で同梱されているモジュールである。
【００２１】
図４はＮＭが表示する画面の例を示す図である。図４（Ａ）に示すように、ＮＭ８０は、ネットワーク４上に存在するＰＣや周辺装置を表示する。同図において、４２はＰＣ１を表すアイコンである。図４（Ｂ）、（Ｃ）は、ＮＭ８０が表示する画面の他の例を示す。例えば複合機３がネットワーク４に接続されると、複合機３は、ＷＳＤの機能により、図５に示すようなＷＳＤｉｓｃｏｖｅｒｙメッセージをネットワーク４上の全ての機器に送信する。ＷＳＤｉｓｃｏｖｅｒｙメッセージは、複合機３がネットワーク４上に参加したことを示す情報である。ＮＭ８０は、このＷＳＤｉｓｃｏｖｅｒｙメッセージを受信すると、図４（Ｂ）に示すように、複合機３を表すアイコン４３を画面上に表示する。ユーザがアイコン４３をマウスで指定すると、図４（Ｃ）に示すように、ＮＭ８０がインストールメニュー５１を画面表示する。ユーザがインストールメニュー５１を選択すると、ＯＳが、プラグアンドプレイにより、複合機３が備えるプリンタ１２２に対応するプリンタドライバと、複合機３が備えるスキャナ１２１に対応するＩＨＶ製ドライバであるスキャナドライバとをインストールする。具体的には、ＯＳは、ＰＣ１の記憶手段内に記憶されているプリンタ１２２とスキャナ１２１の各々に対応するＩＨＶ製ドライバを、これらのＩＨＶ製ドライバが当初記憶されていた記憶領域と異なる他の記憶領域に記憶（インストール）する。すなわち、ＯＳは、ネットワーク４にデバイスが接続されたことが認識された場合に、該デバイスが有する情報機器に対応する第１のドライバを情報処理装置にインストールする第１インストール手段として機能する。
【００２２】
図６及び図７は、ＯＳによるＰｎＰＸの実行時に複合機から発行される、複合機が備える情報機器の情報を示す図である。ＰＣ１のＯＳがＰｎＰＸを実行すると、ＰＣ１のＯＳが、複合機３に対して、複合機３が備える情報機器の情報を問い合わせる。この問い合わせに応じて、複合機３は、図６、図７に示す情報機器の情報をＰＣ１に対して発行する。図６は、複合機３が備えるプリンタ１２２の情報の例を示す。図６中の符号９０はＰｎＰＸの情報機器カテゴリ要素である。この例では、情報機器カテゴリ要素９０は、プリンタ１２２のカテゴリを表す。図７は、複合機が備えるスキャナ１２１の情報の例を示す。図７中の９１はＰｎＰＸの情報機器カテゴリ要素である。この例では、情報機器カテゴリ要素９１は、スキャナ１２１のカテゴリを示す。ＰＣ１のＯＳは、発行された情報機器の情報に基づいて、インストールするＩＨＶ製ドライバ（第１のドライバ）を決定する。
【００２３】
図８は、追加インストーラの構成とフルスペックドライバ表の例を示す図である。図８（Ａ）は追加インストーラの構成例を示す。追加インストーラ１３１は、デバイスの機能を使用可能にする第２のドライバをＰＣ１にインストールする第２インストール手段として機能する。第１の実施形態では、上記第２のドライバは、デバイスが備える情報機器の機能を全て使用可能にするフルスペックドライバである。追加インストーラ１３１は、インストール処理部２０１、ソフトウェアダウンロード部２０２、フルスペックドライバ表２０３を備える。ソフトウェアダウンロード部２０２は、ソフトウェア（例えば、ドライバ）をダウンロードする。インストール処理部２０１は、ダウンロードされたソフトウェアをインストールする。フルスペックドライバ表２０３は、デバイスが備える情報機器に対応するフルスペックドライバの情報が設定される表である。
【００２４】
図８（Ｂ）は、フルスペックドライバ表の例を示す。フルスペックドライバ表２０３は、機種名、デバイスタイプ、ドライバ名、ダウンロードＵＲＬといったデータ構成を有する。機種名は、デバイスの機種名、又はデバイスが有する情報機器の機種名である。デバイスタイプは、デバイス又はデバイスが有する情報機器のタイプである。ドライバ名は、機種名が示すデバイス又は情報機器の機能を使用するために必要な、フルスペックドライバである。ダウンロードＵＲＬは、ドライバ名に対応するフルスペックドライバの位置情報である。具体的には、ダウンロードＵＲＬは、ＩＨＶ用Ｗｅｂサーバ１００が有するフルスペックドライバの位置情報である。
【００２５】
図９は、ＰＣの全体動作処理フローの例を示す図である。まず、ユーザが、ＰＣ１のＮＭ８０を起動する（ステップＳ１）。ＮＭ８０が、ネットワーク４上に接続されている情報機器の一覧をネットワークモニタ上に表示する。ユーザが複合機３をネットワーク４に接続する（ステップＳ２）。複合機３は、図５に示すＷＳＤｉｓｃｏｖｅｒｙメッセージ（ＷＳＤメッセージ）をＰＣ１に対して送信するので、ＰＣ１のＯＳがそのＷＳＤメッセージを受け取る（ステップＳ３）。次に、ＮＭ８０が、ＯＳの指示に従って、複合機３を示すアイコン４３（図４（Ｂ）を参照）を画面表示する（ステップＳ４）。
【００２６】
ユーザがマウス操作によってアイコン４３を指定すると、ＮＭ８０がインストールメニュー５１（図４（Ｃ）を参照）を画面表示する。ユーザがインストールメニュー５１を選択すると、ＯＳ及びＰｎＰＸ制御モジュール８８が、複合機３を対象としてＰｎＰＸの実行を開始する（ステップＳ５）。すなわち、第１インストール手段として機能するＯＳは、プラグアンドプレイによって、複合機３に対応する第１のドライバをインストールする。なお、ＯＳが、ＮＢ８０に複合機３を示すアイコン４３を画面表示させることなく、複合機３がネットワーク４に接続されたことを契機として複合機３を対象として自動的にＰｎＰＸの実行を開始するようにしてもよい。ＰｎＰＸの実行が開始されると、ＯＳが、ＷＳＤの機能を用いて、複合機３に対して、複合機３が備える情報機器の情報を取得するよう命令を出し、この命令に応じた複合機３から例えば図６、図７に示すような情報機器の情報を取得する（ステップＳ６）。
【００２７】
ＰＣ１は、ステップＳ６において取得した情報機器の情報に対応する全ての情報機器について、下記のステップＳ８乃至Ｓ１１の処理を実行する（ステップＳ７、Ｓ１２）。ＰＣ１のＯＳは、例えば、図６、図７に示す情報機器の情報に基づいて、複合機３がプリンタとスキャナという２つの情報機器を備えることを認識する。従って、ＯＳは、認識したプリンタとスキャナの各々を対象情報機器として、ステップＳ８乃至Ｓ１１の処理を実行する。
【００２８】
ＰＣ１のＯＳが、対象情報機器用のＩＨＶ製ドライバを検索する（ステップＳ８）。検索の結果、ＩＨＶ製ドライバがある場合、ＰＣ１のＯＳが、このＩＨＶ製ドライバを第１のドライバとしてインストールする（ステップＳ９）。この第１ドライバは、ＯＳに同梱されるため、容量削減や、ＯＳの機能との連動のために制限がかけられているＯＳに提供する為のドライバ（ＯＳ提供用ドライバ）である。続いて、ＯＳが、インストールされたＩＨＶ製ドライバの設定ファイルに後処理が定義されているかを判断する（ステップＳ１０）。ＩＨＶ製ドライバの設定ファイルに後処理が定義されていない場合は、ループを終了する（ステップＳ１２）。ＩＨＶ製ドライバの設定ファイルに後処理が定義されている場合、ＯＳが、後処理を呼び出す（ステップＳ１１）。具体的には、ＯＳが、ＩＨＶ製ドライバにＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮを通知して、ＩＨＶ製ドライバに追加インストーラ１３１をインストールさせる。全ての情報機器について処理が終わればループを終了する（ステップＳ１２）。その後、ＯＳが、ＰｎＰＸの完了を示す情報を表示する（ステップＳ１３）。
【００２９】
図１０は図９のステップＳ１１における後処理の呼び出し処理を説明するフローチャートである。ＩＨＶ製ドライバが、ＯＳからのメッセージを受け取る（ステップＳ１１１）。ＩＨＶ製ドライバが、受け取ったメッセージがＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮであるかを判断する（ステップＳ１１２）。受け取ったメッセージがＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮではない場合は、処理を終了する（ステップＳ１１５）。受け取ったメッセージがＤＩＦ＿ＦＩＮＩＳＨＩＮＳＴＡＬＬ＿ＡＣＴＩＯＮメッセージである場合は、ＩＨＶ製ドライバは、ネットワーク４を介して、ＩＨＶ用Ｗｅｂサーバ１００から追加インストーラ１３１を取得する（ステップＳ１１３）。続いて、ＩＨＶ製ドライバが、取得した追加インストーラ１３１を実行し（ステップＳ１１４）、処理を終了する。ＩＨＶ製ドライバは、追加インストーラ１３１の実行の際に、対象情報機器の機種名を追加インストーラに伝える。
【００３０】
図９、図１０を参照して説明したことから、第１インストール手段（ＯＳ）は、デバイスの機能を使用可能にする第２のドライバをＰＣ１にインストールする第２インストール手段を、第１のドライバをＰＣ１にインストールしたことを契機として取得する。
【００３１】
図１１は、図１０のステップＳ１１４における追加インストーラの実行処理を説明するフローチャートである。追加インストーラ１３１は、起動される時に（ステップＳ２０１）、ＩＨＶ製ドライバから対象情報機器の機種名を受け取る。その後、ステップＳ２０２乃至Ｓ２０４のループにて、追加インストーラ１３１は、ＯＳがＰｎＰＸ中でなくなるまで待つ。具体的には、追加インストーラ１３１は、ＯＳがＰｎＰＸ中であるかをＯＳに問い合わせて調べ、（ステップＳ２０３）、ＯＳがＰｎＰＸ中でなくなるまで待機する。この処理により、全ての情報機器のＰｎＰＸが終わってからステップＳ２０５以降の処理に進むことになり、その結果、一旦、ＯＳがインストールすることができる情報機器のドライバ（第１のドライバ）が全てインストールされていることになる。
【００３２】
次に、追加インストーラ１３１が、追加インストールを開始することを表示する（ステップＳ２０５）。追加インストールは、インストール済みの第１のドライバ（図９のＳ９を参照）に加えて、情報機器の機能を使用可能にする第２のドライバをインストールすることである。続いて、追加インストーラ１３１が、図１３（Ｂ）に示すフルスペックドライバ表と、起動される時に伝えられた対象情報機器の機種名とに基づいて、対象情報機器に対応するフルスペックドライバをリストアップする（ステップＳ２０６）。
【００３３】
次に、追加インストーラ１３１が、複合機３が備える全ての対象情報機器について、ステップＳ２０８乃至Ｓ２１２の処理を実行する（ステップＳ２０７）。まず、追加インストーラ１３１は、以下に説明するように、ステップＳ２０８及びＳ２０９の処理により、ＰＣ１にフルスペックドライバのインストールが必要であるかを判断する。追加インストーラ１３１が、ある情報機器に関して、その情報機器に対応する第１のドライバがＰＣ１にインストール済みであるかを調べる（ステップＳ２０８）。情報機器に対応する第１のドライバがインストール済みである場合、追加インストーラ１３１は、この第１のドライバがステップＳ２０６においてリストアップされたこの情報機器に対応するフルスペックドライバと一致するかを判断する（ステップＳ２０９）。
【００３４】
第１のドライバがフルスペックドライバと一致する場合は、ステップＳ２１２に進んでループを終了する。第１のドライバがフルスペックドライバと一致しない場合、追加インストーラ１３１が、ＰＣ１にフルスペックドライバのインストールが必要であると判断する。そして、追加インストーラ１３１が、図８（Ｂ）に示すフルスペックドライバ表を参照して、このフルスペックドライバに対応するダウンロードＵＲＬを取得する。そして、追加インストーラ１３１が、取得されたダウンロードＵＲＬに基づいて、ＩＨＶ用Ｗｅｂサーバ１００からフルスペックドライバをダウンロードする（ステップＳ２１０）。
【００３５】
上記ステップＳ２０８において、追加インストーラ１３１が、第１のドライバがＰＣ１にインストール済みでないと判断した場合、追加インストーラ１３１は、ＰＣ１にフルスペックドライバのインストールが必要であると判断して、上記ステップ２１０に進む。続いて、追加インストーラ１３１が、ダウンロードされたフルスペックドライバをインストールして（ステップＳ２１１）、ループを終了する（ステップＳ２１２）。このフルスペックドライバは、前述の第１のドライバに比べ、機能が制限されていない多くの機能が使えるドライバである。全てのループが終了すると、追加インストーラ１３１が、追加インストールが終了したことを表示し（ステップＳ２１３）、処理を終了する。
【００３６】
上述した第１の実施形態の情報処理装置は、ネットワーク４にデバイスが接続されてこのデバイスについてＰｎＰＸが実行されることを契機として、デバイスに対応する第１のドライバをインストールするとともに、以下の処理を実行する。情報処理装置の追加インストーラ１３１は、デバイスが有する情報機器のフルスペックドライバがインストール済みであるかを判断し、この判断結果に基づいて、第２のドライバ（フルスペックドライバ）のインストールが必要であるかを判断する。そして、追加インストーラ１３１は、第２のドライバのインストールが必要であると判断した場合に、ネットワーク４を介して該第２のドライバを情報処理装置にインストールする。従って、この情報処理装置によれば、デバイスについてのＰｎＰＸの実行を通じて、このデバイスが有する全ての情報機器のフルスペックドライバをインストールすることができる。本実施形態のインストール方法は、追加インストーラ１３１の機能により実現される。このインストール方法は、デバイスがネットワークに接続されたことに応じてドライバがインストールされた後の後処理で実行される。このインストール方法は、インストールされているドライバがフルスペックドライバであるか判断する判断ステップを有する。また、このインストール方法は、前記判断ステップによりインストールされているドライバがフルスペックドライバでないと判断された場合、フルスペックドライバをインストールするステップを有する。また、本実施形態のコンピュータプログラムが、上記インストール方法を実現するプログラムであってもよい。
【００３７】
次に、第２の実施形態について説明する。第２の実施形態の情報処理装置の全体動作処理は、図９を参照して説明した動作処理と同様である。また、第２の実施形態の情報処理装置が実行する後処理の呼び出し処理は、図１０を参照して説明した後処理の呼び出し処理と同様である。但し、第２の実施形態においては、ＩＨＶ用Ｗｅｂサーバ１００は、追加インストーラ１３１とは異なる機能を有する追加インストーラ１３２を備える。従って、ＯＳは、図１０のステップＳ１１３、Ｓ１１４において、追加インストーラ１３２を取得し、実行する。また、第２の実施形態においては、後述する必須ドライバが第２のドライバである。
【００３８】
図１２は第２の実施形態の情報処理装置の構成例を示す図である。ＰＣ１０は、第２の実施形態の情報処理装置である。ＰＣ１の基本的な構成は、実施例１の情報処理装置（ＰＣ１）の構成と同様である。ＰＣ１０が備えるプリンタドライバ７０は、符号３３乃至３８が示す複数のモジュールを備える。プリントプロセッサ３３は、印刷レイアウトの変更や印刷画像に対する特殊処理を実行する。グラフィックスドライバ３４は、ＧＤＩ３１から送られて来る描画命令に基づいて、印刷用の画像処理を行い、印刷制御コマンドを作成する。ＵＩモジュール３５は、プリンタドライバのユーザインタフェースの提供及び制御を行う。ランゲージモニタ３６は、データの通信Ｉ／Ｆ（Interface）であり、データの送受信を制御する。ポートモニタ３７は、ランゲージモニタ３６から送信されるデータを受信して適切なポートに対して送信したり、複合機３から送信されるデータをクラスドライバ３８を介して受信したりする。クラスドライバ３８は、最もポートに近いローレベルのモジュールである。本実施形態におけるプリンタドライバ７０は、ＷＳＤやＩＨＶの独自プロトコルのプリンタクラスのドライバに相当し、ポート（本実施例ではネットワークポート）を制御する。プリンタドライバ７０の構成は、ＯＳ標準ドライバ、ＯＳ提供用ドライバ、フルスペックドライバのいずれについても同様である。
【００３９】
アプリケーション３０は、印刷指示を発行可能なアプリケーションである。アプリケーション３０は、例えば、ＯＳに標準で同梱されているテキストエディタであるＮｏｔｅｐａｄ（Ｎｏｔｅｐａｄ．ｅｘｅ）等に相当する。ＧＤＩ（Graphics Device Interface ）３１は、印刷命令を受信する機能を有する。なお、ＧＤＩを通して印刷命令を受信できるプリンタドライバのことをＧＤＩプリンタドライバという。プリンタキュー３２には印刷ジョブがキューイングされる。プリンタキュー３２はスプーラ４０に設けられている。キューイングされた印刷ジョブは、不図示のプリンタキューフォルダに表示される。
【００４０】
図１３は、第２の実施形態における追加インストーラの構成例とドライバ部品表の例を示す図である。図１３（Ａ）に示す追加インストーラ１３２は、第２の実施形態における追加インストーラである。追加インストーラ１３２は、インストール処理部２０１、ソフトウェアダウンロード部２０２、ドライバ部品表２０４、ドライバ機能一覧表２０５、アプリ機能表２０６を備える。インストール処理部２０１、ソフトウェアダウンロード部２０２は、それぞれ、図８（Ａ）に示す追加インストーラ１３１が備えるインストール処理部２０１、ソフトウェアダウンロード部２０２と同様である。
【００４１】
ドライバ部品表２０４は、ドライバ部品に関する情報が設定された表である。ドライバ部品は、ドライバと組み合わさって動作する部品である。例えば、図１２中に示すポートモニタ３７等が、ドライバ部品に該当する。ドライバ機能一覧表２０５は、デバイスに含まれる情報機器に対応するドライバに関する情報が設定された表である。アプリ機能表２０６は、アプリケーションの実行に必要な情報機器、ドライバ、及び出力ポートに関する情報が設定された表である。
【００４２】
図１３（Ｂ）は、ドライバ部品表２０４の例を示す。ドライバ部品表２０４は、ドライバ部品名、対応情報機器タイプ、対応ドライバタイプ、対応ドライバポート、ＵＲＬいったデータ構成を有する。ドライバ部品名はドライバ部品の名称である。対応情報機器タイプは、当該ドライバ部品に対応する情報機器のタイプである。対応ドライバタイプは、当該ドライバ部品に対応するドライバのタイプである。対応ドライバポートは、当該ドライバ部品に対応する出力ポートである。ＵＲＬは、ドライバ部品の位置情報である。具体的には、ＵＲＬは、ＩＨＶ用Ｗｅｂサーバ１００（図１を参照）内の、ドライバ部品の位置情報を示す。
【００４３】
図１４は、ドライバ機能一覧表とアプリ機能表の例を示す図である。図１４（Ａ）は、ドライバ機能一覧表２０５の例を示す。ドライバ機能一覧表２０５は、機種名、情報機器タイプ、ドライバタイプ、ドライバ名、出力可能ポート、優先度、ＵＲＬといったデータ構成を有する。機種名は、デバイスの機種名である。情報機器タイプは、デバイスが有する情報機器のタイプである。ドライバ名は、当該情報機器の機能を使用するために必要なドライバの名称である。出力可能ポートは、当該ドライバに対応する出力ポートである。優先度は、当該ドライバの優先度である。優先度は、予め決められている。優先度は、例えば、ドライバのインストールに関する優先順位に対応する。優先度として設定されている数字が小さいほど、優先度すなわち優先順位が高いことを示す。ＵＲＬは、各々のドライバの位置情報である。具体的には、ＵＲＬは、各々のドライバの、ＩＨＶ用Ｗｅｂサーバ１００内の位置情報を示す。
【００４４】
図１４（Ｂ）は、アプリ機能表２０６の例を示す。アプリ機能表２０６は、アプリ名、必須情報機器タイプ、必須ドライバタイプ、必須出力ポートといったデータ構成を有する。アプリ名は、アプリケーションの名称である。必須情報機器タイプは、アプリケーションの実行に必要な情報機器（必須情報機器）のタイプである。必須ドライバタイプは、当該必須情報機器の機能を使用するために必要なドライバ（必須ドライバ）のタイプである。必須出力ポートは、当該必須ドライバに対応する出力ポート（必須出力ポート）である。
【００４５】
図１５は、第２の実施形態における追加インストーラの実行処理を説明するフローチャートである。図１５に示すステップＳ３０１乃至Ｓ３０５の処理は、図１１に示すステップＳ２０１乃至Ｓ２０５の処理と同様である。第２の実施形態においては追加インストーラ１３２が第２インストーラとして機能する。ステップＳ３０６において、追加インストーラ１３２が、インストール可能アプリ一覧を表示する（ステップＳ３０６）。インストール可能アプリ一覧は、ＰＣ１０にインストール可能であるアプリケーションの一覧である。続いて、ユーザの操作入力に従って、追加インストーラ１３２が、アプリケーションを選択すると（ステップＳ３０７）、追加インストーラ１３２が、選択されたアプリケーションをＰＣ１０にインストールする（ステップＳ３０８）。
【００４６】
次に、追加インストーラ１３２が、インストールされたアプリケーション毎に、アプリ機能表２０６を用いて必須機能表を作成する（ステップＳ３０９）。必須機能表は、インストールされたアプリケーションの実行に必要な機能（必須機能）を示す表である。例えば、図１４（Ｂ）のアプリ機能表２０６中に示す写真印刷アプリＡ、写真印刷アプリＢ、スキャン補助アプリＣの全てがインストールされた場合を想定する。追加インストーラ１３２は、図１４（Ｂ）のアプリ機能表２０６を参照して、図１６に示すような必須機能表を作成する。
【００４７】
図１６に示す必須機能表は、必須情報機器タイプ、必須ドライバタイプ、必須ドライバポートといったデータ構成を有する。必須情報機器タイプは、インストールされたアプリケーションの実行に必要な情報機器のタイプである。必須ドライバタイプは、当該情報機器の機能を使用するために必要なドライバ（必須ドライバ）のタイプである。必須ドライバタイプは、当該ドライバに対応する出力ポート（必須出力ポート）である。すなわち、必須機能表は、アプリケーションの実行に必要な情報機器である必須情報機器と、該アプリケーションの実行に必要な必須ドライバと、該アプリケーションの実行に必要な必須出力ポートとの対応情報を示す。以下では、必須機能表に載っている必須情報機器タイプ、必須ドライバタイプ、必須ドライバポートを、必須機能とも記述する。
【００４８】
図１５に戻って、追加インストーラ１３２が、ステップＳ３０９において作成した必須機能表を参照して、必須情報機器毎に、以下の処理を実行する（ステップＳ３１０）。追加インストーラ１３２が、ＰＣ１０に対象情報機器に対応するドライバがインストールされているかを判断する（ステップＳ３１１）。ＰＣ１０に対象情報機器に対応するドライバがインストールされていない場合、追加インストーラ１３２がドライバ機能一覧表２０５を検索し必須機能表上の当該対象情報機器に対応する必須機能を全て満たすドライバが存在するかを判断する（ステップＳ３１２）。検索の結果、必須機能表上の当該対象情報機器に対応する必須機能を全て満たすドライバが存在しない場合は、ループを終了する（ステップＳ３２７）。これにより、追加インストーラの実行処理が終了する（ステップＳ３２８）。必須機能表上の当該対象情報機器に対応する必須機能を全て満たすドライバが存在する場合は、ステップＳ３１３に進む。なお、ステップＳ３１２において、追加インストーラ１３２が、ドライバ機能一覧２０５に必須機能の一部を満たすドライバ（例えば、必須ドライバタイプに対応する必須ドライバ）が存在するかを判断するようにしてもよい。
【００４９】
次に、追加インストーラ１３２が、ステップＳ３１２における検索の結果得られたドライバが一つだけであるかを判断する（ステップＳ３１３）。検索の結果得られたドライバが一つだけである場合は、追加インストーラ１３２が、得られたドライバをインストールすることを決定し（ステップＳ３１４）、ステップＳ３１５に進む。検索の結果得られたドライバが複数ある場合は、追加インストーラ１３２が、ドライバ機能一覧表２０５を参照して、得られた複数のドライバのうち、優先度が最も高いドライバをインストールすることを決定し（ステップＳ３１９）、ステップＳ３１５に進む。
【００５０】
次に、追加インストーラ１３２が、インストールすることを決定したドライバに対応するＵＲＬを、ドライバ機能一覧表２０５に基づいて取得する（ステップＳ３１５）。追加インストーラ１３２が、ステップＳ３１５において取得したＵＲＬからドライバをダウンロードする（ステップＳ３１６）。追加インストーラ１３２が、ダウンロードしたドライバをインストールする。そして、追加インストーラ１３２が、出力ポートを必須機能表における当該対象情報機器に対応する必須ドライバポートに設定し（ステップＳ３１８）、ステップＳ３２７に進む。
【００５１】
ステップＳ３１１における判断処理の結果、ＰＣ１０に対象情報機器に対応するドライバがインストールされている場合、追加インストーラ１３２が、以下の処理を実行する。追加インストーラ１３２が、ＰＣ１０に必須機能表上の対象情報機器に対応する必須ドライバタイプのドライバがインストールされているかを判断する（ステップＳ３２０）。ＰＣ１０に必須ドライバタイプのドライバがインストールされていない場合は、ステップＳ３１２に進む。ＰＣ１０に必須ドライバタイプのドライバがインストールされている場合は、ステップＳ３２１に進む。
【００５２】
次に、追加インストーラ１３２が、必須機能表に対象情報機器に対応する必須ドライバポート（必須出力ポート）が設定されているかを判断する（ステップＳ３２１）。必須機能表に対象情報機器に対応する必須出力ポートが設定されていない場合は、ステップＳ３２７に進む。必須機能表に対象情報機器に対応する必須出力ポートが設定されている場合は、ステップＳ３２２に進む。
【００５３】
次に、追加インストーラ１３２が、インストールされているドライバに対応する出力ポートとして現在ＰＣ１０に設定されている出力ポートが必須出力ポートであるかを判断する（ステップＳ３２２）。設定されている出力ポートが必須出力ポートである場合は、ステップＳ３２７に進む。設定されている出力ポートが必須出力ポートでない場合、追加インストーラ１３２が、ＰＣ１０に対象情報機器に対応する必須出力ポートがないと判断し、ステップＳ３２７に進む。
【００５４】
ステップＳ３２７において、追加インストーラ１３２が、必須出力ポートを実現するポートモジュールをインストールすることを決定する（ステップＳ３２３）。具体的には、追加インストーラ１３２が、図１３（Ｂ）に示すようなドライバ部品表２０４を参照して、上記必須出力ポートに対応するポートモニタをインストールすることを決定する。また、追加インストーラ１３２が、ドライバ部品表を参照して、インストールすることが決定されたポートモジュールのＵＲＬを取得する（ステップＳ３２４）。続いて、追加インストーラ１３２が、取得されたＵＲＬからポートモジュールをダウンロードする（ステップＳ３２５）。そして、追加インストーラ１３２が、ダウンロードしたポートモジュールをインストールして（ステップＳ３２６）、ステップＳ３２７に進む。
【００５５】
上述した第２の実施形態の情報処理装置は、ネットワーク４にデバイスが接続されてこのデバイスについてＰｎＰＸが実行されることを契機として、デバイスに対応する第１のドライバをインストールするとともに、以下の処理を行う。この情報処理装置が備える追加インストーラ１３２が、選択されたアプリケーションの実行に必要な必須情報機器に対応する必須ドライバが情報処理装置にインストール済みであるかを判断する（ステップＳ３１１、Ｓ３２０）。そして、追加インストーラ１３２は、情報処理装置必須情報機器に対応する必須ドライバがインストール済みでない場合に、該必須ドライバをネットワーク４を介してインストールする。従って、この情報処理装置によれば、ＰｎＰＸの実行を契機として、選択されたアプリケーションの実行に必要な全ての情報機器の必須ドライバをインストールすることができる。
【００５６】
また、追加インストーラ１３２は、ＰＣ１０に必須ドライバがインストール済みでない場合に、例えば、必須ドライバのうち、ドライバのインストールに関して予め決められた優先順位に従って選択した必須ドライバをインストールする（Ｓ３１９、Ｓ３１７）。従って、第２の実施形態の情報処理装置によれば、ＰｎＰＸの実行を契機として、選択されたアプリケーションの実行に必要な全ての情報機器について、第１優先順位の必須ドライバをインストールすることができる。
【００５７】
また、追加インストーラ１３２は、ＰＣ１０に必須ドライバがインストール済みである場合に、ＰＣ１０に、必須機能表において必須ドライバに対応づけられている必須出力ポートがあるかを判断する（Ｓ３２１及びＳ３２２）。そして、追加インストーラ１３２は、ＰＣ１０に必須ドライバに対応づけられている必須出力ポートがない場合に、該必須出力ポートを実現する手段（ポートモジュール）をインストールする（Ｓ３２６）。従って、第２の実施形態の情報処理装置によれば、ＰｎＰＸの実行を契機として、選択されたアプリケーションの実行に必要な必須ドライバに対応する必須出力ポートを設定することができる。
【００５８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００５９】
１  ＰＣ
３  複合機
【図１】
2011186969.tif 000003
【図２】
2011186969.tif 000004
【図３】
2011186969.tif 000005
【図４】
2011186969.tif 000006
【図５】
2011186969.tif 000007
【図６】
2011186969.tif 000008
【図７】
2011186969.tif 000009
【図８】
2011186969.tif 000010
【図９】
2011186969.tif 000011
【図１０】
2011186969.tif 000012
【図１１】
2011186969.tif 000013
【図１２】
2011186969.tif 000014
【図１３】
2011186969.tif 000015
【図１４】
2011186969.tif 000016
【図１５】
2011186969.tif 000017
【図１６】
2011186969.tif 000018