(57)【要約】【課題】古い情報に基づいてデバイスドライバをインストールしてしまったり、インストールをうまく行えないことがあった。【解決手段】インストール情報によって構築されたデータベースに古いインストール情報が含まれているような場合には、予め元の情報ファイルを削除（ステップＳ１４０）してからデータベースを再構築する（ステップＳ１５０）ようにしたため、古い情報に基づいてデバイスドライバをインストールしてしまうことを防止することができる。【選択図】　図８
2004005483.tif 000002
【特許請求の範囲】
【請求項１】
デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込むコンピュータに対して、
インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断する判断ステップと、
組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させる再構築ステップと
をコンピュータに実行させることを特徴とするインストールプログラムを記録した媒体。
【請求項２】
上記請求項１に記載のインストールプログラムを記録した媒体において、上記データベースは、テキストタイプの複数の情報ファイルからバイナリタイプのデータベースとして生成されることを特徴とするインストールプログラムを記録した媒体。
【請求項３】
上記請求項２に記載のインストールプログラムを記録した媒体において、上記再構築ステップでは、上記該当するテキストタイプの情報ファイルを削除した上で残余の情報ファイルから上記データベースを再構築させることを特徴とするインストールプログラムを記録した媒体。
【請求項４】
上記請求項１〜請求項３のいずれかに記載のインストールプログラムを記録した媒体において、上記判断ステップでは、既存のインストール情報のバージョンと最新のインストール情報のバージョンとを対比して、既存のものが古くない場合には古いインストール情報がデータベースに組み込まれていないと判断することを特徴とするインストールプログラムを記録した媒体。
【請求項５】
上記請求項１〜請求項４のいずれかに記載のインストールプログラムを記録した媒体において、上記再構築ステップでは、最新のインストール情報を含めて上記データベースを再構築することを特徴とするインストールプログラムを記録した媒体。
【請求項６】
デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込むコンピュータに対して、
インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断する判断手段と、
組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させる再構築手段とを具備することを特徴とするインストール装置。
【請求項７】
デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込む際に、
インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断し、組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させることを特徴とするインストール方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インストールプログラムを記録した媒体、インストール装置およびインストール方法に関する。
【０００２】
【従来の技術】
近年のコンピュータでは、各種のハードウェアを制御できるようにするため、デバイスドライバが利用されており、このデバイスドライバはコンピュータにインストールされて利用可能となる。このデバイスドライバをインストールするためには、デバイスドライバ情報データベースが利用される。
【０００３】
デバイスドライバ情報データベースは、コンピュータシステムに予め用意されているか、過去にインストールされたことのあるデバイスデバイスドライバの情報ファイルをもとに、システム固有の構造にコンパイル（形式化）し、結合されたものである。
デバイスドライバ情報データベースを利用する際には、予め組み込まれているデバイスドライバを対応するハードウェアの一覧として表示して選択できるようにしつつ、これに含まれていない場合にはハードウェアと一緒に供給されるフレキシブルディスクなどから情報ファイルを取り込めるようになっている。そして、指定された情報ファイルに記載されたインストール情報に基づいて必要なデバイスドライバファイルをコンピュータ内に取り込んでインストール作業を終了する。
【０００４】
【発明が解決しようとする課題】
デバイスドライバは適宜改良される性質を有しているが、上述した従来のコンピュータにおいては、インストールしようとしているデバイスドライバについての古いインストール情報がデータベースに組み込まれていると、古い情報に基づいてデバイスドライバをインストールしてしまったり、あるいは、インストールをうまく行えないという課題があった。
本発明は、上記課題にかんがみてなされたもので、古いインストール情報に基づいてデバイスドライバをインストールしてしまうことを未然に防ぐことが可能なインストールプログラムを記録した媒体、インストール装置およびインストール方法の提供を目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込むコンピュータに対して、インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断する判断ステップと、組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させる再構築ステップとをコンピュータに実行させる構成としてある。
【０００６】
上記のように構成した請求項１にかかる発明においては、インストールする際に最初の判断ステップで該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断する。そして、組み込まれていると判断された場合には再構築ステップにて該当するインストール情報を削除して上記データベースを構成し直す。再構築した場合もしない場合でも、この後に上記選択作業を実行する。
【０００７】
古いインストール情報がデータベースに組み込まれているときには、これを削除する。このため、元のデータベースに該当するデバイスドライバの情報が存在したか否かにかかわらず、選択作業を行なうとデバイスドライバのインストール情報は組み込まれていないことになり、既存の古い情報のままでインストールしてしまうことはない。
データベースの構成は特に限定されるもではない。その一例として、請求項２にかかる発明は、請求項１に記載のインストールプログラムを記録した媒体において、上記データベースは、テキストタイプの複数の情報ファイルからバイナリタイプのデータベースとして生成される構成としてある。
【０００８】
汎用的なオペレーティングシステムなどで利用されることが多く、元の情報がテキストタイプなので利用しやすく、また、実際に利用されるのがバイナリタイプのデータベースであるので高速な検索などが可能である。
さらに、請求項３にかかる発明は、請求項２に記載のインストールプログラムを記録した媒体において、上記再構築ステップでは、上記該当するテキストタイプの情報ファイルを削除した上で残余の情報ファイルから上記データベースを再構築させる構成としてある。
【０００９】
上記のように構成した請求項３にかかる発明においては、デバイスドライバのインストール情報がテキストタイプの情報ファイルとして供給されるようになっているので、該当するインストール情報を含むテキストタイプの情報ファイルがあれば、上記再構築ステップではこの情報ファイルを削除する。その後、残余の情報ファイルから上記データベースを再構築させると、データベースは古いインストール情報を含まないものとして再構築され、後の選択作業で同インストール情報を選択することができなくなる。
【００１０】
さらに、請求項４にかかる発明は、請求項１〜請求項３のいずれかに記載のインストールプログラムを記録した媒体において、上記判断ステップでは、既存のインストール情報のバージョンと最新のインストール情報のバージョンとを対比して、既存のものが古くない場合には古いインストール情報がデータベースに組み込まれていないと判断する構成としてある。
上記のように構成した請求項４にかかる発明においては、既存のインストール情報がある場合、同既存のインストール情報のバージョンと最新のインストール情報のバージョンとを対比する。既存のインストール情報のバージョンが最新と思われるインストール情報のバージョンよりも新しければ、敢えて組み込み直す必要はないから、古いインストール情報がデータベースに組み込まれていないと判断し、データベースが再構築されないようにする。
【００１１】
さらに、請求項５にかかる発明は、請求項１〜請求項４のいずれかに記載のインストールプログラムを記録した媒体において、上記再構築ステップでは、最新のインストール情報を含めて上記データベースを再構築する構成としてある。
上記のように構成した請求項５にかかる発明においては、古いインストール情報を削除してデータベースを再構築するのであるから、最新のインストール情報をこの再構築の際に組み込むことにしている。
【００１２】
むろん、このような記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００１３】
このように、予め古いインストール情報をデータベースから除去しておく手法は実体のあるコンピュータにおいて実現され、その意味で本発明をそのようなコンピュータを含んだ実体のある装置としても適用可能であることは容易に理解できる。このため、請求項６にかかる発明は、デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込むコンピュータに対して、インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断する判断手段と、組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させる再構築手段とを具備する構成としてある。
【００１４】
すなわち、コンピュータで制御される実体のある装置としても有効であることに相違はない。むろん、このようなインストール装置は単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであって、適宜、変更可能である。
また、このようなインストールプログラムを記録した媒体はかかる制御に従って処理を進めていく上で、その根底にはその手順に発明が存在するということは当然であり、方法としても適用可能であることは容易に理解できる。このため、請求項７にかかる発明は、デバイスドライバのインストール情報を取り込んだデータベースを備え、取り込んであるデバイスドライバを表示して選択を待機し、この選択作業でデバイスドライバを選択した場合には既存のインストール情報を利用してインストール作業を実行し、デバイスドライバが選択されない場合には新たなインストール情報を利用してインストール作業を実行しつつ、同インストール情報をデータベースに組み込む際に、インストールする際に該当するデバイスドライバの古いインストール情報がデータベースに組み込まれているか否かを判断し、組み込まれていると判断された場合には該当するインストール情報を削除して上記データベースを構成し直して上記選択作業を実行させる構成としてある。
【００１５】
すなわち、必ずしも実体のある媒体などに限らず、その方法としても有効であることに相違はない。
【００１６】
【発明の効果】
以上説明したように本発明は、古い情報に基づいてデバイスドライバをインストールしてしまうことを防止することが可能なインストールプログラムを記録した媒体を提供することができる。
また、請求項２にかかる発明によれば、元の情報がテキストタイプであって検索などが行いやすく、また、利用する情報がバイナリタイプであるので、高速性も損なわれない。
【００１７】
さらに、請求項３にかかる発明によれば、情報を削除する作業がテキストタイプの情報ファイルを削除するだけであるので、簡易な処理で実現できる。
さらに、請求項４にかかる発明によれば、既存の新しい情報を消してしまうことが無くなり、また、同じ情報を新たに組み込むという無駄もなくなる。
さらに、請求項５にかかる発明によれば、常に、最新の情報が取り込んだデータベースを利用できるようになる。
【００１８】
さらに、請求項６にかかる発明によれば、同様の効果を奏するインストール装置を提供することができ、請求項７にかかる発明によれば、インストール方法を提供することができる。
【００１９】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の一実施形態にかかるインストールプログラム（インストーラ）の概略フローを示しており、図２は典型的なパソコン１０の概略構成を示している。ここで、まずハードウェアとしてのパソコン１０の構成について説明する。
【００２０】
パソコン１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１にはＣＰＵバス１２を介して二次キャッシュ１３やデータバスユニット１４やシステムコントローラ１５が接続されている。近年のパソコンでは処理効率を向上させるためにＣＰＵバス１２のクロックスピードを上げており、遅いメモリ１６はデータバスユニット１４やシステムコントローラ１５を介してＣＰＵ１１によってアクセスされるようになっている。なお、このメモリ１６にはバイオスエリアなどのＲＯＭエリアとともにＲＡＭエリアも含まれている。
【００２１】
同様にインターフェイス類も速いＣＰＵバス１２と直に接続することはできず、データバスユニット１４やシステムコントローラ１５によって汎用高速バスであるＰＣＩバス１７が提供されている。このＰＣＩバス１７にはパソコン１０自体が直接持つＰＳ／２ポートやパラレルポートやシリアルポートなどの通信用インターフェイスとともにフロッピーディスクを接続するための共通インターフェイス１８が接続され、また、特に高速性を要求されるハードディスクやＣＤ−ＲＯＭを接続してＤＭＡ転送させるためのバスマスタ１９も接続されている。
【００２２】
ＰＣＩバスには直にＰＣＩデバイス２１を接続できるほか、ＩＳＡブリッジ２２を介してデータ幅の狭い旧式の汎用バスであるＩＳＡバス２３を提供しており、このＩＳＡバス２３を介してＩＳＡデバイス２４を接続できるようになっている。
図３はこのパソコン１０に対する周辺機器を示しており、キーボード２５とマウス２６はＰＳ／２ポートを介して、プリンタ２７はパラレルポートを介して、モデム２８はシリアルポートを介してそれぞれ共通インターフェイス１８に接続されている。スキャナ２９はＰＣＩデバイス２１としてのＳＣＳＩカード２１ａを介してＰＣＩバス１７に接続され、このＳＣＳＩカード２１ａに対しては各種の外部機器を接続可能であり、光磁気記憶装置３２などを接続したりすることができる。また、ディスプレイ３１は、ディスプレイコントローラカード２１ｂを介して接続され、ハードディスク１９ａとＣＤ−ＲＯＭドライブ１９ｂはバスマスタ１９を介してＰＣＩバス１７に接続されている。
【００２３】
ＩＳＡデバイス２４としてはさまざまな機器が提供されているが、ＰＣＭＣＩＡカード２４ａを利用すればＰＣＭＣＩＡカードソケットを３３を接続でき、画像データを記録したメモリカード３４を装着してデータの入出力が容易になる。このメモリカード３４はデジタルスチルカメラ３５であるとか、他のモバイルパソコンなどからのデータを入力することも容易である。
パソコン１０にはこれらの他にもビデオカードを介して外部ディスプレイを接続する他、ＬＡＮカードを接続してネットワークに接続することが可能であるし、赤外線通信装置を介して他の外部機器と接続したりすることも可能である。
【００２４】
以上がパソコンシステムのハードウェアの概略構成であり、かかるハードウェアを前提として、パソコン１０上では図４に示す態様でソフトウェアが実行されている。すなわち、上記ハードウェア４１を基礎としてバイオス４２が実行され、その上層にてオペレーティングシステム４３とアプリケーション４４が実行される。基本的にはオペレーティングシステム４３がバイオス４２を介するか直にハードウェア４１とアクセスし、アプリケーション４４はこのオペレーティングシステム４３を介してハードウェア４１とデータなどのやりとりを行う。例えば、ハードディスク１９ａからデータを読み込むには、オペレーティングシステム４３を介してハードウェア４１にアクセスする。この他、オペレーティングシステム４３にはハードウェア４１を制御するための各種のデバイスドライバを組み込むことが可能であり、組み込まれたデバイスドライバ類はオペレーティングシステム４３の一部となって各種の制御を実行する。
【００２５】
このようなデバイスドライバは予めシステムに組み込まれているものもあるし、新たにハードウェアを接続したときに組み込む必要が生じるものもある。前者の類として、ビデオカードを介して外部のディスプレイ３１への表示を制御するためのディスプレイドライバなどがあり、後者の類として、プリンタ２７への印字制御を実行するプリンタドライバなどがあるが、特にこれらを区別する必要もない。デバイスドライバを追加する際にはドライバ情報データベースを参照してインストール作業を実行する。
【００２６】
図５はこのドライバ情報データベースの構造を示している。プリンタ２７を制御するためのプリンタドライバを例にすると、当該プリンタ２７の製造メーカーなどは当該プリンタ２７を各種のオペレーティングシステム４３のもとで制御できるようにするためのデバイスドライバを製品とともに出荷する。デバイスドライバは、通常、オペレーティングシステム４３ごとに相違するので、適当なデバイスドライバをインストールさせるためにインストール情報を記述した情報ファイル（ｉｎｆファイル）も提供される。
【００２７】
同図右欄にはテキストタイプで記述された情報ファイルの中身を示している。この情報ファイルに要求される形式は、
１．一つの情報ごとに改行されること
２．予め決められている分類項目は［］でくくること
３．［］でくくられた分類項目行に続いて、当該分類項目に関連する情報を記載すること
という決まりはあるものの、分類項目の記載の順序などは自由である。従って、常にこの情報ファイルを参照してインストール作業を実行することになると、処理が煩雑になりかねない。ただ、この時点で決まりを細かくしすぎると、単に記載順序を誤っただけでもインストールに利用できなくなるなどの弊害があり、自由度は敢えて高めにしてある。また、テキストタイプの記述としているのは、加筆・修正などが容易になるというメリットもあるからである。
【００２８】
このようなテキストタイプの情報ファイルにおける長所・短所に鑑み、この情報ファイルをもとにして同図中欄に示すようなバイナリタイプの中間ファイルにコンパイルするとともに、バイナリタイプの複数の中間ファイルを結合してバイナリタイプのドライブ情報データベースを構築して利用している。
図６は、複数の情報ファイルから中間ファイルを生成して一つのデータベースに結合する過程を簡略化して示しており、図７は処理の概略を示すフローチャートである。予め決められているｉｎｆファイル用のディレクトリ内で全ての情報ファイルを中間ファイルにコンパイルし（ステップＳ２１０）、中間ファイル同士を所定の順序に並び替え（ステップＳ２２０）、並び替えた順序に従って中間ファイル同士を結合させる（ステップＳ２３０）。この結合時には、ファイル内容を検索できるようにするためのアロケーション情報も併せて生成している。
【００２９】
ここで、新たにデバイスドライバをインストールする際の処理について説明する。図１に示すインストーラが起動されると、まず、ステップＳ１００ではドライバ情報データベースに該当するデバイスドライバ（以下、ドライバと呼ぶ）が組み込まれているか判断する。各インストーラはインストールすべきドライバが決定されているので、その情報を利用してドライバ情報データベースを検索する。むろん、インストールすべきドライバ自体を特定するためのデータファイルを用意しておき、このデータファイルを読み込んでインストールすべきドライバを特定する汎用型の構成とすることも可能である。
【００３０】
検索した結果、該当するドライバがなければ古い情報に基づいてインストールすることはない。このため、ステップＳ１１０の判断を経て後述するステップＳ１６０のインストールウィザードを起動する。一方、ステップＳ１１０の判断でドライバがあると判断されると、ステップＳ１２０ではバージョンを比較する。データベースには中間ファイルの形態でバイナリタイプにコンパイルされたインストール情報が格納されているが、当該インストール情報のバージョンと、インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する。
【００３１】
ただし、バージョンのデータは必ず存在するわけではないし、その名称も自由である。図１に示す例では、”［ＬａｓｔＵｐｄａｔｅ］”という分類項目があり、そこで最終更新日の日付”１９９８／１１／３０”が記録されている。一方のデータベース内にはコンパイルされてはいるものの、”ＬａｓｔＵｐｄａｔｅ＝１９９８／０１／０１”という情報が組み込まれている。
従って、ステップＳ１３０では既存のバージョンの方が古いと判断して、ステップＳ１４０で該当する情報ファイルを削除する。上述したようにデータベースを構築する元となる情報ファイルはｉｎｆファイルとして所定のディレクトリ内に全て保存されている。従って、このディレクトリ内で該当する元の情報ファイルを削除する。
【００３２】
削除したら、ステップＳ１５０では上述したドライバ情報データベース構築モジュールを起動する。すると、上述したように全ての情報ファイルを中間ファイルにコンパイルしつつ、中間ファイルを並び替えて結合してデータベースを再構築する。むろん、このようにして再構築したデータベースには、該当するドライバの情報ファイルは含まれていない。この過程を図８に示している。該当する情報ファイル（ｉｎｆ３）を削除して再構築するので、データベースには他の情報ファイル（ｉｎｆ１，ｉｎｆ２）のインストール情報だけが組み込まれることになる。
【００３３】
以上の流れをまとめると、次のようになる。
１．該当するドライバがもともとデータベースにない場合は、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報は組み込まれていない。また、このデータベースには変更は加えられていない。
２．該当するドライバがあるものの新しいインストール情報がデータベースにある場合には、データベースに変更は加えられず、かつ、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報が組み込まれている。
【００３４】
３．該当するドライバがデータベースにあったものの古い情報ファイルであった場合は、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報は組み込まれておらず、かつ、このデータベース自体は再構築したものとなっている。
この状態でステップＳ１６０にてインストールウィザードを実行する。図９はインストールウィザードの処理をフローチャートにより示しており、図１０は表示・選択画面の一例を示している。
【００３５】
インストールウィザードが起動されると、まず、ステップＳ３００にてドライバ情報データベースに組み込まれているドライバを表示し、キーボード２５とマウス２６による選択を待機する。図１０に示す画面は、プリンタのドライバを追加する際のウィザード画面を示しており、左の表示欄Ｗ１１に製造元を表示し、いずれかの製造元を選択すると、当該製造元に対応する個々のプリンタが右の表示欄Ｗ１２に表示されるので、インストールしようとするプリンタを選択して反転させる。表示画面の下部には「戻る」、「次へ」、「キャンセル」というコマンドボタンＷ２１，Ｗ２２，Ｗ２３が配置され、インストールしようとしているプリンタが表示されて選択できた場合には「次へ」のコマンドボタンＷ２２を実行させる。すると、ステップＳ３１０にて既存のドライバを選択したと判断され、ステップＳ３２０にてデータベースに組み込まれているインストール情報を抽出し、ステップＳ３５０にて該当するドライバファイルをシステムにインストールする。
【００３６】
一方、表示欄Ｗ１１，Ｗ１２でインストールしようとするプリンタが表示されない場合には、「ディスク使用」のコマンドボタンＷ３１を実行させると、フレキシブルディスクなどから情報ファイルを供給することができる。この場合、ステップＳ３１０では既存のドライバを選択しなかったと判断され、ステップＳ３３０にてフラグをセットしつつステップＳ３４０にてフレキシブルディスクの情報ファイルからインストール情報を読み込む。
【００３７】
このインストールウィザードが起動される前、インストールしようとしているドライバについて古い情報ファイルがあった場合には、データベースから削除されている。従って、このような場合には、表示欄Ｗ１１，Ｗ１２でインストールしようとするプリンタが表示されず、「ディスク使用」のコマンドボタンＷ３１を実行させなければならない。そして、このことは誤って古い情報ファイルに基づいてドライバをインストールしてしまうことを防止できることを意味する。
【００３８】
ステップＳ３５０にて順調に該当するドライバファイルをインストールできたら、ステップＳ３６０ではステップＳ３３０にてセットされるフラグの状況を判定する。ここでは、ディスク使用でインストール情報を読み込んだ場合にはデータベースにも反映させる処理を行う。まず、ステップＳ３７０にて情報ファイルを上記所定のディレクトリにコピーし、ステップＳ３８０にてドライバ情報データベース構築モジュールを起動させる。すると、図１１に示すように、新たにコピーした情報ファイル（ｉｎｆ３１）を含んだデータベースが再構築される。
【００３９】
この例では、予め該当するドライバの情報ファイルを削除してデータベースを再構築しておき、このデータベースにドライバがないときには改めて情報ファイルをコピーしてデータベースを再構築する。従って、再構築の作業を２回繰り返すことになる。これは通常の処理手順をできるだけ利用することでインストールプログラムの負担を軽減させるメリットがあるが、作業時間の面では効率的ではない。これに対し、ステップＳ１４０で該当する情報ファイルを削除した後、フレキシブルディスクの情報ファイルを読み込む（ステップＳ３４０と同様の処理）とともに、その情報ファイルを上記所定のディレクトリに書き込み（ステップＳ３７０と同様の処理）、ステップＳ１５０でデータベースを再構築することも可能である。
【００４０】
このようにすれば、ステップＳ１６０にてインストールウィザードを実行させたときに表示欄Ｗ１１，Ｗ１２にて上記情報ファイルに含まれていたインストール情報が表示されるので、インストールしようとするプリンタは必ず見つかることになる。従って、ステップＳ３３０にてフラグをセットする処理は実行されず、ステップＳ３８０にてデータベースを再構築することもなくなる。
また、上述した例では、データベースから古いインストール情報を削除するためには元の情報ファイルを削除してデータベースを再構築するという手法を実行している。しかしながら、データベースが中間ファイルの結合であることから、該当部分を削除して連結し直したり、あるいはデータベースで表示されるドライバの名前を書き換えて選択できなくすることによっても同様に古い情報を利用することを防止できるようになる。むろん、後者の場合は使わない情報が残ることになるので、ベストモードではないもののシステム次第では利用可能である。
【００４１】
このように、インストール情報によって構築されたデータベースに古いインストール情報が含まれているような場合には、予め元の情報ファイルを削除（ステップＳ１４０）してからデータベースを再構築する（ステップＳ１５０）ようにしたため、古い情報に基づいてデバイスドライバをインストールしてしまうことを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかるインストールプログラムのフローチャートである。
【図２】パソコンの概略ブロック図である。
【図３】パソコンへの周辺装置の接続状況を示す概略ブロック図である。
【図４】パソコンのソフトウェアの構成を示す図である。
【図５】ドライバ情報のデータベースの構成を示す図である。
【図６】情報ファイルからデータベースを構築する過程を示す図である。
【図７】ドライバ情報データベース構築モジュールのフローチャートである。
【図８】古い情報ファイルを削除してデータベースを再構築する過程を示す図である。
【図９】インストールウィザードのフローチャートである。
【図１０】インストールウィザードの表示画面を示す図である。
【図１１】情報ファイルに新しい情報ファイルを加えてデータベースを再構築する過程を示す図である。
【符号の説明】
１０…パソコン
１１…ＣＰＵ
１２…ＣＰＵバス
１３…二次キャッシュ
１４…データバスユニット
１５…システムコントローラ
１６…メモリ
１７…ＰＣＩバス
１８…共通インターフェイス
１９…バスマスタ
１９ａ…ハードディスク
１９ｂ…ＣＤ−ＲＯＭドライブ
２１…ＰＣＩデバイス
２１ａ…ＳＣＳＩカード
２２…ＩＳＡブリッジ
２３…ＩＳＡバス
２４…ＩＳＡデバイス
２４ａ…ＰＣＭＣＩＡカード
２５…キーボード
２６…マウス
２７…プリンタ
２８…モデム
２９…スキャナ
３１…デジタルビデオカメラ
３２…光磁気記憶装置
３３…ＰＣＭＣＩＡカードソケット
３４…メモリカード
３５…デジタルスチルカメラ
４１…ハードウェア
４２…バイオス
４３…オペレーティングシステム
４３ａ…プリンタドライバ
４４…アプリケーション
【図１】
2004005483.tif 000003
【図２】
2004005483.tif 000004
【図３】
2004005483.tif 000005
【図４】
2004005483.tif 000006
【図５】
2004005483.tif 000007
【図６】
2004005483.tif 000008
【図７】
2004005483.tif 000009
【図８】
2004005483.tif 000010
【図９】
2004005483.tif 000011
【図１０】
2004005483.tif 000012
【図１１】
2004005483.tif 000013
【手続補正書】
【提出日】平成15年3月28日(2003.3.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【特許請求の範囲】
【請求項１】デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、ドライバ情報データベースを再構築させるインストールプログラムを記録した媒体であって、
上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されている上記インストールすべきデバイスドライバのインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断ステップと、
上記ドライバ情報データベースに格納されている上記インストールすべきデバイスドライバのインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除ステップと、
上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築ステップとをコンピュータに実行させることを特徴とするインストールプログラムを記録した媒体。
【請求項２】上記請求項１に記載のインストールプログラムを記録した媒体において、
上記再構築ステップは、上記情報ファイルが削除された場合、フレキシブルディスクなどにより供給される情報ファイルからインストール情報を読み込むとともに、同情報ファイルを上記ディレクトリに書き込み、上記ドライバ情報データベースを再構築させることを特徴とするインストールプログラムを記録した媒体。
【請求項３】デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合してドライバ情報データベースを再構築させるインストール装置であって、
上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されているインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断手段と、
上記ドライバ情報データベースに格納されているインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除手段と、
上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築手段とを具備することを特徴とするインストール装置。
【請求項４】デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合してドライバ情報データベースを再構築させるインストール方法であって、
上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されているインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断工程と、
上記ドライバ情報データベースに格納されているインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除工程と、
上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築工程とを具備することを特徴とするインストール方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インストールプログラムを記録した媒体、インストール装置およびインストール方法に関する。
【０００２】
【従来の技術】
近年のコンピュータでは、各種のハードウェアを制御できるようにするため、デバイスドライバが利用されており、このデバイスドライバはコンピュータにインストールされて利用可能となる。このデバイスドライバをインストールするためには、デバイスドライバ情報データベースが利用される。
【０００３】
デバイスドライバ情報データベースは、コンピュータシステムに予め用意されているか、過去にインストールされたことのあるデバイスデバイスドライバの情報ファイルをもとに、システム固有の構造にコンパイル（形式化）し、結合されたものである。
【０００４】
デバイスドライバ情報データベースを利用する際には、予め組み込まれているデバイスドライバを対応するハードウェアの一覧として表示して選択できるようにしつつ、これに含まれていない場合にはハードウェアと一緒に供給されるフレキシブルディスクなどから情報ファイルを取り込めるようになっている。そして、指定された情報ファイルに記載されたインストール情報に基づいて必要なデバイスドライバファイルをコンピュータ内に取り込んでインストール作業を終了する。
【０００５】
【発明が解決しようとする課題】
デバイスドライバは適宜改良される性質を有しているが、上述した従来のコンピュータにおいては、インストールしようとしているデバイスドライバについての古いインストール情報がデータベースに組み込まれていると、古い情報に基づいてデバイスドライバをインストールしてしまったり、あるいは、インストールをうまく行えないという課題があった。
【０００６】
本発明は、上記課題にかんがみてなされたもので、古いインストール情報に基づいてデバイスドライバをインストールしてしまうことを未然に防ぐことが可能なインストールプログラムを記録した媒体、インストール装置およびインストール方法の提供を目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、ドライバ情報データベースを再構築させるインストールプログラムを記録した媒体であって、上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されている上記インストールすべきデバイスドライバのインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断ステップと、上記ドライバ情報データベースに格納されている上記インストールすべきデバイスドライバのインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除ステップと、上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築ステップとをコンピュータに実行させる構成としてある。
【０００８】
上記のように構成した請求項１にかかる発明においては、インストールする際に最初の判断ステップで該当するデバイスドライバの古いインストール情報がドライバ情報データベースに組み込まれているか否かを判断する。そして、組み込まれていると判断された場合には再構築ステップにて該当するインストール情報を削除して上記ドライバ情報データベースを構成し直す。
【０００９】
これによりインストールウィザードが起動される前、インストールしようとしているデバイスドライバについて古い情報ファイルがあった場合には、ドライバ情報データベースから削除されている。従って、このような場合には、インストールウィザードの表示欄にインストールしようとするデバイスドライバが表示されず、「ディスク使用」のコマンドボタンを実行させなければならない。そして、このことは誤って古い情報ファイルに基づいてデバイスドライバをインストールしてしまうことを防止することができることを意味する。
【００１０】
さらに、請求項２にかかる発明は、請求項１に記載のインストールプログラムを記録した媒体において、上記再構築ステップは、上記情報ファイルが削除された場合、フレキシブルディスクなどにより供給される情報ファイルからインストール情報を読み込むとともに、同情報ファイルを上記ディレクトリに書き込み、上記ドライバ情報データベースを再構築させる構成としてある。
【００１１】
上記のように構成した請求項２にかかる発明において、再構築ステップは削除ステップにて情報ファイルが削除された場合に、フレキシブルディスクなどに供給される情報ファイルを読み込んで上述した所定のディレクトリに書き込む。そして、再構築ステップはこのディレクトリに格納された情報ファイルに基づいてドライバ情報データベースを再構築する。
【００１２】
むろん、このような記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
【００１３】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００１４】
このように、予め古いインストール情報をデータベースから除去しておく手法は実体のあるコンピュータにおいて実現され、その意味で本発明をそのようなコンピュータを含んだ実体のある装置としても適用可能であることは容易に理解できる。このため、請求項３にかかる発明は、デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合してドライバ情報データベースを再構築させるインストール装置であって、上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されているインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断手段と、上記ドライバ情報データベースに格納されているインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除手段と、上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築手段とを具備する構成としてある。
【００１５】
すなわち、コンピュータで制御される実体のある装置としても有効であることに相違はない。むろん、このようなインストール装置は単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであって、適宜、変更可能である。
【００１６】
また、このようなインストールプログラムを記録した媒体はかかる制御に従って処理を進めていく上で、その根底にはその手順に発明が存在するということは当然であり、方法としても適用可能であることは容易に理解できる。このため、請求項４にかかる発明は、デバイスドライバをコンピュータにインストールさせる際に、同コンピュータにてインストーラを起動させ、インストール情報を記述したテキストタイプの情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合してドライバ情報データベースを再構築させるインストール方法であって、上記インストーラを起動させると、同インストーラにて決定されているインストールすべきデバイスドライバの情報を利用して上記ドライバ情報データベースを検索するとともに、検索した結果、同デバイスドライバが上記ドライバ情報データベースにあると判断されると、上記ドライバ情報データベースに格納されているインストール情報のバージョンと、上記インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する判断工程と、上記ドライバ情報データベースに格納されているインストール情報である既存のバージョンの方が古いと判断した場合、所定のディレクトリ内に保存されている上記ドライバ情報データベースを構築する元となる情報ファイルから上記古いと判断されたインストール情報に該当する元の情報ファイルを削除する削除工程と、上記情報ファイルが削除された場合、上記ディレクトリ内に保存されている情報ファイルを中間ファイルにコンパイルしつつ、同中間ファイルを並び替えて結合し、上記ドライバ情報データベースを再構築させる再構築工程とを具備する構成としてある。
【００１７】
すなわち、必ずしも実体のある媒体などに限らず、その方法としても有効であることに相違はない。
【００１８】
【発明の効果】
以上説明したように本発明は、古い情報に基づいてデバイスドライバをインストールしてしまうことを防止することが可能なインストールプログラムを記録した媒体を提供することができる。
さらに、請求項２にかかる発明によれば、インストールしようとするデバイスドライバをインストールウィザードにて必ず見つけることができる。
さらに、請求項４にかかる発明によれば、同様の効果を奏するインストール装置を提供することができ、請求項５にかかる発明によれば、インストール方法を提供することができる。
【００１９】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の一実施形態にかかるインストールプログラム（インストーラ）の概略フローを示しており、図２は典型的なパソコン１０の概略構成を示している。ここで、まずハードウェアとしてのパソコン１０の構成について説明する。
【００２０】
パソコン１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１にはＣＰＵバス１２を介して二次キャッシュ１３やデータバスユニット１４やシステムコントローラ１５が接続されている。近年のパソコンでは処理効率を向上させるためにＣＰＵバス１２のクロックスピードを上げており、遅いメモリ１６はデータバスユニット１４やシステムコントローラ１５を介してＣＰＵ１１によってアクセスされるようになっている。なお、このメモリ１６にはバイオスエリアなどのＲＯＭエリアとともにＲＡＭエリアも含まれている。
【００２１】
同様にインターフェイス類も速いＣＰＵバス１２と直に接続することはできず、データバスユニット１４やシステムコントローラ１５によって汎用高速バスであるＰＣＩバス１７が提供されている。このＰＣＩバス１７にはパソコン１０自体が直接持つＰＳ／２ポートやパラレルポートやシリアルポートなどの通信用インターフェイスとともにフロッピーディスクを接続するための共通インターフェイス１８が接続され、また、特に高速性を要求されるハードディスクやＣＤ−ＲＯＭを接続してＤＭＡ転送させるためのバスマスタ１９も接続されている。
【００２２】
ＰＣＩバスには直にＰＣＩデバイス２１を接続できるほか、ＩＳＡブリッジ２２を介してデータ幅の狭い旧式の汎用バスであるＩＳＡバス２３を提供しており、このＩＳＡバス２３を介してＩＳＡデバイス２４を接続できるようになっている。
【００２３】
図３はこのパソコン１０に対する周辺機器を示しており、キーボード２５とマウス２６はＰＳ／２ポートを介して、プリンタ２７はパラレルポートを介して、モデム２８はシリアルポートを介してそれぞれ共通インターフェイス１８に接続されている。スキャナ２９はＰＣＩデバイス２１としてのＳＣＳＩカード２１ａを介してＰＣＩバス１７に接続され、このＳＣＳＩカード２１ａに対しては各種の外部機器を接続可能であり、光磁気記憶装置３２などを接続したりすることができる。また、ディスプレイ３１は、ディスプレイコントローラカード２１ｂを介して接続され、ハードディスク１９ａとＣＤ−ＲＯＭドライブ１９ｂはバスマスタ１９を介してＰＣＩバス１７に接続されている。
【００２４】
ＩＳＡデバイス２４としてはさまざまな機器が提供されているが、ＰＣＭＣＩＡカード２４ａを利用すればＰＣＭＣＩＡカードソケットを３３を接続でき、画像データを記録したメモリカード３４を装着してデータの入出力が容易になる。このメモリカード３４はデジタルスチルカメラ３５であるとか、他のモバイルパソコンなどからのデータを入力することも容易である。
【００２５】
パソコン１０にはこれらの他にもビデオカードを介して外部ディスプレイを接続する他、ＬＡＮカードを接続してネットワークに接続することが可能であるし、赤外線通信装置を介して他の外部機器と接続したりすることも可能である。
【００２６】
以上がパソコンシステムのハードウェアの概略構成であり、かかるハードウェアを前提として、パソコン１０上では図４に示す態様でソフトウェアが実行されている。すなわち、上記ハードウェア４１を基礎としてバイオス４２が実行され、その上層にてオペレーティングシステム４３とアプリケーション４４が実行される。基本的にはオペレーティングシステム４３がバイオス４２を介するか直にハードウェア４１とアクセスし、アプリケーション４４はこのオペレーティングシステム４３を介してハードウェア４１とデータなどのやりとりを行う。例えば、ハードディスク１９ａからデータを読み込むには、オペレーティングシステム４３を介してハードウェア４１にアクセスする。この他、オペレーティングシステム４３にはハードウェア４１を制御するための各種のデバイスドライバを組み込むことが可能であり、組み込まれたデバイスドライバ類はオペレーティングシステム４３の一部となって各種の制御を実行する。
【００２７】
このようなデバイスドライバは予めシステムに組み込まれているものもあるし、新たにハードウェアを接続したときに組み込む必要が生じるものもある。前者の類として、ビデオカードを介して外部のディスプレイ３１への表示を制御するためのディスプレイドライバなどがあり、後者の類として、プリンタ２７への印字制御を実行するプリンタドライバなどがあるが、特にこれらを区別する必要もない。デバイスドライバを追加する際にはドライバ情報データベースを参照してインストール作業を実行する。
【００２８】
図５はこのドライバ情報データベースの構造を示している。プリンタ２７を制御するためのプリンタドライバを例にすると、当該プリンタ２７の製造メーカーなどは当該プリンタ２７を各種のオペレーティングシステム４３のもとで制御できるようにするためのデバイスドライバを製品とともに出荷する。デバイスドライバは、通常、オペレーティングシステム４３ごとに相違するので、適当なデバイスドライバをインストールさせるためにインストール情報を記述した情報ファイル（ｉｎｆファイル）も提供される。
【００２９】
同図右欄にはテキストタイプで記述された情報ファイルの中身を示している。この情報ファイルに要求される形式は、
１．一つの情報ごとに改行されること
２．予め決められている分類項目は［］でくくること
３．［］でくくられた分類項目行に続いて、当該分類項目に関連する情報を記載すること
という決まりはあるものの、分類項目の記載の順序などは自由である。従って、常にこの情報ファイルを参照してインストール作業を実行することになると、処理が煩雑になりかねない。ただ、この時点で決まりを細かくしすぎると、単に記載順序を誤っただけでもインストールに利用できなくなるなどの弊害があり、自由度は敢えて高めにしてある。また、テキストタイプの記述としているのは、加筆・修正などが容易になるというメリットもあるからである。
【００３０】
このようなテキストタイプの情報ファイルにおける長所・短所に鑑み、この情報ファイルをもとにして同図中欄に示すようなバイナリタイプの中間ファイルにコンパイルするとともに、バイナリタイプの複数の中間ファイルを結合してバイナリタイプのドライブ情報データベースを構築して利用している。
【００３１】
図６は、複数の情報ファイルから中間ファイルを生成して一つのデータベースに結合する過程を簡略化して示しており、図７は処理の概略を示すフローチャートである。予め決められているｉｎｆファイル用のディレクトリ内で全ての情報ファイルを中間ファイルにコンパイルし（ステップＳ２１０）、中間ファイル同士を所定の順序に並び替え（ステップＳ２２０）、並び替えた順序に従って中間ファイル同士を結合させる（ステップＳ２３０）。この結合時には、ファイル内容を検索できるようにするためのアロケーション情報も併せて生成している。
【００３２】
ここで、新たにデバイスドライバをインストールする際の処理について説明する。図１に示すインストーラが起動されると、まず、ステップＳ１００ではドライバ情報データベースに該当するデバイスドライバ（以下、ドライバと呼ぶ）が組み込まれているか判断する。各インストーラはインストールすべきドライバが決定されているので、その情報を利用してドライバ情報データベースを検索する。むろん、インストールすべきドライバ自体を特定するためのデータファイルを用意しておき、このデータファイルを読み込んでインストールすべきドライバを特定する汎用型の構成とすることも可能である。
【００３３】
検索した結果、該当するドライバがなければ古い情報に基づいてインストールすることはない。このため、ステップＳ１１０の判断を経て後述するステップＳ１６０のインストールウィザードを起動する。一方、ステップＳ１１０の判断でドライバがあると判断されると、ステップＳ１２０ではバージョンを比較する。データベースには中間ファイルの形態でバイナリタイプにコンパイルされたインストール情報が格納されているが、当該インストール情報のバージョンと、インストーラがインストールしようとしている情報ファイルにおけるインストール情報のバージョンとを対比してどちらが古いかを判断する。
【００３４】
ただし、バージョンのデータは必ず存在するわけではないし、その名称も自由である。図１に示す例では、”［ＬａｓｔＵｐｄａｔｅ］”という分類項目があり、そこで最終更新日の日付”１９９８／１１／３０”が記録されている。一方のデータベース内にはコンパイルされてはいるものの、”ＬａｓｔＵｐｄａｔｅ＝１９９８／０１／０１”という情報が組み込まれている。
【００３５】
従って、ステップＳ１３０では既存のバージョンの方が古いと判断して、ステップＳ１４０で該当する情報ファイルを削除する。上述したようにデータベースを構築する元となる情報ファイルはｉｎｆファイルとして所定のディレクトリ内に全て保存されている。従って、このディレクトリ内で該当する元の情報ファイルを削除する。
【００３６】
削除したら、ステップＳ１５０では上述したドライバ情報データベース構築モジュールを起動する。すると、上述したように全ての情報ファイルを中間ファイルにコンパイルしつつ、中間ファイルを並び替えて結合してデータベースを再構築する。むろん、このようにして再構築したデータベースには、該当するドライバの情報ファイルは含まれていない。この過程を図８に示している。該当する情報ファイル（ｉｎｆ３）を削除して再構築するので、データベースには他の情報ファイル（ｉｎｆ１，ｉｎｆ２）のインストール情報だけが組み込まれることになる。
【００３７】
以上の流れをまとめると、次のようになる。
１．該当するドライバがもともとデータベースにない場合は、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報は組み込まれていない。また、このデータベースには変更は加えられていない。
【００３８】
２．該当するドライバがあるものの新しいインストール情報がデータベースにある場合には、データベースに変更は加えられず、かつ、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報が組み込まれている。
【００３９】
３．該当するドライバがデータベースにあったものの古い情報ファイルであった場合は、インストールウィザードを実行する時点でデータベースには当該ドライバのインストール情報は組み込まれておらず、かつ、このデータベース自体は再構築したものとなっている。
【００４０】
この状態でステップＳ１６０にてインストールウィザードを実行する。図９はインストールウィザードの処理をフローチャートにより示しており、図１０は表示・選択画面の一例を示している。
【００４１】
インストールウィザードが起動されると、まず、ステップＳ３００にてドライバ情報データベースに組み込まれているドライバを表示し、キーボード２５とマウス２６による選択を待機する。図１０に示す画面は、プリンタのドライバを追加する際のウィザード画面を示しており、左の表示欄Ｗ１１に製造元を表示し、いずれかの製造元を選択すると、当該製造元に対応する個々のプリンタが右の表示欄Ｗ１２に表示されるので、インストールしようとするプリンタを選択して反転させる。表示画面の下部には「戻る」、「次へ」、「キャンセル」というコマンドボタンＷ２１，Ｗ２２，Ｗ２３が配置され、インストールしようとしているプリンタが表示されて選択できた場合には「次へ」のコマンドボタンＷ２２を実行させる。すると、ステップＳ３１０にて既存のドライバを選択したと判断され、ステップＳ３２０にてデータベースに組み込まれているインストール情報を抽出し、ステップＳ３５０にて該当するドライバファイルをシステムにインストールする。
【００４２】
一方、表示欄Ｗ１１，Ｗ１２でインストールしようとするプリンタが表示されない場合には、「ディスク使用」のコマンドボタンＷ３１を実行させると、フレキシブルディスクなどから情報ファイルを供給することができる。この場合、ステップＳ３１０では既存のドライバを選択しなかったと判断され、ステップＳ３３０にてフラグをセットしつつステップＳ３４０にてフレキシブルディスクの情報ファイルからインストール情報を読み込む。
【００４３】
このインストールウィザードが起動される前、インストールしようとしているドライバについて古い情報ファイルがあった場合には、データベースから削除されている。従って、このような場合には、表示欄Ｗ１１，Ｗ１２でインストールしようとするプリンタが表示されず、「ディスク使用」のコマンドボタンＷ３１を実行させなければならない。そして、このことは誤って古い情報ファイルに基づいてドライバをインストールしてしまうことを防止できることを意味する。
【００４４】
ステップＳ３５０にて順調に該当するドライバファイルをインストールできたら、ステップＳ３６０ではステップＳ３３０にてセットされるフラグの状況を判定する。ここでは、ディスク使用でインストール情報を読み込んだ場合にはデータベースにも反映させる処理を行う。まず、ステップＳ３７０にて情報ファイルを上記所定のディレクトリにコピーし、ステップＳ３８０にてドライバ情報データベース構築モジュールを起動させる。すると、図１１に示すように、新たにコピーした情報ファイル（ｉｎｆ３１）を含んだデータベースが再構築される。
【００４５】
この例では、予め該当するドライバの情報ファイルを削除してデータベースを再構築しておき、このデータベースにドライバがないときには改めて情報ファイルをコピーしてデータベースを再構築する。従って、再構築の作業を２回繰り返すことになる。これは通常の処理手順をできるだけ利用することでインストールプログラムの負担を軽減させるメリットがあるが、作業時間の面では効率的ではない。これに対し、ステップＳ１４０で該当する情報ファイルを削除した後、フレキシブルディスクの情報ファイルを読み込む（ステップＳ３４０と同様の処理）とともに、その情報ファイルを上記所定のディレクトリに書き込み（ステップＳ３７０と同様の処理）、ステップＳ１５０でデータベースを再構築することも可能である。
【００４６】
このようにすれば、ステップＳ１６０にてインストールウィザードを実行させたときに表示欄Ｗ１１，Ｗ１２にて上記情報ファイルに含まれていたインストール情報が表示されるので、インストールしようとするプリンタは必ず見つかることになる。従って、ステップＳ３３０にてフラグをセットする処理は実行されず、ステップＳ３８０にてデータベースを再構築することもなくなる。
【００４７】
また、上述した例では、データベースから古いインストール情報を削除するためには元の情報ファイルを削除してデータベースを再構築するという手法を実行している。しかしながら、データベースが中間ファイルの結合であることから、該当部分を削除して連結し直したり、あるいはデータベースで表示されるドライバの名前を書き換えて選択できなくすることによっても同様に古い情報を利用することを防止できるようになる。むろん、後者の場合は使わない情報が残ることになるので、ベストモードではないもののシステム次第では利用可能である。
【００４８】
このように、インストール情報によって構築されたデータベースに古いインストール情報が含まれているような場合には、予め元の情報ファイルを削除（ステップＳ１４０）してからデータベースを再構築する（ステップＳ１５０）ようにしたため、古い情報に基づいてデバイスドライバをインストールしてしまうことを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかるインストールプログラムのフローチャートである。
【図２】パソコンの概略ブロック図である。
【図３】パソコンへの周辺装置の接続状況を示す概略ブロック図である。
【図４】パソコンのソフトウェアの構成を示す図である。
【図５】ドライバ情報のデータベースの構成を示す図である。
【図６】情報ファイルからデータベースを構築する過程を示す図である。
【図７】ドライバ情報データベース構築モジュールのフローチャートである。
【図８】古い情報ファイルを削除してデータベースを再構築する過程を示す図である。
【図９】インストールウィザードのフローチャートである。
【図１０】インストールウィザードの表示画面を示す図である。
【図１１】情報ファイルに新しい情報ファイルを加えてデータベースを再構築する過程を示す図である。
【符号の説明】
１０…パソコン
１１…ＣＰＵ
１２…ＣＰＵバス
１３…二次キャッシュ
１４…データバスユニット
１５…システムコントローラ
１６…メモリ
１７…ＰＣＩバス
１８…共通インターフェイス
１９…バスマスタ
１９ａ…ハードディスク
１９ｂ…ＣＤ−ＲＯＭドライブ
２１…ＰＣＩデバイス
２１ａ…ＳＣＳＩカード
２２…ＩＳＡブリッジ
２３…ＩＳＡバス
２４…ＩＳＡデバイス
２４ａ…ＰＣＭＣＩＡカード
２５…キーボード
２６…マウス
２７…プリンタ
２８…モデム
２９…スキャナ
３１…デジタルビデオカメラ
３２…光磁気記憶装置
３３…ＰＣＭＣＩＡカードソケット
３４…メモリカード
３５…デジタルスチルカメラ
４１…ハードウェア
４２…バイオス
４３…オペレーティングシステム
４３ａ…プリンタドライバ
４４…アプリケーション
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2004005483.tif 000014