(57)【要約】【課題】ドライバをインストールする際のユーザの負担を軽減する。【解決手段】ＣＰＵは、ドライバ自動インストールプログラムが記録されたＣＤ−ＲＯＭがセットされると、オートランで起動し（Ｓ１００）、インストールすべきドライバリストを作成し（Ｓ１０５）、ユーザが一括インストールを選択するとそのドライバリストを表示し（Ｓ１２５）、リストアップされたドライバを順次インストールしていく。そして、ドライバにスクリプトが付いているときには、そのスクリプトを解釈実行して専用インストーラにより自動インストールを実行し（Ｓ１４５）、ドライバにスクリプトが付いていないときには、ＣＤ−ＲＯＭから今回インストールしようとしているドライバのハードウェア未指定コマンドラインを取得し、これにレジストリから取得した所定形式のハードウェアＩＤをマージして、汎用インストーラをコールして自動インストールを実行する（Ｓ１５０）。【選択図】　　　　図２
2004013265.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールシステムであって、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段と、
前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段と、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの識別情報の特定部を取得する第１取得手段と、
前記第１取得手段が取得した前記識別情報の特定部に対応するドライバ情報を前記第１記憶手段から取得する第２取得手段と、
前記第２取得手段が取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定手段と、
前記判定手段により前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定手段により前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記第１取得手段が取得した前記識別情報の特定部を含む前記所定形式の識別情報を前記第２記憶手段から取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして前記ドライバの自動インストールを実行するインストール実行手段と
を備えたドライバインストールシステム。
【請求項２】
前記第１記憶手段は、前記コンピュータに対して着脱自在な記憶媒体である
請求項１記載のドライバインストールシステム。
【請求項３】
前記第１記憶手段は、前記コンピュータの外部から提供された前記対応関係を記憶する媒体である
請求項１記載のドライバインストールシステム。
【請求項４】
前記第２記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶する
請求項１〜３のいずれかに記載のドライバインストールシステム。
【請求項５】
前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものである
請求項１〜４のいずれかに記載のドライバインストールシステム。
【請求項６】
前記ハードウェアのドライバ情報に含まれるコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものである
請求項１〜５のいずれかに記載のドライバインストールシステム。
【請求項７】
前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分である
請求項１〜６のいずれかに記載のドライバインストールシステム。
【請求項８】
前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号である
請求項１〜７のいずれかに記載のドライバインストールシステム。
【請求項９】
請求項１〜８のいずれかに記載のドライバインストールシステムであって、
前記第２取得手段が取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定手段の結果に応じて前記インストール実行手段が各ドライバを自動インストールする
ドライバインストールシステム。
【請求項１０】
コンピュータに接続されたハードウェアを制御するドライバを前記コンピュータが自動インストールするドライバインストール方法であって、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第１取得ステップと、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第２取得ステップと、
前記第１取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を含むドライバインストール方法。
【請求項１１】
コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールプログラムであって、
前記コンピュータに対し、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第１取得ステップと、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第２取得ステップと、
前記第１取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を実行させるためのドライバインストールプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ドライバインストールシステム、その方法及びそのプログラムに関する。
【０００２】
【従来の技術】
近年、例えばディスクトップ型、タワー型、ノートブック型などのパソコンにおいて、種々のハードウェアを組み込んだものが販売されている。これらのハードウェアをパソコンで利用するには、各ハードウェアの動作に必要な情報をパソコンのオペレーティングシステムに提供したり動作を管理したりするドライバが必要となる。このため、パソコンに新たなハードウェアを組み込む場合には、ユーザはそのハードウェアのドライバのインストール作業を行う必要がある。
【０００３】
【発明が解決しようとする課題】
しかしながら、各ハードウェアのドライバのインストール作業は、パソコンに組み込まれたハードウェアをユーザが確認したあと、各ハードウェアに対応するドライバを各種ハードウェアのドライバが記録されたドライバＣＤから手動でインストールするといった作業になるため、ユーザに大きな負担がかかるという問題があった。なお、特開２０００−３３９２６３には、ドライバ取得方法に関する技術が開示されているが、具体的な自動インストールの手法については開示されていない。
【０００４】
本発明は、このような課題に鑑みなされたものであり、ドライバをインストールする際のユーザの負担を軽減することを目的の一つとする。また、コンピュータに現に接続されているハードウェアのドライバだけを自動インストールすることを目的の一つとする。更に、複数のドライバを一括して自動インストールすることを目的の一つとする。
【０００５】
【課題を解決するための手段およびその作用・効果】
上述の目的の少なくとも一つを達成するため、本発明の第１は、コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールシステムであって、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段と、
前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段と、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの識別情報の特定部を取得する第１取得手段と、
前記第１取得手段が取得した前記識別情報の特定部に対応するドライバ情報を前記第１記憶手段から取得する第２取得手段と、
前記第２取得手段が取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定手段と、
前記判定手段により前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定手段により前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記第１取得手段が取得した前記識別情報の特定部を含む前記所定形式の識別情報を前記第２記憶手段から取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして前記ドライバの自動インストールを実行するインストール実行手段と
を備えたものである。
【０００６】
このドライバインストールシステムでは、コンピュータに現に接続されているハードウェアからそのハードウェアの識別情報の特定部を取得し、この識別情報の特定部に対応するドライバ情報を第１記憶手段から取得し、得られたドライバ情報にそのドライバの専用インストーラの処理手順を記述したスクリプトが含まれているか否かを判定する。そして、判定の結果、スクリプトが含まれているときには、そのスクリプトを解釈実行して専用インストーラによりそのドライバの自動インストールを実行する。一方、スクリプトが含まれていないときには、そのハードウェアの識別情報の特定部を含む所定形式の識別情報を第２記憶手段から取得し、その所定形式の識別情報とドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールしてそのドライバの自動インストールを実行する。
【０００７】
このドライバインストールシステムによれば、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【０００８】
本発明のドライバインストールシステムにおいて、前記第１記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよい。こうすれば、第１記憶手段をコンピュータに簡単に付属させることができる。ここで、「記憶媒体」としては、コンピュータが読み取り可能な媒体であればどのようなものでもよく、例えばＣＤ、ＤＶＤ、ＦＤ、ＭＯ、各種メモリカードなどが挙げられる。
【０００９】
本発明のドライバインストールシステムにおいて、前記第１記憶手段は、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。こうすれば、第１記憶手段の記憶内容をネットワーク経由で授受することも可能となる。ここで、「媒体」としては、例えばＨＤＤなどが挙げられる。
【００１０】
本発明のドライバインストールシステムにおいて、前記第２記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。ここで、「オペレーティングシステム」としては、特に限定されないが、例えばマイクロソフト社のウィンドウズやアップル社のマックＯＳなどが挙げられる。ウィンドウズの場合にはハードウェアの識別情報を所定形式でレジストリに記憶してもよい。
【００１１】
本発明のドライバインストールシステムにおいて、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。こうすれば、別途、汎用インストーラを用意する必要がない。
【００１２】
本発明のドライバインストールシステムにおいて、前記ハードウェアのドライバ情報に含まれるコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のもの（ハードウェア未指定コマンドライン）であってもよい。こうすれば、このハードウェア未指定コマンドラインにハードウェアの所定形式の識別情報を指定するだけで汎用インストーラによる自動インストールが実行される。
【００１３】
本発明のドライバインストールシステムにおいて、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましい。こうすれば、第１記憶手段におけるハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係は製造メーカの事情に影響されないため、製造メーカの事情によって対応関係を見直す必要がない。
【００１４】
本発明のドライバインストールシステムにおいて、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。一般に、ベンダを特定する識別符号はそのハードウェアの製造メーカを表し、デバイスを特定する識別符号はそのハードウェアの製品を表すものであり、同じ製造メーカの同じ製品については変更されることがない。これに対して、サブシステムを特定する識別符号やリビジョンを特定する識別符号は、同じ製造メーカの同じ製品であっても製造メーカの事情（例えば製造ロットが相違する等）によって変更されるおそれがある。つまり、サブシステム及びリビジョンをそれぞれ特定する識別符号は製造メーカの事情に影響されるが、ベンダ及びデバイスをそれぞれ特定する識別符号は製造メーカの事情に影響されない。このため、第１記憶手段におけるハードウェアのドライバ情報と各ハードウェアの識別情報のうちベンダ及びデバイスをそれぞれ特定する識別符号との対応関係は、製造メーカの事情に影響されず、製造メーカの事情によって対応関係を見直す必要がない。
【００１５】
本発明のドライバインストールシステムは、前記第２取得手段が取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定手段の結果に応じて前記インストール実行手段が各ドライバを自動インストールしてもよい。こうすれば、複数のドライバを一括して自動インストールすることができる。また、専用インストーラを持つドライバであっても専用インストーラを持たないドライバであっても適切に自動インストールすることができる。
【００１６】
本発明の第２は、コンピュータに接続されたハードウェアを制御するドライバを前記コンピュータが自動インストールするドライバインストール方法であって、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第１取得ステップと、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第２取得ステップと、
前記第２取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を含むものである。
【００１７】
このドライバインストール方法によれば、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【００１８】
このドライバインストール方法において、前記第１記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよいし、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。また、前記第２記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。更に、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。更にまた、前記ハードウェアのドライバ情報のコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものであってもよい。そしてまた、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましく、例えば、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。そして更に、前記第２取得ステップで取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定ステップでの結果に応じて前記インストール実行ステップで各ドライバを自動インストールしてもよい。
【００１９】
本発明の第３は、コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールプログラムであって、
前記コンピュータに対し、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第１取得ステップと、
前記コンピュータに接続可能な１又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第１記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第２取得ステップと、
前記第２取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第２記憶手段から、前記第１取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を実行させるためのものである。
【００２０】
このドライバインストールプログラムをコンピュータに実行させると、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。なお、このドライバインストールプログラムは、コンピュータが読み取り可能な記憶媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介して配信されてもよいし、その他どのような形で授受されてもよい。
【００２１】
このドライバインストールプログラムにおいて、前記第１記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよいし、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。また、前記第２記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。更に、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。更にまた、前記ハードウェアのドライバ情報のコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものであってもよい。そしてまた、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましく、例えば、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。そして更に、前記第２取得ステップで取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定ステップでの結果に応じて前記インストール実行ステップで各ドライバを自動インストールしてもよい。
【００２２】
【発明の実施の形態】
次に、本発明の実施の形態を図面に基づいて説明する。図１は、本実施形態のコンピュータシステム１０の概略構成を表すブロック図である。
【００２３】
本実施形態のコンピュータシステム１０は、本発明のドライバインストールシステムを実現化したものであり、例えば汎用のディスクトップ型パソコンやノートブック型パソコンである。このコンピュータシステム１０は、ＰＣＩバス等のシステムバス２０に、ＣＰＵ１１、システムメモリ１３、チップセット１５、ＨＤＤ１７、ＣＤ−ＲＯＭドライブ１８、ディスプレイコントローラ２３、キーボードコントローラ２７、モデム３３、サウンドカード３５及びネットワークアダプタ３９が接続されたものである。
【００２４】
ＣＰＵ１１は、このコンピュータシステム１０の全体を制御する役割を果たし、システムメモリ１３に格納されたオペレーティングシステム（例えばマイクロソフト社のウィンドウズ２０００やウィンドウズＸＰなど）や、各種のハードウェアを制御するためのドライバや、各種のアプリケーションソフトのプログラムに基づいて動作する。
【００２５】
システムメモリ１３は、このコンピュータシステム１０の主記憶装置であり、前出のオペレーティングシステムやドライバやアプリケーションソフトを格納している。
【００２６】
チップセット１５は、ＣＰＵ１１をサポートしＣＰＵ１１と共に作動するプログラマブル割込コントローラなどの集積回路をセットにしたものである。
【００２７】
ＨＤＤ１７及びＣＤ−ＲＯＭドライブ１８は、このコンピュータシステム１０の外部記憶装置であり、システム起動時、現行のオペレーティングシステムは、ＨＤＤ１７からシステムメモリ１３にロードされる。一方、後述するドライバ自動インストールソフトのプログラムはＣＤ−ＲＯＭドライブ１８に挿入されたＣＤ−ＲＯＭ１９からシステムメモリ１３にロードされる。また、ドライバ自動インストールソフトのプログラムを実行するにあたり必要となる各種のデータもＣＤ−ＲＯＭ１９に記録されている。
【００２８】
ディスプレイコントローラ２３は、このコンピュータシステム１０において画像出力を制御するものであり、ＣＰＵ１１から受信した信号に基づいてディスプレイ２５の表示を制御する。
【００２９】
キーボードコントローラ２７は、このコンピュータシステム１０においてオペレータによる入力を制御するものであり、キーボード２９やマウス３１等の入力装置の操作をデータ化してＣＰＵ１１に送信する。
【００３０】
モデム３３は、このコンピュータシステム１０が電話回線を介して情報を伝送できるようにする通信装置である。このモデム３３は、送信時にデジタル信号を電話回線上の連続的に変化する搬送波周波数に変調し、受信時に搬送波からの情報を復調しデジタル信号に変換する。
【００３１】
サウンドカード３５は、ＷＡＶＥファイルやＭＩＤＩファイルやＭＰＥＧファイルや音楽ＣＤ−ＲＯＭなどからの音声の再生及び録音を可能にする拡張ボードであり、マイク３６を介して入力された音声データをＣＰＵ１１に送信したり、音声データをスピーカ３７を介して出力したりする。
【００３２】
ネットワークアダプタ３９は、このコンピュータシステム１０をケーブルを介してＬＡＮなどのネットワークへ接続する拡張ボードであり、ネットワークカードなどとも称される。
【００３３】
このコンピュータシステム１０の動作はオペレーティングシステムによって統合的に制御され、オペレーティングシステムはこの制御のために必要な各種情報をＨＤＤ１７上のレジストリに格納する。
【００３４】
次に、このコンピュータシステム１０のドライバ自動インストールについて図２に基づいて説明する。図２はドライバ自動インストールプログラムのフローチャートである。
【００３５】
コンピュータシステム１０のＣＰＵ１１は、ドライバ自動インストールプログラムが記録されたＣＤ−ＲＯＭ１９がセットされると、ステップＳ１００で、オートラン（Ａｕｔｏ　Ｒｕｎ）機能が働き、ＣＤ−ＲＯＭ１９からドライバ自動インストールプログラムが読み出されて開始される。
【００３６】
続くステップＳ１０５で、ＣＰＵ１１は、インストールすべきドライバリストを作成する。ここで、セットされたＣＤ−ＲＯＭ１９には、このコンピュータシステム１０に搭載可能なハードウェアにつき、ハードウェアＩＤの一部やドライバ情報などが記述された定義ファイルが格納されている。ハードウェアＩＤは、ベンダＩＤとデバイスＩＤとサブシステムＩＤとリビジョンＩＤとで構成されている。このうち、ベンダＩＤはそのハードウェアを製造したメーカを表すＩＤであり、デバイスＩＤはその製造メーカが設定したその製品を表すＩＤであり、サブシステムＩＤはそのハードウェアが複数種類存在する場合にどの種類かを特定するＩＤであり、リビジョンＩＤはそのハードウェアのバージョン情報を表すＩＤである。
【００３７】
ここで、図３（ａ）は定義ファイルの具体例である。この定義ファイルは、１行目にチップセットに関する定義、２行目にサウンドドライバに関する定義、３行目にネットワークドライバに関する定義、４行目にワイヤレスネットワークドライバに関する定義、５行目にモデムドライバに関する定義、６行目にディスプレイドライバに関する定義が記述されている。各定義には、左から順にベンダＩＤ欄５１、デバイスＩＤ欄５２、ドライバ名欄６１、スクリプト名欄７１、コールコマンド関連情報欄８１が記述される。ベンダＩＤ欄５１及びデバイスＩＤ欄５２に記述されるベンダＩＤ及びデバイスＩＤはハードウェアＩＤの特定部をなすものであり、ドライバ名欄６１に記述されるドライバ名は後述するメニュー表示の際に使用される名称であり、スクリプト名欄７１に記述されるスクリプト名は各ドライバの専用インストーラの手順が記載されたスクリプトの名称であり、コールコマンド関連情報欄８１に記述される情報は自動インストールを利用せずユーザが手動でインストールする場合に利用するものである。
【００３８】
図３（ａ）の定義ファイルの１〜４行目及び６行目は、スクリプト名欄７１にスクリプト名が記述され、コールコマンド関連情報欄８１に専用インストーラのコールコマンドが記述されている。これに対して、定義ファイルの５行目は、モデムドライバに関する定義であるが、モデムドライバには専用インストーラが用意されていないためスクリプトが作成されておらず、このためスクリプト名欄７１には本来スクリプト名を記述されるべきところを「＄ＳＥＴＵＰ＄」と記述されており、コールコマンド関連情報欄８１も専用インストーラが存在しないためオペレーティングシステムのアプリケーションプログラムインタフェースとして提供される汎用インストーラをコールするコマンドラインのうちハードウェアＩＤが未指定のもの（ハードウェア未指定コマンドライン）が記述されている。すなわち、汎用インストーラをコールするコマンドラインは、図５に示すように、セットアップコマンドにオプションスイッチを付け、第１パラメータとしてｉｎｆファイルを指定し、第２パラメータとして所定形式のハードウェアＩＤを指定したものであるが、コールコマンド関連情報欄８１には、このうち第２パラメータが省略されたものが記述されている。なお、コールコマンド関連情報欄８１には、どのドライブがｉｎｆファイルを格納していても対処できるようにドライブ名が「？？」と記述されている。
【００３９】
さて、ステップＳ１０５において、ＣＰＵ１１は、システムバス２０に接続されている各ハードウェアからハードウェアＩＤのうちの少なくともベンダＩＤ及びデバイスＩＤを取得し、取得したベンダＩＤ及びデバイスＩＤとＣＤ−ＲＯＭ１９に記憶された定義ファイルのベンダＩＤ欄５１及びデバイスＩＤ欄５２とを照合することにより、ＣＤ−ＲＯＭ１９に収録されているドライバの中からインストールすべきドライバのみを選択し、ドライバリストを作成する。図３（ｂ）はハードウェアから取得したベンダＩＤ及びデバイスＩＤの一例であり、これを図３（ａ）の定義ファイルと照合することにより、チップセットドライバ、サウンドドライバ、ネットワークドライバ、モデムドライバ、ディスプレイドライバをリストアップしたドライバリストを作成する。
【００４０】
続くステップＳ１１０で、ＣＰＵ１１は、一括インストールのほかに個別インストール等の他のメニューを選択可能なメニュー選択画面をディスプレイに表示し、ステップＳ１１５で、一括インストールが選択されたか否かを判定する。ステップＳ１１５で一括インストールが選択されたなかったとき、つまり一括インストール以外のメニューが選択されたときには、ステップＳ１２０に進み、選択されたメニューに応じたルーチンを実行し、その後このプログラムを終了する。一方、ステップＳ１１５で一括インストールが選択されたときには、ステップＳ１２５に進んでインストールすべきドライバを一覧表示する。この一覧表示は、ステップＳ１０５で作成したドライバリストをディスプレイ２５に表示することにより行う。図４は、ドライバリストをディスプレイ２５に表示したときの一例を示す。この表示画面には、「インストール開始」ボタンが設けられている。
【００４１】
続くステップＳ１３０で、「インストール開始」ボタンがオンされたか否かを判定し、オンされなければそのまま待機し、オンされたならばステップＳ１３５〜Ｓ１６０を実行することにより、ドライバリストにリストアップされたドライバを順次自動インストールしていく。
【００４２】
すなわち、ステップＳ１３５でカウンタの値ｉに初期値「１」をセットし、ステップＳ１４０でｉ番目のドライバにつきスクリプトが存在するか否かを判定する。ここで、スクリプトとは、そのドライバに専用インストーラが存在しその専用インストーラのウィザードを自動的に進行させるための記述がなされたものである。例えば、スクリプトには、そのドライバの専用インストーラの手順に従ってダイアログが表示されるごとに「次へ」ボタンがオンされていき、インストールが完了したあと今すぐ再起動するか後で再起動するかのダイアログが表示されると「後で再起動する」がオンされるように記述されている。ステップＳ１４０でｉ番目のドライバにつきスクリプトが存在するとき、つまり定義ファイルのスクリプト名欄７１にスクリプト名が記述されているときには、ステップＳ１４５に進み、スクリプト解釈実行プログラムを呼び出してそのドライバのスクリプトに基づいて処理を実行することにより、そのドライバの自動インストールを実行する。
【００４３】
例えば、チップセットをインストールする場合には、図３（ａ）の定義ファイルの１行目に記述さているように、スクリプト名欄７１にはスクリプト名である「ｃｈｉｐｉｎｆ．ＥＤＳ」、つまり拡張子がＥＤＳのファイル名が記述されていることから、スクリプト解釈実行プログラムを呼び出してこのスクリプトファイルを解釈し実行することにより、専用インストーラによる自動インストールが行われる。
【００４４】
一方、ステップＳ１４０でｉ番目のドライバにつきスクリプトが存在しないとき、つまり定義ファイルのスクリプト名欄７１にスクリプト名が記述されていないときには、ステップＳ１５０に進み、オペレーティングシステムのレジストリに所定形式で保管されているハードウェアＩＤの中から、ｉ番目のドライバに対応するベンダＩＤ及びデバイスＩＤ（定義ファイルのベンダＩＤ欄５１及びデバイスＩＤ欄５２に記述されたＩＤ）を含むものを取得し、取得した所定形式のハードウェアＩＤをｉ番目のドライバに対応するハードウェア未指定コマンドラインにマージしてそのコマンドラインを完成させる。
【００４５】
例えば、モデムドライバをインストールする場合には、図３（ａ）の定義ファイルの５行目に記述されているように、スクリプト名欄７１にはスクリプト名ではなく「＄ＳＥＴＵＰ＄」と記述されていることから、スクリプトが存在しないと判定される。そして、オペレーティングシステム（例えばマイクロソフト社のウィンドウズＸＰ）のレジストリ（例えばＰＣＩバスに接続されているハードウェアＩＤ群を格納している場所）の中から、このモデムのベンダＩＤ欄５１及びデバイスＩＤ欄５２のベンダＩＤ及びデバイスＩＤを含むものを取得する。この場合、所定形式のハードウェアＩＤ（数１参照）を取得し、定義ファイルの５行目のコールコマンド関連情報欄８１に記述されたハードウェア未指定コマンドラインにこの所定形式のハードウェアＩＤを第２パラメータとしてマージする。そのときのコマンドラインを図５に示す。なお、コールコマンド関連情報欄８１ではドライブ名を「？？」としたが、ここではＣドライブに汎用インストーラが格納されているためドライブ名は「Ｃ」となる。図５は、入力したコマンドラインに従って処理が実行されたあとドライバの更新が成功したときのディスプレイ２５の表示画面を示す。なお、レジストリは、オペレーティングシステムで各種ソフトウェアの設定情報などを保存する場所であり、本実施形態ではオペレーティングシステムによって認識されたハードウェアの所定形式のハードウェアＩＤがハードウェア未指定コマンドラインにマージされて実行コマンドとして機能可能な形式でこのレジストリに記憶されている。
【００４６】
【数１】
2004013265.tif 000003
【００４７】
その後、ステップＳ１５５に進み、ドライバリストにリストアップされたすべてのドライバのインストールが完了したか否かを判定し、まだすべてのドライバのインストールが完了していないときにはステップＳ１６０でカウンタの値ｉを１インクリメントしたあと再びステップＳ１４０以降の処理を行い、一方、すべてのドライバのインストールが完了したときにはステップＳ１６５に進んですべてのドライバのインストールが完了した旨のメッセージをディスプレイ２５に表示し、更にステップＳ１７０に進んで今すぐ再起動をすることの確認を行い、このプログラムを終了する。
【００４８】
なお、本実施形態では、ドライバリストにリストアップされたドライバの上から順にインストールを行っていくが、このインストール順は予めトラブルが起きにくい適切な順序に定められている。
【００４９】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態のＣＤ−ＲＯＭ１９が本発明の第１記憶手段に相当し、ＨＤＤ１７が第２記憶手段に相当し、ＣＰＵ１１が第１〜第２取得手段、判定手段及びインストール実行手段に相当する。また、スクリプト名欄７１及びコールコマンド関連情報欄８１の内容が本発明のドライバ情報に相当し、ハードウェアＩＤがハードウェアの識別情報に相当し、ハードウェアＩＤのうちベンダＩＤ及びデバイスＩＤがハードウェアの識別情報の特定部に相当する。更に、ＣＤ−ＲＯＭ１９には本発明のドライバインストールプログラムが記録されている。
【００５０】
以上詳述した本実施形態では、コンピュータシステム１０のシステムバス２０に現に接続されているハードウェアからそのハードウェアのベンダＩＤ及びデバイスＩＤを取得し、このベンダＩＤ及びデバイスＩＤに対応するスクリプト名欄７１の内容をＣＤ−ＲＯＭ１９から取得し、得られたスクリプト名欄７１の内容がスクリプト名か否かを判定する。そして、判定の結果、スクリプト名欄７１の内容がスクリプト名のときには、そのスクリプトを解釈実行して専用インストーラによりそのドライバの自動インストールを実行する。一方、スクリプト名欄７１の内容がスクリプト名でなかったときには、そのベンダＩＤ及びデバイスＩＤに対応するコールコマンド関連情報欄８１のハードウェア未指定コールコマンドをＣＤ−ＲＯＭ１９から取得すると共に、そのベンダＩＤ及びデバイスＩＤを含む所定形式のハードウェアＩＤをレジストリから取得し、レジストリから取得した所定形式のハードウェアＩＤをハードウェア未指定コールコマンドにマージし、オペレーティングシステムのアプリケーションプログラムインタフェースである汎用インストーラをコールして自動インストールを実行する。このように、本実施形態によれば、コンピュータシステム１１に現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【００５１】
また、本実施形態における汎用インストーラは、コンピュータシステム１０のオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであるため、別途、汎用インストーラを用意する必要がない。
【００５２】
更に、ハードウェアのドライバ情報の一つであるコールコマンド関連情報欄８１のコマンドラインはハードウェア未指定コールコマンドであるため、このハードウェア未指定コールコマンドにレジストリから取得した所定形式のハードウェアＩＤをパラメータとしてマージするだけで実行コマンドが完成し、汎用インストーラによる自動インストールが実行される。
【００５３】
更にまた、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定するＩＤからなるハードウェアＩＤのうち、製造メーカの事情（例えば製造ロットが相違する等）によって変更されるおそれのないベンダＩＤ及びデバイスＩＤとドライバ情報との対応関係をＣＤ−ＲＯＭ１９に記憶しているため、製造メーカの事情によってサブシステムＩＤ及びリビジョンＩＤが変更されたとしても、この対応関係を見直す必要がない。
【００５４】
そしてまた、ドライバリストに列挙された複数のドライバを一括して自動インストールすることができ、また、専用インストーラを持つドライバであっても専用インストーラを持たないドライバであっても適切に自動インストールすることができる。
【００５５】
なお、本発明は上述した実施形態に何等限定されるものではなく、種々の形態で実施し得ることはいうまでもない。
【００５６】
例えば、上述した実施形態では、システムバス２０に接続されているハードウェアからベンダＩＤ及びデバイスＩＤのみを取得したが、これらのＩＤに加えてサブシステムＩＤやリビジョンＩＤを取得してもよい。但し、定義ファイルとの照合は製造メーカの事情によって変更されることのないベンダＩＤ及びデバイスＩＤに基づいて行う。
【００５７】
また、上述した実施形態では、定義ファイルやドライバ自動インストールプログラムをＣＤ−ＲＯＭ１９に記憶したが、ＤＶＤ、ＦＤ、ＭＯ、各種メモリカードなどに記憶してもよいし、あるいは、外部からネットワークなどを経由して定義ファイルやドライバ自動インストールプログラムの提供を受けてＨＤＤ１７等に記憶してもよい。
【００５８】
更に、上述した実施形態では、スクリプトのないドライバのコールコマンド関連情報欄８１に一つのハードウェア未指定コールコマンドを記述したが、オペレーティングシステムごとに複数のハードウェア未指定コールコマンドを列挙して記述してもよい。例えば、コールコマンド関連情報欄８１に、オペレーティングシステムがマイクロソフト社のウィンドウズＸＰの場合のハードウェア未指定コールコマンドと共に、オペレーティングシステムがマイクロソフト社のウィンドウズ２０００の場合のハードウェア未指定コールコマンドを並記してもよい。どのコールコマンドを使用するかはどのオペレーティングシステムがインストールされているかによって決めればよい。
【００５９】
更にまた、上述した実施形態では、ＣＤ−ＲＯＭ１９に記憶した定義ファイルには一つのハードウェアに対して一つのドライバを対応付けたが、一つのハードウェアに対して複数のドライバを対応付けてもよい。例えば、コンピュータシステム１０のモデムとして製造メーカＡの製品ａというモデムと製造メーカＢの製品ｂというモデムが接続可能だとすると、両方のモデムについて定義を作成してＣＤ−ＲＯＭ１９に記憶しておき、実際に接続されているモデムに応じてどちらの定義を用いるかを決めればよい。こうすれば、コンピュータシステム１０にどちらのモデムが接続されていても１枚のＣＤ−ＲＯＭ１９で対処することができる。
【図面の簡単な説明】
【図１】本実施形態のコンピュータシステムの概略構成を表すブロック図である。
【図２】ドライバ自動インストールプログラムのフローチャートである。
【図３】定義ファイルとハードウェア情報検出値を表す説明図である。
【図４】ドライバリストの表示画面を表す説明図である。
【図５】汎用インストーラのコマンドラインを表す説明図である。
【符号の説明】
１０…コンピュータシステム、１１…ＣＰＵ、１３…システムメモリ、１５…チップセット、１７…ＨＤＤ、１８…ＣＤ−ＲＯＭドライブ、１９…ＣＤ−ＲＯＭ、２０…システムバス、２３…ディスプレイコントローラ、２５…ディスプレイ、２７…キーボードコントローラ、２９…キーボード、３１…マウス、３３…モデム、３５…サウンドカード、３６…マイク、３７…スピーカ、３９…ネットワークアダプタ、５１…ベンダＩＤ欄、５２…デバイスＩＤ欄、６１…ドライバ名欄、７１…スクリプト名欄、８１…コールコマンド関連情報欄。
【図１】
2004013265.tif 000004
【図２】
2004013265.tif 000005
【図３】
2004013265.tif 000006
【図４】
2004013265.tif 000007
【図５】
2004013265.tif 000008