(57)【要約】【課題】情報処理装置において周辺装置のドライバをインストールする際、情報処理装置の構成を考慮して最適な方法でドライバのインストールを実行可能にする技術の提供。【解決手段】情報処理装置に周辺装置を接続した際、情報処理装置はドライバ検索処理を実行する。この処理では、ＣＤ内にドライバが存在するか否かを確認し（S305〜S315）、周辺装置内にドライバが存在するか否かを確認する（S320，S335）。ＣＤ内および周辺装置内の双方にドライバが存在する場合は（S320:YES）、バージョンの新しいドライバの所在を記憶し（S325〜S330）、いずれか一方にドライバが存在する場合は（S320：NO、またはS335:YES）、そのドライバの所在を記憶する（S330、またはS340）。情報処理装置は、ドライバ検索処理で記憶されたドライバをインストール元として、ドライバのインストールを行う。【選択図】図４
2010044579.tif 000002
【特許請求の範囲】
【請求項１】
「周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段とを備えた情報処理装置」に接続可能な周辺装置であって、
前記ドライバを記憶するドライバ記憶手段と、
前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段と
を備え、
前記プログラム記憶手段には、
前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および
前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段
として、前記情報処理装置を機能させるためのプログラムが記憶されている
ことを特徴とする周辺装置。
【請求項２】
前記判定手段は、前記情報処理装置が前記別のドライバ記憶手段を備えていることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定する一方、前記情報処理装置が前記別のドライバ記憶手段を備えていないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定する
ことを特徴とする請求項１に記載の周辺装置。
【請求項３】
前記別のドライバ記憶手段は、前記ドライバを記憶している記憶媒体を、利用者が任意に着脱可能に構成されたものであり、
前記判定手段は、前記別のドライバ記憶手段に前記記憶媒体が装着されていることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定する
ことを特徴とする請求項２に記載の周辺装置。
【請求項４】
前記判定手段は、前記別のドライバ記憶手段に記憶されたドライバが前記周辺装置に対応するドライバであることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定する
ことを特徴とする請求項３に記載の周辺装置。
【請求項５】
前記判定手段は、前記周辺装置が備えるドライバ記憶手段に記憶されたドライバと、前記別のドライバ記憶手段に記憶されたドライバとで、バージョン情報を比較し、より新しいバージョン情報を有するドライバが記憶されたドライバ記憶手段を、前記インストール元にすると判定する
ことを特徴とする請求項１〜請求項４のいずれかに記載の周辺装置。
【請求項６】
前記判定手段は、前記別のドライバ記憶手段に前記記憶媒体が装着されていないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定する
ことを特徴とする請求項３または請求項４に記載の周辺装置。
【請求項７】
前記判定手段は、前記別のドライバ記憶手段に記憶されたドライバが前記周辺装置に対応するドライバではないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定する
ことを特徴とする請求項１〜請求項６のいずれかに記載の周辺装置。
【請求項８】
前記インストール元登録手段は、前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段に割り当てられたパス名を、前記ドライバインストール手段が参照可能な記憶領域に記憶させることにより、記憶させたパス名に対応するドライバ記憶手段を前記インストール元として登録する一方、前記判定手段により、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段に割り当てられたパス名を、前記ドライバインストール手段が参照可能な記憶領域に記憶させることにより、記憶させたパス名に対応するドライバ記憶手段を前記インストール元として登録する
ことを特徴とする請求項１〜請求項７のいずれかに記載の周辺装置。
【請求項９】
前記情報処理装置とはＵＳＢ（Universal Serial Bus）インターフェースを介して接続可能に構成されていて、
前記情報処理装置との接続時には、前記情報処理装置からの問い合わせに対して、ＵＳＢマスストレージデバイスである旨の応答を返すことで、前記ドライバ記憶手段および前記プログラム記憶手段に相当するストレージ機能を、前記情報処理装置に認識させ、
前記ストレージ機能が前記情報処理装置側で認識されたことを契機として、前記プログラム起動手段により、前記プログラム記憶手段に記憶されたプログラムが起動される
ことを特徴とする請求項１〜請求項８のいずれかに記載の周辺装置。
【請求項１０】
前記情報処理装置との接続時に、ＵＳＢマスストレージデバイスである旨の応答を返した後、前記情報処理装置からの問い合わせがあったら、さらに、ＵＳＢマスストレージデバイス以外のＵＳＢデバイスである旨の応答も返すことで、前記周辺装置が備える所定の機能を制御するためのドライバが必要であることを、前記情報処理装置に認識させ、
前記ドライバが必要であることが前記情報処理装置側で認識されたことを契機として、前記ドライバインストール手段により、インストール元として登録された記憶手段に記憶された前記ドライバがインストールされる
ことを特徴とする請求項９に記載の周辺装置。
【請求項１１】
「周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段とを備えた情報処理装置」において、前記プログラム起動手段によって起動される前記所定のプログラムに相当するプログラムであり、且つ、「前記ドライバを記憶しており、前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記インストール元として利用可能なドライバ記憶手段と、前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段とを備えた周辺装置」において、前記プログラム記憶手段に記憶されたプログラムに相当するプログラムであって、
前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および
前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段
として、前記情報処理装置を機能させる
ことを特徴とするプログラム。
【請求項１２】
情報処理装置と、前記情報処理装置に接続可能な周辺装置とを備えてなるシステムであって、
前記情報処理装置は、
前記周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、
前記周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段と
を備え、
前記周辺装置は、
前記ドライバを記憶するドライバ記憶手段と、
前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段と
を備え、
前記プログラム記憶手段には、
前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および
前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段
として、前記情報処理装置を機能させるためのプログラムが記憶されている
ことを特徴とするドライバインストールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にドライバをインストールすることによって情報処理装置から制御可能となる周辺装置に関する。また、上記ドライバをインストールする際に情報処理装置において利用されるプログラム、および上記情報処理装置と周辺装置とで構成されるドライバインストールシステムに関する。
【背景技術】
【０００２】
従来、情報処理装置のＯＳ（Operating System）に周辺装置（例えばプリンタ）のドライバをインストールする方法としては、周辺装置に付属のメディア（例えばフレキシブルディスクやＣＤ−ＲＯＭ等）を利用する方法（以下、従来技術１と称する。）があった。
【０００３】
また、そのようなメディアを利用しない方法としては、情報処理装置と周辺装置とを接続した際、周辺装置が備えるメモリに格納されたドライバをインストールする方法（以下、従来技術２と称する。）も提案されていた（例えば、特許文献１参照）。
【特許文献１】特開２００３−１１４８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術１，２に関し、どちらの利便性が高いかは、情報処理装置の構成によっても変わるため、上記従来技術１，２のいずれかを採用しても、それだけでは十分に利便性を向上させることができない、という問題があった。
【０００５】
より具体的な例を交えて説明すれば、例えば、上記従来技術１を採用するには、情報処理装置がメディアからデータを読み取り可能に構成されている必要がある。しかし、情報処理装置の構成によっては、特定のメディアからデータを読み取るためのハードウェアを備えていないこともあり、この場合、上記従来技術１では対応することができなくなる、という問題がある。したがって、このような問題に着目すれば、上記従来技術１よりも上記従来技術２の方が利便性が高い、と言える。
【０００６】
その一方、情報処理装置が特定のメディアからデータを読み取るためのハードウェアを備えている場合は、上記従来技術１の方が好ましい点もある。具体例を挙げれば、例えば、ドライバのバージョンアップが行われた場合等、ドライバの更新が必要な場合に、上記従来技術１であれば、最新のドライバを格納したメディアを周辺装置に添付する、といった簡便な対処ができる。そのため、最終製品の出荷直前にメディアを添付したり、販売店の店頭でメディアを頒布したりすることも可能である。
【０００７】
しかし、上記従来技術２の場合は、周辺装置本体に内蔵されたメモリの書き換えが必要になる。そのため、最終製品の出荷直前にメモリの書き換えが必要になれば、梱包の開封を伴う大がかりな対処が必要となるし、販売店の店頭でメモリの書き換えを行うようなことは困難な場合が多い。したがって、このような問題に着目すれば、上記従来技術２よりも上記従来技術１の方が利便性が高い、とも言える。
【０００８】
つまり、単に上記従来技術１，２いずれかを採用するだけでは、必ずしも利便性が向上するとは限らなかったのである。
本発明は、上記問題を解決するためになされたものであり、その目的は、情報処理装置において周辺装置のドライバをインストールする際に、情報処理装置の構成を考慮して、最適な方法でドライバのインストールを実行可能にする技術を提供することにある。
【課題を解決するための手段】
【０００９】
以下、本発明において採用した構成について説明する。
請求項１に記載の周辺装置は、「周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段とを備えた情報処理装置」に接続可能な周辺装置であって、前記ドライバを記憶するドライバ記憶手段と、前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段とを備え、前記プログラム記憶手段には、前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段として、前記情報処理装置を機能させるためのプログラムが記憶されていることを特徴とする。
【００１０】
このように構成された周辺装置を情報処理装置に接続した際、周辺装置が備える所定の機能を制御するためのドライバが情報処理装置にインストールされていなければ、情報処理装置においてドライバインストール手段によるドライバのインストールが行われる。その際、「周辺装置が備えるドライバ記憶手段」、および「別のドライバ記憶手段」の内、いずれかが動的にインストール元として登録されて、ドライバのインストールを行うことができる。
【００１１】
したがって、このように構成された周辺装置によれば、「周辺装置が備えるドライバ記憶手段」をインストール元とすることが、事前に取り決めてあるものや、「別のドライバ記憶手段」をインストール元とすることが、事前に取り決めてあるものとは異なり、情報処理装置の構成に応じて適切なインストール元からドライバをインストールできる。
【００１２】
請求項２に記載の周辺装置は、請求項１に記載の周辺装置において、前記判定手段は、前記情報処理装置が前記別のドライバ記憶手段を備えていることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定する一方、前記情報処理装置が前記別のドライバ記憶手段を備えていないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定することを特徴とする。
【００１３】
このように構成された周辺装置によれば、情報処理装置が別のドライバ記憶手段を備えている場合には、別のドライバ記憶手段をインストール元として、ドライバのインストールを行うことができる。
【００１４】
したがって、周辺装置が備えるドライバ記憶手段のみをインストール元とすることしかできないものとは異なり、別のドライバ記憶手段の方がインストール元として好適な場合に、より好適なインストール元からドライバをインストールすることが可能となる。
【００１５】
請求項３に記載の周辺装置は、請求項２に記載の周辺装置において、前記別のドライバ記憶手段は、前記ドライバを記憶している記憶媒体を、利用者が任意に着脱可能に構成されたものであり、前記判定手段は、前記別のドライバ記憶手段に前記記憶媒体が装着されていることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定することを特徴とする。
【００１６】
このように構成された周辺装置によれば、別のドライバ記憶手段に記憶媒体が装着されているか否かを判定した上で、記憶媒体が装着されている場合に、別のドライバ記憶手段をインストール元として、ドライバのインストールを行うことができる。
【００１７】
請求項４に記載の周辺装置は、請求項３に記載の周辺装置において、前記判定手段は、前記別のドライバ記憶手段に記憶されたドライバが前記周辺装置に対応するドライバであることを必須条件として含む１以上の判定条件を満足する場合に、前記別のドライバ記憶手段を前記インストール元にすると判定することを特徴とする。
【００１８】
このように構成された周辺装置によれば、別のドライバ記憶手段に記憶されたドライバが、周辺装置に対応するドライバである場合にのみ、ドライバのインストールを行うことができる。従って、周辺装置に対応するドライバを確実にインストールすることができる。
【００１９】
請求項５に記載の周辺装置は、請求項１〜請求項４のいずれかに記載の周辺装置において、前記判定手段は、前記周辺装置が備えるドライバ記憶手段に記憶されたドライバと、前記別のドライバ記憶手段に記憶されたドライバとで、バージョン情報を比較し、より新しいバージョン情報を有するドライバが記憶されたドライバ記憶手段を、前記インストール元にすると判定することを特徴とする。
【００２０】
このように構成された周辺装置によれば、周辺装置が備えるドライバ記憶手段および別のドライバ記憶手段の双方にドライバが記憶されている場合に、より新しいバージョン情報を有するドライバのインストールを行うことができる。
【００２１】
請求項６に記載の周辺装置は、請求項３または請求項４に記載の周辺装置において、前記判定手段は、前記別のドライバ記憶手段に前記記憶媒体が装着されていないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定することを特徴とする。
【００２２】
このように構成された周辺装置によれば、別のドライバ記憶手段に記憶媒体が装着されているか否かを判定した上で、記憶媒体が装着されていない場合には、周辺装置が備えるドライバ記憶手段をインストール元として、ドライバのインストールを行うことができる。従って、記憶媒体が装着されていない場合でも、目的とするドライバを確実にインストールすることができる。
【００２３】
請求項７に記載の周辺装置は、請求項１〜請求項６のいずれかに記載の周辺装置において、前記判定手段は、前記別のドライバ記憶手段に記憶されたドライバが前記周辺装置に対応するドライバではないことを必須条件として含む１以上の判定条件を満足する場合に、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定することを特徴とする。
【００２４】
このように構成された周辺装置によれば、別のドライバ記憶手段に記憶されたドライバが、周辺装置に対応するドライバではない場合には、周辺装置が備えるドライバ記憶手段をインストール元として、目的とするドライバのインストールを確実に行うことができる。
【００２５】
請求項８に記載の周辺装置は、請求項１〜請求項７のいずれかに記載の周辺装置において、前記インストール元登録手段は、前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段に割り当てられたパス名を、前記ドライバインストール手段が参照可能な記憶領域に記憶させることにより、記憶させたパス名に対応するドライバ記憶手段を前記インストール元として登録する一方、前記判定手段により、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段に割り当てられたパス名を、前記ドライバインストール手段が参照可能な記憶領域に記憶させることにより、記憶させたパス名に対応するドライバ記憶手段を前記インストール元として登録することを特徴とする。
【００２６】
このように構成された周辺装置によれば、周辺装置が備えるドライバ記憶手段、および別のドライバ記憶手段のいずれをインストール元とするのかを、パス名でドライバインストール手段に伝達することができる。
【００２７】
請求項９に記載の周辺装置は、請求項１〜請求項８のいずれかに記載の周辺装置において、前記情報処理装置とはＵＳＢ（Universal Serial Bus）インターフェースを介して接続可能に構成されていて、前記情報処理装置との接続時には、前記情報処理装置からの問い合わせに対して、ＵＳＢマスストレージデバイスである旨の応答を返すことで、前記ドライバ記憶手段および前記プログラム記憶手段に相当するストレージ機能を、前記情報処理装置に認識させ、前記ストレージ機能が前記情報処理装置側で認識されたことを契機として、前記プログラム起動手段により、前記プログラム記憶手段に記憶されたプログラムが起動されることを特徴とする。
【００２８】
このように構成された周辺装置によれば、ＵＳＢ規格で規定された仕組みを利用して、情報処理装置にドライバ記憶手段およびプログラム記憶手段を認識させることができる。しかも、認識されたプログラム記憶手段に記憶されたプログラムを起動し、利用可能なドライバ記憶手段をインストール元として、ドライバのインストールを行うことができる。
【００２９】
請求項１０に記載の周辺装置は、請求項９に記載の周辺装置において、前記情報処理装置との接続時に、ＵＳＢマスストレージデバイスである旨の応答を返した後、前記情報処理装置からの問い合わせがあったら、さらに、ＵＳＢマスストレージデバイス以外のＵＳＢデバイスである旨の応答も返すことで、前記周辺装置が備える所定の機能を制御するためのドライバが必要であることを、前記情報処理装置に認識させ、前記ドライバが必要であることが前記情報処理装置側で認識されたことを契機として、前記ドライバインストール手段により、インストール元として登録された記憶手段に記憶された前記ドライバがインストールされることを特徴とする。
【００３０】
このように構成された周辺装置によれば、ＵＳＢ規格で規定された仕組みを利用して、周辺装置が備える所定の機能を情報処理装置に認識させることができ、さらに、認識された機能に対応するドライバのインストールを行うことができる。
【００３１】
請求項１１に記載のプログラムは、「周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段とを備えた情報処理装置」において、前記プログラム起動手段によって起動される前記所定のプログラムに相当するプログラムであり、且つ、「前記ドライバを記憶しており、前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記インストール元として利用可能なドライバ記憶手段と、前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段とを備えた周辺装置」において、前記プログラム記憶手段に記憶されたプログラムに相当するプログラムであって、前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段として、前記情報処理装置を機能させることを特徴とする。
【００３２】
このように構成されたプログラムによれば、このプログラムを利用して、請求項１に記載の周辺装置を構成することができるので、請求項１に記載した通りの作用、効果を奏する周辺装置を提供できる。なお、このプログラムは、請求項２〜請求項１０のいずれかに記載の周辺装置を構成可能なプログラムとなっていてもよい。
【００３３】
請求項１２に記載のドライバインストールシステムは、情報処理装置と、前記情報処理装置に接続可能な周辺装置とを備えてなるシステムであって、前記情報処理装置は、前記周辺装置が接続された際、当該周辺装置が備える所定の機能を制御するためのドライバがインストールされていなければ、インストール元として登録された記憶手段に記憶された前記ドライバをインストールするドライバインストール手段と、前記周辺装置が接続された際、当該接続に伴って所定のプログラムを起動することが取り決められていたら、前記所定のプログラムを起動するプログラム起動手段とを備え、前記周辺装置は、前記ドライバを記憶するドライバ記憶手段と、前記プログラム起動手段によって起動されるプログラムを記憶するプログラム記憶手段とを備え、前記プログラム記憶手段には、前記情報処理装置において前記ドライバインストール手段による前記ドライバのインストールが行われる際に、前記周辺装置が備えるドライバ記憶手段、および前記周辺装置が備えるドライバ記憶手段とは異なる別のドライバ記憶手段の内、いずれを前記インストール元にするのかを、あらかじめ定められた１以上の判定条件に基づいて判定する判定手段、および前記判定手段により、前記周辺装置が備えるドライバ記憶手段を前記インストール元にすると判定された場合には、前記周辺装置が備えるドライバ記憶手段を前記インストール元として登録する一方、前記別のドライバ記憶手段を前記インストール元にすると判定された場合には、前記別のドライバ記憶手段を前記インストール元として登録するインストール元登録手段として、前記情報処理装置を機能させるためのプログラムが記憶されていることを特徴とする。
【００３４】
このように構成されたドライバインストールシステムは、請求項１に記載の周辺装置と情報処理装置によって構成されるシステムに相当するので、請求項１に記載の周辺装置について述べた通りの作用、効果を奏するシステムとなる。なお、このドライバインストールシステムにおいて、周辺装置は、請求項２〜請求項１０のいずれかに記載の構成を備えていてもよい。
【発明を実施するための最良の形態】
【００３５】
次に、本発明の実施形態について一例を挙げて説明する。
［システム全体の構成］
図１は、ドライバインストールシステム全体の構成を示すブロック図であり、このシステムは、周辺装置１と情報処理装置３とを備え、これらがＵＳＢインターフェース５を介して接続された構造になっている。
【００３６】
周辺装置１は、ストレージデバイスとしての機能とプリンタとしての機能を兼ね備えたＵＳＢ複合デバイスであり、これらの各機能を提供するストレージデバイス部１Ａ、およびプリンタ部１Ｂを備えている。
【００３７】
ストレージデバイス部１Ａは、ＵＳＢ複合デバイスに含まれる１つの論理ユニットに対応するものであり、ハードディスク１１と、ハードディスク１１に対してＵＳＢ規格に準拠した方式でアクセス可能とするための入出力制御部（図示略）によって構成される。
【００３８】
また、プリンタ部１Ｂも、ＵＳＢ複合デバイスに含まれる１つの論理ユニットに対応するものである。このプリンタ部１Ｂは、電子写真方式あるいはインクジェット方式で紙などの媒体に画像を形成する画像形成機構と（図示略）、この画像形成機構に対してＵＳＢ規格に準拠した方式でアクセス可能とするための入出力制御部（図示略）によって構成される。
【００３９】
一方、情報処理装置３は、パーソナルコンピュータ（以下、ＰＣという）を利用して構成されたもので、制御部２１、ハードディスク２３、ＣＤ−ＲＯＭドライブ２５などを備えている。
【００４０】
制御部２１は、ＣＰＵ、ＲＯＭ、ＲＡＭなどのハードウェアと、これらのハードウェア上で機能するソフトウェアによって構成されるもので、ソフトウェアとしては、ＯＳ２１Ａや様々なアプリケーション２１Ｂが機能するようになっている。
【００４１】
ＯＳ２１Ａは、マルチタスク機能を備えたＯＳであり、ＯＳ２１Ａの制御下で、複数のタスクが並列に機能するようになっている。このようなマルチタスク機能を有するＯＳの具体例としては、例えば、Ｗｉｎｄｏｗｓ（登録商標）を挙げることができる。
【００４２】
なお、この種のＯＳの機能そのものは公知なので、ここでの詳細な説明は省略するが、以下、本実施形態においては、情報処理装置３がＷｉｎｄｏｗｓ（登録商標）を搭載しているとの前提で説明を続ける。
【００４３】
［ドライバのインストール方法の概要］
次に、周辺装置１が備えるプリンタ機能を制御するためのプリンタドライバを、情報処理装置３にインストール方法について、まず、その概要を説明する。
【００４４】
周辺装置１と情報処理装置３をＵＳＢインターフェース５を介して接続すると、周辺装置１と情報処理装置３は、まず、ＵＳＢ規格に準拠した手順で相互にデータの送受信を行う。その結果、情報処理装置３は、周辺装置１をＵＳＢマスストレージデバイスであると認識する。
【００４５】
このとき、情報処理装置３は、ＯＳ２１Ａが標準的に備えているＵＳＢマスストレージドライバ３１を、制御部２１内のメモリにロードする。これにより、情報処理装置３は、周辺装置１が備えるハードディスク１１内のファイルにアクセス可能な状態になる。
【００４６】
そして、情報処理装置３がハードディスク１１内のファイルにアクセス可能になると、ＯＳ２１Ａが備える自動起動機能（オートラン機能）により、ハードディスク１１内に格納されたファイルから自動起動情報が読み出される。この自動起動情報中には、ハードディスク１１内に記憶されているドライバ検索プログラム３３Ａを起動する旨の情報が記述されている。そのため、ハードディスク１１内のドライバ検索プログラム３３Ａが、制御部２１内のメモリへとロードされることになり、その結果、制御部２１においてドライバ検索プログラム３３Ｂが機能する状態になる。
【００４７】
こうしてドライバ検索プログラム３３Ｂが起動されると、ドライバ検索プログラム３３Ｂは、プリンタドライバのインストール元として好適なドライブを判定する処理（この処理の詳細については後述。）を実行する。そして、インストール元に関する情報を、ハードディスク２３内にあるインストール元情報ファイル３５に書き込んで、ドライバ検索プログラム３３Ｂによる処理は終了する。
【００４８】
一方、以上のような処理が行われている間にも、周辺装置１と情報処理装置３は、引き続いて、ＵＳＢ規格に準拠した手順で相互にデータの送受信を行っており、その結果、情報処理装置３は、周辺装置１をプリンタであるとも認識する。
【００４９】
このとき、情報処理装置３において、ＯＳ２１Ａは、プリンタドライバがインストール済みかどうかを判断し、インストール済みでない場合は、インストーラ３７を起動してプリンタドライバのインストール処理を実行する。
【００５０】
このインストール処理を開始すると、インストーラ３７は、まず、インストール元情報ファイル３５からインストール元に関する情報を読み出す。具体的には、インストール元情報ファイル３５には、ハードディスク１１内のプリンタドライバ３９Ａ、またはＣＤ−ＲＯＭドライブ２５にセットされたＣＤ−ＲＯＭメディア２５Ａ内のプリンタドライバ３９Ｂ、いずれかのパス名が記述されている。このパス名は、先に説明したドライバ検索プログラム３３Ｂによって書き込まれた情報である。
【００５１】
インストーラ３７は、インストール元情報ファイル３５からパス名を読み出したら、そのパス名が示すファイル（もしくはパス名が示すディレクトリ中にある特定のファイル）をインストール元として、プリンタドライバのインストールを実行する。その結果、情報処理装置３が備えるハードディスク２３内にはプリンタドライバ３９Ｃが格納され、レジストリあるいはその他の記憶領域にも、プリンタ関連の設定情報が登録される。
【００５２】
こうしてインストールされたプリンタドライバ３９Ｃは、情報処理装置３から周辺装置１への印刷出力を行う際に制御部２１のメモリにロードされ、これにより、制御部２１ではプリンタドライバ３９Ｄが機能し、周辺装置１への印刷出力がなされることになる。
【００５３】
［ドライバインストール処理の詳細］
次に、情報処理装置３において実行される処理について、さらに詳細に説明する。また、周辺装置１において実行される処理についても併せて説明する。
【００５４】
図２は、周辺装置１と情報処理装置３をＵＳＢインターフェース５を介して接続した際に、情報処理装置３において実行される処理のフローチャートである。また、図３は、図２に示した処理の要部と、当該処理が情報処理装置３側で実行される際に周辺装置１側で実行される処理とを併記したフローチャートである。さらに、図４は、ドライバ検索プログラム３３Ｂによるドライバ検索処理を示したフローチャートである。
【００５５】
周辺装置１と情報処理装置３をＵＳＢインターフェース５を介して接続すると、情報処理装置３においては、図２に示すように、ＵＳＢケーブルの接続を検出し（Ｓ１０５）、これに伴って、周辺装置１からデバイスディスクリプタを取得する（Ｓ１１０）。
【００５６】
デバイスディスクリプタは、ＵＳＢ規格において規定された特定のデータ構造を持つデータ群である。このデバイスディスクリプタの中には、ベンダーＩＤ、プロダクトＩＤ、マニュファクチャ名、プロダクト名など、周辺装置１がどのような機器であるのかを特定する上で必要となる情報が含まれている。
【００５７】
ここで、図３を参照して、周辺装置１での処理についても説明すると、Ｓ１１０の処理では、情報処理装置３から周辺装置１に対してデバイスディスクリプタを要求し、その要求を受けた周辺装置１は、デバイスディスクリプタ送信処理を実行する（Ｓ２０５）。このＳ２０５の処理により、周辺装置１から情報処理装置３に対してデバイスディスクリプタが送信され、そのデバイスディスクリプタを情報処理装置３が取得する。
【００５８】
このデバイスディスクリプタを取得したことにより、情報処理装置３は、まずは、周辺装置１がＵＳＢ規格に準拠した論理ユニットを有するデバイスであると認識し、その論理ユニットに対してデバイスアドレスを設定する。その上で、再び、周辺装置１に対してデバイスディスクリプタを要求し、この要求を受けた周辺装置１は、デバイスディスクリプタ送信処理を実行する（Ｓ２１０）。
【００５９】
このＳ２１０の処理により、周辺装置１から情報処理装置３に対して、あらためてデバイスディスクリプタが送信され、そのデバイスディスクリプタを情報処理装置３が取得する。このデバイスディスクリプタを取得したことにより、情報処理装置３は、特定のデバイスアドレスが設定された論理ユニットについて、デバイスディスクリプタ中に含まれる各種情報を取得することになる。
【００６０】
なお、ここで周辺装置１から情報処理装置３へと送信されるデバイスディスクリプタは、周辺装置１のストレージデバイス部１Ａに対応する情報である。この情報中には、ストレージデバイス部１Ａに相当する論理ユニットが、ＵＳＢマスストレージクラスのデバイスである旨の情報が含まれている。
【００６１】
さて、再び図２を参照して、情報処理装置３での処理について説明を続けると、Ｓ１１０の処理を終えたら、続いて、情報処理装置３は、デバイスの種類がマスストレージか否かを判断する（Ｓ１１５）。
【００６２】
ここで、周辺装置１以外の他の装置（例えば周辺装置１以外のプリンタ等）が接続された場合は、デバイスの種類はマスストレージではないと判断する（Ｓ１１５：ＮＯ）。この場合、接続された他の装置に対応するドライバがインストール済みであるか否かを判断し（Ｓ１５０）、インストール済みである場合は（Ｓ１５０：ＹＥＳ）、図２に示す処理を終了する。一方、インストール済みでない場合は（Ｓ１５０：ＮＯ）、接続されている他の装置に対応するドライバのインストール処理が行われ（Ｓ１５５）、図２に示す処理を終了する。
【００６３】
一方、周辺装置１が接続された場合は、上記Ｓ２１０の処理によって送信するデバイスディスクリプタ中に、ＵＳＢマスストレージクラスのデバイスである旨の情報が含まれている。そのため、Ｓ１１５の処理では、周辺装置１のデバイスの種類はマスストレージであると判断する（Ｓ１１５：ＹＥＳ）。
【００６４】
この場合、情報処理装置３は、ＯＳ標準のマスストレージドライバをインストールする（Ｓ１２０）。その結果、情報処理装置３の制御部２１内では、ＵＳＢマスストレージドライバ３１が機能する。
【００６５】
ここで、図３を参照して、周辺装置１での処理についても説明すると、ＵＳＢマスストレージドライバ３１が機能する状態になると、情報処理装置３は周辺装置１に対してコンフィグレーションディスクリプタを要求する。そして、その要求を受けた周辺装置１は、コンフィグレーションディスクリプタ送信処理を実行する（Ｓ２１５）。
【００６６】
コンフィグレーションディスクリプタも、ＵＳＢ規格において規定された特定のデータ構造を持つデータ群である。このコンフィグレーションディスクリプタの中には、周辺装置１が持つインターフェースや機能に関する情報が含まれている。
【００６７】
このようなコンフィグレーションディスクリプタの取得により、情報処理装置３は、ストレージデバイス部１Ａへのアクセス時に利用するインターフェース、エンドポイントなどの構成を認識し、ストレージデバイス部１Ａとのデータ通信が可能な状態になる。
【００６８】
さて、再び図２を参照して、情報処理装置３での処理について説明を続けると、Ｓ１２０の処理を終えたら、続いて、情報処理装置３は、周辺装置１に格納されているドライバ検索プログラムを起動する（Ｓ１２５）。このＳ１２５の処理において、プログラムの起動は、ＯＳ２１Ａが標準的に備える自動起動機能（オートラン機能）によって実現されている。
【００６９】
具体的には、情報処理装置３がハードディスク１１内のファイルシステムを認識して、ドライブレターを割り当てた際、ルートディレクトリに特定のファイル名を持つファイルが存在すれば、情報処理装置は、そのファイルから自動起動情報を読み出す。
【００７０】
そして、その自動起動情報に従って、ドライバ検索プログラム３３Ａを制御部２１内のメモリへとロードし、制御部２１においてドライバ検索プログラム３３Ｂが機能する状態になる。こうしてドライバ検索プログラム３３Ｂが起動されると、情報処理装置３は、図２に示した処理と並行して図４に示すドライバ検索処理を実行する状態になる。
【００７１】
ここで、図４に示すドライバ検索処理について説明すると、情報処理装置３は、まず、ＣＤドライブが存在するか否かを判断する（Ｓ３０５）。図１に例示した情報処理装置３の場合、ＣＤ−ＲＯＭドライブ２５を備えているので、Ｓ３０５の処理では肯定判断がなされ（Ｓ３０５：ＹＥＳ）、その場合、情報処理装置３は、ＣＤドライブにメディアが入っているか否かを判断する（Ｓ３１０）。
【００７２】
ＣＤドライブにメディアが入っている場合（Ｓ３１０：ＹＥＳ）、情報処理装置３は、プリンタドライバが周辺装置１内に存在するか否かを判断する（Ｓ３１５）。Ｓ３１５の処理において、プリンタドライバが周辺装置１内に存在すると判断されるのは、周辺装置１内のハードディスク１１にプリンタドライバ３９Ａが格納されている場合である。
【００７３】
Ｓ３１５の処理において、プリンタドライバが周辺装置１内に存在しない場合（Ｓ３１５：ＮＯ）、ＣＤ−ＲＯＭメディア２５Ａに記憶されているプリンタドライバ３９Ｂのファイル名を記憶し（Ｓ３４５）、図４に示すドライバ検索処理を終了する。
【００７４】
Ｓ３１５の処理において、プリンタドライバが周辺装置１内に存在する場合（Ｓ３１５：ＹＥＳ）、プリンタドライバは、ＣＤ−ＲＯＭメディア２５Ａ内および周辺装置１内の双方に存在することになる。そこで、情報処理装置３は、周辺装置１に対応するプリンタドライバがＣＤ内に存在するか否かを判断する（Ｓ３２０）。Ｓ３２０の処理において、プリンタドライバがＣＤ内に存在すると判断されるのは、ＣＤ−ＲＯＭドライブ２５内にＣＤ−ＲＯＭメディア２５Ａがセットされ、そのＣＤ−ＲＯＭメディア２５Ａにプリンタドライバ３９Ｂが格納されている場合である。また、情報処理装置３は、ＣＤ内に存在するプリンタドライバが、周辺装置１に対応するプリンタドライバとして適切なものかどうかを判断するため、周辺装置１に記憶されているプリンタドライバ３９Ａのファイル名と、ＣＤ−ＲＯＭメディア２５Ａに記憶されているプリンタドライバ３９Ｂのファイル名とを取得する。そして、取得された両ファイル名が一致するか否かを判断することによって、周辺装置１に対応するプリンタドライバがＣＤ内に存在するか否かを判断する。
【００７５】
Ｓ３２０の処理において、プリンタドライバがＣＤ内に存在すると判断される場合は（Ｓ３２０：ＹＥＳ）、情報処理装置３は、ＣＤ−ＲＯＭメディア２５Ａ内および周辺装置１内のプリンタドライバ３９Ａ，３９Ｂのバージョン情報を取得し、ドライババージョン判定処理を実行し（Ｓ３２５）、バージョンの新しい方のドライバの所在を記憶して（Ｓ３３０）、図４に示すドライバ検索処理を終了する。
【００７６】
Ｓ３３０の処理では、ＣＤ−ＲＯＭメディア２５Ａ内のドライバ３９Ｂが新しい場合は、ＣＤ−ＲＯＭメディア２５Ａ内のドライバ３９Ｂに対応するパス名がインストール元情報ファイルに記憶される。あるいは、周辺装置１内のドライバ３９Ａが新しい場合は、周辺装置１内のドライバ３９Ａに対応するパス名がインストール元情報ファイルに記憶される。
【００７７】
一方、Ｓ３２０の処理において、周辺装置１に対応するプリンタドライバがＣＤ内に存在しない場合（Ｓ３２０：ＮＯ）、プリンタドライバは、周辺装置１内に存在し、且つ、ＣＤ−ＲＯＭメディア２５Ａ内に存在しないことになる。そこで、この場合、情報処理装置３は、周辺装置１内のドライバに対応するパス名をインストール元情報ファイルに記憶し（Ｓ３４０）、図４に示すドライバ検索処理を終了する。
【００７８】
さて、以上説明した処理は、Ｓ３０５，およびＳ３１０の各処理すべてにおいて肯定判断がなされた場合の処理に相当する。一方、Ｓ３０５，およびＳ３１０の各処理いずれかにおいて否定判断がなされた場合は、どの場合でもＳ３３５の処理へと進む。
【００７９】
この場合（Ｓ３０５：ＮＯ，またはＳ３１０：ＮＯ）、情報処理装置３は、プリンタドライバが周辺装置１内に存在するか否かを判断する（Ｓ３３５）。Ｓ３３５の処理において、プリンタドライバが周辺装置１内に存在する場合（Ｓ３３５：ＹＥＳ）、プリンタドライバは、周辺装置１内に存在し、且つ、ＣＤ−ＲＯＭメディア２５Ａ内に存在しないことになる。そこで、この場合、情報処理装置３は、周辺装置１内のドライバに対応するパス名をインストール元情報ファイルに記憶し（Ｓ３４０）、図４に示すドライバ検索処理を終了する。
【００８０】
なお、Ｓ３３５の処理において、プリンタドライバが周辺装置１内に存在しない場合（Ｓ３３５：ＮＯ）、プリンタドライバは、ＣＤ−ＲＯＭメディア２５Ａ内および周辺装置１内のいずれにも存在しないことになる。そのため、この場合、情報処理装置３は、そのまま図４に示すドライバ検索処理を終了する。
【００８１】
さて、以上説明したようなドライバ検索処理（図４参照）は、図２に示すＳ１２５の処理で起動されるが、図２に示すＳ１２５以降の処理は、ドライバ検索処理と並行して実行されている。このＳ１２５以降の処理について、再び図２を参照して説明を続けると、Ｓ１２５の処理を終えたら、情報処理装置３は、周辺装置１からデバイスディスクリプタを取得する（Ｓ１３０）。
【００８２】
ここで、図３を参照して、周辺装置１での処理についても説明すると、Ｓ１３０の処理では、情報処理装置３から周辺装置１に対してデバイスディスクリプタを要求し、その要求を受けた周辺装置１は、デバイスディスクリプタ送信処理を実行する（Ｓ２２０）。このＳ２２０の処理により、周辺装置１から情報処理装置３に対してデバイスディスクリプタが送信され、そのデバイスディスクリプタを情報処理装置３が取得する。
【００８３】
このデバイスディスクリプタを取得したことにより、情報処理装置３は、周辺装置１がＵＳＢ規格に準拠した論理ユニットを有するデバイスであると認識し、周辺装置１に対してデバイスアドレスを設定する。その上で、再び、周辺装置１に対してデバイスディスクリプタを要求し、この要求を受けた周辺装置１は、デバイスディスクリプタ送信処理を実行する（Ｓ２２５）。
【００８４】
このＳ２１０の処理により、周辺装置１から情報処理装置３に対して、あらためてデバイスディスクリプタが送信され、そのデバイスディスクリプタを情報処理装置３が取得する。このデバイスディスクリプタを取得したことにより、情報処理装置３は、特定のデバイスアドレスが設定された論理ユニットについて、デバイスディスクリプタ中に含まれる各種情報を取得することになる。
【００８５】
なお、ここで周辺装置１から情報処理装置３へと送信されるデバイスディスクリプタは、周辺装置１のプリンタ部１Ｂに対応する情報であり、この情報中には、プリンタ部１Ｂに相当する論理ユニットが、プリンタクラスのデバイスである旨の情報が含まれている。
【００８６】
さて、再び図２を参照して、情報処理装置３での処理について説明を続ける。Ｓ１３０の処理を終えたら、続いて、情報処理装置３は、Ｓ１３０の処理において新たに認識したデバイス（論理ユニット）について、そのデバイスを制御するためのドライバが、インストール済みのドライバか否かを判断する（Ｓ１３５）。
【００８７】
ここで、インストール済みのドライバであれば（Ｓ１３５：ＹＥＳ）、あらためてドライバをインストールしなくてもよいので、そのまま図２に示す処理を終了する。一方、インストール済みのドライバでなければ（Ｓ１３５：ＮＯ）、インストーラ３７を起動することにより、デバイスドライバのインストール画面を表示する（Ｓ１４０）。
【００８８】
Ｓ１４０の処理を実行すると、情報処理装置３が備える表示装置（図示略）の画面には、図５に示すような「デバイスドライバ  インストール画面」４１が表示される。利用者は、この「デバイスドライバ  インストール画面」４１内にあるラジオボタン４３で、インストールオプションを選択して、ドライバのインストールを情報処理装置３に対して指令することができる。
【００８９】
ここで、利用者がラジオボタン４３で自動インストールを選択して、ドライバのインストールを情報処理装置３に対して指令すると、情報処理装置３は、インストール元からドライバをインストールし（Ｓ１４５）、図２に示す処理を終了する。
【００９０】
Ｓ１４５の処理において、インストール元としては、インストール元情報ファイル３５からパス名が読み出され、そのパス名が示すファイル（もしくはパス名が示すディレクトリ中にある特定のファイル）が利用される。このパス名は、既に説明したＳ３３０またはＳ３４０の処理（図４参照）で書き込まれたものである。
【００９１】
すなわち、Ｓ１２５の処理により、ドライバ検索プログラムを起動した後、Ｓ１４５の処理を実行するまでの期間内に、図４に示したドライバ検索処理は完了し、インストール元情報ファイル３５にパス名が記録される。そのため、Ｓ１４５の処理では、インストール元情報ファイル３５から、インストール元として好適なパス名を読み出すことができるのである。
【００９２】
なお、図３を参照して、周辺装置１での処理についても説明すると、上記Ｓ１４５の処理により、プリンタドライバがインストールされると、情報処理装置３は周辺装置１に対してコンフィグレーションディスクリプタを要求する。そして、その要求を受けた周辺装置１は、コンフィグレーションディスクリプタ送信処理を実行し（Ｓ２３０）、図３に示す処理を終了する。
【００９３】
このようなコンフィグレーションディスクリプタを取得したことにより、情報処理装置３は、プリンタ部１Ｂへのアクセス時に利用するインターフェース、エンドポイントなどの構成を認識し、プリンタ部１Ｂとのデータ通信が可能な状態になる。
【００９４】
以降、情報処理装置３から周辺装置１への印刷出力を行う際には、プリンタドライバ３９Ｄが機能し、周辺装置１への印刷出力がなされることになる。
［本実施形態の効果］
以上説明した周辺装置１によれば、周辺装置１を情報処理装置３に接続した際、周辺装置１が備えるプリンタ機能を制御するためのドライバが情報処理装置３にインストールされていなければ、情報処理装置３は、Ｓ１３５〜Ｓ１４５の処理を実行する。その際、Ｓ３０５〜Ｓ３４０の処理により、周辺装置１が備えるプリンタドライバ３９Ａ、および周辺装置１とは別の記憶装置（本実施形態では、ＣＤ−ＲＯＭメディア２５Ａ）が備えるプリンタドライバ３９Ｂの内、いずれかが動的にインストール元情報ファイル３５にインストール元として登録される。そして、この登録されたインストール元からドライバのインストールを行うことができる。
【００９５】
したがって、周辺装置１が備えるプリンタドライバ３９Ａをインストール元とすることが事前に取り決めてあるものや、ＣＤ−ＲＯＭメディア２５Ａが備えるプリンタドライバ３９Ｂをインストール元とすることが、事前に取り決めてあるものとは異なり、情報処理装置３の構成（例えば、ＣＤ−ＲＯＭドライブ２５の有無など）に応じて、適切なインストール元からドライバをインストールできる。
【００９６】
特に、周辺装置１が備えるプリンタドライバ３９Ａをインストール元とすることができるにもかかわらず、より好適な（例えば、より新しいバージョンの）プリンタドライバ３９ＢがＣＤ−ＲＯＭメディア２５Ａに格納されていれば、プリンタドライバ３９Ｂをインストール元とすることができる。したがって、周辺装置１が備えるプリンタドライバ３９Ａよりも好適なプリンタドライバ３９Ｂを提供可能となった場合には、周辺装置１が備えるプリンタドライバ３９Ａを書き換えるような手間をかけなくても、例えば、ＣＤ−ＲＯＭメディア２５Ａを製品に添付したり店頭で頒布したりすることで、好適なプリンタドライバ３９Ｂを容易に利用者に提供できるようになる。
【００９７】
また、ＣＤ−ＲＯＭメディア２５Ａを利用できない状況下では、周辺装置１が備えるプリンタドライバ３９Ａをインストール元とすることができるので、ドライバのインストール時にＣＤ−ＲＯＭメディア２５Ａを利用できないことが原因で、ドライバのインストールに行き詰まることがない。
【００９８】
また、周辺装置１にプリンタドライバ３９Ａを格納する場合、ハードディスク１１の容量制限などの事情によっては、必要最小限のプリンタドライバ３９Ａしか記憶できないおそれがあるが、ＣＤ−ＲＯＭメディア２５Ａであれば複数枚を利用したり、あるいは、さらに容量の大きいＤＶＤ−ＲＯＭメディアで代替したりするなどの対応により、容量についての自由度を高くすることができる。
【００９９】
この点、上記周辺装置１であれば、ドライバの使い勝手をよくするための付属ツール（例えば、ＵＩ拡張ツールやヘルプツール等）をも組み込んだドライバセットについては、ＣＤ−ＲＯＭメディアに格納し、必要最小限のプリンタドライバ３９Ａを周辺装置１に格納することができるので、ＣＤ−ＲＯＭメディアを使った煩雑なインストールを避けたい利用者や、ＣＤ−ＲＯＭを使ってでもより機能を充実させたい利用者、どちらのニーズにも対応することができる。
【０１００】
さらに、上記周辺装置１では、情報処理装置３との接続時に、ＵＳＢマスストレージデバイスおよびＵＳＢマスストレージデバイス以外のＵＳＢデバイス（本実施形態においてはプリンタ）に相当する論理ユニットを備えることを、情報処理装置３に認識させ、さらに、ＵＳＢマスストレージデバイスが認識された場合には、ＯＳが備える自動実行機能を利用して、ドライバ検索プログラムを起動している。したがって、ＯＳが備える既存の機能やＵＳＢ規格で規定された機能を利用して、インストール元の動的な変更を実現することができる。
【０１０１】
［変形例等］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【０１０２】
例えば、上記実施形態では、周辺装置１が、ＵＳＢマスストレージデバイスとしての機能とプリンタとしての機能を兼ね備える例を示したが、プリンタ機能に関しては、プリンタ以外の機能としてもよい。
【０１０３】
具体的な例を挙げれば、例えば、周辺装置が、ＵＳＢマスストレージデバイスとしての機能とスキャナとしての機能を兼ね備えていたり、ＵＳＢマスストレージデバイスとしての機能とファクシミリとしての機能を兼ね備えていたりしてもよい。
【０１０４】
あるいは、これらプリンタ、スキャナ、ファクシミリなどの機能を複数種類備えていてもよく、この場合、周辺装置は、複数種類の機能の総数分に相当する論理ユニットを持つＵＳＢ複合デバイスとして構成されていればよい。
【０１０５】
また、上記実施形態では、周辺装置１においてＵＳＢマスストレージデバイスとしての機能を担うハードウェアとして、周辺装置１がハードディスク１１を備える例を示したが、このハードディスク１１を他の記憶装置で代替してもよい。具体的には、例えば、周辺装置１に内蔵された不揮発性の半導体メモリとしてもよい。あるいは、周辺装置１にメモリカードリーダ／ライタ装置を設けて、そこにメモリカードをセットすることにより、ＵＳＢマスストレージデバイスとして機能する構成を採用してもよい。
【０１０６】
さらに、上記実施形態では、周辺装置１が備えるドライバ記憶手段（ハードディスク１１）とは異なる別のドライバ記憶手段の具体例として、情報処理装置３が備えるＣＤ−ＲＯＭドライブ２５を例示したが、本発明でいう「別のドライバ記憶手段」は、ＣＤ−ＲＯＭドライブ２５に限らない。具体的には、既に説明した通り、ＤＶＤ−ＲＯＭドライブなどであってもよく、あるいは、メモリカードをセット可能なメモリカードリーダ／ライタ装置などであってもよい。あるいは、ネットワーク上のストレージデバイスを、本発明でいう「別のドライバ記憶手段」として利用してもよい。
【図面の簡単な説明】
【０１０７】
【図１】ドライバインストールシステム全体の構成を示すブロック図。
【図２】周辺装置と情報処理装置をＵＳＢインターフェースを介して接続した際に、情報処理装置において実行される処理のフローチャート。
【図３】図２に示した処理の要部と、当該処理が情報処理装置側で実行される際に周辺装置側で実行される処理とを併記したフローチャート。
【図４】ドライバ検索処理を示したフローチャート。
【図５】「デバイスドライバ  インストール画面」の説明図。
【符号の説明】
【０１０８】
１・・・周辺装置、１Ａ・・・ストレージデバイス部、１Ｂ・・・プリンタ部、３・・・情報処理装置、５・・・ＵＳＢインターフェース、１１，２３・・・ハードディスク、２１・・・制御部、２１Ａ・・・ＯＳ、２１Ｂ・・・アプリケーション、２５・・・ＣＤ−ＲＯＭドライブ、２５Ａ・・・ＣＤ−ＲＯＭメディア、３１・・・ＵＳＢマスストレージドライバ、３３Ａ，３３Ｂ・・・ドライバ検索プログラム、３５・・・インストール元情報ファイル、３７・・・インストーラ、３９Ａ，３９Ｂ，３９Ｃ，３９Ｄ・・・プリンタドライバ。
【図１】
2010044579.tif 000003
【図２】
2010044579.tif 000004
【図３】
2010044579.tif 000005
【図４】
2010044579.tif 000006
【図５】
2010044579.tif 000007