(57)【要約】【課題】周辺装置からソフトウエアをコンピュータにインストールできるようにしつつ、インストール回数を管理できるようにする。【解決手段】周辺装置は、記憶手段、転送手段、管理手段を含む。記憶手段は、外部周辺機器としての機能を情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、外部記憶装置としても機能する。転送手段は、記憶手段に記憶されている制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが情報処理装置にインストールされていないときに、記憶手段に記憶されている制御ソフトウエアモジュールを情報処理装置にインストールするために転送する。管理手段は、制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を管理する。【選択図】図４
2010097284.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置であって、
前記外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、前記外部記憶装置として記憶領域を提供する記憶手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが前記情報処理装置にインストールされていないときに、前記記憶手段に記憶されている前記制御ソフトウエアモジュールを前記情報処理装置にインストールするために転送する転送手段と、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を管理する管理手段と
を含むことを特徴とする周辺装置。
【請求項２】
前記情報処理装置に前記外部記憶装置として認識させるか、前記外部周辺機器として認識させるかを切り替える切り替え手段をさらに備え、
前記記憶手段は、前記制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムを記憶しており、
前記コンピュータプログラムは、前記周辺装置を前記外部記憶装置として認識している前記情報処理装置によって前記記憶手段から読み出されて実行されるコンピュータプログラムであり、
さらに、前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされているか否か、及び前記情報処理装置にインストールされている当該制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている前記制御ソフトウエアモジュールのバージョンよりも古いか否か、の少なくとも一方を判定する判定手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないとき、または前記制御ソフトウエアモジュールよりも古いバージョンの該制御ソフトウエアモジュールが前記情報処理装置にインストールされているときに、前記記憶手段から前記制御ソフトウエアモジュールを読み出して前記情報処理装置に書き込む書き込み手段と、
前記情報処理装置にインストールされている当該制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている前記制御ソフトウエアモジュールのバージョンよりも古くないと判定されたとき、または、前記記憶手段から前記制御ソフトウエアモジュールが前記情報処理装置に書き込まれたときに、前記切り替え手段に切り替え命令を送信することで、前記周辺装置を前記外部周辺機器として認識させる認識制御手段
として機能させるコンピュータプログラムであることを特徴とする請求項１に記載の周辺装置。
【請求項３】
前記外部記憶装置は、ＣＤドライブであり、前記コンピュータプログラムは、前記記憶手段のうちＣＤドライブとして認識される記憶領域に記憶されているＡｕｔｏｒｕｎ．ｉｎｆによって自動的に起動されるように記述されていることを特徴とする請求項２に記載の周辺装置。
【請求項４】
前記管理手段は、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数する計数手段を備えることを特徴とする請求項１ないし３のいずれか１項に記載の周辺装置。
【請求項５】
前記計数手段は、
前記制御ソフトウエアモジュールが前記情報処理装置からアンインストールされると前記回数を減数することを特徴とする請求項４に記載の周辺装置。
【請求項６】
前記記憶手段の少なくとも一部の記憶領域は、不揮発性の記憶領域であり、
前記コンピュータプログラムは、前記情報処理装置を、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数して前記不揮発性の記憶領域に書き込む回数書き込み手段と、
前記インストールした回数と、予め定められたインストール可能回数とを比較する比較手段と、
前記インストールした回数が前記インストール可能回数未満であれば前記制御ソフトウエアモジュールのインストールを許可し、前記インストールした回数が前記インストール可能回数以上であれば前記制御ソフトウエアモジュールのインストールを禁止するインストール制限手段と
して機能させることを特徴とする請求項２または３に記載の周辺装置。
【請求項７】
前記制御ソフトウエアモジュールは、ドライバソフトウエアとアンインストーラプログラムとを含み、
前記アンインストーラプログラムは、前記情報処理装置を、
前記ドライバソフトウエアが前記情報処理装置からアンインストールされると前記インストールした回数を減数するか、または、前記インストール可能回数を増やす回数調整手段として機能させることを特徴とする請求項６に記載の周辺装置。
【請求項８】
前記コンピュータプログラムは、前記情報処理装置を、
前記周辺装置が保有している固有の識別情報を前記情報処理装置に保持させる保持手段として機能させ、
前記アンインストーラプログラムは、前記情報処理装置を、
前記周辺装置が保有している固有の識別情報と、前記情報処理装置に保持されている識別情報とが一致するか否かを判断する判断手段と、
前記周辺装置が保有している固有の識別情報と、前記情報処理装置に保持されている識別情報とが一致するときに、前記ドライバソフトウエアを前記情報処理装置から削除する削除手段と
して機能させることを特徴とする請求項７に記載の周辺装置。
【請求項９】
前記周辺装置は、画像読取装置であることを特徴とする請求項１ないし８のいずれか１項に記載の周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に接続されて利用される周辺装置に関する。
【背景技術】
【０００２】
イメージスキャナ、プリンタまたは複合機などの周辺装置は広く普及している。これらの周辺装置に接続するインターフェースとして、シリアルインタフェース、パラレルインタフェース、ＵＳＢ、ＩＥＥＥ１３９４、ＬＡＮなどが知られている。
【０００３】
ところで、周辺装置をコンピュータ上で使用できるようにするためには、その周辺装置用のデバイスドライバやアプリケーションソフトウエアをインストールしなければならない（特許文献１）。
【特許文献１】特開２００４−３３４４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、デバイスドライバやアプリケーションソフトウエアをインストールすることが制限されているコンピュータが存在する。この制限はセキュリティ対策で課されることが多い。例えば、マイクロソフトウインドウズ（登録商標）等のオペレーティングシステム（ＯＳ）では、管理者権限を有しているユーザのみがデバイスドライバをインストールできる。したがって、一般ユーザはデバイスドライバやアプリケーションソフトウエアをインストールできないため、周辺装置を利用できなくなってしまう。このような状況は、外出先のコンピュータを使用する場合に度々発生することが予想される。
【０００５】
また、従来は、管理者権限を持つユーザであっても、画像読み取り装置を接続する前に、予め、デバイスドライバをインストールしておかなければならなかった。すなわち、従来は、デバイスドライバをコンピュータにインストールしていない状態で、周辺装置を利用することができなかった。
【０００６】
さらに、デバイスドライバは、一般に、ＣＤ−ＲＯＭにより頒布されている。よって、このＣＤ−ＲＯＭを用意しなければ、デバイスドライバをインストールすることができなかった。例えば、ＣＤ−ＲＯＭを紛失してしまうと、デバイスドライバをインストールすることができなかった。インターネットを介してデバイスドライバを入手できるケースもあるが、そのためにインターネットに接続できる環境が必要である。また、デバイスドライバを提供しているＷＥＢサイトのＵＲＬや、周辺装置の種類や名称を正確に把握して入力しなければならず、面倒であった。
【０００７】
ところで、デバイスドライバやキャプチャアプリケーションをインストールできる回数（ＰＣの台数）が、許諾契約によって、制限されることがある。これは、これらのソフトウエアが意図されていないＰＣへ不用意に配布されることを禁止するためである。一方で、古いＰＣから新しいＰＣに買い替える場合、古いＰＣからソフトウエアを削除して、新しいＰＣにソフトウエアをインストールすることがある。この場合は、インストールできる回数が契約にしたがって守られているといえる。このようなインストール回数の管理は、従来、管理者が手動で行っていたため、極めて面倒であった。よって、インストール回数が契約通りに守られているかを、自動的に管理することが望まれている。
【０００８】
そこで、本発明は、このような課題および他の課題のうち、少なくとも１つを解決することを目的とする。例えば、本発明は、周辺装置からソフトウエアをコンピュータにインストールできるようにしつつ、インストール回数を管理できるようにすることを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００９】
本発明は、例えば、情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置に適用できる。周辺装置は、記憶手段、転送手段、管理手段を含む。記憶手段は、外部周辺機器としての機能を情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、外部記憶装置としても機能する。転送手段は、記憶手段に記憶されている制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが情報処理装置にインストールされていないときに、記憶手段に記憶されている制御ソフトウエアモジュールを情報処理装置にインストールするために転送する。管理手段は、制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を管理する。
【発明の効果】
【００１０】
本発明によれば、制御ソフトウエアモジュールを周辺装置から情報処理装置にインストールできるため、従来のように、事前に制御ソフトウエアモジュールをインストールしておく必要はない。同様に、制御ソフトウエアモジュールを記憶したＣＤ−ＲＯＭなどを用意する手間を省ける。このように、インストール作業が非常に簡略化されるメリットがある。さらに、インストール回数についても管理手段によって管理することができるため、ユーザに契約を遵守させやすくなる。
【発明を実施するための最良の形態】
【００１１】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１２】
＜本発明の基本的な技術思想＞
はじめに本発明の基本的な技術思想について列挙する。
【００１３】
［観点１］
情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置であって、
前記外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、前記外部記憶装置として記憶領域を提供する記憶手段と、
前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないときに、前記記憶手段に記憶されている前記制御ソフトウエアモジュールを前記情報処理装置にインストールするために転送する転送手段と、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を管理する管理手段と
を含むことを特徴とする周辺装置。
【００１４】
なお、前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないときは、例えば、前記記憶手段に記憶されている前記制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが前記情報処理装置にインストールされていないときである。
【００１５】
本発明によれば、周辺装置から制御ソフトウエアモジュールを情報処理装置にインストールできるため、従来のように、事前に制御ソフトウエアモジュールをインストールしておく必要はない。同様に、制御ソフトウエアモジュールを記憶したＣＤ−ＲＯＭなどを用意する手間を省ける。このように、インストール作業が非常に簡略化されるメリットがある。さらに、インストール回数についても管理手段によって管理することができるため、ユーザに契約を遵守させやすくなる。
【００１６】
［観点２］
前記情報処理装置に前記外部記憶装置として認識させるか、前記外部周辺機器として認識させるかを切り替える切り替え手段をさらに備え、
前記記憶手段は、前記制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムを記憶しており、
前記コンピュータプログラムは、前記周辺装置を前記外部記憶装置として認識している前記情報処理装置によって前記記憶手段から読み出されて実行されるコンピュータプログラムであり、
さらに、前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされているか否か、及び前記情報処理装置にインストールされている当該制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている前記制御ソフトウエアモジュールのバージョンよりも古いか否か、の少なくとも一方を判定する判定手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないとき、または前記制御ソフトウエアモジュールよりも古いバージョンの該制御ソフトウエアモジュールが前記情報処理装置にインストールされているときに、前記記憶手段から前記制御ソフトウエアモジュールを読み出して前記情報処理装置に書き込む書き込み手段と、
前記情報処理装置にインストールされている当該制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている前記制御ソフトウエアモジュールのバージョンよりも古くないと判定されたとき、または、前記記憶手段から前記制御ソフトウエアモジュールが前記情報処理装置に書き込まれたときに、前記切り替え手段に切り替え命令を送信することで、前記周辺装置を前記外部周辺機器として認識させる認識制御手段
として機能させるコンピュータプログラムであることを特徴とする観点１に記載の周辺装置。
【００１７】
本発明によれば、周辺装置に記憶されているコンピュータプログラムによって、予め適切な制御ソフトウエアモジュールが情報処理装置に存在しないと判定されると、制御ソフトウエアモジュールが情報処理装置にインストールされることになる。逆に、すでに切な制御ソフトウエアモジュールが存在すれば、インストールは実行されない。また、周辺装置は、当初、外部記憶装置（例：ＵＳＢメモリやＵＳＢタイプのＣＤドライブなど）として認識されているため、コンピュータプログラムを情報処理装置に簡単な手法で転送することができる。そして、適切な制御ソフトウエアモジュールが存在しているか、または、インストールが完了すれば、周辺装置が、外部周辺機器（例：イメージスキャナなど）として認識される。このように、情報処理装置が、周辺装置の認識を切り替えることで、ユーザの負担を緩和しつつ、周辺装置を外部周辺機器として利用できるようになる。
【００１８】
［観点３］
前記外部記憶装置は、ＣＤドライブであり、前記コンピュータプログラムは、前記記憶手段のうちＣＤドライブとして認識される記憶領域に記憶されているＡｕｔｏｒｕｎ．ｉｎｆによって自動的に起動されるように記述されていることを特徴とする観点２に記載の周辺装置。
【００１９】
Ａｕｔｏｒｕｎ．ｉｎｆは、自動的にコンピュータプログラムを起動するためのファイルとしてよく知られているため、比較的に簡単な方法で、本発明を実現できる。
【００２０】
［観点４］
前記管理手段は、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数する計数手段を備えることを特徴とする観点１ないし３のいずれか１項に記載の周辺装置。
【００２１】
本発明によれば、周辺装置がインストール回数を計数することで、制御ソフトウエアモジュールのインストールを管理しやすくなる。周辺装置は、一般に、複数の情報処理装置と接続できるため、周辺装置自身が制御ソフトウエアモジュールのインストールを管理することが望ましいのである。
【００２２】
［観点５］
前記計数手段は、
前記制御ソフトウエアモジュールが前記情報処理装置からアンインストールされると前記回数を減数することを特徴とする観点４に記載の周辺装置。
【００２３】
古いＰＣなどからのソフトウエアのアンインストールに伴いインストール回数を減数することで、ユーザの正規の利用を管理しやすくなる。
【００２４】
［観点６］
前記記憶手段の少なくとも一部の記憶領域は、不揮発性の記憶領域であり、
前記コンピュータプログラムは、前記情報処理装置を、
前記制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数して前記不揮発性の記憶領域に書き込む回数書き込み手段と、
前記インストールした回数と、予め定められたインストール可能回数とを比較する比較手段と、
前記インストールした回数がインストール可能回数未満であれば前記制御ソフトウエアモジュールのインストールを許可し、前記インストールした回数がインストール可能回数以上であれば前記制御ソフトウエアモジュールのインストールを禁止するインストール制限手段と
して機能させることを特徴とする観点２または３に記載の周辺装置。
【００２５】
本発明によれば、周辺装置がインストール回数を計数することで、制御ソフトウエアモジュールのインストールを管理しやすくなる。周辺装置は、一般に、複数の情報処理装置と接続できるため、周辺装置自身が制御ソフトウエアモジュールのインストールを管理することが望ましいのである。
【００２６】
［観点７］
前記制御ソフトウエアモジュールは、ドライバソフトウエアとアンインストーラプログラムとを含み、
前記アンインストーラは、前記情報処理装置を、
前記ドライバソフトウエアが前記情報処理装置からアンインストールされると前記インストールした回数を減数するか、または、前記インストール可能回数を増やす回数調整手段として機能させることを特徴とする観点６に記載の周辺装置。
【００２７】
古いＰＣなどからのソフトウエアのアンインストールに伴いインストール回数やインストール可能回数を調整することで、ユーザの正規の利用を管理しやすくなる。
【００２８】
［観点８］
前記コンピュータプログラムは、前記情報処理装置を、
前記周辺装置が保有している固有の識別情報を前記情報処理装置に保持させる保持手段として機能させ、
前記アンインストーラは、前記情報処理装置を、
前記周辺装置が保有している固有の識別情報と、前記情報処理装置に保持されている識別情報とが一致するか否かを判断する判断手段と、
前記周辺装置が保有している固有の識別情報と、前記情報処理装置に保持されている識別情報とが一致するときに、前記ドライバソフトウエアを前記情報処理装置から削除する削除手段と
して機能させることを特徴とする観点７に記載の周辺装置。
【００２９】
複数の周辺装置が使用される環境下においては、第１の周辺装置からＰＣにインストールされたソフトウエアが、第２の周辺装置によって削除されてしまうことがある。本来であれば、第１の周辺装置によって管理されているインストール回数やインストール可能回数を調整しなければならないが、第２の周辺装置のインストール回数やインストール可能回数が変更されてしまうおそれがある。そこで、周辺装置の識別情報とソフトウエアのインストールとを関連付けて管理することで、各周辺装置によるインストール回数を適切に管理できるようになる。
【００３０】
［観点９］
前記周辺装置は、画像読取装置であることを特徴とする観点１ないし８のいずれか１項に記載の周辺装置。
【００３１】
本発明は、画像読取装置において、好適に利用されよう。なぜなら、画像読取装置などの周辺装置は、様々なＰＣに接続された利用される可能性があるからである。
【００３２】
図１は、コンピュータとスキャナ装置とのソフトウエアブロック図である。パーソナルコンピュータ１００は、例えば、一般的なパーソナルコンピュータ（ＰＣ）などのホストコンピュータである。ここでは、情報処理装置の一例として、パーソナルコンピュータ１００について説明する。
【００３３】
パーソナルコンピュータ１００には、オペレーティングシステム１０１、ファイルシステム２０１、ＵＳＢマスストレージドライバ２０２及びＵＳＢドライバ１０３がインストールされている。オペレーティングシステム１０１は、いわゆるＯＳのことであり、パーソナルコンピュータ１００の基本ソフトウエアである。ここでは、マイクロソフトウインドウズ（登録商標）オペレーティングシステムがＯＳとして採用されているものとする。ファイルシステム２０１は、ハードディスクドライブなどの記憶装置にファイルを格納するためのソフトウエアである。ＵＳＢマスストレージドライバ２０２は、ハードディスクドライブ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−Ｒ、ＵＳＢメモリなどのマスストレージを制御するためのソフトウエアである。ＵＳＢドライバ１０３は、ＵＳＢインターフェースに接続されたＵＳＢデバイスを制御するためのソフトウエアである。なお、これらのソフトウエアはＯＳの一部であってもよい。
【００３４】
スイッチ２２０を切り替えることで、ＵＳＢマスストレージドライバ２０２以外のデバイスドライバへ接続を切り替えることができるものとする。スイッチ２２０は、ソフトウエアで実現されてもよいし、電気的に切り替え可能な電子スイッチを用いてハードウエアによって実現されてよい。また、ソフトウエア及びハードウエアの両方も用いてスイッチ２２０が実現されてもよい。
【００３５】
スキャナ装置１０６は、情報処理装置の外部記憶装置としての機能と情報処理装置の外部周辺機器としての機能とを備えた周辺装置の一例である。スキャナ装置１０６には、ＵＳＢスキャナクラスインターフェース１０８、ＣＤドライブインターフェース２０５、ＵＳＢマスストレージクラスインターフェース２０６、スイッチ２２１、オートランファイル２０７、判断アプリケーション２２４、インストーラ２２５、キャプチャアプリケーション２３１、ＵＳＢスキャナドライバ２２６、アンインストーラ２３０、インストール回数カウンタ２２７、スキャナＩＤ２２８、アンインストールフラグ２３２などを備えている。
【００３６】
ＵＳＢスキャナクラスインターフェース１０８は、スキャナ装置１０６をＵＳＢ接続型の画像読取装置として使用するためのインターフェースである。ＣＤドライブインターフェース２０５は、スキャナ装置１０６に備えられているメモリ（フラッシュメモリ、ＥＥＰＲＯＭなど）の少なくとも１部をＣＤ−ＲＯＭドライブとして使用するためのソフトウエアである。ＵＳＢマスストレージクラスインターフェース２０６は、ＣＤドライブインターフェース２０５を介してメモリをＵＳＢマスストレージとして使用するためのソフトウエアである。スイッチ２２１は、ＰＣに接続されるインターフェースを、ＵＳＢマスストレージクラスインターフェース２０６と、ＵＳＢスキャナクラスインターフェース１０８とのいずれか一方に切り替えるためのスイッチである。スイッチ２２１は、情報処理装置に外部記憶装置として認識させるか、外部周辺機器として認識させるかを切り替える切り替え手段の一例である。
【００３７】
オートランファイル２０７は、例えば、Ａｕｔｏｒｕｎ．ｉｎｆなどで、ＣＤ−ＲＯＭが認識されたときに自動的に読み出されるファイルである。オートランファイル２０７の内部には、自動的に起動すべきソフトウエアを指定するための記述が含まれている。
【００３８】
判断アプリケーション２２４は、スキャナ装置１０６用の適切なスキャナドライバやキャプチャアプリケーションなどがＰＣにインストールされているかどうかを判定するコンピュータプログラムである。なお、判断アプリケーション２２４は、制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムの一例である。また、判断アプリケーション２２４は、周辺装置を外部記憶装置として認識している情報処理装置によって記憶手段から読み出されて実行されるコンピュータプログラムである。
【００３９】
インストーラ２２５は、ＵＳＢスキャナドライバ２２６やキャプチャアプリケーション２３１をＰＣにインストールするためのコンピュータプログラムである。キャプチャアプリケーション２３１は、スキャナ装置１０６によって読み取られた画像データを編集したり、任意の圧縮形式のファイルに変換したりするためのコンピュータプログラムである。ＵＳＢスキャナドライバ２２６は、ＰＣがＰＣに接続されたスキャナ装置１０６を制御するためのコンピュータプログラムである。アンインストーラ２３０は、ＵＳＢスキャナドライバ２２６やキャプチャアプリケーション２３１をＰＣから削除するためのコンピュータプログラムである。
【００４０】
インストール回数カウンタ２２７は、制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を管理する管理手段の一例である。インストール回数カウンタ２２７は、ＵＳＢスキャナドライバ２２６やキャプチャアプリケーション２３１をＰＣにインストールした回数をカウントするためのカウンタである。スキャナＩＤ２２８は、各スキャナ装置１０６が保有している固有の識別情報である。アンインストールフラグ２３２は、アンインストールの実行時にセットされ、通常はクリアされているフラグである。
【００４１】
図２は、キャプチャアプリケーションおよびスキャナドライバをインストールした状態のパーソナルコンピュータとスキャナ装置とについてのソフトウエアブロック図である。すでに説明した箇所には同一の参照符号を付与することで、説明を簡潔にする。
【００４２】
図１と比較すると、図２では、ＰＣにキャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２がインストールされている。インストール元情報２２９は、ハードディスクドライブ１２２に保持されており、キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をインストールしたスキャナ装置１０６の識別情報を含んでいる。このように、ハードディスクドライブ１２２は、周辺装置が保有している固有の識別情報を情報処理装置に保持させる保持手段の一例である。
【００４３】
図３は、パーソナルコンピュータとスキャナ装置とについてのハードウエアブロック図である。
【００４４】
パーソナルコンピュータ１００は、ＣＰＵ１２１、ＲＯＭ１２３、ＲＡＭ１２４、ハードディスクドライブ１２２、ＵＳＢインターフェース１０４で構成される。パーソナルコンピュータ１００は、ＵＳＢケーブル１０５を介してスキャナ装置１０６と接続される。また、パーソナルコンピュータ１００には、キーボード／マウス１２５とディスプレイ１２６が接続されている。
【００４５】
パーソナルコンピュータ１００に電力が投入されると、ＣＰＵ１２１は、ＲＯＭ１２３からファームウエアを読み出して起動し、ハードディスクドライブ１２２からマイクロソフト（登録商標）オペレーティングシステム１０１を起動する。ＯＳなどの必要なソフトウエアは、ＲＡＭ１２４にロードされる。
【００４６】
一方、スキャナ装置１０６は、ＣＰＵ１１０、ＲＯＭ１２７、ＲＡＭ２０３、画像読み取り部１１２、ＵＳＢコントローラ１２８、ＵＳＢインターフェース１０７で構成され、スキャナ装置１０６を制御する不図示のファームウエアがＲＯＭ１２７から起動する。
【００４７】
ＲＯＭ１２３は、外部周辺機器としての機能を情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、外部記憶装置として記憶領域を提供する記憶手段の一例である。ＲＯＭ１２３は、例えば、純粋なリードオンリーメモリ、ＥＥＰＲＯＭ、ＳＲＡＭ、フラッシュメモリなどを組み合わせて実現されている。ＲＡＭ１２４は、例えば、ＤＲＡＭなどである。
【００４８】
パーソナルコンピュータ１００上のオペレーティングシステム１０１は、ＵＳＢインターフェース１０４にＵＳＢケーブル１０５を介して何らかの周辺装置が接続されたことを検出すると、周辺装置のクラスインターフェースにアクセスし、周辺装置の種類を確定する。
【００４９】
ここで、スキャナ装置１０６は、ＣＰＵ１２１及びオペレーティングシステム１０１にマスストレージデバイスクラスとして認識してもらうために、ＵＳＢマスストレージクラスインターフェース２０６を備えている。また、スキャナ装置１０６は、ＣＰＵ１２１やオペレーティングシステム１０１に、スキャナデバイスクラスとして認識してもらうために、ＵＳＢスキャナクラスインターフェース１０８を有している。これら２つのクラスインターフェースは、スイッチ２２１を矢印Ｂの方向に切り替えることで、有効となるクラスインターフェースが選択される。
【００５０】
一方、パーソナルコンピュータ１００上で動作するオペレーティングシステム１０１は、標準で、マスストレージクラスのＵＳＢデバイスをサポートしている。すなわち、オペレーティングシステム１０１がマスストレージクラスのＵＳＢデバイスドライバ（ＵＳＢマスストレージドライバ２０２）を含んでいるため、パーソナルコンピュータ１００への特別なドライバ等のインストールせずに、マスストレージクラスのＵＳＢデバイスにアクセスできる。また、マスストレージクラスデバイスへの標準アクセスは、オペレーティングシステム１０１を使用して、管理者権限なしに実行可能である。
【００５１】
このように、パーソナルコンピュータ１００にスキャナ装置１０６を接続すると、パーソナルコンピュータ１００への特別なドライバ等をインストールすることなく、スキャナ装置１０６は、マスストレージデバイスとしてオペレーティングシステム１０１に認識され、アクセスが可能となる。これは、予めＵＳＢマスストレージドライバ２０２がＰＣにインストールされており、かつ、スキャナ装置１０６がＵＳＢマスストレージクラスインターフェース２０６を有しているためである。
【００５２】
なお、パーソナルコンピュータ１００内のスイッチ２２０を矢印Ａの方向に切り替えることでＵＳＢマスストレージドライバ２０２以外のドライバへ接続を切り替えることができるものとする。このようなスイッチ２２０は、ソフトウエアによって実現されてもよいし、ハードウエアによって実現されてもよい。
【００５３】
パーソナルコンピュータ１００にスキャナ装置１０６が接続されると、オペレーティングシステム１０１（ＣＰＵ１２１）は、ＵＳＢインターフェース１０４により何らかの周辺装置が接続されたことを検知する。ＵＳＢインターフェース１０４は、ＵＳＢケーブル１０５を介して、スキャナ装置１０６のＵＳＢインターフェース１０７にアクセスする。
【００５４】
この際、オペレーティングシステム１０１は、どのような周辺装置が接続されたのかを判別するため、コントロール転送のセットアップステージにて、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ標準デバイスリクエストを発行する。スキャナ装置１０６のＵＳＢインターフェース１０７は、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ標準デバイスリクエストを受信すると、要求されたディスクリプタを返す。ディスクリプタは、デバイスの種類や特性や属性などの情報を表現するために使用される情報であり、この情報のフォーマットは予め定義されている。
【００５５】
オペレーティングシステム１０１は、スキャナ装置１０６から受信したＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ標準デバイスリクエストのうち、標準デバイスディスクリプタ、標準構成（コンフィグレーション）ディスクリプタ、標準インターフェースディスクリプタによって、接続されたデバイスの種類や特性や属性などの情報を取得する。
【００５６】
スキャナ装置１０６のＣＰＵ１１０は、ＵＳＢインターフェース１０７にパーソナルコンピュータ１００からのアクセスを検出すると、初期インターフェースとして、切り替えスイッチ２２１をＵＳＢマスストレージクラスインターフェース２０６に切り替える。これにより、パーソナルコンピュータ１００は、ＵＳＢマスストレージクラスインターフェース２０６にアクセスする。
【００５７】
オペレーティングシステム１０１は、スキャナ装置１０６のＵＳＢマスストレージクラスインターフェース２０６にアクセスしたことを認識すると、切り替えスイッチ２２０を、ＵＳＢドライバ１０３とＵＳＢマスストレージドライバ２０２とを接続するように切り替える。これにより、ＵＳＢインターフェース１０４は、ＵＳＢケーブル１０５を介してスキャナ装置１０６にアクセス可能になる。
【００５８】
また、スキャナ装置１０６は、オペレーティングシステム１０１に、先述したように、マスストレージクラスデバイスとして認識されている。そのため、パーソナルコンピュータ１００は、スキャナ装置１０６のＵＳＢインターフェース１０７、ＵＳＢマスストレージクラスインターフェース２０６、ＣＤドライブインターフェース２０５を介して、オペレーティングシステム１０１の管理者権限なしに、スキャナ装置１０６にアクセスができる。
【００５９】
上述したように、スキャナ装置１０６のＲＯＭ１２７には、オペレーティングシステム１０１上で動作するキャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をインストールするインストーラ２２５と、キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をアンインストールするアンインストーラ２３０と、インストーラ２２５によりパーソナルコンピュータ１００にインストールされるＵＳＢスキャナドライバ２２６と、キャプチャアプリケーション２３１と、ＵＳＢスキャナドライバ２２６をインストールした回数を保持するインストール回数カウンタ２２７と、スキャナ装置１０６に製品製造時に個体ごとに割り当てられるスキャナＩＤ２２８と、アンインストーラ２３０によるアンインストールを実行するか否かを示す情報を保持するためのアンインストールフラグ２３２と、パーソナルコンピュータ１００にＵＳＢスキャナドライバ１０２がインストールされているかどうかを判断する判断アプリケーション２２４と、スキャナ装置１０６をパーソナルコンピュータ１００に接続した際に判断アプリケーション２２４を自動実行するための記述を備えたオートランファイル２０７が予め保存されている。
【００６０】
なお、ＲＯＭ１２７上のインストーラ２２５とアンインストーラ２３０とＵＳＢスキャナドライバ２２６とキャプチャアプリケーション２３１と判断アプリケーション２２４とオートランファイル２０７は、ＣＤドライブインターフェース２０５を介して、パーソナルコンピュータ１００からアクセスできる。
【００６１】
また、上述したように、オペレーティングシステム１０１は、ＣＤドライブ内にデータＣＤが挿入された場合、「ａｕｔｏｒｕｎ．ｉｎｆ」と呼ばれる、データＣＤ上のファイルを検出して自動実行する機能を備えている。よって、オートランファイル２０７は、ＣＤドライブインターフェース２０５を介してアクセスされ、ＣＰＵ１２１によって自動的に実行されるものとする。
【００６２】
なお、スキャナ装置１０６のＣＰＵ１１０は、パーソナルコンピュータ１００に接続した時点で、ＣＤドライブ内にデータＣＤが挿入されていない状態となり、直後に、ＣＤが挿入された状態へと遷移する。スキャナ装置１０６のＣＰＵ１１０は、ＵＳＢインターフェース１０７を介して、データＣＤが挿入されたことを示す信号をパーソナルコンピュータ１００に送信する。これにより、ＣＰＵ１２１は、外部記憶装置（ここではＵＳＢ接続タイプのＣＤＲＯＭドライブ）として認識しているスキャナ装置１０６からオートランファイル２０７を読み出して自動実行する。
【００６３】
さらに、パーソナルコンピュータ１００は、ファイルシステム２０１のファイルフォルダ内にスキャナ装置１０６内に保存してある、インストーラ２２５とアンインストーラ２３０とＵＳＢスキャナドライバ２２６とキャプチャアプリケーション２３１と判断アプリケーション２２４とオートランファイル２０７に対応するテーブルを形成する。
【００６４】
＜基本的な読み取り動作＞
図４は、制御ソフトウエアモジュールのインストールからその実行までを示したフローチャートである。
【００６５】
ステップＳ３００１で、パーソナルコンピュータ１００のＣＰＵ１２１は、ＵＳＢインターフェース１０４にスキャナ装置１０６が接続されたことを検出し、スイッチ２２０を切り替えることで、ＵＳＢドライバ１０３をＵＳＢマスストレージドライバ２０２へ接続する。これは、ＣＰＵ１２１が、スキャナ装置１０６をマスストレージクラスのデバイス（ＣＤドライブ）であることを認識したためである。なお、スイッチ２２１は、ＵＳＢマスストレージクラスインターフェースが有効となるように、切り替えられていることを前提としている。
【００６６】
ステップＳ３００２で、ＣＰＵ１２１は、接続されたスキャナ装置１０６をＣＤドライブとして認識しているため、ファイルシステム２０１にＣＤドライブとして追加する。スキャナ装置１０６は、ＵＳＢマスストレージクラスインターフェース２０６のサブクラスとして、ＣＤドライブインターフェース２０５を有しているためである。
【００６７】
ステップＳ３００３で、ＣＰＵ１２１は、オペレーティングシステム１０１にしたがって、ファイルシステム２０１のファイルフォルダ内にスキャナ装置１０６内に保存してある、インストーラ２２５とアンインストーラ２３０とＵＳＢスキャナドライバ２２６とキャプチャアプリケーション２３１と判断アプリケーション２２４とオートランファイル２０７に対応するテーブルを形成する。これにより、ＣＰＵ１２１は、インストーラ２２５とアンインストーラ２３０とＵＳＢスキャナドライバ２２６とキャプチャアプリケーション２３１と判断アプリケーション２２４とオートランファイル２０７を、ＣＤドライブ上のファイルとして扱うことができる。
【００６８】
図５は、ＣＤドライブに相当するフォルダの一例を示した図である。フォルダ３０４は、ＣＤドライブに相当し、上述したインストーラ２２５とアンインストーラ２３０とＵＳＢスキャナドライバ２２６とキャプチャアプリケーション２３１と判断アプリケーション２２４とオートランファイル２０７が格納されている。ユーザは、パーソナルコンピュータ１００に接続されたキーボード／マウス１２５を使用して、フォルダ３０４を開き、ダブルクリックによって、アンインストーラ２３０などの起動を指示することができる。
【００６９】
ステップＳ３００３で、ＣＰＵ１２１は、オペレーティングシステム１０１にしたがって、ＣＤドライブ内にデータＣＤが挿入されたと判断し、オートランファイル２０７を参照して実行する。オートランファイル２０７には、予め、管理者権限を持つユーザによって、すでに、スキャナ装置１０６で画像読み取りを行うためのオペレーティングシステム１０１上で動作するＵＳＢスキャナドライバ１０２がインストールされているかどうか判断する判断アプリケーション２２４を起動するための指示が記述されている。
【００７０】
ステップＳ３００４で、ＣＰＵ１２１は、オートランファイル２０７にしたがって、判断アプリケーション２２４を起動する。オートランファイル２０７は、記憶手段のうちＣＤドライブとして認識される記憶領域に記憶されている。よって、判断アプリケーション２２４は、記憶手段のうちＣＤドライブとして認識される記憶領域に記憶されているＡｕｔｏｒｕｎ．ｉｎｆによって自動的に起動されるように記述されているコンピュータプログラムの一例である。判断アプリケーション２２４は、画像読み取りに必要となる制御ソフトウエアモジュールがインストール済みであるかどうかを判定し、インストール済みでなければ、上述した各種のソフトウエアをインストールする。
【００７１】
ステップＳ３００５で、ＣＰＵ１２１は、判断アプリケーション２２４にしたがって、ＵＳＢスキャナドライバ１０２がパーソナルコンピュータ１００にインストールされているか否かを判定する。インストールされている場合は、ステップＳ３００６に進む。一方、インストールされていない場合は、ＣＰＵ１２１は、画像読み取りを行わず処理を終了する。
【００７２】
ステップＳ３００６で、ＣＰＵ１２１は、判断アプリケーション２２４にしたがって、スキャナ装置１０６に、ＵＳＢスキャナクラスインターフェース１０８で接続しなおすよう指示を送信する。このように、ＣＰＵ１２１は、制御ソフトウエアモジュールが情報処理装置にインストールされているとき、または、記憶手段から制御ソフトウエアモジュールが情報処理装置に書き込まれたときに、切り替え手段に切り替え命令を送信することで、周辺装置を外部周辺機器として認識させる認識制御手段の一例である。なお、制御ソフトウエアモジュールは、記憶手段に記憶されている制御ソフトウエアモジュールと同一であってもよいし、または、より新しいバージョンの制御ソフトウエアモジュールであってもよい。
【００７３】
ステップＳ３００７で、スキャナ装置１０６のＣＰＵ１１０は、ＵＳＢスキャナクラスインターフェースの切り替え指示を受信すると、一度、パーソナルコンピュータ１００から接続を切り離し、再度、接続状態に移行する。
【００７４】
ステップＳ３００８で、ＣＰＵ１２１は、キャプチャアプリケーション２２２の起動指示がキーボードやマウスを通じて入力されたか否かを判定する。キャプチャアプリケーション２２２の起動指示が入力されると、ステップＳ３００９に進む。
【００７５】
ステップＳ３００９で、ＣＰＵ１２１は、キャプチャアプリケーション２２２を起動する。
【００７６】
図６は、キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。キャプチャアプリケーション２２２のユーザインターフェースが表示されると、ユーザは、キーボード／マウス１２５を操作して、スキャン設定を実行する。例えば、読み取りモード（本実施形態では、白黒）、用紙サイズ（本実施形態では、Ａ４）、解像度（本実施形態では、３００ｄｐｉ）、読み取り面（本実施形態では、両面）がキーボード／マウス１２５を使用して選択される。さらに、読み取った画像を保存するための画像ファイルのファイル名（本実施形態では、ｔｅｓｔ１）もキーボード／マウス１２５を操作して入力される。最後に、スキャンボタン３０１がキーボード／マウス１２５を使用してクリックされる。
【００７７】
スキャンボタン３０１がキーボード／マウス１２５によりクリックされると、ステップＳ３０１０に進む。
【００７８】
ステップＳ３０１０で、キャプチャアプリケーション２２２（ＣＰＵ１２１）は、ＵＳＢスキャナドライバ１０２からＵＳＢドライバ１０３とＵＳＢインターフェース１０４を介して、スキャナ装置１０６にスキャン設定を送信し、さらにスキャン開始コマンドを送信する。
【００７９】
スキャナ装置１０６のＣＰＵ１１０は、ＵＳＢインターフェース１０７からＵＳＢスキャナクラスインターフェース１０８を介して、スキャン設定およびスキャン開始コマンドデータを受信したことを検出すると、スキャン設定にしたがって画像読み取り部１１２を用いて原稿のスキャンを開始する。スキャナ装置１０６は、スキャンを開始すると、画像読み取り部１１２で読み取った画像をＵＳＢスキャナクラスインターフェース１０８からＵＳＢインターフェース１０７を介して、パーソナルコンピュータ１００に送信する。
【００８０】
ステップＳ３０１１で、ＣＰＵ１２１は、キャプチャアプリケーション２２２にしたがって、画像データの受信を開始したか否かを判定する。画像データの受信が開始されると、ステップＳ３０１２に進む。
【００８１】
ステップＳ３０１２で、ＣＰＵ１２１は、すべての画像データを受信し終えるまで、受信を継続する。
【００８２】
ステップＳ３０１３で、受信した画像データを指定された保存ファイル名（本実施形態では、ｔｅｓｔ１）でハードディスクドライブ１２２に保存する。
【００８３】
図７は、キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。すでに説明した箇所には、同一の参照符号を付与している。
【００８４】
キャプチャアプリケーション２２２のユーザインターフェースに設けられているアンインストールボタン３０２は、スキャナドライバやキャプチャアプリケーションなどのアンインストールを指示するためのボタンである。キャプチャアプリケーション２２２起動時に、ＣＰＵ１２１は、パーソナルコンピュータ１００にインストールされているＵＳＢスキャナドライバ１０２が管理しているインストール元情報２２９と、スキャナ装置１０６内に保持されているスキャナＩＤ２２８とが一致しているか否かを判定する。そして、ＣＰＵ１２１は、両者が一致している場合にのみ、アンインストールボタン３０２を表示するようにしてもよい。
【００８５】
図８は、アンインストールボタンが押下られたときに表示されるユーザインターフェース（ダイアログ）の一例を示す図である。ＣＰＵ１２１は、キーボード／マウス１２５を使用してアンインストールボタン３０２が押下られたことを検出すると、ＵＳＢスキャナドライバ１０２及びキャプチャアプリケーション２２２のアンインストールを実行するため、スキャナ装置１０６を一旦パーソナルコンピュータ１００から取り外し、再度パーソナルコンピュータ１００に接続する旨のダイアログを表示する。
【００８６】
ＵＳＢスキャナドライバ１０２（ＣＰＵ１２１）は、スキャナ装置１０６のＵＳＢスキャナクラスインターフェース１０８を経由して、アンインストールフラグ２３２をセットするように指示する。また、ＣＰＵ１１０は、この指示を受信すると、アンインストールフラグ２３２をセットする。アンインストールフラグ２３２は、デフォルトでクリアされているものとする。
【００８７】
なお、スキャナ装置１０６をパーソナルコンピュータ１００から一度取り外して再度パーソナルコンピュータ１００に接続させているのは、アンインストールを円滑に実行するためである。
【００８８】
＜マスストレージデバイスへの切り替え処理＞
図９は、パーソナルコンピュータにおけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【００８９】
ステップＳ８００１で、ＣＰＵ１２１は、オペレーティングシステム１０１にしたがって、ＵＳＢインターフェース１０４にて何らかの周辺装置の接続を検知したか否かを判定する。何らかの周辺装置の接続を検知すると、ステップＳ８００２に進む。
【００９０】
ステップＳ８００２で、ＣＰＵ１２１は、ＵＳＢドライバ１０３を図示しない標準的な周辺装置のクラスインターフェースに接続するよう、スイッチ２２１を切り替える。
【００９１】
ステップＳ８００３で、ＣＰＵ１２１は、オペレーティングシステム１０１にしたがって、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを発行する。これは、どのような周辺装置が接続されたのかを判別するため、周辺装置から情報を取得するためである。
【００９２】
ステップＳ８００４で、ＣＰＵ１２１は、スキャナ装置１０６送信したディスクリプタを受信する。標準デバイスディスクリプタのデバイスクラスコード、あるいは、インターフェースクラスコードにて、ＵＳＢマスストレージクラスコードが指定される。これにより、ＣＰＵ１２１は、接続された周辺装置がマスストレージデバイスであると認識する。
【００９３】
ステップＳ８００５で、ＣＰＵ１２１は、スキャナ装置１０６のＵＳＢマスストレージクラスインターフェース２０６にアクセスするため、ＵＳＢマスストレージクラスコードに関連するＵＳＢマスストレージドライバや、その他のクライアントドライバをＲＡＭ１２４に展開する。すなわち、ＣＰＵ１２１は、ＵＳＢマスストレージドライバ２０２が有効となるように、ソフト的にスイッチ２２０を切り替える。これにより、ＣＰＵ１２１は、ＵＳＢインターフェース１０４からＵＳＢケーブル１０５を介してスキャナ装置１０６にアクセス可能になる。
【００９４】
図１０は、スキャナ装置におけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【００９５】
ステップＳ９００１で、スキャナ装置１０６のＣＰＵ１１０は、ＵＳＢインターフェース１０７を介してパーソナルコンピュータ１００と接続したことを検出したか否かを判定する。パーソナルコンピュータ１００との接続を検出すると、ステップＳ９００２に進む。
【００９６】
ステップＳ９００２で、ＣＰＵ１１０は、ソフト的にスイッチ２２１を切り替えて、初期インターフェースとしてＵＳＢマスストレージクラスインターフェース２０６を有効にする。
【００９７】
ステップＳ９００３で、ＣＰＵ１１０は、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを受信したか否かを判定する。ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを受信すると、ステップ９００４に進む。
【００９８】
ステップＳ９００４で、ＣＰＵ１１０は、ディスクリプタをパーソナルコンピュータ１００に送信する。ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストに対して返信する標準デバイスディスクリプタのデバイスクラスコード、あるいは、標準インターフェースディスクリプタのインターフェースクラスコードには、ＵＳＢマスストレージクラスコードが指定される。
【００９９】
＜判断アプリケーションの動作＞
図１１Ａ、図１１Ｂは、判断アプリケーションの動作の一例を示したフローチャートである。スキャナ装置１０６内のスキャナＩＤ２２８には”ＳｃａｎｎｅｒＩＤ０”が設定されているものとする。なお、スキャナＩＤ２２８には、製品製造時に個体ごとに割り当てられた固有のＩＤが選択され、例えば、個体ごとに割り当てたシリアル番号（例えば、０００００００１、０００００００２、０００００００３）が採用されてもよい。
【０１００】
ステップＳ４００１で、ＣＰＵ１２１は、ＵＳＢスキャナドライバ１０２がインストールされているかどうかを判断する。インストールされているかは、例えば、レジストリを参照することにより判断できる。このように、ＣＰＵ１２１は、判断アプリケーションによって、制御ソフトウエアモジュールが情報処理装置にインストールされているか否かを判定する判定手段として機能することになる。インストールされていないと判断した場合（図１のパーソナルコンピュータ１００のソフトウエアブロック構成である場合）には、ステップＳ４００２に進む。
【０１０１】
ステップＳ４００２で、ＣＰＵ１２１は、ドライバなどの制御ソフトウエアモジュールを契約条件にしたがってＰＣにインストール可能か否かを判定する。例えば、ＣＰＵ１２１は、インストール回数カウンタ２２７のカウント値（インストール回数）と、契約により定められたインストール可能回数とをスキャナ装置１０６に問い合せ、インストール回数がインストール可能回数未満であるか否かを判定する。インストール回数カウンタ２２７は、制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数する計数手段の一例である。また、ＣＰＵ１２１は、インストールした回数と、予め定められたインストール可能回数とを比較する比較手段の一例である。
【０１０２】
なお、インストール回数カウンタ２２７が、残りのインストール可能回数（残数）をカウントしても良い。この場合、インストール回数カウンタ２２７の初期値は、予め許可された最大のインストール可能回数が設定される。そして、インストール回数カウンタ２２７は、インストールが実行されるたびに、カウント値を減数して行く。ＣＰＵ１２１は、カウント値（残数）がゼロになっているか否かを判定する。インストール可能であれば、ステップＳ４００３に進む。
【０１０３】
ステップＳ４００３で、ＣＰＵ１２１は、インストール可能である旨のインストール開始メッセージを表示する。
【０１０４】
図１２は、インストール開始メッセージの一例を示した図である。このメッセージ上には、インストールを実行するか否かを問い合せるためのＯＫボタン１２０１と、キャンセルボタン１２０２とが配置されている。
【０１０５】
ステップＳ４００４で、ＣＰＵ１２１は、インストールを実行すべきか否かを判定する。例えば、ＣＰＵ１２１は、ＯＫボタン１２０１の押下を検出するとインストールを実行すべきと判定し、ステップＳ４００５に進む。一方、ＣＰＵ１２１は、キャンセルボタン１２０２の押下を検出するとインストールを実行すべきでないと判定し、本処理を終了する。
【０１０６】
ステップＳ４００５で、ＣＰＵ１２１は、インストーラ２２５を起動する。
【０１０７】
ステップＳ４００６で、ＣＰＵ１２１は、インストーラ２２５にしたがって、パーソナルコンピュータ１００にキャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をスキャナ装置１０６から読み出してインストールする。キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２は、例えば、ハードディスクドライブにＣＰＵ１２１によって書き込まれる。よって、ＣＰＵ１２１は、記憶手段に記憶されている制御ソフトウエアモジュールと同一またはより新しいバージョンの制御ソフトウエアモジュールのいずれもが情報処理装置にインストールされていないときに、記憶手段から制御ソフトウエアモジュールを読み出して情報処理装置に書き込む書き込み手段の一例である。
【０１０８】
キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２は、ＣＰＵ１１０、ＵＳＢコントローラ１２８及びＵＳＢインターフェース１０７によって、ＲＯＭ１２７から読み出されて、パーソナルコンピュータ１００へと転送される。よって、ＣＰＵ１１０、ＵＳＢコントローラ１２８及びＵＳＢインターフェース１０７は、記憶手段に記憶されている制御ソフトウエアモジュールと同一またはより新しいバージョンの制御ソフトウエアモジュールのいずれもが情報処理装置にインストールされていないときに、記憶手段に記憶されている制御ソフトウエアモジュールを情報処理装置にインストールするために転送する転送手段の一例といえよう。
【０１０９】
なお、インストールは、管理者権限を持つユーザでなければ実行できない。よって、管理者権限を持つユーザでなければ、管理者権限を持つユーザがインストールを実行するよう促す必要がある。
【０１１０】
図１３は、管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。
【０１１１】
ＣＰＵ１２１は、現在のユーザが管理者権限を有していないと判定すると、このダイアログボックスをディスプレイ１２７に表示する。当該ダイアログには、ユーザＩＤの入力部１３０１と、パスワードの入力部１３０２とが配置されている。なお、管理者権限を持つユーザによるログインを求める旨のダイアログを表示する代わりに、ＣＰＵ１２１は、インストール作業を中止してもよい。
【０１１２】
ステップＳ４００７で、ＣＰＵ１２１は、インストールが正常終了したか否かを判定する。管理者権限を持つユーザがログインしていれば、通常、インストールは正常に終了する。
【０１１３】
ステップＳ４００８で、ＣＰＵ１２１は、インストール回数カウンタ２２７のカウント値を１つ増やす。なお、インストール回数カウンタ２２７で残数をカウントしている場合は、残数を１つ減数する。インストール回数カウンタ２２７は、例えば、ＣＰＵ１２１からアクセス可能な不揮発性の記憶領域（ＳＲＡＭやＥＥＰＲＯＭなど）に記憶されたファイルである。また、ＣＰＵ１２１は、制御ソフトウエアモジュールをいずれかの情報処理装置にインストールした回数を計数して不揮発性の記憶領域に書き込む回数書き込み手段の一例である。
【０１１４】
ステップＳ４００９で、ＣＰＵ１２１は、パーソナルコンピュータ１００内にインストールしたＵＳＢスキャナドライバ１０２が管理しているインストール元情報２２９に、スキャナ装置１０６から読み出したスキャナＩＤ２２８（”ＳｃａｎｎｅｒＩＤ０”）をセットする。
【０１１５】
一方、インストール開始メッセージ上のキャンセルボタンの押下によってインストールが中止された場合（Ｓ４００４でＮＯ）、管理者権限を持たないユーザがログインしていた場合、管理者権限を持つユーザによるログインを求める旨のダイアログにてキャンセルボタンが選択され場合、または、ダイアログが表示されずにインストール作業が失敗した場合（Ｓ４００７でＮＯ）、ＣＰＵ１２１は、インストール作業を行わずに、次の処理に移る。
【０１１６】
また、インストール回数が契約により定められた上限回数に達していた場合（Ｓ４００２でＮＯ）、ステップＳ４０１０に進む。
【０１１７】
ステップＳ４０１０で、ＣＰＵ１２１は、インストール回数が上限に達しているため、パーソナルコンピュータ１００に画像読み取りを行うためのキャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をインストールできない旨のメッセージを表示する。その後、ＣＰＵ１２１は、インストール作業を中止して、次の処理に進む。このように、ＣＰＵ１２１は、インストールした回数がインストール可能回数未満であれば制御ソフトウエアモジュールのインストールを許可し、インストールした回数がインストール可能回数以上であれば制御ソフトウエアモジュールのインストールを禁止するインストール制限手段の一例である。
【０１１８】
図１４は、インストール回数が上限に達したことを示すメッセージの一例を示した図である。
【０１１９】
一方、すでに、ＵＳＢスキャナドライバ１０２がパーソナルコンピュータ１００内にインストールされていると判断した場合（Ｓ４００１でＹＥＳ）、つまり、図２に示したパーソナルコンピュータ１００のソフトウエアブロック構成である場合、ステップＳ４０１１に進む。
【０１２０】
ステップＳ４０１１で、ＣＰＵ１２１は、アンインストールフラグ２３２がセットされているかどうかを判定する。アンインストールフラグ２３２は、キャプチャアプリケーション２２２のユーザインターフェース上に設けられたアンインストールボタン３０２を押下することによりセットされる。アンインストールフラグ２３２がセットされている場合（Ｓ４０１１でＹＥＳ）には、ステップＳ４０１２に進む。
【０１２１】
ステップＳ４０１２で、ＣＰＵ１２１は、パーソナルコンピュータ内に保持されているインストール元情報２２９と、スキャナ装置１０６に保持されているスキャナＩＤ２２８とを比較し、両者が一致するか否かを判定する。すなわち、ＰＣにドライバをインストールする際に使用されたスキャナ装置と、アンインストールを実行しようとしているスキャナ装置とが同一の個体であるか否かを判定する。両者が同一であれば、ステップＳ４０１３に進む。このように、ＣＰＵ１２１は、周辺装置が保有している固有の識別情報と、情報処理装置に保持されている識別情報とが一致するか否かを判断する判断手段の一例である。
【０１２２】
ステップＳ４０１３で、ＣＰＵ１２１は、ＵＳＢスキャナドライバ１０２、及びキャプチャアプリケーション２２２をアンインストールする旨のアンインストール開始メッセージをディスプレイに表示する。
【０１２３】
図１５は、アンインストール開始メッセージの一例を示した図である。アンインストール開始メッセージには、アンインストールを許可するためのＯＫボタン１５０１と、キャンセルするためのキャンセルボタン１５０２とが配置されている。
【０１２４】
ステップＳ４０１４で、ＣＰＵ１２１は、アンインストールが許可されたか否かを判定する。このメッセージ上のＯＫボタンが押下られると、ＣＰＵ１２１は、アンインストールが許可されたものと認識し、ステップＳ４０１５に進む。
【０１２５】
ステップＳ４０１５で、ＣＰＵ１２１は、アンインストーラ２３０を起動する。
【０１２６】
ステップＳ４０１６で、ＣＰＵ１２１は、アンインストーラ２３０にしたがって、キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２をアンインストールする。これにより、キャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２がハードディスクドライブ１２２から削除される。このように、ＣＰＵ１２１は、周辺装置が保有している固有の識別情報と、情報処理装置に保持されている識別情報とが一致するときに、ドライバソフトウエアを情報処理装置から削除する削除手段の一例である。
【０１２７】
なお、アンインストールも、管理者権限を持つユーザでなければ実行できない。そのため、ＣＰＵ１２１は、制限ユーザあるいは一般ユーザがログインしているときは、管理者権限を持つユーザによるログインを求める旨のダイアログをディスプレイに表示する。
【０１２８】
図１６は、管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。アンインストールを継続するには、管理者権限のユーザＩＤとパスワードとを入力する必要がある。なお、ＣＰＵ１２１は、ダイアログを表示せず、アンインストール作業を中止してもよい。
【０１２９】
ステップＳ４０１７で、ＣＰＵ１２１は、アンインストールが正常終了したか否かを判定する。管理者権限を持つユーザがログインしていれば、通常、アンインストールは正常に終了する。アンインストールが正常終了していれば、ステップＳ４０１８に進む。
【０１３０】
ステップＳ４０１８で、ＣＰＵ１２１は、インストール回数カウンタ２２７のカウント値を１つ減数する。このように、インストール回数カウンタ２２７は、制御ソフトウエアモジュールが情報処理装置からアンインストールされると回数を減数する計数手段の一例である。なお、インストール回数カウンタ２２７で残数をカウントしている場合は、残数を１つ増やす。このように、ＣＰＵ１２１は、ドライバソフトウエアが情報処理装置からアンインストールされるとインストールした回数を減数するか、または、インストール可能回数（残数）を増やす回数調整手段の一例である。なお、ＣＰＵ１２１は、しきい値としてのインストール可能回数を増やしてもよい。
【０１３１】
ステップＳ４０１９で、ＣＰＵ１２１は、ＵＳＢスキャナドライバ１０２が管理していたインストール元情報２２９を削除する。
【０１３２】
ステップＳ４０２０で、ＣＰＵ１２１は、スキャナ装置１０６内に保持しているアンインストールフラグ２３２をクリアし、次の処理に移る。
【０１３３】
一方、インストール元情報２２９とスキャナＩＤ２２８とが一致しなかった場合（Ｓ４０１２でＮＯ）、アンインストール開始メッセージ上のＣａｎｃｅｌボタンが押下られてアンインストールを中止した場合（Ｓ４０１５でＮＯ）、または、管理者権限を持たないユーザがログインしていない場合であって管理者権限を持つユーザによるログインを求める旨のダイアログにてＣａｎｃｅｌを選択した場合、若しくは、ダイアログが表示されずにアンインストール作業が失敗に終わった場合（Ｓ４０１８でＮＯ）、ステップＳ４０２０に進む。すなわち、アンインストールフラグ２３２がクリアされる。
【０１３４】
ところで、アンインストールフラグ２３２がセットされていない場合（Ｓ４０１１でＮＯ）には、ステップＳ４０２１に進む。
【０１３５】
スキャナ装置１０６が保有しているＵＳＢスキャナドライバ２２６は、機能向上等を目的に、バージョンが更新されることがある。よって、市場には、それぞれバージョンの異なるＵＳＢスキャナドライバ２２６を保有する複数のスキャナ装置１０６が存在することとなる。このような状況は、１ユーザが所有している複数のスキャナ装置１０６にも発生しうる。よって、最新のドライバでは機能が向上していることが多いため、より最新のドライバがインストールされることが望ましい。
【０１３６】
ステップＳ４０２１で、ＣＰＵ１２１は、パーソナルコンピュータ１００内にインストールされているＵＳＢスキャナドライバ１０２のバージョンとスキャナ装置１０６内にあるＵＳＢスキャナドライバ２２６のバージョンとを比較し、前者が後者よりも古いか否かを判定する。インストールされているＵＳＢスキャナドライバ１０２はスキャナ装置内にあるＵＳＢスキャナドライバ２２６よりバージョンが古いと判断した場合、ステップＳ４０２２に進む。このように、ＣＰＵ１２１は、判断アプリケーションによって、記憶手段に記憶されている制御ソフトウエアモジュールと同一またはより新しいバージョンの制御ソフトウエアモジュールのいずれかが情報処理装置にインストールされているか否かを判定する判定手段として機能することになる。
【０１３７】
ステップＳ４０２２で、ＣＰＵ１２１は、インストール開始メッセージをディスプレイ１２６に表示する。なお、ここでは、インストール開始メッセージを表示する前に、Ｓ４００２で行っているようなインストール回数カウンタの確認をしていない。その理由は、パーソナルコンピュータにＵＳＢスキャナドライバ１０２がインストール済みであるため、これをインストールした際にインストール回数カウンタが確認されているためである。すなわち、インストール済みのドライバを更新することは、契約内の作業である。よって、インストール回数カウンタを再度確認する必要は無いのである。
【０１３８】
ステップＳ４０２３で、ＣＰＵ１２１は、更新インストール（いわゆるアップデート）を実行すべきか否かを判定する。例えば、インストール開始メッセージに設けられＯＫボタン１２０１が押下られたのであれば、ＣＰＵ１２１は、インストールを実行すべきと判定する。インストールを実行すべきであれば、ステップＳ４０２４に進む。
【０１３９】
ステップＳ４０２４で、ＣＰＵ１２１は、インストーラ２２５を起動する。
【０１４０】
ステップＳ４０２５で、ＣＰＵ１２１は、インストーラ２２５にしたがって、パーソナルコンピュータ１００にキャプチャアプリケーション２２２およびＵＳＢスキャナドライバ１０２を上書きインストールする。この際、新規インストールでないため、スキャナ装置１０６で保持しているインストール回数カウンタ２２７、パーソナルコンピュータ１００内にインストールしたＵＳＢスキャナドライバ１０２で管理しているインストール元情報２２９の変更は行わない。
【０１４１】
一方、インストール開始メッセージ上のＣａｎｃｅｌボタンが押下られてインストールが中止された場合（Ｓ４０２３でＮＯ）、ＣＰＵ１２１は、インストール作業は行わず、次の処理に移る。
【０１４２】
また、インストールされているＵＳＢスキャナドライバ１０２はスキャナ内にあるＵＳＢスキャナドライバ２２６よりバージョンが古くはないと判断した（Ｓ４０１２でＮＯ）場合も、ＣＰＵ１２１は、インストール作業を行わずに、次の処理に移る。
【０１４３】
＜スキャナクラスデバイスへの切り替え処理＞
図１７は、パーソナルコンピュータにおけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。この処理は、オペレーティングシステム１０１が実行するステップＳ３００７に相当する。
【０１４４】
ステップＳ８００６で、ＣＰＵ１２１は、パーソナルコンピュータ１００に周辺装置（スキャナ装置１０６）が接続されたか否かを判定する。スキャナ装置１０６が接続されたことを検出すると、ステップＳ８００７に進む。
【０１４５】
ステップＳ８００７で、ＣＰＵ１２１は、スイッチ２２１を切り替え、標準的な周辺装置のクラスインターフェースを有効にする。すなわち、ＵＳＢマスストレージドライバ２０２が無効となる。
【０１４６】
ステップＳ８００８で、ＣＰＵ１２１は、どのような周辺装置が接続されたのかを判別するため、周辺装置から情報を取得する。この周辺装置からの情報取得するためには、例えば、ＣＰＵ１２１が、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを発行する。
【０１４７】
ステップＳ８００９で、ＣＰＵ１２１は、スキャナ装置１０６が送信したディスクリプタを受信する。標準デバイスディスクリプタのデバイスクラスコード、あるいは、インターフェースクラスコードにて、ＵＳＢスキャナクラスコードが指定されている。そのため、ＣＰＵ１２１は、接続された周辺装置をＵＳＢスキャナクラスデバイスであると認識する。
【０１４８】
ステップＳ８０１０で、ＣＰＵ１２１は、ＵＳＢスキャナクラスコードに関連するＵＳＢスキャナドライバや、その他のクライアントドライバをＲＡＭ１２４に展開する。これにより、ＣＰＵ１２１は、スイッチ２２０をソフト的に切り替え、ＵＳＢスキャナドライバ１０２を有効とする。
【０１４９】
図１８は、スキャナ装置におけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。
【０１５０】
ステップＳ９００５で、スキャナ装置１０６のＣＰＵ１１０は、クラスインターフェースの切り替えが指示されたると、パーソナルコンピュータ１００から接続の切り離しを実行する。例えば、ＣＰＵ１１０は、ＵＳＢバスのＤ＋信号とＤ−信号をともに０にする。
【０１５１】
ステップＳ９００６で、ＣＰＵ１１０は、ＵＳＢインターフェースを介して、パーソナルコンピュータ１００に再接続を実行する。例えば、ＣＰＵ１１０は、ＵＳＢバスリセットステートに移行する。
【０１５２】
ステップＳ９００７で、ＣＰＵ１１０は、ソフト的にスイッチ２２１を切り替え、ＵＳＢスキャナクラスインターフェース１０８を有効とし、ＵＳＢマスストレージクラスインターフェース２０６を無効にする。
【０１５３】
ステップＳ９００８で、ＣＰＵ１１０は、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを受信したか否かを判定する。ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストを受信したことを検知すると、ステップＳ９００９に進む。
【０１５４】
ステップＳ９００９で、ＣＰＵ１１０は、ディスクリプタをパーソナルコンピュータ１００に送信する（Ｓ９００９）。なお、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲリクエストに対して返信する標準デバイスディスクリプタのデバイスクラスコード、あるいは、標準インターフェースディスクリプタのインターフェースクラスコードに、ＵＳＢスキャナクラスコードが指定され。
【０１５５】
なお、本実施形態では、デバイスクラスコード、あるいは、インターフェースクラスコードで、ＵＳＢスキャナクラスコードを送信した。しかし、ＣＰＵ１１０は、クラスなし（０）を送信し、ＣＰＵ１２１は、標準デバイスディスクリプタのベンダＩＤとプロダクトＩＤから、予めパーソナルコンピュータ１００にインストールしてある定義ファイルを参照してクラスを確定してもよい。
【０１５６】
以上説明したように、画像読み取り装置自身で保持しているキャプチャアプリケーションおよび画像読み取り装置に対するデバイスドライバが意図されていないパーソナルコンピュータに不用意に配布される可能性が小さくなる。すなわち、許諾契約上の権利を保守させやすくなる。従来のように、何台のＰＣにインストールしたかを管理者が手動でカウントすることは、もはや不要となろう。
【０１５７】
また、一旦インストールしたキャプチャアプリケーションおよび画像読み取り装置に対するデバイスドライバを削除したときは、インストール回数を減数するか、インストール残数を増やすようにした。これにより、画像読み取りを行うパーソナルコンピュータを買い換えた場合などであっても、ユーザの利益が損なわれにくくなった。
【０１５８】
なお、本実施形態においては、スキャナ装置１０６に対する、制御ソフトウエアモジュールとして、インストーラ２２５によりパーソナルコンピュータ１００にインストールされるＵＳＢスキャナドライバ１０２とスキャナ装置１０６内に保持しているＵＳＢスキャナドライバ２２６についてバージョンを比較する例を説明した。しかし、インストーラ２２５によりパーソナルコンピュータ１００にインストールされるキャプチャアプリケーション２２２とスキャナ装置１０６内に保持しているキャプチャアプリケーション２３１とについても、バージョン比較による更新インストールを適用してもよい。また、ＵＳＢスキャナドライバ１０２については更新インストールを行わずにキャプチャアプリケーション２３１について更新インストールを行う場合も本発明に含まれる。
【０１５９】
また、本実施形態においては、ＲＯＭ１２７上のインストーラ２２５、アンインストーラ２３０、ＵＳＢスキャナドライバ２２６、キャプチャアプリケーション２３１を、仮想的なＣＤドライブに装着されたデータＣＤ上のファイルとみなして扱うことができる構成とした。しかし、データＣＤ上のファイルとして扱うことができない構成であってもよい。例えば、仮想的なＣＤドライブは、仮想的なＣＤ−ＲＷドライブ、仮想的なＤＶＤ−ＲＯＭドライブまたは仮想的なハードディスクドライブ等であってもよく、オートランファイルが実行可能な構成等の、プログラムを自動実行可能とする構成であればよい。
【０１６０】
また、本実施形態において、キャプチャアプリケーション２２２のユーザインターフェースは、画像表示機能を備えていないが、画像表示機能を備えるようにしてもよい。
【０１６１】
また、本実施形態においては、キャプチャアプリケーション２２２とＵＳＢスキャナドライバ１０２がインストールされたパーソナルコンピュータがあることを前提に、アンインストールを説明した。しかし、インストールされたキャプチャアプリケーション２２２とＵＳＢスキャナドライバ１０２をアンインストールする前に、インストールしていたパーソナルコンピュータが壊れてしまうこともある。このような事態にも対処することが望ましい。
【０１６２】
図１９は、コンピュータとスキャナ装置とのソフトウエアブロック図である。既に説明した箇所には、同一の参照符号を付与している。ここでは、パーソナルコンピュータが故障した場合に、インストール回数カウンタを正しく復旧する方法について説明する。
【０１６３】
図１９によれば、カウンタ復旧アプリケーション２８４が追加されている。カウンタ復旧アプリケーション２８４は、パーソナルコンピュータが故障した場合に、インストール回数カウンタを正しく復旧するためのコンピュータプログラムである。
【０１６４】
図２０は、カウンタ復旧アプリケーションのユーザインターフェースの一例を示した図である。例えば、スキャナ装置１０６の製造者や営業担当者等、インストールするキャプチャアプリケーション２２２とＵＳＢスキャナドライバ１０２の許諾契約上認められるインストール可能残数を復旧する者が、カウンタ復旧アプリケーション２８４を起動して、インストール回数カウンタ２２７を復旧してもよい。
【０１６５】
インストールカウンタ復旧アプリケーション２３４のユーザインターフェースには、スキャナ装置１０６が保持しているインストール回数カウンタ２２７のカウント値と、製品仕様として定義している最大インストール可能回数とが表示される。さらに、復旧後のインストール回数カウンタのカウント値を入力するためのエディットボックス３０３も表示される。ＣＰＵ１２１は、エディットボックス３０３に入力された数値を、インストール回数カウンタ２２７に設定する。なお、インストール回数カウンタ２２７が、インストール可能残数をカウントするカウンタであっても、本発明を適用できることはいうまでもない。
【０１６６】
本実施形態においては、マイクロソフトウインドウズ（登録商標）オペレーティングシステムを一例として説明した。しかし、マック（登録商標）オペレーティングシステムやリナックス（登録商標）オペレーティングシステムなど、その他のオペレーティングシステムであっても本発明を同様に適用可能である。また、本発明は更新インストールを行わず、インストールされていないＵＳＢスキャナドライバおよびインストールされていないキャプチャアプリケーションの少なくとも一方をインストールする場合も含むものとする。
【図面の簡単な説明】
【０１６７】
【図１】コンピュータとスキャナ装置とのソフトウエアブロック図である。
【図２】キャプチャアプリケーションおよびスキャナドライバをインストールした状態のパーソナルコンピュータとスキャナ装置とについてのソフトウエアブロック図である。
【図３】パーソナルコンピュータとスキャナ装置とについてのハードウエアブロック図である。
【図４】制御ソフトウエアモジュールのインストールからその実行までを示したフローチャートである。
【図５】ＣＤドライブに相当するフォルダの一例を示した図である。
【図６】キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。
【図７】キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。
【図８】アンインストールボタンが押下られたときに表示されるユーザインターフェース（ダイアログ）の一例を示す図である。
【図９】パーソナルコンピュータにおけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【図１０】スキャナ装置におけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【図１１Ａ】判断アプリケーションの動作の一例を示したフローチャートである。
【図１１Ｂ】判断アプリケーションの動作の一例を示したフローチャートである。
【図１２】インストール開始メッセージの一例を示した図である。
【図１３】管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。
【図１４】インストール回数が上限に達したことを示すメッセージの一例を示した図である。
【図１５】アンインストール開始メッセージの一例を示した図である
【図１６】管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。
【図１７】パーソナルコンピュータにおけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。
【図１８】スキャナ装置におけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。
【図１９】コンピュータとスキャナ装置とのソフトウエアブロック図である。
【図２０】カウンタ復旧アプリケーションのユーザインターフェースの一例を示した図である。
【符号の説明】
【０１６８】
１００  パーソナルコンピュータ
１０１  オペレーティングシステム
１０２  ＵＳＢスキャナドライバ
１０３  ＵＳＢインターフェースドライバ
１０４  パーソナルコンピュータ１００内のＵＳＢインターフェース
１０５  ＵＳＢケーブル
１０６  スキャナ
１０７  スキャナ装置１０６内のＵＳＢインターフェース
１０８  ＵＳＢスキャナクラスインターフェース
１１０  スキャナ装置１０６内のＣＰＵ
１１２  画像読み取り部
１２１  パーソナルコンピュータ１００内のＣＰＵ
１２２  パーソナルコンピュータ１００内のハードディスク
１２３  パーソナルコンピュータ１００内のＲＯＭ
１２４  パーソナルコンピュータ１００内のＲＡＭ
１２５  キーボード／マウス
１２６  ディスプレイ
１２７  スキャナ装置１０６内のＲＯＭ
１２８  ＵＳＢコントローラ
２０１  ファイルシステム
２０２  ＵＳＢマスストレージドライバ
２０３  スキャナ装置１０６内のＲＡＭ
２０５  ＣＤドライブインターフェース
２０６  ＵＳＢマスストレージインターフェース
２０７  スキャナ装置１０６内のオートランファイル
２２０  パーソナルコンピュータ１００内のＵＳＢインターフェース切り替えスイッチ
２２１  スキャナ装置１０６内のＵＳＢインターフェース切り替えスイッチ
２２２  パーソナルコンピュータ１００内のキャプチャアプリケーション
２２４  スキャナ装置１０６内の判断アプリケーション
２２５  スキャナ装置１０６内のインストーラ
２２６  スキャナ装置１０６内のＵＳＢスキャナドライバ
２２７  スキャナ装置１０６内のＵＳＢスキャナドライバインストールカウンタ
２２８  スキャナ装置１０６のＩＤ
２２９  ＵＳＢスキャナドライバ１０２のインストール元情報
２３０  スキャナ装置１０６内のアンインストーラ
２３１  スキャナ装置１０６内のキャプチャアプリケーション
２３２  スキャナ装置１０６内のアンインストールフラグ
２３４  インストールカウンタ復旧アプリケーション
３０１  キャプチャアプリケーション２２２のユーザインターフェース上でスキャンを開始するスキャンボタン
３０２  キャプチャアプリケーション２２２のユーザインターフェース上でパーソナルコンピュータ１００にインストールされているＵＳＢスキャナドライバ１０２とキャプチャアプリケーション２２２のアンインストールを開始するアンインストールボタン
３０３  インストールカウンタ復旧アプリケーション２３４上で復旧後のインストール回数カウンタ設定エディットボックス
３０４  ＣＤドライブとして認識されたときのフォルダ
【図１】
2010097284.tif 000003
【図２】
2010097284.tif 000004
【図３】
2010097284.tif 000005
【図４】
2010097284.tif 000006
【図５】
2010097284.tif 000007
【図６】
2010097284.tif 000008
【図７】
2010097284.tif 000009
【図８】
2010097284.tif 000010
【図９】
2010097284.tif 000011
【図１０】
2010097284.tif 000012
【図１１Ａ】
2010097284.tif 000013
【図１１Ｂ】
2010097284.tif 000014
【図１２】
2010097284.tif 000015
【図１３】
2010097284.tif 000016
【図１４】
2010097284.tif 000017
【図１５】
2010097284.tif 000018
【図１６】
2010097284.tif 000019
【図１７】
2010097284.tif 000020
【図１８】
2010097284.tif 000021
【図１９】
2010097284.tif 000022
【図２０】
2010097284.tif 000023