(57)【特許請求の範囲】
【請求項１】
インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つがオペレーテイングシステムを格納している主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストール方法において、
全体の制御及び処理を行う制御処理手段と、
前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化し、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成する頻度情報テーブル作成手段と、
前記複数のドライブのうち前記複数のインストール対象ファイルのうちの１つのインストールに使用可能なドライブを選択しその空き容量をチエックするドライブ取得手段と、
インストールした前記インストール対象ファイルのリンク先のドライブを決定するリンク先ドライブ決定手段と、
インストールを実行する実行手段とを備え、
前記インストール対象ソフトウェアのデータ量であるインストール対象ソフトウェアのサイズに対しインストール先の前記主ドライブ又は主ドライブ以外の前記複数のドライブにおいて個々のドライブの空き容量が不足していても、主ドライブとこの主ドライブ以外の前記複数のドライブとの合計空き容量が十分であれば、前記インストール対象ファイルの
各々を前記頻度情報テーブルの前記優先順位情報に応じて前記複数のドライブの各々に順次格納することによりインストールを可能とすることを特徴とするインストール方法。
【請求項２】
前記頻度情報テーブル作成手段が、前記インストール対象ファイルを入力するインストール対象ファイル入力手段と、
既存ツールであるプロファイラの使用により前記インストール対象ファイルのアクセス回数を計測する計測手段を有し前記アクセス回数を調査する既存ツール調査手段と、
前記インストール対象ファイルのアクセス回数及びファイルサイズより前記インストール対象ファイルの優先順位を決定する重み付け決定手段とを備える請求項１記載のインストール方法。
【請求項３】
前記ドライブ取得手段が、前記複数のドライブのうち前記インストール対象ファイルのインストールに使用可能なドライブを選択するドライブ選択手段と、
前記ドライブ選択手段で選択したドライブの空き容量をチェックする空き容量チェック手
段とを備える請求項１記載のインストール方法。
【請求項４】
前記リンク先ドライブ決定手段が、前記インストール対象ファイルを入力するインストール対象ファイル入力手段と、
前記インストール対象ファイルの各々のリンクサイズをチェックするリンクサイズチェック手段と、
前記インストール対象ファイルの各々のリンクを作成するリンク作成手段とを備える請求項１記載のインストール方法。
【請求項５】
前記実行手段が、前記インストール対象ファイルのリンク先ドライブ決定後にこのインストール対象ファイルのリンクを前記主ドライブにインストールするインストール実行手段と、
前記リンク先ドライブに前記インストール対象ファイルをコピーするファイルコピー手段とを備える請求項１記載のインストール方法。
【請求項６】
インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つがオペレーテイングシステムを格納している主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストール方法において、
前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化すると共に、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成し、
前記インストール対象ソフトウェアのデータ量であるインストール対象ソフトウェアのサイズに対しインストール先の前記主ドライブ又は主ドライブ以外の前記複数のドライブにおいて個々のドライブの空き容量が不足していても、主ドライブとこの主ドライブ以外の前記複数のドライブとの合計空き容量が十分であれば前記インストール対象ファイルの各々を前記頻度情報テーブルの前記優先順位情報に応じて前記複数のドライブの各々に順次格納することによりインストールを可能とすることを特徴とするインストール方法。
【請求項７】
インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つが前記インストール対象ソフトウェアをインストールすべき主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストール方法において、
予め前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化すると共に、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成する第０のステップと、
前記主ドライブを選択する第１のステップと、
前記第１のステップで選択された主ドライブの空き容量が前記インストール対象ソフトウェアのデータ量であるサイズに対し十分であるか否かを判断する第２のステップと、
前記第２のステップで諾の場合インストールを実行する第３のステップと、
前記第２のステップで否の場合前記主ドライブと予め設定した前記主ドライブ以外のインストールに使用可能なドライブとのうちから前記インストール対象ソフトウェアのインストールに使用可能なドライブの有無を判断する第４のステップと、
前記第４のステップで使用可能なドライブが有の場合前記頻度情報テーブルに基づき作成した前記インストール対象ファイルの全てのコピー先とリンク先の情報を保持するコピーリンク先対応表を参照して前記インストール対象ファイルのインストール先ドライブを決定する第５のステップと、
前記第５のステップで決定した前記インストール先ドライブの空き容量に対して前記インストール対象ファイルの全てがコピー可能かどうかを判断する第６のステップと、
前記第６のステップでの判断結果前記インストール先ドライブにコピー可能な場合前記コピーリンク先対応表に従いリンクを作成する第７のステップと、
前記インストール先ドライブに前記インストール対象ファイルの実体をコピーする第８のステップとを有することを特徴とするインストール方法。
【請求項８】
前記第５のステップが、全ての前記インストール対象ファイルのファイル名を前記コピーリンク先対応表に書き込む第５１のステップと、
前記頻度情報テーブルを参照して前記コピーリンク先対応表に書き込んだ全ての前記インストール対象ファイルのリンクサイズを調べる第５２のステップと、
前記主ドライブに全てのインストール対象ファイルの各々のリンクが格納可能か否かを判断する第５３のステップと、
前記第５３のステップで諾の場合前記頻度情報テーブルに基づき前記優先順位の高い順に前記インストール対象ファイルを順序付ける第５４のステップと、
前記主ドライブに前記インストール対象ファイルの実体がコピー可能か否かを判断する第５５のステップと、
前記第５５のステップで否の場合、前記インストール対象ファイルのインストールに使用可能なドライブの有無を判断する第５６のステップと、
前記第５６のステップで諾の場合、前記インストール対象ファイルの実体を前記使用可能なドライブにコピー可能か否かを判断する第５７のステップと、
前記第５７のステップで諾の場合、前記インストール対象ファイルの実体を前記使用可能なドライブにコピーするように前記コピーリンク先対応表に書き込むと共に、前記主ドライブに前記インストール対象ファイルの実体へのリンクを設定する第５８のステップとを有することを特徴とする請求項７記載のインストール方法。
【請求項９】
前記頻度情報テーブルが、前記インストール対象ファイルのファイル名と、ファイルサイズと、リンクサイズと、ファイルアクセス回数と、優先順位を示す重み付けとを有することを特徴とする請求項６又は７記載のインストール方法。
【請求項１０】
前記重み付けが、前記インストール対象ファイルのファイルサイズを前記ファイルアクセス回数で除算した値であることを特徴とする請求項９記載のインストール方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はインストーラ及びインストール方法に関し、特にソフトウェアをコンピュータにインストールするためのインストーラ及びインストール方法に関する。
【０００２】
【従来の技術】
現在市販されているオペレーテイングシステム（ＯＳ）や、アプリケーションのソフトウェアは、インストール対象とするコンピュータにインストールするためのインストーラが付属しているものが主流である。また、上記ソフトウェアも年々プログラムサイズ（以下、サイズ）が大きくなってきているのが現状である。
【０００３】
従って、これらのソフトウェアをインストールする記憶装置であるハードディスクドライブ（以下、ドライブ）の容量は、たとえ増設等で増大できたとしても、前述したようにインストール対象のソフトウェアも年々サイズが大きくなってきており、このインストールに必要とするドライブの空き容量が必ずしも十分ではないという状況がしばしば発生する。
【０００４】
このときのドライブの容量はソフトウェアをインストールする上で問題となってきている。特に、インストールしようとするソフトウェアのサイズに対し、単一ドライブに十分な空き容量が無い限りインストールができないという問題がある。
【０００５】
この種の一般的な従来の第１のインストーラによるインストール方法をフローチャートで示す図１２を参照して、この従来の第１のインストール方法について説明すると、まず、インストール先の主ドライブを選択し（ステップＰ１）、この主ドライブに十分な空き容量があるかを判定する（ステップＰ２）。十分な空き容量がある場合はインストールを実行し（ステップＰ３）、インストール実行後処理を終了する。ステップＰ２で、十分な空き容量がない場合は、操作者が空き容量を確保するため、操作者が指定したドライブの空き容量をチエックし（ステップＰ２１）、空き容量が確保できたか否かを判定する（ステップＰ２２）。諾の場合はステップＰ３に進み、インストールを実行し、インストール実行後処理を終了する。
【０００６】
ステップＰ２２の判定結果、否の場合は、インストールを中止するか否かを判定し、（ステップＰ２３）、否の場合はステップＰ１に戻り再度ステップＰ１〜Ｐ３の処理を反復し、諾の場合はインストールを中止し、処理を終了する。
【０００７】
このように、従来の第１のインストーラでは、十分な空き容量がない場合に、操作者自身が空き容量を確保するために、既にインストールされているソフトウェアを操作者の判断で必要であるか否かのチェックを行ったり、あるいは市販ツールを使用して圧縮したり、またはドライブの移動やファイルの削除等を行って、ドライブの空き容量を確保するという作業を行う必要があるという問題があった。
【０００８】
これを解決するため、従来の第２のインストーラは予め定められた特定のドライブにインストールされているソフトウェアの使用頻度を計測する。又、インストールするソフトウェアがある場合には、従来の第１のインストーラと同様に主ドライブの空き容量をチェックし、空き容量がある場合には予め計測しておいた使用頻度の高いソフトウェアのサイズを検索する。その後、使用頻度の高いソフトウェアのサイズが主ドライブの空き容量以内であるかどうか判断し、空き容量以内であればインストールを実行する。もし空き容量以上であればインストールをしない。これにより、使用頻度の高いソフトウェアが優先的に主ドライブにインストールされることになる。
【０００９】
従来の第２のインストーラによるインストール方法を図１２と共通の処理には共通の参照文字／数字を付して同様にフローチャートで示す図１３を参照して、この従来の第２のインストール方法について説明すると、まず、最初に、予め定められた特定のドライブにインストールされているソフトウェアの使用頻度を計測する（ステップＰ３１）。次に、インストール対象のソフトウェアのインストール先の主ドライブの空き容量をチェックし（ステップＰ１）、この主ドライブに十分な空き容量があるかを判定する（ステップＰ２）。十分な空き容量がある場合はインストールを実行し（ステップＰ３）、インストール実行後処理を終了する。ステップＰ２で、十分な空き容量がない場合は、使用頻度の高いソフトウェアを検索し（ステップＰ３２）、この使用頻度の高いソフトウェアのサイズを検索し（ステップＰ３３）、この使用頻度の高いソフトウェアのサイズが空き容量以内か否かを判定する（ステップＰ３４）。上記ソフトウェアのサイズが空き容量以内の場合はステップＰ３に進み、インストールを実行し、インストール実行後処理を終了する。上記ソフトウェアのサイズが空き容量を超える場合は、ステップＰ３５に進み、インストールを実行せず、処理を終了する。
【００１０】
しかし、この従来の第２のインストール方法では、ソフトウェアの使用頻度に関係なく、主ドライブの空き容量がソフトウェアのサイズより小さい場合にはインストールを断念するしか方法はなかった。
【００１１】
上述した従来の第１、第２のインストーラ及びインストール方法は、いずれも、ソフトウェア単位でのインストールを課題にしており、これらソフトウェアを構成する個々のファイル単位でインストールするという概念がない。
【００１２】
つまり、ファイル単位でのインストールを考慮していないため使用可能なドライブの合計空き容量が十分でも単一のドライブに十分な空き容量がないとインストールができないという問題がある。
【００１３】
【発明が解決しようとする課題】
上述した従来の第１、第２のインストーラ及びインストール方法は、いずれも、ソフトウェア単位でのインストールを課題にしており、これらソフトウェアを構成する個々のファイル単位でのインストールを考慮していないため使用可能なドライブの合計空き容量が十分でも単一のドライブに十分な空き容量がないとインストールができないという欠点があった。
【００１４】
本発明の目的は、上記欠点を解決し、インストール先の単一ドライブの空き容量が十分でなくても使用可能なドライブの合計空き容量が十分であればインストールを可能とするインストーラ及びインストール方法を提供することにある。
【００１５】
【課題を解決するための手段】
第１の発明のインストーラは、インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つがオペレーテイングシステムを格納している主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストーラにおいて、
全体の制御及び処理を行う制御処理手段と、
前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化し、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成する頻度情報テーブル作成手段と、
前記複数のドライブのうち前記複数のインストール対象ファイルのうちの１つのインストールに使用可能なドライブを選択しその空き容量をチエックするドライブ取得手段と、
インストールした前記インストール対象ファイルのリンク先のドライブを決定するリンク先ドライブ決定手段と、
インストールを実行する実行手段とを備え、
前記インストール対象ソフトウェアのデータ量であるインストール対象ソフトウェアのサイズに対しインストール先の前記主ドライブ又は主ドライブ以外の単一の前記ドライブの空き容量が不足していても、前記インストール対象ファイルの各々を前記頻度情報テーブルの前記優先順位情報に応じて前記複数のドライブの各々に順次格納することにより主ドライブとこの主ドライブ以外の使用可能なドライブとの合計空き容量が十分であればインストールを可能とすることを特徴とするものである。
【００１６】
第１の発明のインストーラにおいて、前記頻度情報テーブル作成手段が、前記インストール対象ファイルを入力するインストール対象ファイル入力手段と、
既存ツールであるプロファイラの使用により前記インストール対象ファイルのアクセス回数を計測する計測手段を有し前記アクセス回数を調査する既存ツール調査手段と、
前記インストール対象ファイルのアクセス回数及びファイルサイズより前記インストール対象ファイルの優先順位を決定する重み付け決定手段とを備えるものであっても良い。
【００１７】
また、前記ドライブ取得手段が、前記複数のドライブのうち前記インストール対象ファイルのインストールに使用可能なドライブを選択するドライブ選択手段と、
前記ドライブ選択手段で選択したドライブの空き容量をチェックする空き容量チェック手段とを備えるものであっても良い。
【００１８】
また、前記リンク先ドライブ決定手段が、前記インストール対象ファイルを入力するインストール対象ファイル入力手段と、
前記インストール対象ファイルの各々のリンクサイズをチェックするリンクサイズチェック手段と、
前記インストール対象ファイルの各々のリンクを作成するリンク作成手段とを備えるものであっても良い。
【００１９】
さらに、前記実行手段が、前記インストール対象ファイルのリンク先ドライブ決定後にこのインストール対象ファイルのリンクを前記主ドライブにインストールするインストール実行手段と、
前記リンク先ドライブに前記インストール対象ファイルをコピーするファイルコピー手段とを備えるものであっても良い。
【００２０】
第２の発明のインストール方法は、インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つがオペレーテイングシステムを格納している主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストール方法において、
前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化すると共に、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成し、
前記インストール対象ソフトウェアのデータ量であるインストール対象ソフトウェアのサイズに対しインストール先の前記主ドライブ又は主ドライブ以外の単一の前記ドライブの空き容量が不足していても、前記インストール対象ファイルの各々を前記頻度情報テーブルの前記優先順位情報に応じて前記複数のドライブの各々に順次格納することにより主ドライブとこの主ドライブ以外の使用可能なドライブとの合計空き容量が十分であればインストールを可能とすることを特徴とするものである。
【００２１】
第３の発明のインストール方法は、インストール対象の複数のファイルから成るインストール対象ソフトウェアを記憶手段でありその１つが前記インストール対象ソフトウェアをインストールすべき主ドライブである複数のハードディスクドライブ（以下ドライブ）を備えるコンピュータにインストールするインストール方法において、
予め前記インストール対象ソフトウェアの前記複数のファイルの各々であるインストール対象ファイル毎のアクセス頻度の情報をテーブル化すると共に、前記複数のドライブに格納するときの前記複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成する第０のステップと、
前記主ドライブを選択する第１のステップと、
前記第１のステップで選択された主ドライブの空き容量が前記インストール対象ソフトウェアのデータ量であるサイズに対し十分であるか否かを判断する第２のステップと、
前記第２のステップで諾の場合インストールを実行する第３のステップと、
前記第２のステップで否の場合前記主ドライブと予め設定した前記主ドライブ以外のインストールに使用可能なドライブとのうちから前記インストール対象ソフトウェアのインストールに使用可能なドライブの有無を判断する第４のステップと、
前記第４のステップで使用可能なドライブが有の場合前記頻度情報テーブルに基づき作成した前記インストール対象ファイルの全てのコピー先とリンク先の情報を保持するコピーリンク先対応表を参照して前記インストール対象ファイルのインストール先ドライブを決定する第５のステップと、
前記第５のステップで決定した前記インストール先ドライブの空き容量に対して前記インストール対象ファイルの全てがコピー可能かどうかを判断する第６のステップと、
前記第６のステップでの判断結果前記インストール先ドライブにコピー可能な場合前記コピーリンク先対応表に従いリンクを作成する第７のステップと、
前記インストール先ドライブに前記インストール対象ファイルの実体をコピーする第８のステップとを有することを特徴とするものである。
【００２２】
第３の発明のインストール方法において、前記第５のステップが、全ての前記インストール対象ファイルのファイル名を前記コピーリンク先対応表に書き込む第５１のステップと、
前記頻度情報テーブルを参照して前記コピーリンク先対応表に書き込んだ全ての前記インストール対象ファイルのリンクサイズを調べる第５２のステップと、
前記主ドライブに全てのインストール対象ファイルの各々のリンクが格納可能か否かを判断する第５３のステップと、
前記第５３のステップで諾の場合前記頻度情報テーブルに基づき前記優先順位の高い順に前記インストール対象ファイルを順序付ける第５４のステップと、
前記主ドライブに前記インストール対象ファイルの実体がコピー可能か否かを判断する第５５のステップと、
前記第５５のステップで否の場合、前記インストール対象ファイルのインストールに使用可能なドライブの有無を判断する第５６のステップと、
前記第５６のステップで諾の場合、前記インストール対象ファイルの実体を前記使用可能なドライブにコピー可能か否かを判断する第５７のステップと、
前記第５７のステップで諾の場合、前記インストール対象ファイルの実体を前記使用可能なドライブにコピーするように前記コピーリンク先対応表に書き込むと共に、前記主ドライブに前記インストール対象ファイルの実体へのリンクを設定する第５８のステップとを有するものでも良い。
【００２３】
また、第２及び第３の発明のインストール方法において、前記頻度情報テーブルが、前記インストール対象ファイルのファイル名と、ファイルサイズと、リンクサイズと、ファイルアクセス回数と、優先順位を示す重み付けとを有するものであっても良い。
【００２４】
さらに、前記重み付けが、前記インストール対象ファイルのファイルサイズを前記ファイルアクセス回数で除算した値であっても良い。
【００２５】
【発明の実施の形態】
本発明は、インストール対象とするソフトウェア（以下インストール対象ソフトウェア）をインストールする記憶装置であるハードディスクドライブ（以下、ドライブ）を複数備え、その１つをオペレーテイングシステム（ＯＳ）を格納している主ドライブとするコンピュータにインストールする場合、インストール対象ソフトウェアのデータ量であるインストール対象ソフトウェアのサイズに対し、インストール先の主ドライブ又は主ドライブ以外の単一のドライブの空き容量が十分でなくても、リンク使用により主ドライブ及びこの主ドライブ以外の使用可能なドライブの合計空き容量が十分であればインストールを可能とする。また、ソフトウェアのインストールの前段階として、ファイル毎の頻度情報を格納した頻度情報テーブルを作成し、各ファイル毎にインストール時の優先順位を付けることにより、上記リンク使用によるソフトウェア処理速度の低下を防止する手段を提供する。
【００２６】
次に、本発明の一実施の形態をブロックで示す図１を参照すると、この図に示す本実施の形態のインストーラは、全体の制御及び処理を行う制御処理手段１と、インストール対象ソフトウェアを構成するファイル毎のアクセス頻度の情報をテーブル化するとともに複数のドライブに格納するときのファイルの優先順位の情報を含む頻度情報テーブルを作成する頻度情報テーブル作成手段２と、インストール対象ソフトウェアのファイル（以下インストール対象ファイル）のうちの１つのインストールに使用可能なドライブを選択しその空き容量をチエックするドライブ取得手段３と、インストール対象ファイルのリンク先ドライブを決定するリンク先ドライブ決定手段４と、インストールを実行する実行手段５とを備える。
【００２７】
頻度情報テーブル作成手段２は、後述の既存ツール調査手段２２に必要なインストール対象ファイルを入力するインストール対象ファイル入力手段２１と、既存ツール（プロファイラ）使用によりインストール対象ファイルのアクセス回数を計測する計測手段２２１を有し上記アクセス回数を調査する既存ツール調査手段２２と、インストール対象ファイルのアクセス回数及びファイルサイズよりファイルの優先順位を決定する重み付け決定手段２３とを備える。
【００２８】
ドライブ取得手段３は、使用可能なドライブを選択するドライブ選択手段３１と、ドライブ選択手段３１で選択したドライブの空き容量をチェックする空き容量チェック手段３２とを備える。
【００２９】
リンク先ドライブ決定手段４は、インストール対象ファイル入力手段２１と同一機能・構成のインストール対象ファイル入力手段４１と、インストール対象ファイルの各々のリンクサイズをチェックするリンクサイズチェック手段４２と、インストール対象ファイルの各々のリンクを作成するリンク作成手段４３とを備える。
【００３０】
実行手段５は、リンク先ドライブ決定後にインストール対象ファイルのリンクを主ドライブにインストールするインストール実行手段５１と、リンク先ドライブにインストール対象ファイルをコピーするファイルコピー手段５２とを備える。
【００３１】
本実施の形態では、ドライブ取得手段３で指定した主ドライブ及び主ドライブ以外の使用可能なドライブをダイアログ上で操作者にチェックさせることにより、本インストーラは操作者が希望するドライブを把握する。その際、主ドライブ及び主ドライブ以外の使用可能なドライブの空き容量を空き容量チェック手段３２で行う。
【００３２】
次に、前記で調べた空き容量の結果をリンク先ドライブ決定手段４において、リンク先を決定するために用いる。これにより、リンク先ドライブの空き容量が十分であればファイル単位でインストールすることを可能にする。
【００３３】
次に、本実施の形態のインストール方法における頻度情報テーブルの構成の一例を示す図６を参照して本実施の形態における頻度情報テーブルＴ６３の作成について説明すると、まず、インストールの前段階として、既存ツールであるプロファイラの実行によりファイルアクセス回数Ｔ６２を作成し、次に、ソフトウェアを構成する全ての個々のファイル、すなわち、全てのインストール対象ファイルの優先順位を決定するために、頻度情報テーブルＴ６３を作成する。
【００３４】
インストール対象ファイルＴ６１に対し、プロファイラＴ６４を実行した結果、この実行時におけるファイルアクセス回数Ｔ６２を求める。
【００３５】
頻度情報テーブルＴ６３には、インストール対象ファイルＴ６１のファイル名、ファイルサイズＦＳ、リンクサイズＬＳ、ファイルアクセス回数ＦＡ、及び優先順位を示す重み付けを書き込む。
【００３６】
頻度情報テーブルＴ６３の重み付けは、ファイルアクセス回数ＦＡ／ファイルサイズＦＳで表され、ファイルサイズＦＳを一定とすると、ファイルアクセス回数ＦＡの値が大きいものほどインストール時の優先順位が高くなる。
【００３７】
ファイルアクセスについては、主ドライブ上に存在するファイルのほうが、主ドライブ以外に存在するファイルよりも一般的に高速である。
【００３８】
この理由は、主ドライブ以外に存在する場合、ＯＳはまず主ドライブ上のリンクにアクセスし、その内容を見て目的のファイルをアクセスするという手順を踏むからである。そのため、主ドライブ上になるべく多数のファイルを置いた方が総合的なアクセス速度は速くなるので、主ドライブ上には大きなファイルを少数配置するよりも小さなファイルを多数配置する方が良い。ただし、全ての個々のファイルのアクセス回数との関係を考慮しなくてはならないので、主ドライブ上の総ファイルアクセス回数が最大となるようにファイルの配置を決定する。
【００３９】
主ドライブ上での総ファイルアクセス回数が最大となるように、ファイルサイズＦＳとファイルアクセス回数ＦＡとの関係を求めるには、個々のファイルのファイルサイズ当たりのファイルアクセス回数の和が最大となるようにファイルを主ドライブに配置すれば良いことになる。
【００４０】
頻度情報テーブルＴ６３の重み付け欄には、上述のように、ファイルアクセス回数ＦＡ／ファイルサイズＦＳを計算し、その計算結果ＦＡ／ＦＳを書き込む。このＦＡ／ＦＳの値が大きいものが、主ドライブに配置する優先順位が高いことになる。
【００４１】
次に図１、処理フローをフローチャートで示す図２、及びドライブ選択ダイアログ表示例を示す図５を参照して本実施の形態の動作について詳細に説明すると、最初に、ステップＳ１で、操作者がインストール対象のソフトウェアをインストールするドライブとして指定したいドライブ、又はインストール対象のソフトウェアの仕様によりインストールするドライブとて指定しなければならないドライブを主ドライブとして選択する。一般的には上述のようにＯＳを格納したドライブを主ドライブとして選択する。
【００４２】
次にステップＳ２で、ステップＳ１で選択された主ドライブの空き容量がインストール対象のソフトウェアのサイズより大きい場合にはステップＳ３に進み、インストールを実行する。
【００４３】
上記ソフトウェアのサイズより主ドライブの空き容量が小さい場合には、ステップＳ４に進み、主ドライブと主ドライブ以外でインストール対象ファイルをコピーしても問題のないドライブを図５のダイアログＴ５１上で操作者にチェックさせることにより、ドライブの状況を本インスーラが把握し、次のステップＳ５へ進む。
【００４４】
ステップＳ５では、上記ダイアログ上でチェックした使用可能なドライブが存在するかどうか判断する。使用可能なドライブが存在する場合には次のステップＳ７へ進む。
【００４５】
ステップＳ７では、インストール対象ファイルのインストール先ドライブを決定する。
【００４６】
このステップＳ７の処理の詳細をフローチャートで示す図３及び図６に対応するファイル名とコピーリンク先の対応を表形式で示す図７を併せて参照してインストール先ドライブ決定方法を説明すると、ステップＳ７０１では、インストール対象ファイルＴ６１の全てのファイル名を図７のコピーリンク先対応表Ｔ７１（以下、対応表）に書き込み、次のステップＳ７０２へ進む。
【００４７】
ステップＳ７０２では、ステップＳ７０１で書き込んだ対応表Ｔ７１の全てのインストール対象ファイルのリンクサイズを頻度情報テーブルＴ６３から取得し、次のステップＳ７０３へ進む。
【００４８】
ステップＳ７０３では、指定された主ドライブの空き容量に全てのインストール対象ファイルの各々のリンクが入るかどうかを判断する。
【００４９】
主ドライブに入る場合には、次のステップＳ７０４へ進む。上述のように決定した頻度情報テーブルＴ６３から、予め定められた優先順位の高いファイル順すなわち頻度情報テーブルＴ６３の重み付け欄の高い値のファイルの方を主ドライブに置いた方が高速という観点からそのファイル順に変更する。
【００５０】
ただし、図６では示していないが、説明の便宜上、後述の実施例で詳述するように、上記各ステップを実行すると以下の様なファイル順になるものとする。すなわち、Ｆｉｌｅ−Ｅ、Ｆｉｌｅ−Ａ、Ｆｉｌｅ−Ｄ、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ、Ｆｉｌｅ−Ｆの順である。
【００５１】
ステップＳ７０５では、インストール対象ファイルの実体を主ドライブの全てのインストール対象ファイルの各々のリンクサイズを除く空き容量へコピーすることが可能であるかどうか判断する。
【００５２】
主ドライブにコピーできない場合には、次のステップＳ７０６へ進む。
【００５３】
ステップＳ７０６では、上記で選択されたドライブ選択ダイアログＴ５１（図５参照）で操作者によって指定された使用可能なドライブが存在するかどうか判断する。
【００５４】
使用可能なドライブが存在する場合は、次のステップＳ７０８へ進む。
【００５５】
ステップＳ７０８では、インストール対象ファイルの実体を使用可能なドライブの空き容量にコピーできるかどうか判断する。コピーできない場合には、ステップＳ７０６へ戻り、再度使用可能なドライブが存在するかどうか判断する。
【００５６】
つまり、使用可能なドライブが存在する限り処理を繰り返すことになる。次にステップＳ７０８での判断でコピーできると判断された場合には次のステップＳ７０９へ進む。
【００５７】
ステップＳ７０９では、インストール対象ファイルの実体は使用可能なドライブへコピーするように、対応表Ｔ７１に使用可能なドライブ名、例えば「Ｂ：」，「Ｅ：」・・・をコピー先欄に書き込む。その後、主ドライブにはインストール対象ファイルの実体へのリンクを作成するためにリンク先欄に「あり」と書き込み次のステップＳ７１０へ進む。
【００５８】
ステップＳ７１０では、インストール対象ファイルがまだ存在するかどうか判断し、ファイルが存在しない場合には、本処理を終了し、図２のステップＳ８へ進む。
【００５９】
また、ファイルが存在する場合には、次のファイル処理へ進み、次のステップＳ７０５へ戻る。この処理は、インストール対象ファイルが存在する限り繰り返すことになる。
【００６０】
ステップＳ７０５の判断で、主ドライブにコピーできる場合には次のステップＳ７０７へ進む。
【００６１】
ステップＳ７０７では、ファイルを主ドライブにコピーするように対応表Ｔ７１に書き込む。また、コピー先欄は「主ドライブ、ここでは説明の便宜上Ｂ：とする」を、リンク先欄には「なし」をそれぞれ書き込み次のステップＳ７１０のインストール対象ファイルがまだ存在するかどうかの判断処理に進み、ファイルが存在しない場合には、本処理を終了し、図２のステップＳ８へ進む。
【００６２】
次に、ステップＳ８では、第７のステップで決定したインストール先のドライブである主ドライブ又は主ドライブ以外の使用可能なドライブの空き容量に対して、インストール対象ファイルの全てがコピー可能かどうかを判断する。
【００６３】
コピー可能である場合には、次のステップＳ１０へ進む。
ステップＳ１０では、対応表Ｔ７１に基づきリンクを作成し、次のステップＳ１１へ進む。
【００６４】
ステップＳ１１では、インストール対象ファイルの実体をコピーし、次のステップＳ１２へ進む。
【００６５】
ステップＳ１２では、コピーされていないファイルがあるかどうか判断しコピーされていないファイルがある場合には、再びステップＳ１０へ戻る。
【００６６】
コピーされていないファイルが存在する限り本処理を繰り返すこととなる。
【００６７】
また、全てのインストール対象ファイルの処理が終了すると、本インストールの処理は全て終了する。
【００６８】
次は、終了条件について説明する。
【００６９】
まず、ステップＳ５で図５のダイアログ上でチェックした使用可能なドライブが存在しない場合に、コピーする処理ができないので次のステップＳ６へ進み、インストールを中止して、本処理を終了する。
【００７０】
ステップＳ７０３では、指定された主ドライブの空き容量に個々の全てのファイルのリンクが主ドライブに入らない場合には本処理を終了する。
【００７１】
同様に、ステップＳ７０６では、選択されたドライブ選択ダイアログＴ５１で操作者によって指定された使用可能なドライブが存在しない場合には、本処理を終了する。
【００７２】
ステップＳ８では、全てのファイルがコピー可能でない場合には、次のステップＳ９へ進みインストールを中止して、本処理を終了する。
【００７３】
次に、具体例を用いた本実施の形態の第１の実施例のインストール手順について、図２、本実施の形態で使用するマシンの構成をブロックで示す図４、図６、図７及び図７に対応するインストール後のファイル配置構成を示す図８を併せて参照し、本実施例の動作を詳細に説明する。
まず、インストールの前段階として、既存ツールであるプロファイラの実行によりファイルアクセス回数Ｔ６２を作成し、次に、インストール対象ソフトウェアを構成する個々の全てのファイルすなわち、インストール対象ファイルの優先順位を決定するために、頻度情報テーブルＴ６３を作成する。
【００７４】
頻度情報テーブル作成手順について図６を参照して説明すると、この頻度情報テーブル作成は、インストール対象ファイルＴ６１を構成する個々のファイルのアクセス回数をプロファイラＴ６４により計測してファイルアクセス回数テーブルＴ６２を作成し、このファイルアクセス回数テーブルＴ６２を用いて、インストール対象ファイルＴ６１の各ファイルのサイズであるファイル名と、ファイルサイズと、他ドライブ等リンク先にリンクするための情報であるリンクサイズと、上記ファイルアクセス回数と、上述の重み付けの各情報を格納した頻度情報テーブルＴ６３を作成する。
【００７５】
まず、インストール対象ファイルＴ６１に対し、プロファイラＴ６４によるアクセス回数の計測を実行した結果、この実行時におけるファイルアクセス回数Ｔ６２を求める。
【００７６】
頻度情報テーブルＴ６３には、インストール対象ソフトウェアを構成する各インストール対象ファイルＴ６１のファイル名、ファイルサイズＦＳ、リンクサイズＬＳ、ファイルアクセス回数ＦＡ、及び重み付けＦＳ／ＦＡを書き込む。
【００７７】
頻度情報テーブルＴ６３の重み付けＦＳ／ＦＡは、ファイルサイズＦＳを一定とすると、ファイルアクセス回数ＦＡの値が大きいものほどインストール時の優先順位が高くなる。
【００７８】
説明の便宜上、本実施例では、インストール対象のソフトウェアを構成するインストール対象ファイルをＦｉｌｅ−Ａ、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ、Ｆｉｌｅ−Ｄ、Ｆｉｌｅ−Ｅ、及びＦｉｌｅ−Ｆの６つとし、これらは各々１５Ｋバイト、１６Ｋバイト、１５Ｋバイト、１４Ｋバイト、１０Ｋバイト、及び１３Ｋバイトのファイルサイズ、したがって、ソフトウェアのサイズはこれらの合計８３Ｋバイトとする。また、これらＦｉｌｅ−Ａ、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ、Ｆｉｌｅ−Ｄ、Ｆｉｌｅ−Ｅ、及びＦｉｌｅ−Ｆの各々のリンクサイズを全て２Ｋバイトとし、各々のアクセス回数を、１００、９０、７０、８０、７５、３０（回）とする。
【００７９】
まず、Ｆｉｌｅ−Ａのファイルサイズ及びリンクサイズを調べて、頻度情報テーブルＴ６３のＴ６３１の各々の欄に書き込む。また、予め調査しておいたＦｉｌｅ−Ａのアクセス回数ＦＡをファイルアクセス回数Ｔ６２のＴ６２１を参照して頻度情報テーブルＴ６３のＴ６３１に書き込む。ここでは、上述したＦｉｌｅ−Ａのアクセス回数ＦＡ＝１００、ファイルサイズＦＳ＝１５Ｋバイト、リンクサイズ２Ｋバイトを書き込む。
【００８０】
重み付けを行うため、個々の全てのファイルのファイルサイズ当たりのファイルアクセス回数の和を最大になるようにファイルを主ドライブに配置するという観点からこの例の場合、Ｆｉｌｅ−Ａの重み付けを求めるために、ファイルアクセス回数ＦＡ／ファイルサイズＦＳで求める。その計算結果を、頻度情報テーブルＴ６３のＴ６３１の重み付け欄に、１００／１５＝６．７を書き込む。このようにして、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ等全てのインストール対象ファイルに対して、インストール対象ファイル数分だけ上記内容を反復し、頻度情報テーブルＴ６３を完成させる。
【００８１】
次に、図２、図４、図６、図７及び図８を参照して本実施例のインストール方法について説明すると、まず、本実施例で使用するマシンは、図４に示すように、ソフトウェアのインストール対象のユーザシステムとＡドライブ，Ｂドライブ，Ｃドライブ，Ｄドライブ，Ｅドライブ，Ｆドライブ，Ｇドライブ及びＨドライブを含むマシン１００と、上記ソフトウェアが格納されているＣＤＲＯＭやフロッピディスク等の供給メディア１０２と、インストーラ１０３とを有する。ここで、説明の便宜上、ドライブＡをフロッピディスク装置と仮定し、この実施例のにおけるソフトウェアのインストール対象外とする。また、主ドライブをドライブＢとし、その空き容量を５０Ｋバイト、インストールに使用可能なドライブをＥドライブ及びＦドライブとし、これらＥドライブの空き容量７００Ｋバイト、Ｆドライブの空き容量１０００Ｋバイトと仮定する。さらに、インストール対象ソフトウェアサイズの合計（Ｆｉｌｅ−ＡからＦｉｌｅ−Ｆまでの合計）、すなわち、供給メディア１０２の合計サイズを上述の通り８３Ｋバイトとする。
【００８２】
最初に、ステップＳ１において、操作者は、インストール対象のソフトウェアをインストールする主ドライブであるＢドライブを選択する。
【００８３】
次にステップＳ２では、選択された主ドライブ（Ｂドライブ）の空き容量５０Ｋバイトがインストール対象のソフトウェアのサイズ８３Ｋバイトより小さいので、ステップＳ４に進む。
【００８４】
ステップＳ４において、ドライブ選択ダイアログＴ５１を表示する。このドライブ選択ダイアログＴ５１で表示されるドライブ情報は図４のマシン１０１である。ダイアログＴ５１で、ステップＳ１で予め選択されていた主ドライブ（Ｂドライブ）以外の他の使用可能なドライブがあるかどうか操作者に確認する。
【００８５】
この例の場合、ＥドライブとＦドライブが使用可能であるので、これらＥドライブとＦドライブが選択される。
【００８６】
次のステップＳ５では、主ドライブ以外の他の使用可能なドライブが操作者によって選択されていたかどうか確認する。
【００８７】
この実施例の場合には、本インストーラが、ステップＳ４で、Ｅドライブ及びＦドライブが使用可能であると判断しているため、次のステップＳ７へ進む。
【００８８】
再度図３及び図７を参照して、上述したインストール先ドライブ決定方法について、説明すると、まず、ステップＳ７０１において、インストール対象ソフトウェアの全てのインストール対象ファイルであるＦｉｌｅ−Ａ、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ、Ｆｉｌｅ−Ｄ、Ｆｉｌｅ−Ｅ、Ｆｉｌｅ−Ｆを対応表Ｔ７１の該当するファイル名欄に書き込み、次のステップＳ７０２へ進む。
【００８９】
ステップＳ７０２では、頻度情報テーブルＴ６３より、インストール対象ファイルＦｉｌｅ−Ａ〜Ｆｉｌｅ−Ｆの全てのリンクサイズを調べて、次のステップＳ７０３へ進む。各ファイルＦｉｌｅ−Ａ〜Ｆｉｌｅ−Ｆの各々のリンクサイズは上述の通り２Ｋバイトである。
【００９０】
ステップＳ７０３では、主ドライブ（Ｂドライブ）の空き容量が５０Ｋバイトあり、Ｆｉｌｅ−Ａ〜Ｆｉｌｅ−Ｆまでの合計リンクサイズが１２Ｋバイトとなり主ドライブの空き容量より小さいので、次のステップＳ７０４へ進む。
【００９１】
ステップＳ７０４では、頻度情報テーブルＴ６３より、重み付けＦＳ／ＦＡの値の高い順に並び変えて、次のステップＳ７０５へ進む。
【００９２】
この例の場合では、Ｆｉｌｅ−Ｅ（７．５）、Ｆｉｌｅ−Ａ（６．７）、Ｆｉｌｅ−Ｄ（５．７）、Ｆｉｌｅ−Ｂ（５．６）、Ｆｉｌｅ−Ｃ（４．７）、Ｆｉｌｅ−Ｆ（２．３）の順となる。つまり、主ドライブへは重み付けＦＳ／ＦＡの値が最も高い、すなわち、インストールの優先順位が最も高いＦｉｌｅ−Ｅから順に主ドライブであるＢドライブにコピー可能か否かを判断していく。
【００９３】
ステップＳ７０５では、Ｂドライブの空き容量の合計サイズ５０Ｋバイトに対して、合計リンクサイズが１２Ｋバイトとなり、残りのサイズが３８Ｋバイトとなる（５０Ｋ−１２Ｋ＝３８Ｋ）。
【００９４】
第１優先順位のＦｉｌｅ−Ｅのファイルサイズが１０ＫバイトでありＢドライブの空き容量３８Ｋバイトより小さく、コピー可能なので、ステップＳ７０７へ進む。
ステップＳ７０７では、Ｆｉｌｅ−Ｅを主ドライブにコピー可能とし、対応表Ｔ７１のＴ７１５にコピー先欄には主ドライブである「Ｂドライブ」と書き込む。また、主ドライブであるため、リンク先欄には「なし」と書き込む。Ｆｉｌｅ−Ｅがコピー可能と判断されたので、Ｆｉｌｅ−Ｅのリンクを削除し、次のステップＳ７１０へ進む。
【００９５】
ステップＳ７１０では、まだインストール対象ファイルがあるのでステップＳ７０５に戻り、再び主ドライブへコピー可能かどうか判断する。
【００９６】
再度、ステップＳ７０５では主ドライブの空き容量のチェックを行う。行った結果、主ドライブの空き容量は、３０Ｋバイトとなる（３８Ｋ―１０Ｋ＋２Ｋ＝３０Ｋ）。
【００９７】
次に、Ｆｉｌｅ−Ｅの次に重み付けの値の高いＦｉｌｅ−Ａについて判断していく。
【００９８】
Ｆｉｌｅ−Ａのファイルサイズが１５Ｋバイトであり、Ｂドライブの空き容量（３０Ｋ）より小さく、コピー可能なので、ステップＳ７０７へ進む。
【００９９】
ステップＳ７０７では、Ｆｉｌｅ−Ａを主ドライブにコピー可能とし、対応表Ｔ７１のＴ７１１にコピー先欄には主ドライブである「Ｂドライブ」と書き込む。また、主ドライブであるため、リンク先欄には「なし」と書き込む。Ｆｉｌｅ−Ａがコピー可能と判断されたので、Ｆｉｌｅ−Ａのリンクを削除し、次のステップＳ７１０へ進む。
【０１００】
ステップＳ７１０では、まだインストール対象ファイルがあるのでステップＳ７０５に戻り、再び主ドライブへコピー可能かどうか判断する。
【０１０１】
再度、ステップＳ７０５では主ドライブの空き容量のチェックを行う。行った結果、主ドライブの空き容量は、１７Ｋバイトとなる（３０Ｋ−１５Ｋ＋２Ｋ＝１７Ｋ）。
【０１０２】
次に、Ｆｉｌｅ−Ａの次に重み付けの値の高いＦｉｌｅ−Ｄについて判断していく。
【０１０３】
Ｆｉｌｅ−Ｄのファイルサイズが１４ＫバイトでありＢドライブの空き容量１７Ｋバイトより小さく、コピー可能なので、ステップＳ７０７へ進む。
【０１０４】
ステップＳ７０７では、Ｆｉｌｅ−Ｄを主ドライブにコピー可能とし、対応表Ｔ７１のＴ７１４にコピー先欄には主ドライブである「Ｂドライブ」と書き込む。また、主ドライブであるため、リンク先欄には「なし」と書き込む。Ｆｉｌｅ−Ｄが  コピー可能と判断されたのでＦｉｌｅ−Ｄのリンクを削除し、次のステップＳ７１０へ進む。
【０１０５】
ステップＳ７１０では、まだインストール対象ファイルがあるのでステップＳ７０５へ戻り、再び主ドライブへコピー可能かどうか判断する。
【０１０６】
再度、ステップＳ７０５では主ドライブの空き容量のチェックを行う。行った結果、主ドライブの空き容量は、５Ｋバイトとなる（１７Ｋ−１４Ｋ＋２Ｋ＝５Ｋ）。
【０１０７】
次に、Ｆｉｌｅ−Ｄの次に重み付けの値の高いＦｉｌｅ−Ｂで判断していく。
【０１０８】
Ｆｉｌｅ−Ｂのファイルサイズが１６ＫバイトでありＢドライブの空き容量５Ｋバイトより大きいので主ドライブへコピーは不可能と判断し、ステップＳ７０６へ進む。
【０１０９】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、ステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、ドライブのアルファベット順に選択するものと仮定する。
【０１１０】
ステップＳ７０８では、Ｆｉｌｅ−Ｂが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する。
【０１１１】
Ｆｉｌｅ−Ｂのファイルサイズ１６Ｋバイトが使用可能ドライブであるＥドライブの空き容量７００Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
ステップＳ７０９では、Ｆｉｌｅ−Ｂを使用可能なドライブにコピー可能とし、対応表Ｔ７１のＴ７１２にコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１１２】
ステップＳ７１０では、インストール対象ファイルがあるので再びステップＳ７０５へ進む。
【０１１３】
次に、Ｆｉｌｅ−Ｂの次に重み付けの値の高いＦｉｌｅ−Ｃで判断していく。
【０１１４】
Ｆｉｌｅ−Ｃのファイルサイズが１５ＫバイトでありＢドライブの空き容量５Ｋバイトより大きいので、主ドライブへコピーは不可能と判断し、ステップＳ７０６へ進む。
【０１１５】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、ステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１１６】
ステップＳ７０８では、Ｆｉｌｅ−Ｃが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する（７００Ｋ−１６Ｋ＝６８４Ｋ）。
【０１１７】
Ｆｉｌｅ−Ｃのファイルサイズ１５Ｋバイトが使用可能ドライブであるＥドライブの空き容量６８４Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１１８】
ステップＳ７０９では、Ｆｉｌｅ−Ｃを使用可能なドライブにコピー可能とし、対応表Ｔ７１のＴ７１３にコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１１９】
ステップＳ７１０では、インストール対象ファイルがあるので再びステップＳ７０５へ進む。
【０１２０】
次に、Ｆｉｌｅ−Ｃの次に重み付けの値の高いＦｉｌｅ−Ｆで判断していく。
【０１２１】
Ｆｉｌｅ−Ｆのファイルサイズが１３ＫでありＢドライブの空き容量５Ｋバイトより大きいので、主ドライブへコピーは不可能と判断し、次のステップＳ７０６へ進む。
【０１２２】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、ステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１２３】
ステップＳ７０８では、Ｆｉｌｅ−Ｆが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する。（６８４Ｋ−１５Ｋ＝６６９Ｋ）
Ｆｉｌｅ−Ｆのファイルサイズ１３Ｋバイトが使用可能ドライブであるＥドライブの空き容量６６９Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１２４】
ステップＳ７０９では、Ｆｉｌｅ−Ｆを使用可能なドライブにコピー可能とし、対応表Ｔ７１のＴ７１６にコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１２５】
ステップＳ７１０では、インストール対象ファイルがないので、本処理を終了する。この処理が終了したことにより、対応表Ｔ７１が完成したこととなる。
【０１２６】
次に、ステップＳ８では、全てのインストール対象ファイルがコピー可能であるため次のステップＳ１０に進む。
【０１２７】
ステップＳ１０で対応表Ｔ７１のリンク先欄に応じて、リンクを作成し、次のステップＳ１１へ進む。
【０１２８】
ステップＳ１１では、対応表Ｔ７１のコピー先欄に応じて、ファイルをコピーし次のステップＳ１２へ進む。
【０１２９】
ステップＳ１２では、コピーされていないファイルがあるかどうか確認しこの場合には全てインストールされているので本インストールを終了する。
【０１３０】
以上のインストールの終了結果、図８に示すファイル配置を得る。すなわち、Ｂドライブには、インストール対象ソフトウェアのＦｉｌｅ−Ｅ、Ｆｉｌｅ−Ａ及びＦｉｌｅ−Ｄの各々のファイル実体と、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ及びＦｉｌｅ−Ｆの各々のリンクとが格納され、Ｅドライブには、Ｆｉｌｅ−Ｂ、Ｆｉｌｅ−Ｃ及びＦｉｌｅ−Ｆの各々のファイル実体が格納される。
【０１３１】
次に、本実施の形態の第２の実施例を特徴付ける頻度情報テーブルの作成を図６と共通の構成要素には共通の参照文字／数字を付して同様に示す図９を参照すると、本実施例では、インストール対象ソフトウェアをファイルを構成する個々のインストール対象ファイルＴ９１のアクセス回数をプロファイラＴ９４により計測してファイルアクセス回数テーブルＴ９２を作成し、このファイルアクセス回数テーブルＴ９２を用いて、インストール対象ファイルＴ９１の各ファイルのサイズであるファイル名と、ファイルサイズと、他ドライブ等リンク先にリンクするための情報であるリンクサイズと、上記ファイルアクセス回数と、上述の重み付けの各情報を格納した頻度情報テーブルＴ９３を作成する。
【０１３２】
また、インストール対象のソフトウェアを構成するインストール対象ファイルをＦｉｌｅ−ａ、Ｆｉｌｅ−ｂ、Ｆｉｌｅ−ｃ、Ｆｉｌｅ−ｄ、Ｆｉｌｅ−ｅ、及びＦｉｌｅ−ｆの６つとし、これらは各々３００Ｋバイト、５００Ｋバイト、６００Ｋバイト、５５Ｋバイト、３０Ｋバイト、及び４３Ｋバイトのファイルサイズ、したがって、ソフトウェアのサイズはこれらの合計１５２８Ｋバイトとする。また、これらＦｉｌｅ−ａ、Ｆｉｌｅ−ｂ、Ｆｉｌｅ−ｃ、Ｆｉｌｅ−ｄ、Ｆｉｌｅ−ｅ、及びＦｉｌｅ−ｆの各々のリンクサイズを全て２Ｋバイトとし、各々のアクセス回数を、１、１０、５、５０、３、９０（回）とする。すなわち、本実施例のインストール対象ファイルＴ９１のファイルサイズが大きく、ファイルアクセス回数が少ないファイルであるＦｉｌｅ−ａ、Ｆｉｌｅ−ｂ及びＦｉｌｅ−ｃと、ファイルサイズが小さくファイルアクセス回数が多いファイルであるＦｉｌｅ−ｄ、Ｆｉｌｅ−ｅ、及びＦｉｌｅ−ｆとを含む点が上述の第１の実施例と異なっている。
【０１３３】
第１の実施例と同様に、まず、Ｆｉｌｅ−ａのファイルサイズ及びリンクサイズを調べて、頻度情報テーブルＴ９３のＴ９３１の各々の欄に書き込む。また、Ｆｉｌｅ−ａのアクセス回数ＦＡをファイルアクセス回数Ｔ９２のＴ９２１を参照して頻度情報テーブルＴ９３のＴ９３１に書き込む。ここでは、上述した、Ｆｉｌｅ−ａのアクセス回数ＦＡ＝１、ファイルサイズＦＳ＝３００Ｋバイト、リンクサイズ２Ｋバイトを書き込む。また、重み付けＦＳ／ＦＡを計算し、その結果１／３００＝０．００３を書き込む。以下同様にして、Ｆｉｌｅ−ｂ、Ｆｉｌｅ−ｃ等全てのインストール対象ファイルＴ９１に対して、インストール対象ファイルＴ９１数分だけ上記内容を反復し、頻度情報テーブルＴ９３を完成させる。
【０１３４】
次に、図２、図３，図４、図９、図９に対応するファイル名とコピーリンク先の対応を対応表形式で示す図１０及び図１０に対応するインストール後のファイル配置構成を示す図１１を参照して本実施例のインストール方法について説明すると、まず、図２に示すステップＳ１、Ｓ２、Ｓ４、Ｓ５の処理は、第１の実施例と同一である。また、図４に示すマシン構成も第１の実施例と同一であり、マシン１００は、フロッピディスク装置のＡドライブ，Ｂドライブ，Ｃドライブ，Ｄドライブ，Ｅドライブ，Ｆドライブ，Ｇドライブ及びＨドライブを含むものとする。さらに、主ドライブをドライブＢとし、その空き容量を５０Ｋバイト、インストールに使用可能なドライブをＥドライブ及びＦドライブとし、これらＥドライブの空き容量７００Ｋバイト、Ｆドライブの空き容量１０００Ｋバイトとする。
【０１３５】
まず、インストール先ドライブ決定方法について、図３及び図１０を参照して説明する。
【０１３６】
最初に、ステップＳ７０１において、インストール対象ソフトウェアの全てのインストール対象ファイルであるＦｉｌｅ−ａ、Ｆｉｌｅ−ｂ、Ｆｉｌｅ−ｃ、Ｆｉｌｅ−ｄ、Ｆｉｌｅ−ｅ、及びＦｉｌｅ−ｆを対応表Ｔ１０１の該当するファイル名欄に書き込み、次のステップＳ７０２へ進む。
【０１３７】
ステップＳ７０２では、頻度情報テーブルＴ９３より、インストール対象ソフトウェアのインストール対象ファイルＦｉｌｅ−Ａ〜Ｆｉｌｅ−Ｆの全てのリンクサイズを調べて、次のステップＳ７０３へ進む。各ファイルＦｉｌｅ−Ａ〜Ｆｉｌｅ−Ｆの各々のリンクサイズは上述の通り２Ｋバイトである。
【０１３８】
ステップＳ７０３では、主ドライブ（Ｂドライブ）の空き容量が５０Ｋバイトあり、Ｆｉｌｅ−ａからＦｉｌｅ−ｆまでの合計リンクサイズが１２Ｋバイトとなり主ドライブの空き容量より小さいので、次のステップＳ７０４へ進む。
【０１３９】
ステップＳ７０４では、頻度情報テーブルＴ９３より、重み付けＦＳ／ＦＡの値の高い順に並び変えて、次のステップＳ７０５へ進む。
【０１４０】
この例の場合では、Ｆｉｌｅ−ｆ（２．１）、Ｆｉｌｅ−ｄ（０．９１）、Ｆｉｌｅ−ｅ（０．１）、・Ｆｉｌｅ−ｂ（０．０２）・Ｆｉｌｅ−ｃ（０．００８３）・Ｆｉｌｅ−ａ（０．００３）の順となる。つまり、主ドライブへは重み付けＦＳ／ＦＡの値が最も高い、すなわち、インストールの優先順位が最も高いＦｉｌｅ−ｆから順に主ドライブであるＢドライブにコピー可能か否かを判断していく。
【０１４１】
ステップＳ７０５では、Ｂドライブの空き容量の合計サイズ５０Ｋバイトに対して、合計リンクサイズが１２Ｋバイトとなり、残りのサイズが３８Ｋとなる（５０Ｋ−１２Ｋ＝３８Ｋ）。
【０１４２】
第１優先順位のＦｉｌｅ−ｆのファイルサイズが４３ＫバイトでありＢドライブの空き容量（３８Ｋ）より大きいので、このＢドライブ、すなわち、主ドライブにコピーは不可能と判断し、ステップＳ７０６へ進む。
【０１４３】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、ステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、ドライブのアルファベット順に選択するものと仮定する。
【０１４４】
ステップＳ７０８では、Ｆｉｌｅ−ｆが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうかを判断する。
【０１４５】
Ｆｉｌｅ−ｆのファイルサイズ４３Ｋバイトが使用可能ドライブであるＥドライブの空き容量７００Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１４６】
ステップＳ７０９では、Ｆｉｌｅ−ｆを使用可能なドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１６のコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１４７】
ステップＳ７１０では、インストール対象ファイルがあるので再びステップＳ７０５へ進む。
【０１４８】
次に、Ｆｉｌｅ−ｆの次に重み付けの値の高いＦｉｌｅ−ｄで判断していく。
【０１４９】
Ｆｉｌｅ−ｄのファイルサイズが５５Ｋバイトであり主ドライブであるＢドライブの空き容量（３８Ｋ）より大きいので、主ドライブへのコピーは不可能と判断し、次のステップＳ７０６へ進む。
【０１５０】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、次のステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１５１】
ステップＳ７０８では、Ｆｉｌｅ−ｄが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する（７００Ｋ−４３Ｋ＝６５７Ｋ）。
【０１５２】
Ｆｉｌｅ−ｄのファイルサイズ５５Ｋバイトが使用可能ドライブであるＥドライブの空き容量６５７Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１５３】
ステップＳ７０９では、Ｆｉｌｅ−ｄを使用可能なドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１４にコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１５４】
ステップＳ７１０では、まだ、インストール対象ファイルがあるので再びステップＳ７０５に戻る。
【０１５５】
次に、Ｆｉｌｅ−ｄの次に重み付けの値の高いＦｉｌｅ−ｅで判断していく。
【０１５６】
Ｆｉｌｅ−ｅのファイルサイズが３０Ｋバイトであり、主ドライブであるＢドライブの空き容量３８Ｋバイトより小さいので、主ドライブへのコピーは可能と判断し、ステップＳ７０７へ進む。
【０１５７】
ステップＳ７０７では、Ｆｉｌｅ−ｅを主ドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１５のコピー先欄には主ドライブである「Ｂドライブ」と書き込む。また、主ドライブであるため、リンク先欄には「なし」と書き込む。Ｆｉｌｅ−ｅがコピー可能と判断されたので、Ｆｉｌｅ−ｅのリンクを削除し、次のステップ７１０へ進む（３８Ｋ−３０Ｋ＋２Ｋ＝１０Ｋ）。
【０１５８】
ステップＳ７１０では、まだ、インストール対象ファイルがあるので再びステップＳ７０５へ進む。
【０１５９】
次に、Ｆｉｌｅ−ｅの次に重み付けの値の高いＦｉｌｅ−ｂで判断していく。
【０１６０】
Ｆｉｌｅ−ｂのファイルサイズが５００Ｋバイトであり、主ドライブであるＢドライブの空き容量１０Ｋバイトより大きいので、主ドライブへのコピーは不可能と判断し、ステップＳ７０６へ進む。
【０１６１】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、次のステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１６２】
ステップＳ７０８では、Ｆｉｌｅ−ｂが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する（６５７Ｋ−５５Ｋ＝６０２Ｋ）。Ｆｉｌｅ−ｂのファイルサイズ５００Ｋバイトが使用可能ドライブであるＥドライブの空き容量６０２Ｋバイトより小さいのでコピーできると判断し、ステップＳ７０９へ進む。
【０１６３】
ステップＳ７０９では、Ｆｉｌｅ−ｂを使用可能なドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１２にコピー先欄には使用可能ドライブである「Ｅドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１６４】
ステップＳ７１０では、まだインストール対象ファイルがあるので再びステップＳ７０５へ戻る。
【０１６５】
次に、Ｆｉｌｅ−ｂの次に重み付けの値の高いＦｉｌｅ−ｃで判断していく。
【０１６６】
Ｆｉｌｅ−ｃのファイルサイズが６００Ｋバイトであり、主ドライブであるＢドライブの空き容量１０Ｋバイトより大きいので、主ドライブへコピーは不可能と判断し、次のステップＳ７０６へ進む。
【０１６７】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、ステップＳ７０８へ進む。
【０１６８】
ステップＳ７０８では、Ｆｉｌｅ−ｃが主ドライブ以外のドライブであるＥドライブにコピー可能であるかどうか判断する（６０２Ｋ−５００Ｋ＝１０２Ｋ）。
【０１６９】
Ｆｉｌｅ−ｃのファイルサイズ６００Ｋバイトが最初の使用可能ドライブであるＥドライブの空き容量１０２Ｋより大きいので再びステップＳ７０６へ進む。
【０１７０】
ステップＳ７０６では、ステップＳ４で操作者により選択したＥドライブの次のＦドライブが使用可能なので、ステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１７１】
ステップＳ７０８では、Ｆｉｌｅ−ｃが主ドライブ以外のドライブであるＦドライブにコピー可能であるかどうか判断する。
【０１７２】
Ｆｉｌｅ−ｃのファイルサイズ６００Ｋバイトが使用可能ドライブであるＦドライブの空き容量１０００Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１７３】
ステップＳ７０９では、Ｆｉｌｅ−ｃを使用可能なドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１４にコピー先欄には使用可能ドライブである「Ｆドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１７４】
ステップＳ７１０では、インストール対象ファイルＴ９１があるので再びステップＳ７０５へ進む。
【０１７５】
次に、Ｆｉｌｅ−ｃの次に重み付けの値の高いＦｉｌｅ−ａで判断していく。
【０１７６】
Ｆｉｌｅ−ａのファイルサイズが３００ＫバイトでありＢドライブの空き容量（１０Ｋ）より大きいので、主ドライブへコピーは不可能と判断し、ステップ７０６へ進む。
【０１７７】
ステップＳ７０６では、ステップＳ４で操作者により選択されたＥドライブ及びＦドライブが使用可能なので、次のステップＳ７０８へ進む。この場合の使用可能なドライブの選択方法は、前述した通りである。
【０１７８】
ステップＳ７０８では、Ｆｉｌｅ−ａが主ドライブ以外のドライブであるＦドライブにコピー可能であるかどうか判断する（１０００Ｋ−６００Ｋ＝４００Ｋ）。
【０１７９】
Ｆｉｌｅ−ａのファイルサイズ３００Ｋバイトが使用可能ドライブであるＦドライブの空き容量４００Ｋバイトより小さいのでコピーできると判断し、次のステップＳ７０９へ進む。
【０１８０】
ステップＳ７０９では、Ｆｉｌｅ−ａを使用可能なＦドライブにコピー可能とし、対応表Ｔ１０１のＴ１０１１にコピー先欄には使用可能ドライブである「Ｆドライブ」と書き込む。また、主ドライブ以外のドライブであるため、リンク先欄には「あり」と書き込み次のステップＳ７１０へ進む。
【０１８１】
ステップＳ７１０では、インストール対象ファイルがないので、本処理は終了する。
【０１８２】
次にステップ８に戻り、このステップＳ８では全てのファイルがインストール可能で有るため次のステップＳ９に進む。
ステップＳ９では、対応表Ｔ１０１のリンク先欄に応じて、リンクを作成し、次のステップＳ１０へ進む。
【０１８３】
ステップＳ１０では、対応表Ｔ１０１のコピー先欄に応じて、ファイルをコピーし次のステップＳ１１へ進む。
【０１８４】
ステップＳ１１では、インストールされていないインストール対象ファイルがあるかどうか確認しこの場合には全てインストールされているので本インストールを終了する。
【０１８５】
以上のインストールの終了結果、図１１に示すファイル配置を得る。すなわち、Ｂドライブには、インストール対象ソフトウェアのＦｉｌｅ−ｅのファイル実体と、Ｆｉｌｅ−ｆ、Ｆｉｌｅ−ｄ、Ｆｉｌｅ−ｂ、Ｆｉｌｅ−ｃ及びＦｉｌｅ−ａの各々のリンクとが格納され、Ｅドライブには、Ｆｉｌｅ−ｆ、Ｆｉｌｅ−ｄ及びＦｉｌｅ−ｂの各々のファイル実体が格納され、Ｆドライブには、Ｆｉｌｅ−ｃ及びＦｉｌｅ−ａの各々のファイル実体が格納される。
【０１８６】
以上本発明の実施の形態について第１及び第２の実施例を用いて説明したように、本発明は、インストール対象ソフトウェアのサイズに対して、インストール先の主ドライブ、又は他の単一のドライブの空き容量が十分でなくても、使用可能なドライブの合計空き容量が十分であればインストール対象ソフトウェアをインストールすることが可能となる。
【０１８７】
その理由は、従来のソフトウェア単位のインストールからソフトウェアを構成するファイル単位でのインストールを可能としたためである。
【０１８８】
なお、リンクを経由したファイルアクセスについては、直接のアクセスよりファイルアクセス速度が遅くなるが、ファイルの重みづけによるファイル配置によりアクセス速度の低下を最小限に迎えられる。
【０１８９】
【発明の効果】
以上説明したように、本発明のインストーラ及びインストール方法は、インストール対象ソフトウェアを構成するインストール対象ファイル毎のアクセス頻度の情報をテーブル化し、複数のドライブに格納するときの複数のインストール対象ファイルの各々の優先順位の情報を含む頻度情報テーブルを作成する頻度情報テーブル作成手段と、複数のドライブのうち複数のインストール対象ファイルのうちの１つのインストールに使用可能なドライブを選択しその空き容量をチエックするドライブ取得手段と、インストールしたインストール対象ファイルのリンク先のドライブを決定するリンク先ドライブ決定手段とを備え、インストール対象ソフトウェアを構成するインストール対象ファイル単位でのインストールを可能としたため、インストール対象ソフトウェアのサイズに対して、インストール先の単一ドライブの空き容量が十分でなくても使用可能なドライブの合計空き容量が十分であればインストール対象ソフトウェアをインストールすることが可能となるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施の形態のインストーラの構成を示すブロック図である。
【図２】本実施の形態のインストーラのインストール処理手順であるインストール方法の一例を示すフローチャートである。
【図３】図２のステップＳ７の詳細を示すフローチャートである。
【図４】本実施の形態で使用するマシンの構成の一例を示すブロック図である。
【図５】本実施の形態のインストール方法におけるドライブ選択ダイアログ表示例を示す図である。
【図６】本実施の形態のインストール方法の第１の実施例における頻度情報テーブルの構成の一例を示す構成図である。
【図７】図６に対応するファイル名とコピーリンク先の対応を表形式で示す説明図である。
【図８】図７に対応するインストール後のファイル配置構成を示す説明図である。
【図９】本実施の形態のインストール方法の第２の実施例における頻度情報テーブルの構成の一例を示す構成図である。
【図１０】図９に対応するファイル名とコピーリンク先の対応を表形式で示す説明図である。
【図１１】図１０に対応するインストール後のファイル配置構成を示す説明図である。
【図１２】従来の第１のインストーラのインストール方法の一例を示すフローチャートである。
【図１３】従来の第２のインストーラのインストール方法の一例を示すフローチャートである。
【符号の説明】
１    制御処理手段
２    頻度情報テーブル作成手段
３    ドライブ取得手段
４    リンク先ドライブ決定手段
５    実行手段
２１，４１    インストール対象ファイル入力手段
２２    既存ツール調査手段
２３    重み付け決定手段
３１    ドライブ選択手段
３２    空き容量チェック手段
４２    リンクサイズチェック手段
４３    リンク作成手段
５１    インストール実行手段
５２    ファイルコピー手段
２２１    計測手段
【図１】
0003737321.tif 000002
【図２】
0003737321.tif 000003
【図３】
0003737321.tif 000004
【図４】
0003737321.tif 000005
【図５】
0003737321.tif 000006
【図６】
0003737321.tif 000007
【図７】
0003737321.tif 000008
【図８】
0003737321.tif 000009
【図９】
0003737321.tif 000010
【図１０】
0003737321.tif 000011
【図１１】
0003737321.tif 000012
【図１２】
0003737321.tif 000013
【図１３】
0003737321.tif 000014