JP4158422B2 - ドライバインストールシステム、その方法及びそのプログラム - Google Patents
ドライバインストールシステム、その方法及びそのプログラム Download PDFInfo
- Publication number
- JP4158422B2 JP4158422B2 JP2002162561A JP2002162561A JP4158422B2 JP 4158422 B2 JP4158422 B2 JP 4158422B2 JP 2002162561 A JP2002162561 A JP 2002162561A JP 2002162561 A JP2002162561 A JP 2002162561A JP 4158422 B2 JP4158422 B2 JP 4158422B2
- Authority
- JP
- Japan
- Prior art keywords
- driver
- hardware
- identification information
- information
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000009434 installation Methods 0.000 title claims description 75
- 238000000034 method Methods 0.000 title claims description 25
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、ドライバインストールシステム、その方法及びそのプログラムに関する。
【0002】
【従来の技術】
近年、例えばディスクトップ型、タワー型、ノートブック型などのパソコンにおいて、種々のハードウェアを組み込んだものが販売されている。これらのハードウェアをパソコンで利用するには、各ハードウェアの動作に必要な情報をパソコンのオペレーティングシステムに提供したり動作を管理したりするドライバが必要となる。このため、パソコンに新たなハードウェアを組み込む場合には、ユーザはそのハードウェアのドライバのインストール作業を行う必要がある。
【0003】
【発明が解決しようとする課題】
しかしながら、各ハードウェアのドライバのインストール作業は、パソコンに組み込まれたハードウェアをユーザが確認したあと、各ハードウェアに対応するドライバを各種ハードウェアのドライバが記録されたドライバCDから手動でインストールするといった作業になるため、ユーザに大きな負担がかかるという問題があった。なお、特開2000−339263には、ドライバ取得方法に関する技術が開示されているが、具体的な自動インストールの手法については開示されていない。
【0004】
本発明は、このような課題に鑑みなされたものであり、ドライバをインストールする際のユーザの負担を軽減することを目的の一つとする。また、コンピュータに現に接続されているハードウェアのドライバだけを自動インストールすることを目的の一つとする。更に、複数のドライバを一括して自動インストールすることを目的の一つとする。
【0005】
【課題を解決するための手段およびその作用・効果】
上述の目的の少なくとも一つを達成するため、本発明の第1は、コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールシステムであって、
前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第1記憶手段と、
前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第2記憶手段と、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの識別情報の特定部を取得する第1取得手段と、
前記第1取得手段が取得した前記識別情報の特定部に対応するドライバ情報を前記第1記憶手段から取得する第2取得手段と、
前記第2取得手段が取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定手段と、
前記判定手段により前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定手段により前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記第1取得手段が取得した前記識別情報の特定部を含む前記所定形式の識別情報を前記第2記憶手段から取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして前記ドライバの自動インストールを実行するインストール実行手段と
を備えたものである。
【0006】
このドライバインストールシステムでは、コンピュータに現に接続されているハードウェアからそのハードウェアの識別情報の特定部を取得し、この識別情報の特定部に対応するドライバ情報を第1記憶手段から取得し、得られたドライバ情報にそのドライバの専用インストーラの処理手順を記述したスクリプトが含まれているか否かを判定する。そして、判定の結果、スクリプトが含まれているときには、そのスクリプトを解釈実行して専用インストーラによりそのドライバの自動インストールを実行する。一方、スクリプトが含まれていないときには、そのハードウェアの識別情報の特定部を含む所定形式の識別情報を第2記憶手段から取得し、その所定形式の識別情報とドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールしてそのドライバの自動インストールを実行する。
【0007】
このドライバインストールシステムによれば、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【0008】
本発明のドライバインストールシステムにおいて、前記第1記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよい。こうすれば、第1記憶手段をコンピュータに簡単に付属させることができる。ここで、「記憶媒体」としては、コンピュータが読み取り可能な媒体であればどのようなものでもよく、例えばCD、DVD、FD、MO、各種メモリカードなどが挙げられる。
【0009】
本発明のドライバインストールシステムにおいて、前記第1記憶手段は、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。こうすれば、第1記憶手段の記憶内容をネットワーク経由で授受することも可能となる。ここで、「媒体」としては、例えばHDDなどが挙げられる。
【0010】
本発明のドライバインストールシステムにおいて、前記第2記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。ここで、「オペレーティングシステム」としては、特に限定されないが、例えばマイクロソフト社のウィンドウズやアップル社のマックOSなどが挙げられる。ウィンドウズの場合にはハードウェアの識別情報を所定形式でレジストリに記憶してもよい。
【0011】
本発明のドライバインストールシステムにおいて、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。こうすれば、別途、汎用インストーラを用意する必要がない。
【0012】
本発明のドライバインストールシステムにおいて、前記ハードウェアのドライバ情報に含まれるコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のもの(ハードウェア未指定コマンドライン)であってもよい。こうすれば、このハードウェア未指定コマンドラインにハードウェアの所定形式の識別情報を指定するだけで汎用インストーラによる自動インストールが実行される。
【0013】
本発明のドライバインストールシステムにおいて、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましい。こうすれば、第1記憶手段におけるハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係は製造メーカの事情に影響されないため、製造メーカの事情によって対応関係を見直す必要がない。
【0014】
本発明のドライバインストールシステムにおいて、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。一般に、ベンダを特定する識別符号はそのハードウェアの製造メーカを表し、デバイスを特定する識別符号はそのハードウェアの製品を表すものであり、同じ製造メーカの同じ製品については変更されることがない。これに対して、サブシステムを特定する識別符号やリビジョンを特定する識別符号は、同じ製造メーカの同じ製品であっても製造メーカの事情(例えば製造ロットが相違する等)によって変更されるおそれがある。つまり、サブシステム及びリビジョンをそれぞれ特定する識別符号は製造メーカの事情に影響されるが、ベンダ及びデバイスをそれぞれ特定する識別符号は製造メーカの事情に影響されない。このため、第1記憶手段におけるハードウェアのドライバ情報と各ハードウェアの識別情報のうちベンダ及びデバイスをそれぞれ特定する識別符号との対応関係は、製造メーカの事情に影響されず、製造メーカの事情によって対応関係を見直す必要がない。
【0015】
本発明のドライバインストールシステムは、前記第2取得手段が取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定手段の結果に応じて前記インストール実行手段が各ドライバを自動インストールしてもよい。こうすれば、複数のドライバを一括して自動インストールすることができる。また、専用インストーラを持つドライバであっても専用インストーラを持たないドライバであっても適切に自動インストールすることができる。
【0016】
本発明の第2は、コンピュータに接続されたハードウェアを制御するドライバを前記コンピュータが自動インストールするドライバインストール方法であって、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第1取得ステップと、
前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第1記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第2取得ステップと、
前記第2取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第2記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を含むものである。
【0017】
このドライバインストール方法によれば、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【0018】
このドライバインストール方法において、前記第1記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよいし、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。また、前記第2記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。更に、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。更にまた、前記ハードウェアのドライバ情報のコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものであってもよい。そしてまた、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましく、例えば、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。そして更に、前記第2取得ステップで取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定ステップでの結果に応じて前記インストール実行ステップで各ドライバを自動インストールしてもよい。
【0019】
本発明の第3は、コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールプログラムであって、
前記コンピュータに対し、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の特定部を取得する第1取得ステップと、
前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第1記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第2取得ステップと、
前記第2取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で前記ハードウェアの識別情報を記憶する第2記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと
を実行させるためのものである。
【0020】
このドライバインストールプログラムをコンピュータに実行させると、コンピュータに現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。なお、このドライバインストールプログラムは、コンピュータが読み取り可能な記憶媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介して配信されてもよいし、その他どのような形で授受されてもよい。
【0021】
このドライバインストールプログラムにおいて、前記第1記憶手段は、前記コンピュータに対して着脱自在な記憶媒体であってもよいし、前記コンピュータの外部から提供された前記対応関係を記憶する媒体であってもよい。また、前記第2記憶手段は、前記コンピュータのオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶してもよい。更に、前記汎用インストーラは、前記コンピュータのオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであってもよい。更にまた、前記ハードウェアのドライバ情報のコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものであってもよい。そしてまた、前記ハードウェアの識別情報は、前記ハードウェアの製造メーカの事情に影響されない部分と影響される部分とを含み、前記ハードウェアの識別情報の特定部は、前記ハードウェアの製造メーカの事情に影響されない部分であることが好ましく、例えば、前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号であることが好ましい。そして更に、前記第2取得ステップで取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定ステップでの結果に応じて前記インストール実行ステップで各ドライバを自動インストールしてもよい。
【0022】
【発明の実施の形態】
次に、本発明の実施の形態を図面に基づいて説明する。図1は、本実施形態のコンピュータシステム10の概略構成を表すブロック図である。
【0023】
本実施形態のコンピュータシステム10は、本発明のドライバインストールシステムを実現化したものであり、例えば汎用のディスクトップ型パソコンやノートブック型パソコンである。このコンピュータシステム10は、PCIバス等のシステムバス20に、CPU11、システムメモリ13、チップセット15、HDD17、CD−ROMドライブ18、ディスプレイコントローラ23、キーボードコントローラ27、モデム33、サウンドカード35及びネットワークアダプタ39が接続されたものである。
【0024】
CPU11は、このコンピュータシステム10の全体を制御する役割を果たし、システムメモリ13に格納されたオペレーティングシステム(例えばマイクロソフト社のウィンドウズ2000やウィンドウズXPなど)や、各種のハードウェアを制御するためのドライバや、各種のアプリケーションソフトのプログラムに基づいて動作する。
【0025】
システムメモリ13は、このコンピュータシステム10の主記憶装置であり、前出のオペレーティングシステムやドライバやアプリケーションソフトを格納している。
【0026】
チップセット15は、CPU11をサポートしCPU11と共に作動するプログラマブル割込コントローラなどの集積回路をセットにしたものである。
【0027】
HDD17及びCD−ROMドライブ18は、このコンピュータシステム10の外部記憶装置であり、システム起動時、現行のオペレーティングシステムは、HDD17からシステムメモリ13にロードされる。一方、後述するドライバ自動インストールソフトのプログラムはCD−ROMドライブ18に挿入されたCD−ROM19からシステムメモリ13にロードされる。また、ドライバ自動インストールソフトのプログラムを実行するにあたり必要となる各種のデータもCD−ROM19に記録されている。
【0028】
ディスプレイコントローラ23は、このコンピュータシステム10において画像出力を制御するものであり、CPU11から受信した信号に基づいてディスプレイ25の表示を制御する。
【0029】
キーボードコントローラ27は、このコンピュータシステム10においてオペレータによる入力を制御するものであり、キーボード29やマウス31等の入力装置の操作をデータ化してCPU11に送信する。
【0030】
モデム33は、このコンピュータシステム10が電話回線を介して情報を伝送できるようにする通信装置である。このモデム33は、送信時にデジタル信号を電話回線上の連続的に変化する搬送波周波数に変調し、受信時に搬送波からの情報を復調しデジタル信号に変換する。
【0031】
サウンドカード35は、WAVEファイルやMIDIファイルやMPEGファイルや音楽CD−ROMなどからの音声の再生及び録音を可能にする拡張ボードであり、マイク36を介して入力された音声データをCPU11に送信したり、音声データをスピーカ37を介して出力したりする。
【0032】
ネットワークアダプタ39は、このコンピュータシステム10をケーブルを介してLANなどのネットワークへ接続する拡張ボードであり、ネットワークカードなどとも称される。
【0033】
このコンピュータシステム10の動作はオペレーティングシステムによって統合的に制御され、オペレーティングシステムはこの制御のために必要な各種情報をHDD17上のレジストリに格納する。
【0034】
次に、このコンピュータシステム10のドライバ自動インストールについて図2に基づいて説明する。図2はドライバ自動インストールプログラムのフローチャートである。
【0035】
コンピュータシステム10のCPU11は、ドライバ自動インストールプログラムが記録されたCD−ROM19がセットされると、ステップS100で、オートラン(Auto Run)機能が働き、CD−ROM19からドライバ自動インストールプログラムが読み出されて開始される。
【0036】
続くステップS105で、CPU11は、インストールすべきドライバリストを作成する。ここで、セットされたCD−ROM19には、このコンピュータシステム10に搭載可能なハードウェアにつき、ハードウェアIDの一部やドライバ情報などが記述された定義ファイルが格納されている。ハードウェアIDは、ベンダIDとデバイスIDとサブシステムIDとリビジョンIDとで構成されている。このうち、ベンダIDはそのハードウェアを製造したメーカを表すIDであり、デバイスIDはその製造メーカが設定したその製品を表すIDであり、サブシステムIDはそのハードウェアが複数種類存在する場合にどの種類かを特定するIDであり、リビジョンIDはそのハードウェアのバージョン情報を表すIDである。
【0037】
ここで、図3(a)は定義ファイルの具体例である。この定義ファイルは、1行目にチップセットに関する定義、2行目にサウンドドライバに関する定義、3行目にネットワークドライバに関する定義、4行目にワイヤレスネットワークドライバに関する定義、5行目にモデムドライバに関する定義、6行目にディスプレイドライバに関する定義が記述されている。各定義には、左から順にベンダID欄51、デバイスID欄52、ドライバ名欄61、スクリプト名欄71、コールコマンド関連情報欄81が記述される。ベンダID欄51及びデバイスID欄52に記述されるベンダID及びデバイスIDはハードウェアIDの特定部をなすものであり、ドライバ名欄61に記述されるドライバ名は後述するメニュー表示の際に使用される名称であり、スクリプト名欄71に記述されるスクリプト名は各ドライバの専用インストーラの手順が記載されたスクリプトの名称であり、コールコマンド関連情報欄81に記述される情報は自動インストールを利用せずユーザが手動でインストールする場合に利用するものである。
【0038】
図3(a)の定義ファイルの1〜4行目及び6行目は、スクリプト名欄71にスクリプト名が記述され、コールコマンド関連情報欄81に専用インストーラのコールコマンドが記述されている。これに対して、定義ファイルの5行目は、モデムドライバに関する定義であるが、モデムドライバには専用インストーラが用意されていないためスクリプトが作成されておらず、このためスクリプト名欄71には本来スクリプト名を記述されるべきところを「$SETUP$」と記述されており、コールコマンド関連情報欄81も専用インストーラが存在しないためオペレーティングシステムのアプリケーションプログラムインタフェースとして提供される汎用インストーラをコールするコマンドラインのうちハードウェアIDが未指定のもの(ハードウェア未指定コマンドライン)が記述されている。すなわち、汎用インストーラをコールするコマンドラインは、図5に示すように、セットアップコマンドにオプションスイッチを付け、第1パラメータとしてinfファイルを指定し、第2パラメータとして所定形式のハードウェアIDを指定したものであるが、コールコマンド関連情報欄81には、このうち第2パラメータが省略されたものが記述されている。なお、コールコマンド関連情報欄81には、どのドライブがinfファイルを格納していても対処できるようにドライブ名が「??」と記述されている。
【0039】
さて、ステップS105において、CPU11は、システムバス20に接続されている各ハードウェアからハードウェアIDのうちの少なくともベンダID及びデバイスIDを取得し、取得したベンダID及びデバイスIDとCD−ROM19に記憶された定義ファイルのベンダID欄51及びデバイスID欄52とを照合することにより、CD−ROM19に収録されているドライバの中からインストールすべきドライバのみを選択し、ドライバリストを作成する。図3(b)はハードウェアから取得したベンダID及びデバイスIDの一例であり、これを図3(a)の定義ファイルと照合することにより、チップセットドライバ、サウンドドライバ、ネットワークドライバ、モデムドライバ、ディスプレイドライバをリストアップしたドライバリストを作成する。
【0040】
続くステップS110で、CPU11は、一括インストールのほかに個別インストール等の他のメニューを選択可能なメニュー選択画面をディスプレイに表示し、ステップS115で、一括インストールが選択されたか否かを判定する。ステップS115で一括インストールが選択されたなかったとき、つまり一括インストール以外のメニューが選択されたときには、ステップS120に進み、選択されたメニューに応じたルーチンを実行し、その後このプログラムを終了する。一方、ステップS115で一括インストールが選択されたときには、ステップS125に進んでインストールすべきドライバを一覧表示する。この一覧表示は、ステップS105で作成したドライバリストをディスプレイ25に表示することにより行う。図4は、ドライバリストをディスプレイ25に表示したときの一例を示す。この表示画面には、「インストール開始」ボタンが設けられている。
【0041】
続くステップS130で、「インストール開始」ボタンがオンされたか否かを判定し、オンされなければそのまま待機し、オンされたならばステップS135〜S160を実行することにより、ドライバリストにリストアップされたドライバを順次自動インストールしていく。
【0042】
すなわち、ステップS135でカウンタの値iに初期値「1」をセットし、ステップS140でi番目のドライバにつきスクリプトが存在するか否かを判定する。ここで、スクリプトとは、そのドライバに専用インストーラが存在しその専用インストーラのウィザードを自動的に進行させるための記述がなされたものである。例えば、スクリプトには、そのドライバの専用インストーラの手順に従ってダイアログが表示されるごとに「次へ」ボタンがオンされていき、インストールが完了したあと今すぐ再起動するか後で再起動するかのダイアログが表示されると「後で再起動する」がオンされるように記述されている。ステップS140でi番目のドライバにつきスクリプトが存在するとき、つまり定義ファイルのスクリプト名欄71にスクリプト名が記述されているときには、ステップS145に進み、スクリプト解釈実行プログラムを呼び出してそのドライバのスクリプトに基づいて処理を実行することにより、そのドライバの自動インストールを実行する。
【0043】
例えば、チップセットをインストールする場合には、図3(a)の定義ファイルの1行目に記述さているように、スクリプト名欄71にはスクリプト名である「chipinf.EDS」、つまり拡張子がEDSのファイル名が記述されていることから、スクリプト解釈実行プログラムを呼び出してこのスクリプトファイルを解釈し実行することにより、専用インストーラによる自動インストールが行われる。
【0044】
一方、ステップS140でi番目のドライバにつきスクリプトが存在しないとき、つまり定義ファイルのスクリプト名欄71にスクリプト名が記述されていないときには、ステップS150に進み、オペレーティングシステムのレジストリに所定形式で保管されているハードウェアIDの中から、i番目のドライバに対応するベンダID及びデバイスID(定義ファイルのベンダID欄51及びデバイスID欄52に記述されたID)を含むものを取得し、取得した所定形式のハードウェアIDをi番目のドライバに対応するハードウェア未指定コマンドラインにマージしてそのコマンドラインを完成させる。
【0045】
例えば、モデムドライバをインストールする場合には、図3(a)の定義ファイルの5行目に記述されているように、スクリプト名欄71にはスクリプト名ではなく「$SETUP$」と記述されていることから、スクリプトが存在しないと判定される。そして、オペレーティングシステム(例えばマイクロソフト社のウィンドウズXP)のレジストリ(例えばPCIバスに接続されているハードウェアID群を格納している場所)の中から、このモデムのベンダID欄51及びデバイスID欄52のベンダID及びデバイスIDを含むものを取得する。この場合、所定形式のハードウェアID(数1参照)を取得し、定義ファイルの5行目のコールコマンド関連情報欄81に記述されたハードウェア未指定コマンドラインにこの所定形式のハードウェアIDを第2パラメータとしてマージする。そのときのコマンドラインを図5に示す。なお、コールコマンド関連情報欄81ではドライブ名を「??」としたが、ここではCドライブに汎用インストーラが格納されているためドライブ名は「C」となる。図5は、入力したコマンドラインに従って処理が実行されたあとドライバの更新が成功したときのディスプレイ25の表示画面を示す。なお、レジストリは、オペレーティングシステムで各種ソフトウェアの設定情報などを保存する場所であり、本実施形態ではオペレーティングシステムによって認識されたハードウェアの所定形式のハードウェアIDがハードウェア未指定コマンドラインにマージされて実行コマンドとして機能可能な形式でこのレジストリに記憶されている。
【0046】
【数1】
【0047】
その後、ステップS155に進み、ドライバリストにリストアップされたすべてのドライバのインストールが完了したか否かを判定し、まだすべてのドライバのインストールが完了していないときにはステップS160でカウンタの値iを1インクリメントしたあと再びステップS140以降の処理を行い、一方、すべてのドライバのインストールが完了したときにはステップS165に進んですべてのドライバのインストールが完了した旨のメッセージをディスプレイ25に表示し、更にステップS170に進んで今すぐ再起動をすることの確認を行い、このプログラムを終了する。
【0048】
なお、本実施形態では、ドライバリストにリストアップされたドライバの上から順にインストールを行っていくが、このインストール順は予めトラブルが起きにくい適切な順序に定められている。
【0049】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態のCD−ROM19が本発明の第1記憶手段に相当し、HDD17が第2記憶手段に相当し、CPU11が第1〜第2取得手段、判定手段及びインストール実行手段に相当する。また、スクリプト名欄71及びコールコマンド関連情報欄81の内容が本発明のドライバ情報に相当し、ハードウェアIDがハードウェアの識別情報に相当し、ハードウェアIDのうちベンダID及びデバイスIDがハードウェアの識別情報の特定部に相当する。更に、CD−ROM19には本発明のドライバインストールプログラムが記録されている。
【0050】
以上詳述した本実施形態では、コンピュータシステム10のシステムバス20に現に接続されているハードウェアからそのハードウェアのベンダID及びデバイスIDを取得し、このベンダID及びデバイスIDに対応するスクリプト名欄71の内容をCD−ROM19から取得し、得られたスクリプト名欄71の内容がスクリプト名か否かを判定する。そして、判定の結果、スクリプト名欄71の内容がスクリプト名のときには、そのスクリプトを解釈実行して専用インストーラによりそのドライバの自動インストールを実行する。一方、スクリプト名欄71の内容がスクリプト名でなかったときには、そのベンダID及びデバイスIDに対応するコールコマンド関連情報欄81のハードウェア未指定コールコマンドをCD−ROM19から取得すると共に、そのベンダID及びデバイスIDを含む所定形式のハードウェアIDをレジストリから取得し、レジストリから取得した所定形式のハードウェアIDをハードウェア未指定コールコマンドにマージし、オペレーティングシステムのアプリケーションプログラムインタフェースである汎用インストーラをコールして自動インストールを実行する。このように、本実施形態によれば、コンピュータシステム11に現に接続されているハードウェアのドライバをインストールするにあたり、スクリプトを解釈実行して専用インストーラによりドライバを自動インストールするか、汎用インストーラを用いてドライバを自動インストールするため、従来のようにユーザがインストール作業を行う場合に比べてユーザの負担が軽減する。また、現に接続されているハードウェアのドライバのみが自動インストールされるため、無駄なドライバをインストールすることがない。
【0051】
また、本実施形態における汎用インストーラは、コンピュータシステム10のオペレーティングシステムのアプリケーションプログラムインタフェースとして提供されるものであるため、別途、汎用インストーラを用意する必要がない。
【0052】
更に、ハードウェアのドライバ情報の一つであるコールコマンド関連情報欄81のコマンドラインはハードウェア未指定コールコマンドであるため、このハードウェア未指定コールコマンドにレジストリから取得した所定形式のハードウェアIDをパラメータとしてマージするだけで実行コマンドが完成し、汎用インストーラによる自動インストールが実行される。
【0053】
更にまた、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定するIDからなるハードウェアIDのうち、製造メーカの事情(例えば製造ロットが相違する等)によって変更されるおそれのないベンダID及びデバイスIDとドライバ情報との対応関係をCD−ROM19に記憶しているため、製造メーカの事情によってサブシステムID及びリビジョンIDが変更されたとしても、この対応関係を見直す必要がない。
【0054】
そしてまた、ドライバリストに列挙された複数のドライバを一括して自動インストールすることができ、また、専用インストーラを持つドライバであっても専用インストーラを持たないドライバであっても適切に自動インストールすることができる。
【0055】
なお、本発明は上述した実施形態に何等限定されるものではなく、種々の形態で実施し得ることはいうまでもない。
【0056】
例えば、上述した実施形態では、システムバス20に接続されているハードウェアからベンダID及びデバイスIDのみを取得したが、これらのIDに加えてサブシステムIDやリビジョンIDを取得してもよい。但し、定義ファイルとの照合は製造メーカの事情によって変更されることのないベンダID及びデバイスIDに基づいて行う。
【0057】
また、上述した実施形態では、定義ファイルやドライバ自動インストールプログラムをCD−ROM19に記憶したが、DVD、FD、MO、各種メモリカードなどに記憶してもよいし、あるいは、外部からネットワークなどを経由して定義ファイルやドライバ自動インストールプログラムの提供を受けてHDD17等に記憶してもよい。
【0058】
更に、上述した実施形態では、スクリプトのないドライバのコールコマンド関連情報欄81に一つのハードウェア未指定コールコマンドを記述したが、オペレーティングシステムごとに複数のハードウェア未指定コールコマンドを列挙して記述してもよい。例えば、コールコマンド関連情報欄81に、オペレーティングシステムがマイクロソフト社のウィンドウズXPの場合のハードウェア未指定コールコマンドと共に、オペレーティングシステムがマイクロソフト社のウィンドウズ2000の場合のハードウェア未指定コールコマンドを並記してもよい。どのコールコマンドを使用するかはどのオペレーティングシステムがインストールされているかによって決めればよい。
【0059】
更にまた、上述した実施形態では、CD−ROM19に記憶した定義ファイルには一つのハードウェアに対して一つのドライバを対応付けたが、一つのハードウェアに対して複数のドライバを対応付けてもよい。例えば、コンピュータシステム10のモデムとして製造メーカAの製品aというモデムと製造メーカBの製品bというモデムが接続可能だとすると、両方のモデムについて定義を作成してCD−ROM19に記憶しておき、実際に接続されているモデムに応じてどちらの定義を用いるかを決めればよい。こうすれば、コンピュータシステム10にどちらのモデムが接続されていても1枚のCD−ROM19で対処することができる。
【図面の簡単な説明】
【図1】本実施形態のコンピュータシステムの概略構成を表すブロック図である。
【図2】ドライバ自動インストールプログラムのフローチャートである。
【図3】定義ファイルとハードウェア情報検出値を表す説明図である。
【図4】ドライバリストの表示画面を表す説明図である。
【図5】汎用インストーラのコマンドラインを表す説明図である。
【符号の説明】
10…コンピュータシステム、11…CPU、13…システムメモリ、15…チップセット、17…HDD、18…CD−ROMドライブ、19…CD−ROM、20…システムバス、23…ディスプレイコントローラ、25…ディスプレイ、27…キーボードコントローラ、29…キーボード、31…マウス、33…モデム、35…サウンドカード、36…マイク、37…スピーカ、39…ネットワークアダプタ、51…ベンダID欄、52…デバイスID欄、61…ドライバ名欄、71…スクリプト名欄、81…コールコマンド関連情報欄。
Claims (10)
- コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールシステムであって、
汎用インストーラをコールする際に利用されるコマンドラインを少なくとも含み前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の一部である特定部との対応関係を記憶する第1記憶手段と、
前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で、前記コンピュータに接続されたハードウェアの識別情報を記憶する第2記憶手段と、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの識別情報の特定部を取得し、該取得した識別情報の特定部に対応するドライバ情報を前記第1記憶手段から取得し、該取得したドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定し、前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記取得した識別情報の特定部を含む前記所定形式の識別情報を前記第2記憶手段から取得し、該第2記憶手段から取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして前記ドライバの自動インストールを実行するインストール実行手段と、
を備えたドライバインストールシステム。 - 前記第1記憶手段は、前記コンピュータに対して着脱自在な記憶媒体である、請求項1記載のドライバインストールシステム。
- 前記第1記憶手段は、前記コンピュータの外部から提供された前記対応関係を記憶する媒体である、請求項1記載のドライバインストールシステム。
- 前記第2記憶手段は、前記コンピュータに接続されたハードウェアの管理を行うオペレーティングシステムによって認識されたハードウェアの識別情報を前記所定形式で記憶する、請求項1〜3のいずれか1項に記載のドライバインストールシステム。
- 前記インストール実行手段は、前記コンピュータに接続されたハードウェアの管理を行うオペレーティングシステムのアプリケーションプログラムインタフェースとして提供された前記汎用インストーラを利用して前記ドライバの自動インストールを実行する、請求項1〜4のいずれか1項に記載のドライバインストールシステム。
- 前記ハードウェアのドライバ情報に含まれるコマンドラインは、前記汎用インストーラをコールするコマンドラインであって前記ハードウェアの前記所定形式の識別情報が未指定のものである、請求項1〜5のいずれか1項に記載のドライバインストールシステム。
- 前記ハードウェアの識別情報は、ベンダ、デバイス、サブシステム及びリビジョンをそれぞれ特定する識別符号を含み、前記ハードウェアの識別情報の特定部は、ベンダ及びデバイスをそれぞれ特定する識別符号である、請求項1〜6のいずれか1項に記載のドライバインストールシステム。
- 請求項1〜7のいずれか1項に記載のドライバインストールシステムであって、
前記第2取得手段が取得した前記ドライバ情報が複数のときには、各ドライバ情報につき前記判定手段の結果に応じて前記インストール実行手段が各ドライバを自動インストールする、ドライバインストールシステム。 - コンピュータに接続されたハードウェアを制御するドライバを前記コンピュータが自動インストールするドライバインストール方法であって、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の一部である特定部を取得する第1取得ステップと、
汎用インストーラをコールする際に利用されるコマンドラインを少なくとも含み前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第1記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第2取得ステップと、
前記第1取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で、前記コンピュータに接続されたハードウェアの識別情報を記憶する第2記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該第2記憶手段から取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと、を含むドライバインストール方法。 - コンピュータに接続されたハードウェアを制御するドライバを自動インストールするドライバインストールプログラムであって、
前記コンピュータに対し、
前記コンピュータに現に接続されているハードウェアから該ハードウェアの前記識別情報の一部である特定部を取得する第1取得ステップと、
汎用インストーラをコールする際に利用されるコマンドラインを少なくとも含み前記コンピュータに接続可能な1又は複数のハードウェアのドライバ情報と各ハードウェアの識別情報の特定部との対応関係を記憶する第1記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部に対応するドライバ情報を取得する第2取得ステップと、
前記第1取得ステップで取得した前記ドライバ情報に該ドライバの専用インストーラの処理手順を記述したスクリプトが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていると判定されたときには、前記スクリプトを解釈実行して前記専用インストーラにより前記ドライバの自動インストールを実行し、前記判定ステップで前記ドライバ情報に前記スクリプトが含まれていないと判定されたときには、前記ドライバを汎用インストーラでインストールする際に必要となる所定形式で、前記コンピュータに接続されたハードウェアの識別情報を記憶する第2記憶手段から、前記第1取得ステップで取得した前記識別情報の特定部を含む前記所定形式の識別情報を取得し、該第2記憶手段から取得した前記所定形式の識別情報と前記ドライバ情報に含まれるコマンドラインとを用いて汎用インストーラをコールして自動インストールを実行するインストール実行ステップと、
を実行させるためのドライバインストールプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002162561A JP4158422B2 (ja) | 2002-06-04 | 2002-06-04 | ドライバインストールシステム、その方法及びそのプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002162561A JP4158422B2 (ja) | 2002-06-04 | 2002-06-04 | ドライバインストールシステム、その方法及びそのプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004013265A JP2004013265A (ja) | 2004-01-15 |
| JP4158422B2 true JP4158422B2 (ja) | 2008-10-01 |
Family
ID=30431273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002162561A Expired - Fee Related JP4158422B2 (ja) | 2002-06-04 | 2002-06-04 | ドライバインストールシステム、その方法及びそのプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4158422B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011081500A (ja) * | 2009-10-05 | 2011-04-21 | Giga-Byte Technology Co Ltd | 操作システムと操作方法 |
| CN111694604A (zh) * | 2020-05-06 | 2020-09-22 | 新华三云计算技术有限公司 | 一种驱动批量安装方法、装置、设备及机器可读存储介质 |
-
2002
- 2002-06-04 JP JP2002162561A patent/JP4158422B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004013265A (ja) | 2004-01-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6874405B2 (ja) | 情報処理装置、プログラム、システム | |
| US7237238B2 (en) | Method and apparatus for automated operating systems upgrade | |
| KR100520058B1 (ko) | 디바이스드라이버 업그레이드 시스템 및 디바이스드라이버업그레이드 방법 | |
| US6581157B1 (en) | System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system | |
| US7395533B2 (en) | Information processing apparatus and method, computer program therefor, and computer-readable storage medium | |
| US7500026B2 (en) | Information processing apparatus control method for external device having both a wired interface and a wireless interface settings | |
| TW561412B (en) | System and method for providing hardware driver installation | |
| US7546597B2 (en) | Data processing apparatus having function of installing device drivers | |
| US20020001100A1 (en) | Image processing system, image data processing method, and storage medium | |
| US20050162688A1 (en) | Printing terminal, printing data outputting device, and computer and peripheral device using therefor | |
| JP2003308215A (ja) | 情報処理装置、制御方法、制御プログラム | |
| JP2003527654A (ja) | 自動的デバイスドライバコンフィギュレーション用方法、システム及びコンピュータ読取可能格納媒体 | |
| JP2010044579A (ja) | 周辺装置、プログラム、およびドライバインストールシステム | |
| CA2508875A1 (en) | System and apparatus for eliminating user interaction during hardware configuration at system boot | |
| JP2007514217A (ja) | データ処理装置とコンピュータとの間のデータ交換方法 | |
| KR100601684B1 (ko) | 외부 저장장치, 화상획득장치, 및 드라이버를 구동하는방법 및 시스템 | |
| JP4158423B2 (ja) | ドライバインストールシステム、その方法及びそのプログラム | |
| JP2006024155A (ja) | 周辺装置 | |
| JP4158422B2 (ja) | ドライバインストールシステム、その方法及びそのプログラム | |
| JP2003058378A (ja) | 情報処理装置およびプログラムインストール方法および記憶媒体およびプログラム | |
| JP2004272764A (ja) | コンピュータシステムの機能拡張方法 | |
| JP4141409B2 (ja) | 外付周辺機器 | |
| JP2009009494A (ja) | 情報処理装置、情報処理方法、制御プログラム | |
| US7825323B2 (en) | Electrical music apparatus capable of connecting with external device | |
| JP2007280171A (ja) | ドライバ自動インストール装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050526 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071206 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080526 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080624 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080707 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 5 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |