"複数種類のデバイス用のドライバソフトウエアをインストールする複数種類デバイス用インストーラ、および前記複数種類デバイス用インストーラを複数有する統合インストーラから構成されるドライバソフトウエアインストーラにおいて、前記統合インストーラは、起動されると自身が有するすべての複数種類デバイス用インストーラを順次起動する手段、前記複数種類デバイス用インストーラは、インストール開始時に自身の親ディレクトリの特定のファイルを検索する手段、前記特定ファイルが存在した場合、そのファイル内に記述されているデバイス用のみのドライバソフトウエアをインストールする手段、前記親ディレクトリが存在しない、あるいは前記特定ファイルが存在しない場合、複数種類デバイス用インストーラは自身の持つすべてのデバイス用のドライバソフトウエアをインストールする手段、を持つことを特徴とするインストーラソフトウエア。前記特定ファイル内にインストールするドライバソフトウエア種別が記載されている場合、その種別の前記複数種類デバイス用インストーラのみを順次起動する手段を持つことを特徴とする請求項1に記載のインストーラソフトウエア。前記特定ファイルが存在する場合であっても、インストール先のコンピュータに複数種類のデバイス用の同種類のドライバソフトウエアがインストールされている場合、前記複数種類デバイス用インストーラは自身の持つすべてのデバイス用のドライバソフトウエアをインストールする手段を持つことを特徴とする請求項1に記載のインストーラソフトウエア。前記特定ファイルは、親ディレクトリの前記統合インストーラのパッケージ内に存在することを特徴とする請求項1に記載のインストーラソフトウエア。本発明が解決しようとする課題は、背景技術で説明した、特定デバイス用の統合インストーラに関するものである。上述従来例で説明したいずれの方法をとっても、以下のような問題点がある。まず、複数デバイス用ドライバソフトウエアから特定デバイスを切り出して統合インストーラを作成する場合、複数デバイス用ソフトウエアを変更するために、統合インストーラを作成した際に評価をし直す、という手間がかかる。また評価期間が必要となるため市場投入時期が遅くなるという問題もある。また、統合インストーラがインストールするデバイスを指定して特定のデバイスをインストールする方法では、複数デバイス用ドライバソフトウエア完成後に評価を行う必要がある。そのため、各種類のドライバソフトウエアに変更は加えないためそれらの評価は必要ないが、統合インストーラに対する評価は必要となる。これにより、統合インストーラの市場投入時期が遅くなるという問題がある。さらに、特許文献1で提案されている方法では、クライアントコンピュータの識別子によりインストール動作を変更するため、予め特定のデバイス用のインストールを指定しておくことが困難である。これらの問題を解決する容易な統合インストーラの作成方法が課題となっている。上記課題を解決するために、本発明では、複数種類のデバイス用のドライバソフトウエアをインストールする複数種類デバイス用インストーラ、および前記複数種類デバイス用インストーラを複数有する統合インストーラから構成されるドライバソフトウエアインストーラにおいて、前記統合インストーラは、起動されると自身が有するすべての複数種類デバイス用インストーラを順次起動する手段、前記複数種類デバイス用インストーラは、インストール開始時に自身の親ディレクトリの特定のファイルを検索する手段、前記特定ファイルが存在した場合、そのファイル内に記述されているデバイス用のみのドライバソフトウエアをインストールする手段、前記親ディレクトリが存在しない、あるいは前記特定ファイルが存在しない場合、複数種類デバイス用インストーラは自身の持つすべてのデバイス用のドライバソフトウエアをインストールする手段、を持つことを特徴とする。本発明によって、複数デバイス用ドライバソフトウエアのインストーラが特定ファイルの存在により、特定デバイスのみのインストールあるいはすべてのデバイスのインストールを行うことが可能となる。この仕組みにより、統合インストーラを作成する場合、各複数デバイス用インストーラをパッケージングする手間のみになる、という効果がある。[実施例1]図1~図9は本発明による第一の実施例を示すものである。[システム構成]図1はドライバソフトウエアをインストールするクライアントコンピュータの内部ブロック図である。図中、101はクライアントコンピュータを表している。クライアントコンピュータ内部は、103の中央演算装置CPU、104の揮発性メモリであるRAM、105の不揮発性メモリであるROM、106のキーボードコントローラ、108のマウスコントローラ、110のビデオコントローラ、112の外部記憶装置コントローラ、114の外部メディア装置コントローラ、116のネットワークI/Fコントローラから構成される。またユーザがクライアントコンピュータを操作するための107のキーボードおよび109マウスはそれぞれクライアントコンピュータのキーボードコントローラ106およびマウスコントローラ108に接続される。111の表示装置はクライアントコンピュータのビデオコントローラ110に接続される。また大容量のデータを保存するための不揮発性の外部記憶装置113は外部記憶コントローラ112に接続され、オペレーティングシステム以降OS、アプリケーションやデータの読み書きが行われる。また、115は外部メディア制御装置で、アプリケーションやドライバソフトウエアなどが外部メディアCD-ROMやDVD-ROMなどで提供されているとき、ユーザは外部メディア制御装置115にCD-ROMなどのメディアをセットし、プログラムを読み込むことができる。また、116のネットワークI/Fコントローラはネットワーク媒体に接続され、他の機器MFPなどと通信が行われる。通常、クライアントコンピュータを起動するための初期プログラムやクライアントコンピュータの各モジュールを制御するための基本的なプログラムはROM105に保存されている。またOSやアプリケーション、プリンタドライバは外部記憶装置113に保存されている。クライアントコンピュータの電源が投入されると、まずROM105に保存されているコンピュータを起動するためのプログラムブートローダが実行され、そのプログラムが外部記憶装置に保存されているOSをROM104にロードし、その後、制御権をOSに渡す。OSは必要なモジュールやドライバをさらに外部記憶装置113からRAM104に読み込む。さらにユーザの指示により、必要なアプリケーションを外部記憶装置113からRAM104に読み込み、実行する。本実施例で説明する、ドライバソフトウエアおよびドライバソフトウエアのインストーラはCD-ROMなどの外部メディアで供給されるものとし、外部メディア読み取り装置115にCD-ROMなどをセットし、CPU103が必要に応じてRAM104に読み込み、外部記憶装置113に保存を行う。[ドライバソフトウエア構成]次にCD-ROMなどのメディアで提供されるドライバソフトウエアの構成に関して説明する。図2はインストーラを含むドライバソフトウエアの一例である。図2において、201はメディアのルート、202はインストーラアプリケーションである、PrinterInstaller.appがある。ユーザはドライバソフトウエアをインストールする際にこのインストーラ202を起動し、ドライバソフトウエアのインストールを行う。203はユーザドキュメントを格納するディレクトリである。その中には205のユーザ向けの操作ガイド、206のReadmeファイルなどを格納する。204はドライバソフトウエア本体が格納されている。207のCommonディレクトリにはドライバソフトウエアのモジュール、208のPPDsディレクトリにはプリンタ情報ファイルを格納している。なお、PPDsディレクトリ208には複数プリンタのそれぞれの情報ファイルを格納する形態を取っている。図2の例では、PrinterA、PrinterB、PrinterCのプリンタ情報ファイルが格納されており、ユーザがPrintInstaller.app202を起動するとこれらすべてのプリンタ情報ファイルがインストールされる。このように複数のプリンタ情報ファイルを含むドライバソフトウエアを作成する利点として以下のようなものがある。まず初めてのドライバソフトウエアリリース時に、PrinterAおよびPrinterBに対応したとする。次にPrinterC向けのドライバソフトウエアをリリースする際、PrinterCのみのプリンタ情報ファイルを含むそれをリリースするのではなく、図2のようにPrinterA、PrinterB、PrinterCをすべて含むそれをリリースする。このようなリリース形態をとることにより、たとえばPrinterA、PrinterBを含むドライバソフトウエアをリリース後、機能追加や不具合修正が発生したケースを考える。その場合、PrinterC向けのドライバソフトウエアをリリースする際に、PrinterAおよびPrinterB向けの修正を加えてリリースを行う。このように複数のプリンタを毎回のリリースで対応することにより、機能追加や不具合修正リリースを容易に行うことができる。このようなリリースに対し、それぞれのプリンタに対して個別にドライバソフトウエアのリリースを行うと、不具合修正などか発生した場合、それぞれのドライバソフトウエアを個別に再度リリースする必要がある。これにより、ドライバソフトウエアのリリース個数が増加し、ユーザが複数のプリンタを有している場合、ドライバソフトウエアのインストール、アップデートが煩雑になる。[統合インストーラ構成]図3は統合インストーラの構成例を示したものである。複数の機能を持つMFPに対して、通常複数のドライバソフトウエアが提供される。例えばMFPがプリント、ファックス、スキャンの機能を持つ場合、それぞれのドライバソフトウエアが提供される。それぞれのドライバソフトウエアは図2に示すような形態で作成される。しかし、それぞれのドライバソフトウエアをリリースした場合、ユーザはプリント、ファックス、スキャン向けに3回インストール作業を行う必要があり、手間である。そこで、一度でインストール作業が完了するような統合インストーラを提供するのが一般的である。301はCD-ROMのメディアなどで統合インストーラが提供される場合のルートである。統合インストーラはユーザが実際に起動を行う302のPrinterA_Installer.appが提供される。なおプリント、ファックス、スキャンの各ドライバが提供される場合、それぞれのドライバソフトウエアは、303、304、305のように、上述したそれぞれのドライバソフトウエアがそのまま格納される。なお、それぞれのドライバソフトウエアの詳細な中身の構成については、図2と同様のため図では省略している。実際にユーザが統合インストーラであるPrinterA_Installer.app302を起動すると、それはプリント、ファックス、スキャンドライバソフトウエアの各インストーラを起動する。このようにしてユーザが一度PrinterA_Installer.appを起動すると、自動的にプリント、ファックス、スキャンのドライバソフトウエアがインストールされる。なお、315のファイルについては後述する。また、この統合インストーラ302が保持している各ドライバソフトウエア303,304,305は、複数プリンタのプリンタ情報ファイルを有しているものとする。各ドライバソフトウエアは複数のプリンタ情報ファイルを有し、そのインストーラ306,309,312はその複数のプリンタに対するドライバソフトウエアをインストールすることになる。そのため、統合インストーラ302が単純に各ドライバソフトウエアインストーラ306,309,312を起動するのみの動作を行うと問題が発生する。具体的には、統合イントーラとしては、PrinterAのみのインストールを行いたいが、各ドライバソフトウエアはPrinterA、PrinterB、PrinterCのドライバソフトウエアをインストールしてしまう、という問題である。これに対しては、予め各ドライバソフトウエア303,304,305をPrinterAのみインストールするように作成し直しておくことが考えられる。また、各ドライバソフトウエアは複数のプリンタを有しているが、統合インストーラ302が各ドライバソフトウエアからPrinterAのみを切り出してインストールする、という方法もある。ただしこれらの方法では、各ドライバソフトウエアを作成し直す手間が発生する。あるいは、統合インストーラを各プリンタ毎に作成する手間が発生する。[OSへのインストールとキュー登録]次に上述のインストール作業により、具体的にドライバソフトウエアモジュールのOSシステム組み込み、およびユーザがドライバソフトウエアを使用するためのキュー登録について説明する。インストールする際に用意されるドライバソフトウエアは図2においてファイル構成を説明した。ここではドライバソフトウエアのモジュール構成を説明する。なお、ここではプリンタドライバソフトウエアを例に説明するが、他のドライバソフトウエアは異なる構成をとる場合があるものの、実施例の説明上のその差分はないため説明は省略する。プリンタドライバソフトウエアは図4に示すようなモジュール群で構成されている。401のプリンタドライバは、402のグラフィックレンダリングモジュール、403のUI制御モジュール、404のプリンタ情報ファイル、405の色処理モジュール、406の入出力制御モジュールから構成される。なお、プリンタドライバの機能によってはこの他のモジュールから構成されることもある。また、図2のファイル構成との対応であるが、プリンタ情報ファイルはPPDsディレクトリ208に格納され、それ以外のモジュールについてはCommonディレクトリ207に格納されている。また上述の通り、このドライバソフトウエアはいくつかの作成の仕方がある。例えばひとつのドライバソフトウエアで複数のプリンタを対応するために、グラフィックレンダリングモジュール402およびUI制御モジュール403を複数のプリンタに対応できるように作成しておく。また、プリンタ情報ファイルに関しては、対応しているプリンタ分、ドライバソフトウエアに同梱しておく、という方法である。このような方法では、UI制御モジュール403はプリンタ情報ファイル404に合わせてUIを表示、制御する。またグラフィックレンダリングモジュール402は各プリンタに合わせたページ記述言語およびプリンタ制御コマンドを発行するような構成となる。本実施例では各ドライバソフトウエアは複数プリンタの情報ファイルを有している構成である。次に、このような構成のプリンタドライバがクライアントコンピュータのOSへインストールされる仕組みを説明する。なおインストール場所は印刷システムによって異なるが、一例として、CUPSCommonUnix登録商標PrintingSystem開発注記:日本では登録商標ではありませんでは、/Library/Printers/ディレクトリ以下にベンダー毎にプリンタドライバモジュールを格納することになっている。さらにベンダー毎のディレクトリの下にさらにプリンタドライバの種類に分けて格納することも可能である。たとえば、ABCというベンダーのドライバソフトウエアがあるとき、/Library/Printers/ABC/というディレクトリを作成して、そのディレクトリ下にプリンタドライバを格納することになる。また、プリンタ情報ファイルについては、ベンダーにかかわらず、/Library/Printer/PPDs/に格納する。これでプリンタドライバのインストールは完了するが、実際にプリンタに出力するには、ユーザはドライバソフトウエアを使用してプリンタを登録する必要がある。ここでシステムに登録されるプリンタを今後、プリントキュー、あるいは単にキューと呼ぶ。図5はOSが表示するプリントキュー登録ダイアログを示したものである。プリントキュー登録ダイアログ501において、502は接続されているプリンタのネットワークアドレスこの例ではIPアドレスを指定するコントロールである。503はプリントキューを識別するためのプリンタの名前を入力するコントロールである。504はプリンタが設置されている場所を入力するコントロールである。505はプリントキューを登録する際に使用するプリンタドライバを指定するコントロールである。ここでリストされるプリンタドライバは、先に説明したOSのプリンタドライバ格納ディレクトリ/Library/Printersに格納されているプリンタドライバおよびプリンタ情報ファイル/Library/Printers/PPDsを元にOSがリストする。図5の例では、アドレスが192.168.1.10、プリントキューの名前がOfficeCornerPrinter、場所が2FOfficeCorner、またプリンタドライバソフトウエアとしてPrinterAを選択している状態である。この状態で506の追加ボタンをクリックすると、OSはプリントキュー追加を行う。なお、追加を行わないでこのダイアログを閉じるときは507のダイアログクローズボタン507をクリックする。この操作によりユーザはPrinterAを使用して印刷することが可能となる。また、図6はすでにプリンタドライバソフトウエアがインストールされ、さらにプリントキューが登録された状態を示すシステムブロック図である。図6において、グラフィックレンダリングモジュール603は前述した手順によりOSの所定のディレクトリ/Library/Printers/にインストールされたプリンタドライバソフトウエアのグラフィックレンダリングモジュール402である。同様に、UI制御モジュール605は、イスントールされたプリンタドライバのUI制御モジュール403である。色処理モジュール604は、インストールされたプリンタドライバの色処理制御モジュール405である。入出力制御モジュール608は、インストールされたプリンタドライバの入出力制御モジュール406である。また、プリンタ情報ファイル606は、インストールされたプリンタドライバのプリンタ情報ファイル404である。なお607のバックエンドモジュールはOSが提供するものであり、グラフィックレンダリングモジュール603が生成した印刷データをプリンタへそのデータを送信するための入出力制御モジュール608へ受け渡しするためのモジュールである。また、609のプリントキュー登録情報および610のプリンタ情報ファイルは、図5のプリンタ登録の過程でOSが生成するものである。[統合インストーラ動作]続いて、本発明の統合インストーラの動作手順に関して、図7の動作流れ図に沿って説明を行う。なお、このインストーラ手順ではPrinterAのみをインストールするものとする。また、PrinterAのみをインストールすることを期待するが、各ドライバソフトウエア303,304,305はPrinterA、PrinterB、PrinterCのドライバソフトウエアをインストールするものであるとする。S701において、ユーザは統合インストーラ301をクライアントコンピュータ上で起動する。続いてS702において、統合インストーラ301は個別のドライバソフトウエアのインストーラ306,309,312のいずれかを起動する。このあとのステップは各個別ドライバソフトウエアのインストーラ306,309,312の動作となる。はじめにプリンタドライバソフトウエアのインストーラが起動されたとする。まずプリンタドライバソフトウエアインストーラはひとつ上の親ディレクトリ上のinstall_printer.confというファイルを検索する。ここで、install_printer.confファイルについて説明する。図3の315はinstall_printer.confの位置、図8はinstall_printer.confの中身である。このファイルには、インストールするプリンタ名、インストールするドライバソフトウエア種類が記述されている。なお、このファイルはXMLeXtensibleMarkupLanguage形式で記述しているが同様の情報を保持できれば他の形式でもかまわない。801と806はこの間の行にinstall_printer、つまりインストールするプリンタの情報が記述されていることを示す。802はインストールするプリンタ名で、ここでは、PrinterAのみがインストール対象となっていることを示している。また803から805はインストール対象とするドライバソフトウエアの種類を記述したものであり、ここではPrint、Fax、Scan、つまりプリント、ファックス、スキャンドライバがインストール対象となっていることを表している。次にS704において、個別ドライバソフトウエアインストーラは、所定位置に所定ファイルが存在するため、S705に進む。なお、ここでひとつ上のディレクトリがない、あるいは、ひとつ上のディレクトリはあるがinstall_printer.confがない場合、S712に進む。S712では、個別ドライバソフトウエアのインストーラは、自身が有しているすべてのプリンタのドライバソフトウエアをインストールする。この個別ドライバソフトウエアの動作により、図3の構成のときに個別ドライバソフトウエアインストーラが起動された場合は特定のプリンタのみのドライバソフトウエアがインストールされることになる。また、図3の構成ではなく、個別ドライバソフトウエアインストーラが単独で存在するときに起動された場合は、すべての自身が有するすべてのプリンタのドライバソフトウエアがインストールされる。このようにして、個別ドライバソフトウエアの位置及び特定ファイルの存在によって、個別プリンタのみのインストール動作になる場合や、すべてのプリンタのインストール動作になる場合がある。このように個別ドライバソフトウエアインストーラを作成しておくことにより、個別ドライバソフトウエアは一度作成するのみで、特定プリンタ用の統合インストーラが容易に作成できるようになる。続いてS705において、個別ドライバソフトウエアのインストーラはinstall_printer.conf315からインストールするドライバソフトウエアの種類を取得する。この場合は、PrintFaxScanが取得される。自身はプリンタドライバであるため、インストール対象であることがわかる。次にS706において、インストール対象であるため、S707においてプリンタドライバインストーラはintall_printer.conf315からインストールするプリンタ名を取得する。このステップにおいて、インストールするプリンタの情報としてPrinterAが取得できる。続いてS708において、取得したプリンタ名は有効か判定する。この判定は、自身が有しているプリンタドライバソフトウエアにそのプリンタ名があるかどうかで判定する。この場合、プリンタドライバソフトウエアはPrinterA、PrinterB、PrinterCのドライバソフトウエアを有しているため、有効と判定する。なお、プリンタ名が無効と判定された場合、統合インストーラが何らかの理由で壊れているか不具合を持っていると考え、インストル動作を終了する。次のステップ、S709において、プリンタドライバソフトウエアインストーラは、すでにクライアントコンピュータにインストールされているプリンタのリストを取得する。すでにインストールされているプリンタのリストは、CUPSシステムにおいて、/Library/Printers/PPDs/ディレクトリを確認することによりリストが取得できる。図9Aは/Library/Printers/PPDs/のディレクトリの中身を示してものであり、ここでは何もインストールされていないことがわかる。次にS710において、インストールされているプリンタはないため、S711に進む。S711において、プリンタドライバソフトウエアのインストーラはinstall_printer.confに記載されているプリンタのみのドライバソフトウエアをインストールする。具体的には、プリンタドライバソフトウエア303はPrinterA、PrinterB、PrinterCのプリンタドライバソフトウエアを有しているが、その中からPrinterAのみのドライバソフトウエアプリンタ情報ファイルをインストールする。続いてS713において、統合インストーラはすべての個別ドライバを起動したか確認する。この時点では、プリンタドライバソフトウエアのインストーラしか起動していないため、残りのファックスドライバソフトウエア304、スキャンドライバソフトウエア305の個別インストーラそれぞれ309,312を起動する。なお、残りのドライバソフトウエアのインストール手順もプリンタドライバと同様であるため説明は省略する。ただしS710において、別のケースもあるためその流れを説明する。S7011からS708までは、上述の流れの通りであるとする。続いてS709にてプリンタドライバソフトウエアのインストーラが取得したすでにインストールされているプリンタのリストを取得する際に、図9Bであったとする。図9Bではすでに一度PrinterA、PrinterB、PrinterCのドライバソフトウエアがインストールされている状態となっている。この場合、リストはPrinterA、PrinterB、PrinterCが取得できる。続いて、S710において、すでに複数のプリンタがインストールされていると判断し、S712に進みPrinterAのみのドライバソフトウエアだけでなく、PrinterB、PrinterCのドライバソフトウエアもインストールする。この仕組みにより、install_printer.conf315にPrinterAのみのドライバソフトウエアをインストールするように指示されていても次のような動作となる。つまり、実際にすでに他のプリンタもインストールされている場合には、PrinterB、PrinterCもアップデートあるいは不具合修正されている可能性があるため、このインストール手続きの中でインストールする。以上の手順により、個別のドライバソフトウエアが複数プリンタ用のドライバをインストールする構成であっても、統合インストーラとしてそのまま使用し特定のプリンタのみのソフトウエアをインストールすることが可能となる。[実施例2]第二の実施例は第一の実施例と図は同様である。本実施例では、統合インストーラが各個別ドライバソフトウエアのインストーラを起動する際の手続きを定義するものである。第一の実施例では、統合インストーラは任意の順序で個別ドライバソフトウエアのインストーラを起動していた。しかしシステムによっては、インストールする順序が既定されるケースがある。その場合を考慮して、第二の実施例では第一の実施例に加えて、統合インストーラが各個別ドライバソフトウエアインストーラを起動する順序を、install_printer.confに従うものである。具体的には、install_printer.confの、<install_driver>タグに、PrintFaxScanと記述されている場合、この順序で個別ドライバソフトウエアのインストーラを起動する。[実施例3]第三の実施例は第一の実施例とほぼ同様であるため、差分のみを説明する。第三の実施例では、インストールするプリンタ名称をinstall_printer.confに記述する代わりに、統合インストーラのファイル名に記述するものである。具体的には、図3のように統合インストーラのファイル名称が、PrinterA_installer.appであれば、各個別ドライバソフトウエアインストーラは、このファイル名の先頭文字列を検索し、そのプリンタのみのドライバソフトウエアをインストールする、手順である。"