(57)【要約】【課題】デバイスドライバをコンピュータにインストールする際に、即時に再起動が必要か必要でないかを判定し、該判定結果に基づいてインストール完了時にユーザーへ再起動を促すメッセージを表示するか否かを制御し、即時に再起動が必要な場合は行い、即時に実行不要な再起動はユーザーの任意のタイミングで実行させる。【解決手段】インストール処理において、ホストコンピュータ内の制御プログラムの再起動の要否と、再起動前後のデバイスドライバの構成を判定し、前記判定工程において再起動が必要であると判断された場合でも、再起動前後でデバイスドライバの構成が変わらない場合には、例えば再起動を促す表示画面を表示せずユーザーに任意のタイミングで再起動を実行させる。【選択図】  図９
2014191353.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第一のインタフェースと第二のインタフェースを含む複数のインタフェースを介して情報処理装置（１００）と接続が可能なデバイス（１０１）に固有のデバイスドライバ（４０３、４０７）を、前記情報処理装置（１００）にインストールする方法であって、
前記第一のインタフェースを介して前記デバイス（１０１）と通信する第１のデバイスドライバ（４０３）は、予め前記情報処理装置（１００）を制御するオペレーティングシステムに登録され、前記デバイス（１０１）と前記情報処理装置（１００）を第一のインタフェースで接続（Ｓ５０３）することで前記オペレーティングシステムにより自動でインストールされ、
前記第１のデバイスドライバ（４０３）は、インストール後直ちに前記オペレーティングシステムのインタフェースプログラムにより起動され、インストールされた前記第１のデバイスドライバ（４０３）の構成ファイルの少なくとも１つをロックし、
第二のインタフェースを介して前記デバイスと通信する第２のデバイスドライバ（４０７）は、前記第１のデバイスドライバ（４０３）が起動中にロックする前記第１のデバイスドライバ（４０３）の構成ファイルの少なくとも１つを構成ファイルとして前記第１のデバイスドライバ（４０３）と共通で使用し、
前記第２のデバイスドライバ（４０７）を前記情報処理装置（１００）にインストールする処理において、前記情報処理装置（１００）と前記デバイス（１０１）を第一のインタフェースで接続する手順（Ｓ９０３）を必要とし、
前記第２のデバイスドライバ（４０７）を前記情報処理装置（１００）にインストールする処理において、ファイルのコピー先に既にファイルが存在し、かつコピー先のファイルがコピー元のファイルと同じか古い場合は上書きコピーを行い、
前記上書きコピーに失敗した場合は、該当するコピー元ファイルを一時フォルダに保存し、前記情報処理装置（１００）の再起動時に前記一時フォルダからコピー先へファイルのコピーが実行されるよう設定を行うファイルコピー予約機能と、
前記第２のデバイスドライバ（４０７）を前記情報処理装置（１００）にインストールする処理において、事前に全てのファイルコピー先にファイルが存在するかを判定する第１の判定手段（Ｓ９０５４）と、
前記第１の判定手段においてファイルコピー先にファイルが存在する場合は、該当する全てのコピー先のファイルの中にコピー元のファイルより古いものが存在するかを判定する第２の判定手段を備え、
前記第２の判定手段においてコピー先のファイルがコピー元のファイルより古いものが存在すると判定され、前記第２のデバイスドライバ（４０７）のインストール処理完了時に前記ファイルコピー予約機能によるファイルコピー予約がなされている場合には、ユーザーに対して前記情報処理装置（１００）の再起動要求を促すメッセージをユーザーに対して表示し（Ｓ９０５７、Ｓ９０５８，Ｓ９０５９、Ｓ９０６２）、
前記第２の判定手段においてコピー先のファイルがコピー元のファイルより古いものが存在しないと判定され、前記第２のデバイスドライバ（４０７）のインストール完了時に前記ファイルコピー予約機能によるファイルコピー予約がなされている場合には、インストール完了時にユーザーに対して前記情報処理装置（１００）の再起動要求を促すメッセージをユーザーに対して表示しない（Ｓ９０５７、Ｓ９０５８，Ｓ９０６２））ことを特徴とする、デバイスドライバのインストール方法。
【請求項２】
請求項１に記載のインストール方法を実行することができるプログラム、もしくは上記プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバのインストール方法に関し、特に同一のデバイス用の異なる複数のデバイスドライバをインストールする際の技術に関する。
【背景技術】
【０００２】
近年ネットワークを介してプリンタや複合機をホストコンピュータに接続するユーザーが増加し、従来のＵＳＢとＬＡＮの両方のインタフェースをサポートする機種が増えている。ＵＳＢを介してデバイスを制御するデバイスドライバは、例えば米国Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム（以降、ＯＳと略す場合がある）のサービスの内の１つであるＷｉｎｄｏｗｓ  Ｉｍａｇｅ  Ａｃｑｕｉｓｉｔｉｏｎ（ｉｋｏｕ  ，ＷＩＡと略す場合がある）のように、ＯＳがデバイスのＵＳＢ接続を認識すると、自動で該デバイスに適したデバイスドライバがインストールされる。
【０００３】
一方、ネットワークを介してデバイスを制御するデバイスドライバを利用する場合は、デバイスをホストコンピュータが接続されているネットワークに接続されていることが必要となる。デバイスを無線ＬＡＮでネットワークに接続する場合には、ネットワークに接続された無線ＬＡＮルータを介して接続するための、無線ＬＡＮルータとデバイス間の接続セットアップが必要となる。デバイスが液晶パネルや操作パネルを搭載していればセットアップを行うことが出来るが、そのような機器を搭載しないデバイスが無線ＬＡＮ接続のセットアップを行う方法として、無線ＬＡＮルータとネットワークで接続されたホストコンピュータとデバイスをＵＳＢで接続し、ホストコンピュータ上から専用のソフトウェアを用いて該デバイスを制御することでセットアップを実行する手法がある。これをデバイスドライバのインストール直前に実施しておくことで、ユーザーは繁雑なデバイスの無線ＬＡＮセットアップ作業とデバイスドライバのインストールをホストコンピュータ上で完結することが出来る。
【０００４】
前述したＵＳＢ接続によるデバイスと無線ＬＡＮルータとの接続セットアップ時、ＷＩＡサービスがＵＳＢのデバイス接続を認識して自動でＵＳＢ用デバイスドライバをインストールする。そのためネットワーク用デバイスドライバのインストール処理において、ＵＳＢ用のデバイスドライバと共通使用するモジュールファイルのコピーが行えない場合がある。ＷＩＡサービスを停止させることで上記問題を回避することが出来るが、その場合ＷＩＡサービスにより動作中の他のプログラムや、ホストコンピュータに接続された他の機器の動作に支障が出てしまう。別の方法として、コピーするファイルを一時的に別の場所に退避させておき、ＯＳ再起動後のＷＩＡサービスが起動する前に退避させておいたファイルをコピーする方法がある。しかしながら、ＯＳの再起動を必要とするインストール動作はユーザビリティが良くない。
【０００５】
特許文献１では、インストール処理において、ＯＳの再起動の要否を判定し、前記判定結果に応じて例えば再起動を促す表示画面を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２７７２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、コピーするファイルが既に存在する場合にその新旧を判定し、コピーが必要と判断された場合にのみＯＳの再起動を行う。ここでコピーするファイルが既に存在するファイルよりも新しい場合は言うまでもないが、同じであった場合はＯＳの再起動後にコピーされるファイルは同一のものであるため、このようなケースにおいてコピーを行わないようにすれば、ＯＳの再起動を不要にすることが出来る。しかしながら、別の要因でコピーに失敗している場合や、ファイルが破損している場合にもコピーが行われなくなるため、このような事態に陥るとＷＩＡサービスを一旦停止させ、ＵＳＢ用のデバイスドライバを一度削除した後に再度インストールを行わなければならない。従ってたとえ同じファイルであってもＯＳの再起動後のコピー処理は必要となる。そのため従来の方法では、インストール完了のために常にユーザーにＯＳの再起動を行わせてしまうという問題があった。
【０００８】
そこで、本発明はデバイスドライバのインストール時にコピー先にファイルが既に存在する場合にも正常にインストールが完了し、尚且つユーザーに対しては必要な場合にのみＯＳの再起動を実施させることが出来るデバイスドライバのインストール方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記問題点を鑑みてなされたものであって、デバイスドライバのインストール時にコピー先にファイルが既に存在する場合にも正常にインストールが完了し、尚且つユーザーに対しては必要な場合にのみＯＳの再起動を実施させることが出来るデバイスドライバのインストール方法である。
【００１０】
請求項１のデバイスドライバのインストール方法は、少なくともＵＳＢとＬＡＮを含む複数のインタフェースを介して情報処理装置と接続が可能なデバイスに固有のデバイスドライバを、前記情報処理装置にインストールする方法であって、ＵＳＢを介して前記デバイスと通信する第１のデバイスドライバは、予め前記情報処理装置を制御するオペレーティングシステムに登録され、前記デバイスと前記情報処理装置をＵＳＢ接続することで前記オペレーティングシステムにより自動でインストールされ、前記第１のデバイスドライバは、インストール後直ちに前記オペレーティングシステムのインタフェースプログラムにより起動され、インストールされた前記第１のデバイスドライバの構成ファイルの少なくとも１つをロックする。ネットワークを介して前記デバイスと通信する第２のデバイスドライバは、前記第１のデバイスドライバが起動中にロックする前記第１のデバイスドライバの構成ファイルの少なくとも１つを構成ファイルとして前記第１のデバイスドライバと共通で使用し、前記第２のデバイスドライバを前記情報処理装置にインストールする処理において、前記情報処理装置と前記デバイスをＵＳＢ接続する手順を必要とし、前記第２のデバイスドライバを前記情報処理装置にインストールする処理において、ファイルのコピー先に既にファイルが存在し、かつコピー先のファイルがコピー元のファイルと同じか古い場合は上書きコピーを行い、前記上書きコピーに失敗した場合は、該当するコピー元ファイルを一時フォルダに保存し、前記情報処理装置の再起動時に前記一時フォルダからコピー先へファイルのコピーが実行されるよう設定を行うファイルコピー予約機能と、
前記第２のデバイスドライバを前記情報処理装置にインストールする処理において、事前に全てのファイルコピー先にファイルが存在するかを判定する第１の判定手段と、
前記第１の判定手段においてファイルコピー先にファイルが存在する場合は、該当する全てのコピー先のファイルの中にコピー元のファイルより古いものが存在するかを判定する第２の判定手段を備え、前記第２の判定手段においてコピー先のファイルがコピー元のファイルより古いものが存在すると判定され、前記第２のデバイスドライバのインストール処理完了時に前記ファイルコピー予約機能によるファイルコピー予約がなされている場合には、ユーザーに対して前記情報処理装置の再起動要求を促すメッセージをユーザーに対して表示し、前記第２の判定手段においてコピー先のファイルがコピー元のファイルより古いものが存在しないと判定され、前記第２のデバイスドライバのインストール完了時に前記ファイルコピー予約機能によるファイルコピー予約がなされている場合には、インストール完了時にユーザーに対して前記情報処理装置の再起動要求を促すメッセージをユーザーに対して表示しないことを特徴とする。
【発明の効果】
【００１１】
以上説明したように本発明によれば、デバイスドライバのインストール時にコピー先にファイルが既に存在する場合でも正常にインストールが完了し、尚且つユーザーに対しては必要な場合にのみＯＳの再起動を実施させることが出来る。
【図面の簡単な説明】
【００１２】
【図１】本実施形態を実現するためのハードウェア構成の一例
【図２】ＯＳ上の各サービス、デバイスドライバの相関図
【図３】ＷＩＡスキャナ制御プログラムのインストールフロー図
【図４】ＷＩＡスキャナ制御プログラムのインストールプログラム構成図
【図５】インストール後のＷＩＡスキャナ制御プログラムの動作説明図
【図６】ＴＷＡＩＮスキャナ制御プログラムのインストールプログラム構成図
【図７】ネットワーク構成図
【図８】ＷＩＡおよびＴＷＡＩＮスキャナ制御プログラムのインストールフロー図
【図９】ＴＷＡＩＮスキャナ制御プログラムのインストールフロー図
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
＜実施例１＞
本実施形態におけるデバイスドライバのインストーラを実現するためのハードウェア構成（図１）を説明する。
【００１５】
ホストＰＣ１００は、ＣＰＵ２０１、ＲＯＭ２０４、ＲＡＭ２０５、ディスク２０６、データバス２０９、Ｉ／Ｆ２０３、Ｉ／Ｆ２０８、外部記憶装置２０７を含む。ディスク２０６はＯＳやスキャナ制御プログラムを保持する。ＲＯＭ２０４にＯＳをロードし、さらにはスキャナ制御プログラム等のプログラムをロードする。ＲＡＭ２０５は、上記制御プログラムの動作に必要な記憶領域とワークエリアを提供する。ＣＰＵ２０１はＲＯＭ２０４に保持されているプログラムに従って処理を行う。データバス２０９は、上記の各構成を接続し、各構成間におけるデータの授受を可能とする。２０３はスキャナ１０１との通信を行うＩ／Ｆであり、ＵＳＢ、ＬＡＮ、Ｗｉｒｅｌｅｓｓ  ＬＡＮ等がある。Ｉ／Ｆ２０８は、マウスやキーボードなどの入力部２１０と接続する。また、外部記憶装置２０７はフロッピディスクやＣＤ−ＲＯＭといった外部記憶媒体を駆動するためのものであり、上述したように予めＲＯＭ２０４にプログラムを保持する代わりに外部記憶媒体に記憶されている場合に、それを読み出してダウンロードする。なお、不図示ではあるが、ネットワークコネクタを介してネットワーク経由でドライバープログラムをダウンロード可能であることは言うまでもない。
【００１６】
次に、ホストＰＣ１００上でＯＳ３００が動作する。ＯＳ３００はＷｉｎｄｏｗｓ（ＸＰ、Ｖｉｓｔａ、７、８）（登録商標）である。ＯＳ３００上で動作する、イメージングアプリケーション４０１、ＯＳ標準のインタフェースプログラムであるＷＩＡサービス４０２、及びＷＩＡスキャナ制御プログラム４０３、さらにイメージングデバイスドライバの規格として一般的なＴＷＡＩＮ規格のデバイスドライバを制御するＴＷＡＩＮ  Ｄａｔａ  Ｓｏｕｒｃｅ  Ｍａｎａｇｅｒ（以下ＴＷＡＩＮ  ＤＳＭ）４０６、及びＴＷＡＩＮスキャナ制御プログラム４０７、とスキャナ１０１の関係図を図２に示す。スキャナ１０１はＵＳＢとＬＡＮ２つのインタフェースを備えている。
【００１７】
イメージングアプリケーション４０１は、イメージ取得用アプリケーションプログラミングインターフェース（ＡＰＩ）を使用しＷＩＡサービス４０２、もしくはＴＷＡＩＮ  ＤＳＭと通信することで、スキャナやスキャン方法、カラー設定、解像度設定等のスキャン設定を指定して画像の読み取りを要請する。ＷＩＡサービス４０２を用いた画像の読み取りでは、ＷＩＡサービスがイメージ取得用アプリケーションプログラムをデバイスドライバーインターフェース（ＤＤＩ）に変換する。そして、ＷＩＡサービス４０２はＵＳＢ接続のスキャナへのスキャン要請を、ＷＩＡスキャナ制御プログラム４０３に伝える。
【００１８】
ＷＩＡスキャナ制御プログラム４０３はスキャナ固有のスキャンコマンドを用いてＵＳＢ接続用のＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４と通信しスキャン設定を伝える。Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４はＵＳＢ用のカーネルＩ／ＯであるＵｓｂｓｃａｎ．ｓｙｓ４０５を通してスキャナ１０１にスキャンコマンドを伝える。スキャナ１０１は受け取ったスキャンコマンドに従って画像の読み取りを行う。一方、ＴＷＡＩＮ  ＤＳＭを用いた画像の読み取りでは、イメージングアプリケーション４０１がＴＷＡＩＮ  ＤＳＭを介してＴＷＡＩＮプロトコルメッセージをＴＷＡＩＮスキャン制御プログラム４０７に送信する。
【００１９】
ＴＷＡＩＮスキャナ制御プログラム４０７は受け取ったＴＷＡＩＮプロトコルメッセージから、スキャナ固有のスキャンコマンドを用いて、ＵＳＢ接続のスキャナへのスキャン要請はＵＳＢ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４と通信し、ＬＡＮ接続のスキャナへのスキャン要請はＬＡＮ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０８と通信してスキャン設定を伝える。ＵＳＢ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４はＷＩＡスキャナ制御プログラムからスキャン設定が伝えられた時と同様の方法でスキャナ１０１を制御して画像の読み取りを行う。
【００２０】
従ってＵＳＢ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４はＷＩＡスキャナ制御プログラムとＴＷＡＩＮスキャナ制御プログラムの両方と通信を行いスキャナへのスキャン要請を行う。ＬＡＮ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０８はＬＡＮのポートを監視するＰｏｒｔ  Ｍｏｎｉｔｏｒ４０７へスキャンコマンドを送り、Ｐｏｒｔ  Ｍｏｎｉｔｏｒ４０７はＬＡＮ用のカーネルＩ／ＯであるＷｉｎｓｏｃｋ４０８を通してスキャナ１０１にスキャンコマンドを伝える。
【００２１】
ここでＵＳＢ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４とＬＡＮ用Ｌｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０８は、スキャナから送信されてきた画像データの処理や、ＴＷＡＩＮ制御プログラムからのスキャン設定をスキャナへのスキャンコマンドに変換する処理など、共通処理部分については少なくとも共通のモジュールとして開発され、使用しているものとする。
【００２２】
次に、ＷＩＡスキャナ制御プログラム４０３のインストール動作について、図３と図４を用いて説明する。
【００２３】
インストールプログラム６０１はＷＩＡスキャナ制御プログラム４０３とＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４、ＩＮＦ（Ｉｎｆｏｒｍａｔｉｏｎ）ファイル６０２をもつ。インストールプログラム６０１が実行されると、インストールプログラム６０１は、ＷＩＡスキャナ制御プログラム４０３とＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４のファイルをＯＳ３００上にコピーする（Ｓ５０１）。次に、インストールプログラム６０１はＳｅｔｕｐＣｏｐｙＯＥＭＩｎｆというＡＰＩを使用して  ＩＮＦファイル６０２をｗｉｎｄｏｗｓ￥￥ｓｙｓｔｅｍ３２￥￥ｉｎｆフォルダにコピーする（Ｓ５０２）。Ｓ５０１とＳ５０２を行った後に、インストールプログラム実行者がＵＳＢケーブルでスキャナ１０１とＰＣ１００を接続する（Ｓ５０３）。Ｗｉｎｄｏｗｓ（ＸＰ、Ｖｉｓｔａ、７，８）はＵＳＢ接続されたデバイスは自動的にクラスインストールを実行する仕組みをもっている。よってＳ５０３の後、ＷｉｎｄｏｗｓはＩＮＦファイル６０２の記述に依存して、ＷＩＡスキャナ制御プログラム４０３とＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４をＯＳ３００へインストールする。この場合、ＷＩＡサービス４０２はＷＩＡスキャナ制御プログラム４０３およびＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４をスキャナ１０１がＰＣ１００と接続されている時のみロードする。
【００２４】
インストール後、ＷＩＡサービス４０２にロードされたＷＩＡスキャナ制御プログラム４０３の動作について、図５を用いて説明する。
【００２５】
ＵＳＢのインタフェースでスキャナ１０１とＰＣ１００を接続する時、ＷＩＡサービス４０２はＷＩＡスキャナ制御プログラム４０３とＵＳＢ用のＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０４をロードする（図５）。スキャナ１０１とＰＣ１００の接続が解除されると、ＷＩＡサービス４０２はロードしていたＷＩＡスキャナ制御プログラム４０３を解放する。
【００２６】
次に、ＴＷＡＩＮスキャナ制御プログラム４０７のインストール動作について、図６を用いて説明する。
【００２７】
インストールプログラム７０１は、ＴＷＡＩＮスキャナ制御プログラム４０７とＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０８、セットアップファイル７０２を持つ。インストールプログラム７０１を実行すると、ＴＷＡＩＮスキャナ制御プログラム４０７とＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ４０８をＯＳ３００にコピーする。
【００２８】
次に、スキャナ１０１を無線ＬＡＮ接続にてＰＣ１００が接続するネットワークに接続するための方法を、図７を用いて説明する。
【００２９】
ＰＣ１００と無線ＬＡＮルータ８０１は共にネットワーク８０２に接続されている。また、無線ＬＡＮルータ８０１とスキャナ１０１は無線ＬＡＮにて通信可能な状態にある。ただし、スキャナ１０１は無線ＬＡＮルータ８０１を介してネットワーク８０２に接続するための設定が未完了な状態であり、ＰＣ１００とはネットワークで接続されていない。スキャナ１０１がＰＣ１００にネットワーク接続するためには、スキャナ１０１が通信可能な無線ＬＡＮルータの一覧から、接続する無線ＬＡＮルータ８０１を選択し、無線ＬＡＮルータ８０１を介してネットワーク８０２に接続するために必要な情報（例えば認証のためのパスワードや、暗号化通信で用いる鍵情報）を、無線ＬＡＮルータ８０１に送信する必要がある。これらの作業を全てスキャナ１０１上に供えられた操作パネルや表示ディスプレイから行える場合は問題ないが、本実施形態では、スキャナ１０１にそのような機器が備えられていない場合のため、ＰＣ１００とスキャナ１０１をＵＳＢ接続し、ＰＣ１００からの操作でスキャナ１０１を制御し、上記作業を行う。この手法では、ＰＣ１００のＯＳ３００上で動作する無線ＬＡＮ設定プログラム上で、接続する無線ＬＡＮルータ８０１の指定と、無線ＬＡＮルータ８０１に接続するための情報を入力することで、無線ＬＡＮ設定プログラムがＵＳＢ接続を介してスキャナ１０１を制御してスキャナ１０１から無線ＬＡＮルータ８０１への接続作業を行うことで、スキャナ１０１からの操作を必要とせず、スキャナ１０１の無線ＬＡＮ接続作業を完了させることが出来る。
【００３０】
続いて、本実施形態におけるＷＩＡスキャナ制御プログラムとＴＷＡＩＮスキャナ制御プログラムのインストールフローの一例を図８で説明する。
【００３１】
図８のＳ９０１〜Ｓ９０２は、図３のＳ５０１〜Ｓ５０２と同じである。Ｓ９０３で、インストール実行者はスキャナ１０１とＰＣ１００を接続し、続いて前述した無線ＬＡＮ設定プログラムがスキャナ１０１を無線ＬＡＮルータ８０１に接続する処理を実行する（Ｓ９０４）。この時、スキャナ１０１とＰＣ１００の接続を検知したＷｉｎｄｏｗｓによりＷＩＡスキャナ制御プログラム４０３がＯＳ３００へインストールされ、さらにＷＩＡサービス４０２によってロードされる。スキャナ１０１のネットワークへの接続完了後、インストールプログラム７０１がＴＷＡＩＮスキャナ制御プログラム４０７のインストール処理を行う（Ｓ９０５）。
【００３２】
次に、ＬＡＮ接続で用いるＴＷＡＩＮスキャナ制御プログラム４０７をインストールするインストールプログラム７０１のインストールフローを図９で説明する。
【００３３】
Ｓ９０５１で、インストールプログラム７０１は、ＴＷＡＩＮスキャナ制御プログラムのインストール動作の完了にＯＳ３００の再起動が必要であるかの情報を保持した再起動フラグをＯＦＦの状態にセットする。Ｓ９０５２で、インストールプログラム７０１はＴＷＡＩＮスキャナ制御プログラムがＯＳ３００に既にインストール済みであるかを判定するバージョンチェックを行う。バージョンチェックによりＯＳ３００にＴＷＡＩＮスキャナ制御プログラム４０７が未インストールだと判断された場合には、Ｓ９０５４にてインストールプログラム７０１がインストール前チェックを行う。バージョンチェックによりＯＳ３００にＴＷＡＩＮスキャナ制御プログラム４０７がインストー済みと判断された場合の処理については本特許の実施形態については省略する。Ｓ９０５４のインストール前チェックでは、インストールプログラム７０１はＴＷＡＩＮスキャナ制御プログラム４０７がＯＳ３００にインストールする構成モジュールファイルのうち、ＷＩＡスキャナ制御プログラムと共通使用されるファイルが既にインストール済みであるかを判定し、インストール済みである場合、同じファイルであるかを判定する。全ての構成モジュールファイルが同じファイルであると判定された場合にインストール前チェックは成功する。インストール前チェックＳ９０５４に失敗した場合には、インストールプログラム７０１は、前述の再起動フラグをＯＮにする（Ｓ９０５５）。
【００３４】
次に、Ｓ９０５６にてインストールプログラム７０１はＴＷＡＩＮスキャナ制御プログラム４０７の構成モジュールファイルのコピーを行う。ここで、ファイルがコピー先に既に存在し、かつコピーするファイルで置換が出来ない場合には、一時的に別の場所に退避させておき、ＯＳ３００の再起動時のＷＩＡサービス４０２がＷＩＡスキャナ制御プログラムをロードする前に退避させておいたファイルをコピーするようＯＳ３００に処理の実行予約を行う。
【００３５】
Ｓ９０５６にてファイルのコピー、およびＯＳ３００への再起動後のファイルコピー処理の予約いずれの方法も成功しなかった場合には、インストール失敗としてインストールプログラム７０１は終了する（Ｓ９０６０）。Ｓ９０５７では、インストールプログラム７０１がＯＳ３００への再起動後のファイルコピー処理の予約が行われたか否かを判定する。ここでファイルコピー処理の予約が行われていないと判定された場合には、ＴＷＡＩＮスキャナ制御プログラム４０７のインストール完了にＯＳ３００の再起動は不要なため、インストールプログラム７０１はこのまま正常終了する（Ｓ９０６１）。Ｓ９０５７にてファイルコピー処理の予約が行われたと判定された場合、インストールプログラム７０１はＳ９０５８にて再起動メッセージフラグを参照し、これがＯＮの場合にはユーザーに対しＯＳ３００の再起動が必要であることを通知した後に、インストールプログラム７０１を終了する（Ｓ９０６２）。
【００３６】
再起動メッセージフラグがＯＦＦの場合は、インストールプログラム７０１はＯＳ３００の再起動が必要であることの通知は行わずにインストールプログラム７０１を終了する（Ｓ９０６２）。ＯＳ３００の再起動後、Ｓ９０６３にて、Ｓ９０５７で予約されたファイルコピーを実行する。これにより、ＴＷＡＩＮスキャナ制御プログラム４０７のインストール完了にＯＳ３００の再起動が必要な場合でも、再起動後のファイルコピー処理によって置換されるファイルが既にＯＳ３００にインストール済みのファイルと同じである場合には、ユーザーに再起動の必要性をあえて通知せず、ユーザーに任意の機会にＯＳ３００の再起動を実施させることが出来る。
【００３７】
＜実施例２＞
本発明の目的は前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００３９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００４１】
１００  情報処理装置（コンピュータ）
１０１  スキャナ装置
４０２  Ｗｉｎｄｏｗｓ標準インタフェースサービス（ＷＩＡサービス）
４０３  デバイスドライバ（ＷＩＡスキャナ制御プログラム）
４０４  ＵＳＢ  Ｉ／Ｆでデバイスと通信するＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ
４０８  ネットワーク  Ｉ／Ｆでデバイスと通信するＬｏｗ  Ｌｅｖｅｌ  Ｄｒｉｖｅｒ
４０７  デバイスドライバ（ＴＷＡＩＮスキャナ制御プログラム）
６０１  ＷＩＡスキャナ制御プログラムをインストールするためのインストールプログラム（インストールプログラム）
７０１  ＴＷＡＩＮスキャナ制御プログラムをインストールするインストールプログラム（インストールプログラム）
【図１】
2014191353.tif 000003
【図２】
2014191353.tif 000004
【図３】
2014191353.tif 000005
【図４】
2014191353.tif 000006
【図５】
2014191353.tif 000007
【図６】
2014191353.tif 000008
【図７】
2014191353.tif 000009
【図８】
2014191353.tif 000010
【図９】
2014191353.tif 000011