(57)【特許請求の範囲】
【請求項１】
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行する処理をコンピュータに実行させるインストール実行プログラムにおいて、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、
前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、
算出した前記予測時間を示す情報を出力する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【請求項２】
請求項１において、さらに、
前記第１の情報を取得する処理の前に、前記インストーラの実行に伴って、前記インストーラの実行が開始した時刻と、前記複数の命令それぞれの実行が開始した時刻と、前記インストーラの実行が終了した時刻と、前記入力要求を行う命令それぞれの実行が開始した時刻と、前記入力要求を行う命令それぞれの実行が終了した時刻とを取得し、
前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記複数の命令毎に、前記インストーラの実行を開始した時刻から各命令の実行が開始した時刻までの時間から、各命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間である実行所要時間を算出し、
前記複数の命令毎に、前記インストーラの実行を開始した時刻から前記インストーラの実行が終了した時刻までの時間から、前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間に対する前記実行所要時間の割合を、前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報として算出し、
算出した前記進捗を示す情報を各命令に対応付けて記憶部に記憶する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【請求項３】
請求項１において、さらに、
前記第２の情報を取得する処理の前に、前記インストーラの実行に伴って、前記インストーラの実行を開始した時刻と、前記複数の命令それぞれの実行が開始した時刻と、前記インストーラの実行が終了した時刻と、前記入力要求を行う命令それぞれの実行が開始した時刻と、前記入力要求を行う命令それぞれの実行が終了した時刻とを取得し、
前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記入力要求を行う命令毎に、前記インストーラの実行を開始した時刻から各命令の実行が開始した時刻までの時間から、各命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間である実行所要時間を算出し、
前記入力要求を行う命令毎に、前記インストーラの実行を開始した時刻から前記インストーラの実行が終了した時刻までの時間から、前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間に対する前記実行所要時間の割合を、前記入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報として算出し、
算出した前記進捗を示す情報を各命令に対応付けて記憶部に記憶する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【請求項４】
請求項１において、
前記予測時間を算出する処理では、
前記特定の命令の前に実行された前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記経過時間から、前記特定の命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間を前記第１の情報が示す値で除算し、除算された時間に前記第２の情報が示す値を乗算し、乗算された時間から前記経過時間を減算することにより、前記予測時間を算出する、
ことを特徴とするインストール実行プログラム。
【請求項５】
ソフトウエアのインストーラのソースコードにおいて複数の命令それぞれが記述された位置に対応する位置に、前記複数の命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述し、
前記複数の命令のうち、前記ソフトウエアのインストールに関する情報の入力要求を行う命令それぞれが記述された位置に対応する位置に、前記入力要求を行う命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述する、
処理をコンピュータに実行させ、
前記インストーラは、前記インストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行するインストール実行プログラムの実行に伴って、前記インストールを実行し、
前記インストール実行プログラムは、実行時において、前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、算出した前記予測時間を示す情報を出力する、
ことを特徴とするインストーラ作成プログラム。
【請求項６】
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行するインストール実行装置において、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得する情報取得部と、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出する予測時間算出部と、
算出した前記予測時間を示す情報を出力する情報出力部と、を有する、
ことを特徴とするインストール実行装置。
【請求項７】
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行するインストール実行方法において、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、
前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、
算出した前記予測時間を示す情報を出力する、
ことを特徴とするインストール実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インストール実行プログラム、インストーラ作成プログラム、インストール実行装置及びインストール実行方法に関する。
【背景技術】
【０００２】
例えば、情報処理装置の管理者（以下、単に管理者とも呼ぶ）は、必要に応じて情報処理装置にソフトウエアのインストールを行う。この場合、管理者は、ソフトウエアのインストールを行うためのインストーラを情報処理装置において実行することによって、ソフトウエアのインストールを行う。
【０００３】
上記のようなインストーラには、その実行時において、ソフトウエアのインストールの実行状況を示す情報を出力装置等に出力するものが存在する。具体的に、インストーラは、現在実行している処理の内容やインストールの進捗を示す情報等の出力を行う。これにより、管理者は、インストールの実行中において、管理者による操作が要求されるタイミング等を把握することが可能になる（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２１３３４４号公報
【特許文献２】特開２０００−０７６０４８号公報
【特許文献３】特開平９−３０５３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようなソフトウエアのインストーラの開発を行う場合、ソフトウエアのインストーラの開発者（以下、単に開発者とも呼ぶ）は、例えば、インストーラに含まれる各処理の実行時におけるインストールの進捗を示す情報を予め取得する。そして、開発者は、例えば、取得した情報に基づいて、インストールの進捗を示す情報を出力する機能をインストーラに実装する。これにより、インストーラは、ソフトウエアのインストールの実行中において、インストールの進捗を示す情報を出力することが可能になる。
【０００６】
しかしながら、開発者は、例えば、インストーラの実装に依存する独自処理等について、実行時におけるインストールの進捗を示す情報を予め取得することができない場合がある。そのため、開発者は、この場合、インストールの進捗を示す情報を精度高く出力する機能をインストーラに実装することができない。したがって、ソフトウエアのインストールを行う管理者は、インストールの実行時において、管理者による操作が要求されるタイミング等を正確に把握することができない場合がある。
【０００７】
そこで、一つの側面では、本発明は、操作が要求されるタイミングを適切に出力することを可能とするインストール実行プログラム、インストーラ作成プログラム、インストール実行装置及びインストール実行方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一態様では、ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行する処理をコンピュータに実行させるインストール実行プログラムにおいて、前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、算出した前記予測時間を示す情報を出力する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、操作が要求されるタイミングを適切に出力することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の全体構成を示す図である。
【図２】図２は、ソフトウエアのインストール実行時の処理について説明する図である。
【図３】図３は、情報処理装置１のハードウエア構成を説明する図である。
【図４】図４は、図３の情報処理装置１の機能ブロック図である。
【図５】図５は、インストーラ作成装置２のハードウエア構成を説明する図である。
【図６】図６は、図５のインストーラ作成装置２の機能ブロック図である。
【図７】図７は、第１の実施の形態におけるインストール実行処理の概略を説明するフローチャート図である。
【図８】図８は、第１の実施の形態におけるインストール実行処理の概略を説明する図である。
【図９】図９は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。
【図１４】図１４は、インストーラ１３１のソースコードの具体例を説明する図である。
【図１５】図１５は、インストーラ１３１のソースコードの具体例を説明する図である。
【図１６】図１６は、第１進捗情報１３２の具体例を説明する図である。
【図１７】図１７は、第２進捗情報１３３の具体例を説明する図である。
【図１８】図１８は、第２進捗情報１３３の具体例を説明する図である。
【図１９】図１９は、第１進捗情報１３２の具体例を説明する図である。
【図２０】図２０は、第１進捗情報１３２の具体例を説明する図である。
【図２１】図２１は、第２進捗情報１３３の具体例を説明する図である。
【図２２】図２２は、第２進捗情報１３３の具体例を説明する図である。
【図２３】図２３は、第３進捗情報１３２ａの具体例を説明する図である。
【図２４】図２４は、第３進捗情報１３２ａの具体例を説明する図である。
【図２５】図２５は、予測時間出力処理の処理結果を出力する際の具体例を説明する図である。
【図２６】図２６は、第３進捗情報１３２ａの具体例を説明する図である。
【図２７】図２７は、第３進捗情報１３２ａの具体例を説明する図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０は、情報処理装置１と、記憶装置１ａとからなる。
【００１２】
情報処理装置１は、例えば、サービスを提供する事業者（以下、単に事業者とも呼ぶ）が利用者に対してサービスを提供するための業務システムが構築された物理マシンである。また、記憶装置１ａには、例えば、情報処理装置１に対してインストールを行うソフトウエアのインストーラが記憶されている。
【００１３】
管理者端末１１は、例えば、情報処理装置１の管理者が使用する端末である。そして、管理者端末１１は、例えば、情報処理装置１にソフトウエアのインストールを行う旨の情報を送信する。なお、記憶装置１ａは、情報処理装置１内の記憶領域からなるものであってもよい。
【００１４】
［ソフトウエアのインストール実行時の処理］
次に、ソフトウエアのインストール実行時の処理について説明を行う。図２は、ソフトウエアのインストール実行時の処理について説明する図である。
【００１５】
情報処理装置１は、図２に示すように、例えば、管理者端末１１からソフトウエアのインストールを行う旨の情報を受信した場合、記憶装置１ａにアクセスし、インストールを行うソフトウエアのインストーラ１３１を取得する。そして、情報処理装置１は、取得したインストーラ１３１を実行することにより、ソフトウエアのインストールを行う。
【００１６】
この場合において、インストーラ１３１（インストーラ１３１を実行している情報処理装置１）は、例えば、実行中のインストールの実行状況を示す情報を管理者端末１１に出力する。具体的に、インストーラ１３１は、例えば、現在実行している処理の内容やインストールの進捗を示す情報等の出力を行う。これにより、管理者は、ソフトウエアのインストールの進捗を把握することが可能になる。具体的に、管理者は、例えば、インストールの実行中において、管理者による操作が要求されるタイミングを把握することが可能になる。
【００１７】
上記のようなインストーラ１３１の開発を行う場合、開発者は、例えば、インストーラ１３１に含まれる各処理の実行時におけるインストールの進捗を示す情報を予め取得する。そして、開発者は、取得した情報に基づいて、各処理の実行時におけるインストールの進捗を示す情報を出力する機能をインストーラ１３１に実装する。これにより、インストーラ１３１は、その実行中において、インストールの進捗を示す情報を出力することが可能になる。
【００１８】
しかしながら、開発者は、例えば、インストーラ１３１の実装に依存する独自処理等の実行時におけるインストールの進捗を示す情報を予め取得することができない場合、インストールの進捗を示す情報を精度高く出力する機能をインストーラ１３１に実装することができない。そのため、ソフトウエアのインストールを行う管理者は、インストールの実行時において、管理者による操作が要求されるタイミング等を正確に把握することができない場合がある。
【００１９】
そこで、本実施の形態では、情報処理装置１は、インストーラに含まれる複数の命令それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた情報（以下、第１の情報とも呼ぶ）を取得する。
【００２０】
また、情報処理装置１は、複数の命令に含まれる、インストールに関する情報の入力要求を行う命令（管理者等に操作の要求を行う命令）それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照する。そして、情報処理装置１は、特定の命令よりも後に実行される情報の入力要求を行う命令（以下、入力要求命令とも呼ぶ）に対応付けられた情報（以下、第２の情報とも呼ぶ）を取得する。
【００２１】
その後、情報処理装置１は、取得した第１の情報と、取得した第２の情報と、インストール開始後の経過時間とに基づき、入力要求までの予測時間を算出し、算出した予測時間を示す情報を出力する。
【００２２】
すなわち、情報処理装置１は、複数の命令それぞれの実行時におけるインストールの進捗を示す情報（予め記憶部に記憶された情報）を参照し、特定の命令（例えば、現在実行中の命令）の実行時におけるインストールの進捗を示す情報である第１情報を特定する。そして、情報処理装置１は、例えば、次に情報の入力要求が行われる命令（入力要求命令）の実行時におけるインストールの進捗を示す情報である第２情報を特定する。そして、情報処理装置１は、例えば、インストール開始後の経過時間と第１情報との比が、インストール開始してから次に操作が要求されるまでの時間と第２情報との比が等しくなるように、次に情報の入力が要求されるまでの予測時間を算出する。これにより、情報処理装置１は、管理者に対して情報の入力を要求するタイミング（操作を要求するタイミング）を適切に出力することが可能になる。
【００２３】
［情報処理装置のハードウエア構成］
次に、情報処理装置１のハードウエア構成について説明する。図３は、情報処理装置１のハードウエア構成を説明する図である。
【００２４】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体（ストレージ）１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２５】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、情報処理装置１に対してソフトウエアのインストールを実行する処理（以下、インストール実行処理とも呼ぶ）を行うためのプログラム１１０（以下、インストール実行プログラム１１０とも呼ぶ）を記憶する。
【００２６】
ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してインストール実行処理を行う。
【００２７】
記憶媒体１０４は、例えば、インストール実行処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。なお、図１等で説明した記憶装置１ａは、例えば、記憶媒体１０４に対応する。
【００２８】
外部インターフェース１０３は、例えば、ネットワークＮＷを介して、管理者端末１１と通信を行う。
【００２９】
[情報処理装置のソフトウエア構成]
次に、情報処理装置１のソフトウエア構成について説明する。図４は、図３の情報処理装置１の機能ブロック図である。
【００３０】
ＣＰＵ１０１は、プログラム１１０と協働することにより、図４に示すように、情報取得部１１１と、予測時間算出部１１２と、情報出力部１１３として動作する。また、情報格納領域１３０には、インストーラ１３１（インストーラ１３１の実行ファイル）と、第１進捗情報１３２と、第２進捗情報１３３とが記憶される。なお、以下、情報取得部１１１、予測時間算出部１１２及び情報出力部１１３は、インストーラ１３１が実行されたことに伴って動作するものとして説明を行う。
【００３１】
情報取得部１１１は、複数の命令それぞれの実行時におけるインストールの進捗を示す情報と各命令とを対応付けた情報である第１進捗情報１３２を参照して、特定の命令に対応付けられた情報（第１の情報）を取得する。特定の命令は、例えば、現在実行中である命令であってよい。また、特定の命令は、例えば、実行が既に終了している命令であってもよい。
【００３２】
そして、情報取得部１１１は、入力要求命令それぞれの実行時におけるインストールの進捗を示す情報と各命令とを対応付けた情報である第２進捗情報１３３を参照する。そして、情報取得部１１１は、特定の命令よりも後に実行される入力要求命令に対応付けられた情報（第２の情報）を取得する。
【００３３】
予測時間算出部１１２は、情報取得部１１１が取得した第１の情報及び第２の情報と、インストール開始後の経過時間とに基づき、入力要求（例えば、次の入力要求）までの予測時間を算出する。
【００３４】
情報出力部１１３は、予測時間算出部１１２が算出した予測時間を示す情報を出力する。具体的に、情報出力部１１３は、例えば、予測時間算出部１１２が算出した予測時間を示す情報を管理者端末１１の出力装置（図示しない）に出力する。
【００３５】
［インストーラ作成装置のハードウエア構成］
続いて、インストーラ作成装置２のハードウエア構成について説明する。図５は、インストーラ作成装置２のハードウエア構成を説明する図である。
【００３６】
インストーラ作成装置２は、情報処理装置１に対してインストールを行うソフトウエアのインストーラ１３１を作成する。また、インストーラ作成装置２は、インストーラ１３１の実行に伴って、情報処理装置１の情報取得部１１１等が参照する第１進捗情報１３２及び第２進捗情報１３３を作成する。
【００３７】
インストーラ作成装置２は、プロセッサであるＣＰＵ２０１と、メモリ２０２と、外部インターフェース（Ｉ／Ｏユニット）２０３と、記憶媒体（ストレージ）２０４とを有する。各部は、バス２０５を介して互いに接続される。
【００３８】
記憶媒体２０４は、記憶媒体２０４内のプログラム格納領域（図示しない）に、インストーラ１３１の作成を行う処理（以下、インストーラ作成処理とも呼ぶ）及び第１進捗情報１３２等の作成を行う処理（以下、情報作成処理とも呼ぶ）を行うためのプログラム２１０を記憶する。
【００３９】
ＣＰＵ２０１は、図５に示すように、プログラム２１０の実行時に、プログラム２１０を記憶媒体２０４からメモリ２０２にロードし、プログラム２１０と協働してインストール作成処理及び情報作成処理を行う。
【００４０】
記憶媒体２０４は、例えば、インストール作成処理及び情報作成処理を行う際に用いられる情報を記憶する情報格納領域２３０（以下、記憶部２３０とも呼ぶ）を有する。外部インターフェース２０３は、例えば、他の情報処理装置（例えば、情報処理装置１）と通信を行う。
【００４１】
[インストーラ作成装置のソフトウエア構成]
次に、インストーラ作成装置２のソフトウエア構成について説明する。図６は、図５のインストーラ作成装置２の機能ブロック図である。
【００４２】
ＣＰＵ２０１は、プログラム２１０と協働することにより、図６に示すように、インストーラ作成部２１１と、情報作成部２１２として動作する。また、情報格納領域２３０には、図４で説明したインストーラ１３１と、第１進捗情報１３２と、第２進捗情報１３３とが記憶される。
【００４３】
インストーラ作成部２１１は、インストーラ１３１のソースコードにおいて複数の命令それぞれが記述された位置に対応する位置に、複数の命令それぞれが実行された時刻と各命令とを対応付けた情報を出力する命令を記述する。また、インストーラ作成部２１１は、複数の命令のうち、入力要求命令それぞれが記述された位置に対応する位置に、入力要求命令それぞれが実行された時刻と各命令とを対応付けた情報を出力する命令を記述する。そして、インストーラ作成部２１１は、例えば、命令を記述したソースコードをビルドすることにより作成したインストーラ１３１（インストーラ１３１の実行ファイル）を情報格納領域１３０に記憶する。
【００４４】
情報作成部２１２は、インストーラ１３１の実行に伴って出力される情報を取得し、取得した情報から第１進捗情報１３２と第２進捗情報１３３とを作成する。また、情報作成部２１２は、作成した第１進捗情報１３２と第２進捗情報１３３とを情報格納領域２３０に記憶する。
【００４５】
[第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図７は、第１の実施の形態におけるインストール実行処理の概略を説明するフローチャート図である。また、図８は、第１の実施の形態におけるインストール実行処理の概略を説明する図である。図８を参照しながら、図７のインストール実行処理について説明を行う。
【００４６】
情報処理装置１は、図７に示すように、予測時間出力タイミングまで待機する（Ｓ１のＮＯ）。予測時間出力タイミングは、例えば、図８に示すように、情報処理装置１においてソフトウエアのインストールの実行が開始されたタイミングであってよい。
【００４７】
そして、予測時間出力タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、図８に示すように、第１進捗情報１３２を記憶する情報格納領域１３０を参照して、特定の命令に対応付けられた第１の情報を取得する（Ｓ２）。さらに、情報処理装置１は、図８に示すように、第２進捗情報１３３を記憶する情報処理装置１３０を参照して、特定の命令よりも後に実行される入力要求命令に対応付けられた第２の情報を取得する（Ｓ３）。
【００４８】
すなわち、情報処理装置１は、過去にインストーラ１３１が実行された際に取得された情報を参照し、特定の命令（例えば、現在実行中の命令）の実行時におけるインストールの進捗を示す情報と、次に実行される入力要求命令の実行時におけるインストールの進捗を示す情報とを取得する。これにより、情報処理装置１は、次に実行される入力要求命令が実行されるまでの予測時間を算出するための情報を取得することが可能になる。
【００４９】
その後、情報処理装置１は、Ｓ２の処理で取得した第１の情報と、Ｓ３の処理で取得した第２の情報と、インストール開始後の経過時間とに基づき、入力要求までの予測時間を算出する（Ｓ４）。具体的に、情報処理装置１は、例えば、インストール開始後の経過時間と第１情報との比が、インストール開始してから次の入力要求までの時間と第２情報との比が等しくなるように、次の入力要求までの予測時間を算出する。
【００５０】
そして、情報処理装置１は、Ｓ４の処理で算出した予測時間を示す情報を出力する（Ｓ５）。具体的に、情報処理装置１は、例えば、予測時間を示す情報を管理者端末１１の出力装置（図示しない）に出力する。
【００５１】
このように、本実施の形態における情報処理装置１は、インストーラに含まれる複数の命令それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得する。
【００５２】
また、情報処理装置１は、複数の命令に含まれる、インストールに関する情報の入力要求命令（管理者等に操作の要求を行う命令）それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照する。そして、情報処理装置１は、特定の命令よりも後に実行される情報の入力要求命令に対応付けられた第２の情報を取得する。
【００５３】
その後、情報処理装置１は、取得した第１の情報と、取得した第２の情報と、インストール開始後の経過時間とに基づき、入力要求までの予測時間を算出し、算出した予測時間を示す情報を出力する。
【００５４】
これにより、情報処理装置１は、管理者に対して、操作が要求されるタイミングを適切に出力することが可能になる。
【００５５】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図９から図１３は、第１の実施の形態におけるインストール実行処理の詳細を説明するフローチャート図である。また、図１４から図２７は、第１の実施の形態におけるインストール実行処理の詳細を説明する図である。図１４から図２７を参照しながら、図９から図１３のインストール実行処理を説明する。
【００５６】
[インストーラ作成処理］
初めに、インストーラ実行処理に含まれる処理のうち、インストーラ作成処理について説明を行う。図９は、インストーラ作成処理について説明する図である。なお、以下、インストーラ実行処理には、インストーラ作成処理及び情報作成処理の他、インストーラ１３１の実行時において次に入力要求命令が実行されるまでの予測時間を出力する処理（以下、予測時間出力処理とも呼ぶ）が含まれるものとして説明を行う。
【００５７】
インストーラ作成部２１１は、インストーラ作成タイミングまで待機する（Ｓ１１のＮＯ）。インストーラ作成タイミングは、例えば、開発者がインストーラ１３１の作成を開始する旨の入力（以下、インストールの実行指示とも呼ぶ）を情報処理装置１に対して行ったタイミングであってよい。なお、以下、インストーラ１３１のソースコードには、インストーラ１３１に含まれる複数の命令（以下、それぞれを処理命令とも呼ぶ）についての記述が予め存在しているものとして説明を行う。
【００５８】
そして、インストーラ作成タイミングになった場合（Ｓ１１のＹＥＳ）、インストーラ作成部２１１は、インストーラ１３１のソースコードにおいて処理命令それぞれが記述された位置に対応する位置に、処理命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述する（Ｓ１２）。複数の命令それぞれが記述された位置に対応する位置は、インストーラ１３１のソースコードにおいて、処理命令それぞれが記述された位置の直前の位置と、処理命令のうちの最後に記述された命令が記述された位置の直後の位置とを含む。これにより、インストーラ作成部２１１は、インストーラ１３１の実行時において、処理命令それぞれの実行時刻を示す命令を出力することが可能になる。
【００５９】
続いて、インストーラ作成部２１１は、ソースコードの最後に、処理命令それぞれの実行時におけるインストーラ１３１の進捗を示す情報を出力する命令を記述する（Ｓ１３）。インストーラ１３１の進捗を示す情報は、例えば、インストーラ１３１の進捗率である。これにより、インストーラ作成部２１１は、例えば、インストーラ１３１の実行時において、処理命令それぞれの実行時におけるインストーラ１３１の進捗率を出力することが可能になる。
【００６０】
その後、インストーラ作成部２１１は、インストーラ１３１に含まれる処理命令に入力要求処理が含まれているか否かを判定する（Ｓ１４）。そして、入力要求処理が含まれていると判定した場合（Ｓ１４のＹＥＳ）、インストーラ作成部２１１は、インストーラ１３１に含まれる処理命令のうち、入力要求命令それぞれが記述された位置に対応する位置に、入力要求命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述する（Ｓ１５）。入力要求命令それぞれが記述された位置に対応する位置は、インストーラ１３１のソースコードにおいて、入力要求命令それぞれが記述された位置の直前の位置及び直後の位置である。すなわち、インストーラ作成部２１１は、例えば、情報の入力要求を行ったことに伴って情報の入力待ちを開始した時間と、情報の入力要求に対する情報の入力待ちが終了した時間とを出力する命令をインストーラ１３１のソースコードに記述する。これにより、情報作成部２１２は、後述するように、インストーラ１３１の実行時において、管理者による情報の入力を待っていた時間（以下、入力待ち時間とも呼ぶ）を算出することが可能になる。
【００６１】
一方、インストーラ１３１に入力要求処理が含まれていない場合（Ｓ１４のＮＯ）、インストーラ作成部２１１は、Ｓ１５の処理を実行しない。
【００６２】
そして、インストーラ作成部２１１は、Ｓ１２、Ｓ１３及びＳ１５の処理において命令が記述されたソースコードをビルドすることにより、インストーラ１３１（インストーラ１３１の実行ファイル）を作成する（Ｓ１６）。その後、インストーラ作成部２１１は、作成したインストーラ１３１を情報格納領域２３０に記憶する。以下、インストーラ作成処理の具体例について説明を行う。なお、以下、Ｓ１２、Ｓ１３及びＳ１５の処理において記述された命令（情報の出力を行う命令）を総称して出力命令とも呼ぶ。
【００６３】
[インストーラ作成処理の具体例］
図１４及び図１５は、インストーラ１３１のソースコードの具体例を説明する図である。初めに、インストーラ１３１に入力要求命令が含まれていない場合について説明を行う。図１４（Ａ）は、インストーラ作成処理が行われる前のソースコードの具体例を説明する図である。また、図１４（Ｂ）は、インストーラ作成処理が行われた後のソースコードの具体例を説明する図である。
【００６４】
具体的に、図１４（Ａ）に示すソースコードには、「処理命令１」及び「処理命令２」が記述されている。この場合、インストーラ作成部２１１は、図１４（Ｂ）に示すように、ソースコードに含まれる全ての処理命令である「処理命令１」及び「処理命令２」が記述された位置の直前の位置に、自らの実行時刻と自らに対応する識別情報（以下、ＩＤとも呼ぶ）とを対応付けた情報を出力する出力命令である「ＣａｌｌＣｈｅｃｋ（）」を記述する。また、インストーラ作成部２１１は、図１４（Ｂ）に示すように、ソースコードにおいて最後に記述された処理命令である「処理命令２」が記述された位置の直後の位置に、「ＣａｌｌＣｈｅｃｋ（）」を記述する（Ｓ１２）。
【００６５】
そして、インストーラ作成部２１１は、図１４（Ｂ）に示すように、ソースコードの最後の位置に、ソースコードに含まれる「ＣａｌｌＣｈｅｃｋ（）」のそれぞれの実行時におけるインストーラの進捗を示す情報を出力する命令である「ＣａｌｌＥｎｄ（）」を記述する。
【００６６】
次に、インストーラ１３１に含まれる処理命令に入力要求命令が含まれている場合について説明を行う。図１５（Ａ）は、インストーラ作成処理が行われる前のソースコードの具体例を説明する図である。また、図１５（Ｂ）は、Ｓ１２及びＳ１３の処理が行われた後のソースコードの具体例を説明する図である。さらに、図１５（Ｃ）は、インストーラ作成処理が行われた後のソースコードの具体例を説明する図である。
【００６７】
具体的に、図１５（Ａ）に示すソースコードには、「処理命令１」の他に、入力要求命令である「入力要求命令１」及び「入力要求命令２」が記述されている。この場合、インストーラ作成部２１１は、図１５（Ｂ）に示すように、「処理命令１」、「入力要求命令１」及び「入力要求命令２」がそれぞれ記述された位置の直前の位置に、「ＣａｌｌＣｈｅｃｋ（）」を記述する。また、インストーラ作成部２１１は、図１５（Ｂ）に示すように、「入力要求命令２」が記述された位置の直後の位置に、「ＣａｌｌＣｈｅｃｋ（）」を記述する（Ｓ１２）。さらに、インストーラ作成部２１１は、図１５（Ｂ）に示すように、ソースコードの最後に「ＣａｌｌＥｎｄ（）」を記述する（Ｓ１３）。
【００６８】
その後、インストーラ作成部２１１は、図１５（Ｃ）に示すように、「入力要求命令１」及び「入力要求命令２」が記述された位置の直前の位置に、入力要求命令それぞれが実行される直前の時刻に各入力要求命令を対応付けた情報を出力する出力命令である「ＣａｌｌＲＣｈｅｃｋＢ（）」を記述する。さらに、インストーラ作成部２１１は、図１５（Ｃ）に示すように、「入力要求命令１」及び「入力要求命令２」が記述された位置の直後の位置に、入力要求命令それぞれが実行された直後の時刻に各入力要求命令を対応付けた情報を出力する出力命令である「ＣａｌｌＲＣｈｅｃｋＡ（）」を記述する（Ｓ１４のＹＥＳ、Ｓ１５）。
【００６９】
これにより、インストーラ作成部２１１は、後述するように、インストーラ１３１の実行が行われた際に、各出力命令が実行された時刻を示す情報が出力させることが可能になる。
【００７０】
なお、以下、図１４等で説明した「ＣａｌｌＣｈｅｃｋ（）」等の各出力命令は、情報作成処理の実行に伴ってインストーラ１３１が実行された場合と、予測時間出力処理の実行に伴ってインストーラ１３１が実行された場合とで、処理の内容が異なるものとして説明を行う。
【００７１】
[情報作成処理］
次に、インストーラ実行処理に含まれる処理のうち、情報作成処理について説明を行う。図１０及び図１１は、情報作成処理について説明する図である。
【００７２】
情報作成部２１２は、図１０に示すように、インストーラ実行タイミングになるまで待機する（Ｓ２１のＮＯ）。インストーラ実行タイミングは、例えば、開発者がインストーラ作成装置２においてインストーラ１３１の実行を開始したタイミングである。そして、インストーラ実行タイミングになった場合（Ｓ２１のＹＥＳ）、情報作成部２１２は、インストーラ１３１のソースコードに記述された出力命令が実行されるまで待機する（Ｓ２２のＮＯ）。
【００７３】
その後、「ＣａｌｌＥｎｄ（）」以外の出力命令が出力された場合（Ｓ２２のＹＥＳ、Ｓ２３のＮＯ）、情報作成部２１２は、Ｓ２２の処理で出力された出力命令の実行時刻を出力する（Ｓ２４）。
【００７４】
具体的に、情報作成部２１２は、「ＣａｌｌＣｈｅｃｋ（）」が実行された場合、実行された「ＣａｌｌＣｈｅｃｋ（）」に対応するＩＤと実行時刻とを対応付けた情報を、第１進捗情報１３２の一部として情報格納領域２３０に記憶する。また、情報作成部２１２は、「ＣａｌｌＲＣｈｅｃｋＢ（）」が実行された場合、実行された「ＣａｌｌＲＣｈｅｃｋＢ（）」に対応する入力要求命令のＩＤと実行時刻とを対応付けた情報を、第２進捗情報１３３の一部として情報格納領域２３０に記憶する。さらに、情報作成部２１２は、「ＣａｌｌＲＣｈｅｃｋＡ（）」が実行された場合、実行された「ＣａｌｌＲＣｈｅｃｋＡ（）」に対応する入力要求命令のＩＤと実行時刻とを対応付けた情報を、第２進捗情報１３３の一部として情報格納領域２３０に記憶する。
【００７５】
そして、情報作成部２１２は、インストーラ１３１に含まれる全ての処理の実行が終了した場合（Ｓ２５のＹＥＳ）、情報作成処理を終了する。一方、情報作成部２１２は、インストーラ１３１に含まれる全ての処理の実行が終了していない場合（Ｓ２５のＮＯ）、Ｓ２２以降の処理を再度実行する。以下、「ＣａｌｌＥｎｄ（）」が実行される直前の第１進捗情報１３２及び第２進捗情報１３３の具体例について説明を行う。
【００７６】
[第１進捗情報の具体例］
図１６、図１９及び図２０は、第１進捗情報１３２の具体例を説明する図である。具体的に、図１６は、「ＣａｌｌＥｎｄ（）」が実行される直前の第１進捗情報１３２の具体例を説明する図である。なお、以下、インストーラ１３１のソースコードにおいて「ＣａｌｌＣｈｅｃｋ（）」が記述された数が「１００」であるものとして説明を行う。
【００７７】
図１６等に示す第１進捗情報１３２は、インストーラ１３１に含まれる「ＣａｌｌＣｈｅｃｋ（）」を識別するＩＤが設定される「ＩＤ」と、「ＣａｌｌＣｈｅｃｋ（）」の実行時刻が設定される「実行時刻」とを項目として有する。また、図１６等に示す第１進捗情報１３２は、インストールの開始後、「ＣａｌｌＣｈｅｃｋ（）」のそれぞれが実行された時刻までの時間が設定される「経過時間」と、「ＣａｌｌＣｈｅｃｋ（）」のそれぞれが実行された際のインストールの進捗を示す「進捗率」とを項目として有する。
【００７８】
具体的に、図１６に示す第１進捗情報１３２において、「ＩＤ」に「Ｃ００１」が設定された情報は、「実行時刻」として「１０：１０：００」が設定されている。そして、図１６に示す第１進捗情報１３２において、「ＩＤ」に「Ｃ００１」が設定された情報の「経過時間」及び「進捗率」には、情報が設定されていない。すなわち、情報作成部２１２は、この場合、インストーラ１３１の実行が開始された時間が「１０：１０：００」であると判定する。
【００７９】
また、図１６に示す第１進捗情報１３２において、「ＩＤ」に「Ｃ１００」が設定された情報は、「実行時刻」として「１０：１４：５０」が設定されている。そして、図１６に示す第１進捗情報１３２において、「ＩＤ」に「Ｃ１００」が設定された情報の「経過時間」及び「進捗率」には、情報が設定されていない。すなわち、情報作成部２１２は、この場合、インストーラ１３１の実行が終了した時間が「１０：１４：５０」であると判定する。図１６に含まれる他の情報については説明を省略する。
【００８０】
[第２進捗情報の具体例］
次に、第２進捗情報１３３の具体例について説明を行う。図１７、図１８、図２１及び図２２は、第２進捗情報１３３の具体例を説明する図である。具体的に、図１７は、「ＣａｌｌＥｎｄ（）」が実行される直前の第２進捗情報１３３の具体例を説明する図である。
【００８１】
図１７等に示す第２進捗情報１３３は、インストーラ１３１に含まれる入力要求命令を識別するＩＤが設定される「ＩＤ」と、「ＣａｌｌＲＣｈｅｃｋＢ（）」の実行時刻が設定される「入力要求前の時刻」とを項目として有する。また、図１７等に示す第２進捗情報１３３は、「ＣａｌｌＲＣｈｅｃｋＡ（）」の実行時刻が設定される「入力要求後の時刻」と、各入力要求命令の実行に伴う入力待ち時間が設定される「入力待ち時間」を項目として有する。また、図１７等に示す第２進捗情報１３３は、インストールの開始後、「ＣａｌｌＲＣｈｅｃｋＡ（）」のそれぞれが実行された時刻までのインストールに伴う各処理の実行時間が設定される「経過時間」を項目として有する。さらに、図１７等に示す第２進捗情報１３３は、「ＣａｌｌＲＣｈｅｃｋＡ（）」のそれぞれが実行された際のインストールの進捗を示す「進捗率」を項目として有する。
【００８２】
具体的に、図１７に示す第２進捗情報１３３において、「ＩＤ」に「ＣＲ００１」が設定された情報は、「入力要求前の時刻」として「１０：１０：１２」が設定され、「入力要求後の時刻」として「１０：１１：１２」が設定される。そして、図１７に示す第２進捗情報１３３において、「ＩＤ」に「Ｃ００１」が設定された情報の「入力待ち時間」、「経過時間」及び「進捗率」には、情報が設定されていない。図１７に含まれる他の情報については説明を省略する。
【００８３】
これにより、情報処理装置１は、後述するように、次に入力要求命令が実行されるまでの予測時間を算出するために必要な情報を取得することが可能になる。
【００８４】
図１０に戻り、Ｓ２２の処理において「ＣａｌｌＥｎｄ（）」が出力された場合（Ｓ２２のＹＥＳ、Ｓ２３のＹＥＳ）、情報作成部２１２は、図１１に示すように、インストーラ１３１に含まれる入力要求命令毎に、入力待ち時間を算出する(Ｓ３１)。
【００８５】
具体的に、図１７に示す第２進捗情報１３３において、「ＩＤ」が「ＣＲ００１」である情報の「入力要求前の時刻」及び「入力要求後の時刻」には、それぞれ「１０：１０：１２」及び「１０：１１：１２」が設定されている。そのため、情報作成部２１２は、図１８に示すように、「ＩＤ」が「ＣＲ００１」である情報の「入力待ち時間」に、「入力要求前の時刻」に設定された時刻から「入力要求後の時刻」に設定された時刻までの時間である「００：０１：００」を設定する。
【００８６】
また、図１７に示す第２進捗情報１３３において、「ＩＤ」が「ＣＲ００２」である情報の「入力要求前の時刻」及び「入力要求後の時刻」には、それぞれ「１０：１２：２０」及び「１０：１２：５０」が設定されている。そのため、情報作成部２１２は、図１８に示すように、「ＩＤ」が「ＣＲ００２」である情報の「入力待ち時間」に、「入力要求前の時刻」に設定された時刻から「入力要求後の時刻」に設定された時刻までの時間である「００：００：３０」を設定する。
【００８７】
そして、情報作成部２１２は、インストーラ１３１に含まれる処理命令毎に、インストーラ１３１の実行を開始した時刻から各処理命令の実行が開始した時刻までの時間を算出する。さらに、情報作成部２１２は、インストーラ１３１に含まれる処理命令毎に、算出した時間から各処理命令の前に実行された入力要求命令それぞれの入力待ち時間を減算した時間（以下、第１実行所要時間とも呼ぶ）を算出する（Ｓ３２）。
【００８８】
すなわち、インストーラ１３１の実行開始からインストーラ１３１に含まれる処理命令それぞれの実行が開始するまでの時間である第１実行所要時間を算出する場合、インストーラ１３１に含まれる入力要求命令の実行に伴う入力待ち時間が排除されることが好ましい。そのため、情報作成部２１２は、Ｓ２３の処理において、インストーラ１３１に含まれる入力要求命令毎の入力待ち時間を算出する。そして、情報作成部２１２は、Ｓ３１の処理において、入力待ち時間を排除した形で第１実行所要時間を算出する。これにより、情報処理装置１は、後述するように、次に入力情報命令が実行される予測時間をより精度高く算出することが可能になる。
【００８９】
具体的に、図１６に示す第１進捗情報１３２において、「ＩＤ」が「Ｃ００１」及び「Ｃ００２」である情報の「実行時刻」に設定された時刻は、それぞれ「１０：１０：００」及び「１０：１０：０２」である。そのため、情報作成部２１２は、図１９に示すように、「１０：１０：００」から「１０：１０：０２」までの時間である「００：００：０２」を、「ＩＤ」が「Ｃ００２」である情報の「経過時間」に設定する。すなわち、情報作成部２１２は、インストーラ１３１のソースコードにおいて、「Ｃ００１」と「Ｃ００２」との間に記述された処理命令の第１実行所要時間を、「ＩＤ」が「Ｃ００２」である情報の「経過時間」に設定する。なお、図１６に示す第１進捗情報１３２における先頭の情報（「ＩＤ」が「Ｃ００１」である情報）の「実行時刻」に設定された時刻は、インストーラ１３１の実行が開始した時刻である。そのため、情報作成部２１２は、図１９に示すように、「ＩＤ」が「Ｃ００１」である情報の「経過時間」に、「００：００：００」を設定する。
【００９０】
そして、図１６に示す第１進捗情報１３２において、「ＩＤ」が「Ｃ００２」及び「Ｃ００３」である情報の「実行時刻」に設定された時刻は、それぞれ「１０：１０：０２」及び「１０：１０：０６」である。そのため、情報作成部２１２は、図１９に示すように、インストーラ１３１の実行が開始された時刻である「１０：１０：００」から「１０：１０：０６」までの時間（第１実行所要時間）である「００：００：０６」を、「ＩＤ」が「Ｃ００３」である情報の「経過時間」に設定する。
【００９１】
一方、図１６に示す第１進捗情報１３２において、「ＩＤ」が「Ｃ００４」及び「Ｃ００５」である情報の「実行時刻」に設定された時刻には、それぞれ「１０：１０：１２」及び「１０：１１：１２」が設定されている。ここで、図１８に示す第２進捗情報１３３において、「ＩＤ」が「ＣＲ００１」である情報の「入力要求前の時刻」及び「入力要求後の時刻」には、それぞれ「１０：１０：１２」及び「１０：１１：１２」が設定されている。そのため、情報作成部２１２は、この場合、インストーラ１３１の実行中において、「１０：１０：１２」から「１０：１１：１２」までの時間が入力待ち時間であったと判定する。
【００９２】
したがって、情報作成部２１２は、この場合、インストーラ１３１の実行が開始された時刻である「１０：１０：００」から「１０：１１：１２」までの時間である「００：０１：１２」を算出する。そして、情報作成部２１２は、図１９に示すように、算出した「００：０１：１２」から、図１８に示す「ＩＤ」が「ＣＲ００１」である情報の「入力待ち時間」に設定された時間である「００：０１：００」を減算した時間（第１実行所要時間）である「００：００：１２」を、「ＩＤ」が「Ｃ００５」である情報の「経過時間」に設定する。
【００９３】
すなわち、情報作成部２１２は、第１進捗情報１３２を作成する際に、インストーラ１３１の実行中に発生した入力待ち時間を排除する。これにより、情報作成部２１２は、第１進捗情報１３２をより精度高く作成することが可能になる。図１９に含まれる他の情報については説明を省略する。
【００９４】
その後、情報作成部２１２は、インストーラの実行を開始した時刻からインストーラの実行が終了した時刻までの時間から、入力要求命令それぞれの入力待ち時間を減算した時間を算出する。そして、情報作成部２１２は、インストーラ１３１に含まれる処理命令毎に、算出した時間に対する第１実行所要時間の割合をインストーラ１３１に含まれる処理命令それぞれの実行が開始した際のインストールの進捗を示す情報として出力する（Ｓ３３）。
【００９５】
具体的に、図１９に示す第１進捗情報１３２において、インストーラ１３１の実行が開始された時刻（「ＩＤ」が「Ｃ００１」である情報の「実行時刻」に設定された時刻）は、「１０：１０：００」である。また、図１９に示す第１進捗情報１３２において、インストーラ１３１の実行が終了した時刻（「ＩＤ」が「Ｃ１００」である情報の「実行時刻」に設定された時刻）は、「１０：１４：５０」である。そして、図１８に示す第２進捗情報１３３において、インストーラ１３１の実行が行われている間における入力待ち時間の合計は、「入力待ち時間」にそれぞれ設定された「００：０１：００」と「００：００：３０」との合計である「００：０１：３０」である。そのため、情報作成部２１２は、「１０：１０：００」から「１０：１４：５０」までの時間である「００：０４：５０」から、「入力待ち時間」にそれぞれ設定された時間の合計である「００：０１：３０」を減算した時間である「００：０３：２０」を算出する。
【００９６】
続いて、算出した時間である「００：０３：２０」に対する第１実行所要時間の割合をそれぞれ算出する。具体的に、例えば、図１９に示す第１進捗情報１３２における「ＩＤ」が「Ｃ００１」である情報の「経過時間」に設定された時間は、「００：００：００」である。そのため、情報作成部２１２は、「００：０３：２０」に対する「００：００：００」の割合として、「０（％）」を算出し、図２０に示すように、「ＩＤ」が「Ｃ００１」である情報の「進捗率」に設定する。同様に、例えば、図１９に示す第１進捗情報１３２における「ＩＤ」が「Ｃ００５」である情報の「経過時間」に設定された時間は、「００：００：１２」である。そのため、情報作成部２１２は、「００：０３：２０」に対する「００：００：１２」の割合として、「６（％）」を算出し、図２０に示すように、「ＩＤ」が「Ｃ００１」である情報の「進捗率」に設定する。図２０に含まれる他の情報については説明を省略する。
【００９７】
これにより、情報作成部２１２は、インストーラ１３１に含まれる処理命令それぞれの実行が開始した際のインストールの進捗率が設定された第１進捗情報１３２を作成することが可能になる。
【００９８】
そして、情報作成部２１２は、インストーラ１３１に含まれる入力要求命令毎に、インストーラ１３１の実行を開始した時刻から各入力要求命令の実行が開始した時刻までの時間を算出する。さらに、情報作成部２１２は、インストーラ１３１に含まれる入力要求命令毎に、算出した時間から各入力要求命令の前に実行された入力要求命令それぞれの入力待ち時間を減算した時間（以下、第２実行所要時間とも呼ぶ）を算出する（Ｓ３４）。
【００９９】
すなわち、インストーラ１３１の実行開始からインストーラ１３１に含まれる入力要求命令それぞれの実行が開始するまでの時間である第２実行所要時間を算出する場合についても、インストーラ１３１に含まれる入力要求命令の実行に伴う入力待ち時間を排除する。これにより、情報処理装置１は、後述するように、次に入力要求命令が実行される予測時間をより精度高く算出することが可能になる。
【０１００】
具体的に、図１８に示す第２進捗情報１３３において、「ＩＤ」が「ＣＲ００１」である情報の「入力要求後の時刻」に設定された時刻は、「１０：１１：１２」である。そのため、情報作成部２１２は、インストーラ１３１の実行が開始された時間である「１０：１０：００」から「１０：１１：１２」までの時間である「００：０１：１２」を算出する。そして、情報作成部２１２は、図２１に示すように、算出した時間から、「ＩＤ」が「ＣＲ００１」である情報の「入力待ち時間」に設定された時間である「００：０１：００」を減算した時間（第２実行所要時間）である「００：００：１２」を、「ＩＤ」が「ＣＲ００１」である情報の「経過時間」に設定する。
【０１０１】
また、図１８に示す第２進捗情報１３３において、「ＩＤ」が「ＣＲ００２」である情報の「入力要求後の時刻」に設定された時刻は、「１０：１２：５０」である。そのため、情報作成部２１２は、インストーラ１３１の実行が開始された時間である「１０：１０：００」から「１０：１２：５０」までの時間である「００：０２：５０」を算出する。そして、情報作成部２１２は、図２１に示すように、算出した時間から、「ＩＤ」が「ＣＲ００１」及び「ＣＲ００２」である情報の「入力待ち時間」に設定された時間の合計である「００：０１：３０」を減算した時間（第２実行所要時間）である「００：０１：２０」を、「ＩＤ」が「ＣＲ００２」である情報の「経過時間」に設定する。
【０１０２】
その後、情報作成部２１２は、インストーラの実行を開始した時刻からインストーラの実行が終了した時刻までの時間から、入力要求命令それぞれの入力待ち時間を減算した時間を算出する。そして、情報作成部２１２は、インストーラ１３１に含まれる入力要求命令毎に、算出した時間に対する第２実行所要時間の割合をインストーラ１３１に含まれる入力要求命令それぞれの実行が開始した際のインストールの進捗を示す情報として出力する（Ｓ３５）。
【０１０３】
具体的に、情報作成部２１２は、例えば、Ｓ３２の処理と同様に、インストーラの実行を開始した時刻から実行が終了した時刻までの時間として「００：０３：２０」を算出する。そして、図２１に示す第２進捗情報１３３における「ＩＤ」が「ＣＲ００１」である情報の「経過時間」に設定された時間は、「００：００：１２」である。そのため、情報作成部２１２は、「００：０３：２０」に対する「００：００：１２」の割合として、「６（％）」を算出し、図２２に示すように、「ＩＤ」が「ＣＲ００１」である情報の「進捗率」に設定する。同様に、図２１に示す第２進捗情報１３３における「ＩＤ」が「ＣＲ００２」である情報の「経過時間」に設定された時間は、「００：０１：２０」である。そのため、情報作成部２１２は、「００：０３：２０」に対する「００：０１：２０」の割合として、「４０（％）」を算出し、図２２に示すように、「ＩＤ」が「ＣＲ００２」である情報の「進捗率」に設定する。
【０１０４】
これにより、情報作成部２１２は、インストーラ１３１に含まれる入力要求命令それぞれの実行が開始した際のインストールの進捗率が設定された第２進捗情報１３３を作成することが可能になる。
【０１０５】
その後、情報作成部２１２は、Ｓ３５の処理の後、Ｓ２５の処理を再度実行する。なお、「ＣａｌｌＥｎｄ（）」の実行が終了した場合、インストーラ１３１の実行が全て終了している。そのため、情報作成部２１２は、この場合、情報作成処理を終了する（Ｓ２５のＹＥＳ）。
【０１０６】
[予測時間出力処理］
次に、予測時間出力処理について説明を行う。図１２及び図１３は、インストーラ作成処理について説明する図である。なお、以下、インストーラ作成装置２において作成されたインストーラ１３１、第１進捗情報１３２及び第２進捗情報１３３が、情報処理装置１の情報格納領域１３０に記憶されているものとして説明を行う。
【０１０７】
情報取得部１１１は、図１２に示すように、インストーラ実行タイミングになるまで待機する（Ｓ４１のＮＯ）。インストーラ実行タイミングは、例えば、管理者が情報処理装置１においてインストーラ１３１の実行を開始したタイミングである。そして、インストーラ実行タイミングになった場合（Ｓ４１のＹＥＳ）、情報取得部１１１は、インストーラ１３１に含まれる出力命令が実行されるまで待機する（Ｓ４２のＮＯ）。
【０１０８】
その後、「ＣａｌｌＣｈｅｃｋ（）」が実行された場合（Ｓ４２のＹＥＳ、Ｓ４３のＹＥＳ）、情報取得部１１１は、第１進捗情報１３２を記憶する情報格納領域１３０を参照して、Ｓ４２の処理で実行された「ＣａｌｌＣｈｅｃｋ（）」に対応付けられた進捗を示す第１の情報を取得する（Ｓ４５）。また、情報取得部１１１は、この場合、Ｓ４２の処理において出力された情報及びＳ４５の処理で取得した情報を、第３進捗情報１３２ａの一部として情報格納領域１３０に記憶する。
【０１０９】
そして、「ＣａｌｌＣｈｅｃｋ（）」が２回以上実行済である場合（Ｓ４６のＹＥＳ）、情報取得部１１１は、Ｓ５１以降の処理を実行する。一方、インストーラ１３１に含まれる「ＣａｌｌＣｈｅｃｋ（）」が２回以上実行済でない場合（Ｓ４６のＮＯ）、情報取得部１１１は、Ｓ４２以降の処理を再度実行する。以下、「ＣａｌｌＣｈｅｃｋ（）」が２回実行された際の第３進捗情報１３２ａの具体例について説明を行う。
【０１１０】
[第３進捗情報の具体例］
図２３、図２４、図２６及び図２７は、第３進捗情報１３２ａの具体例を説明する図である。図２３等に示す第３進捗情報１３２ａは、図２０等で説明した第１進捗情報１３２と同じ項目を有している。
【０１１１】
具体的に、１回目の実行されたＳ４２の処理において、「Ｃ００１」と「１６：２０：００」とが出力された場合、情報取得部１１１は、図２３に示すように、「ＩＤ」に「Ｃ００１」を設定し、「実行時刻」に「１６：２０：００」を設定する。そして、情報取得部１１１は、この場合、図２０で説明した第１進捗情報１３２における「ＩＤ」が「Ｃ００１」である情報の「進捗率」に設定された情報である「０（％）」を取得する。さらに、情報取得部１１１は、図２３に示すように、取得した情報である「０（％）」を、「ＩＤ」が「Ｃ００１」である情報の「進捗率」に設定する。また、情報取得部１１１は、この場合、「ＩＤ」が「Ｃ００１」である情報の「経過時間」に「００：００：００」を設定する。
【０１１２】
その後、２回目の実行されたＳ４２の処理において、「Ｃ００２」と「１６：２０：０４」とが出力された場合、情報取得部１１１は、図２４に示すように、「ＩＤ」に「Ｃ００２」を設定し、「実行時刻」に「１６：２０：０４」を設定する。そして、情報取得部１１１は、この場合、図２０で説明した第１進捗情報１３２における「ＩＤ」が「Ｃ００２」である情報の「進捗率」に設定された情報である「１（％）」を取得する。さらに、情報取得部１１１は、図２４に示すように、取得した情報である「１（％）」を、「ＩＤ」が「Ｃ００２」である情報の「進捗率」に設定する。また、情報取得部１１１は、この場合、「ＩＤ」が「Ｃ００１」である情報の「経過時間」に、「ＩＤ」が「Ｃ００１」である情報の「実行時刻」に設定された時刻である「１６：２０：００」から、「ＩＤ」が「Ｃ００２」である情報の「実行時刻」に設定された時刻である「１６：２０：０４」までの時間である「００：００：０４」を設定する。
【０１１３】
図１２に戻り、Ｓ４２の処理において「ＣａｌｌＲＣｈｅｃｋＢ（）」及び「ＣａｌｌＲＣｈｅｃｋＡ（）」が実行された場合（Ｓ４２のＹＥＳ、Ｓ４３のＮＯ、Ｓ４４のＹＥＳ）、情報取得部１１１は、図１３に示すように、Ｓ４２の処理で実行された出力命令に対応する入力要求命令の入力要求時間を算出する（Ｓ５４）。具体的に、情報取得部１１１は、Ｓ４２の処理で実行された「ＣａｌｌＲＣｈｅｃｋＢ（）」の実行時刻から、Ｓ４２の処理で実行された「ＣａｌｌＲＣｈｅｃｋＡ（）」の実行時刻までの時間を入力要求時間として算出する。
【０１１４】
一方、Ｓ４６の処理において「ＣａｌｌＣｈｅｃｋ（）」が２回以上実行済である場合（Ｓ４５のＹＥＳ）、情報取得部１１１は、第２進捗情報１３３を記憶する情報格納領域１３０を参照して、実行された「ＣａｌｌＣｈｅｃｋ（）」よりも後に実行される入力要求命令に対応付けられた第２の情報を取得する（Ｓ５１）。
【０１１５】
具体的に、情報取得部１１１は、図２２で説明した第２進捗情報１３３を参照し、次に実行される入力要求命令として「ＩＤ」が「ＣＲ００１」である命令を特定する。そして、情報取得部１１１は、図２２に示す第２進捗情報１３３における「ＩＤ」が「ＣＲ００１」である情報の「進捗率」に設定された情報である「６（％）」を取得する。
【０１１６】
その後、情報取得部１１１は、インストール開始後の経過時間から、各処理命令の前に実行された入力要求命令それぞれの入力待ち時間を減算した時間を算出する。そして、情報取得部１１１は、算出した時間を第１の情報が示す値で除算し、除算された時間に第２の情報が示す値を乗算し、乗算された時間からインストール開始後の経過時間を減算した時間を、入力要求までの予測時間として算出する（Ｓ５２）。
【０１１７】
すなわち、情報取得部１１１は、Ｓ３２の処理等で説明した場合と同様に、入力要求命令の実行に伴う入力待ち時間を排除する形で入力要求までの予測時間の算出を行う。
【０１１８】
具体的に、情報取得部１１１は、図２４で説明した第３進捗情報１３２ａを参照し、「経過時間」に設定された時間のうち、最後の時間である「００：００：０４」を、インストール開始後の経過時間として特定する。そして、情報取得部１１１は、特定した「００：００：０４」を、「経過時間」に「００：００：０４」が設定された情報の「進捗率」に設定された情報である「１（％）」で除算し、Ｓ５１の処理で取得した「６（％）」を乗算した結果である「００：００：２４」を算出する。さらに、情報取得部１１１は、算出した「００：００：２４」から、インストール開始後の経過時間である「００：００：０４」を減算した時間である「００：００：２０」を、入力要求までの予測時間として算出する。
【０１１９】
すなわち、同じインストーラ１３１を実行した場合であっても、インストーラ作成装置２において実行した場合と情報処理装置１において実行した場合とでは、実行に要する時間が異なる。しかしながら、各命令の実行が開始した際のインストーラの進捗率は、インストーラ１３１の実行環境に依って変化しない。また、インストーラ１３１の実行に伴って実行される各命令の実行順序も変化しない。そのため、情報処理装置１は、インストーラ作成装置２において情報作成処理を実行することにより取得した第１進捗情報１３２及び第２進捗情報１３３を参照し、次の入力要求までの予測時間を算出する。
【０１２０】
なお、情報取得部１１１は、Ｓ５２の処理において、インストーラ１３１の実行が終了するまでに要する残り時間（以下、インストール残り時間とも呼ぶ）を算出するものであってもよい。
【０１２１】
具体的に、情報取得部１１１は、図２４で説明した第３進捗情報１３２ａを参照し、「経過時間」に設定された時間のうち、最後の時間である「００：００：０４」をインストール開始後の経過時間として特定する。そして、情報取得部１１１は、特定した「００：００：０４」を、「経過時間」に「００：００：０４」が設定された情報の「進捗率」に設定された情報である「１（％）」で除算し、「１００（％）」を乗算した結果である「００：０６：４０」を算出する。さらに、情報取得部１１１は、算出した「００：０６：４０」から、インストール開始後の経過時間である「００：００：０４」を減算した時間である「００：０６：３６」を、インストール残り時間として算出する。
【０１２２】
続いて、情報出力部１１３は、Ｓ５２の処理で算出した予測時間を示す情報を出力する。また、情報出力部１１３は、例えば、Ｓ５２の処理で算出したインストール残り時間を出力する（Ｓ５３）。以下、予測時間出力処理の処理結果を出力する際の具体例を説明する。
【０１２３】
[予測時間出力処理の処理結果を出力する際の具体例（１）］
図２５は、予測時間出力処理の処理結果を出力する際の具体例を説明する図である。情報出力部１１３は、図２５に示すように、例えば、「インストール残り時間」として、Ｓ５２の処理で算出した「６分３６秒」を出力する。また、情報出力部１１３は、例えば、「次の入力要求までの残り時間」として、Ｓ５２の処理で算出した「２０秒」を出力する。
【０１２４】
これにより、管理者は、インストーラ１３１の実行時において、次に入力要求が行われる時間を認識することが可能になる。そのため、管理者は、情報処理装置１に対するソフトウエアのインストールを効率的に行うことが可能になる。
【０１２５】
図１３に戻り、Ｓ５３またはＳ５４の処理の後、情報取得部１１１は、インストーラ１３１に含まれる全ての処理の実行が終了したか否かを判定する（Ｓ５５）。そして、全ての処理の実行が終了したと判定した場合（Ｓ５５のＹＥＳ）、情報取得部１１１は、予測時間出力処理を終了する。一方、全ての処理の実行が終了していないと判定した場合（Ｓ５５のＮＯ）、情報取得部１１１は、Ｓ４２以降の処理を再度実行する。
【０１２６】
[取得時間出力処理の具体例］
次に、Ｓ４２の処理において、５回目の「ＣａｌｌＣｈｅｃｋ（）」が実行された場合の処理について説明を行う。なお、以下、４回目までの「ＣａｌｌＣｈｅｃｋ（）」の実行に伴って、図２６に示す第３進捗情報１３２ａに含まれる各情報の設定が行われたものとして説明を行う。
【０１２７】
この場合、情報取得部１１１は、第１進捗情報１３２を記憶する情報格納領域１３０を参照して、Ｓ４２の処理で実行された「ＣａｌｌＣｈｅｃｋ（）」に対応付けられた進捗を示す第１の情報を取得する（Ｓ４２のＹＥＳ、Ｓ４３のＹＥＳ、Ｓ４５）。また、情報取得部１１１は、この場合、Ｓ４２の処理において出力された情報及びＳ４５の処理で取得した情報を、第３進捗情報１３２ａの一部として情報格納領域１３０に記憶する。
【０１２８】
具体的に、Ｓ４２の処理において、「Ｃ００５」と「１６：２０：５４」とが出力された場合、情報取得部１１１は、図２７に示すように、「ＩＤ」に「Ｃ００５」を設定し、「実行時刻」に「１６：２０：５４」を設定する。そして、情報取得部１１１は、この場合、図２０で説明した第１進捗情報１３２における「ＩＤ」が「Ｃ００５」である情報の「進捗率」に設定された情報である「６（％）」を取得する。さらに、情報取得部１１１は、図２７に示すように、取得した情報である「６（％）」を、「ＩＤ」が「Ｃ００５」である情報の「進捗率」に設定する。
【０１２９】
また、情報取得部１１１は、この場合、「ＩＤ」が「Ｃ００１」である情報の「実行時刻」に設定された時刻である「１６：２０：００」から、「ＩＤ」が「Ｃ００５」である情報の「実行時刻」に設定された時刻である「１６：２０：５４」までの時間である「００：００：５４」を算出する。
【０１３０】
ここで、５回目の「ＣａｌｌＣｈｅｃｋ（）」が実行される前に、Ｓ４２の処理で「ＣａｌｌＲＣｈｅｃｋＢ（）」等が実行されている場合がある。そして、例えば、入力待ち時間として「００：００：３０」が算出されていた場合（Ｓ５４）、情報取得部１１１は、図２７に示すように、「ＩＤ」が「Ｃ００５」である情報の「経過時間」に、「００：００：５４」から「００：００：３０」を減算した時間である「００：００：２４」を設定する。
【０１３１】
その後、情報取得部１１１は、第２進捗情報１３３を記憶する情報格納領域１３０を参照して、実行された「ＣａｌｌＣｈｅｃｋ（）」よりも後に実行される入力要求命令に対応付けられた情報を取得する（Ｓ４６のＹＥＳ、Ｓ５１）。
【０１３２】
具体的に、情報取得部１１１は、図２２で説明した第２進捗情報１３３を参照し、次に実行される入力要求命令として「ＩＤ」が「ＣＲ００２」である命令を特定する。そして、情報取得部１１１は、図２２に示す第２進捗情報１３３における「ＩＤ」が「ＣＲ００２」である情報の「進捗率」に設定された情報である「４０（％）」を取得する。
【０１３３】
その後、情報取得部１１１は、インストール開始後の経過時間から、各処理命令の前に実行された入力要求命令それぞれの入力待ち時間を減算した時間を算出する。そして、情報取得部１１１は、算出した時間を第１の情報が示す値で除算し、除算された時間に第２の情報が示す値を乗算し、乗算された時間からインストール開始後の経過時間を減算した時間を、入力要求までの予測時間として算出する（Ｓ５２）。
【０１３４】
具体的に、情報取得部１１１は、図２７で説明した第３進捗情報１３２ａを参照し、「経過時間」に設定された時間のうち、最後の時間である「００：００：２４」を、インストール開始後の経過時間として特定する。そして、情報取得部１１１は、特定した「００：００：２４」を、「経過時間」に「００：００：２４」が設定された情報の「進捗率」に設定された情報である「６（％）」で除算し、Ｓ５１の処理で取得した「４０（％）」を乗算した結果である「００：０２：４０」を算出する。さらに、情報取得部１１１は、算出した「００：０２：４０」から、インストール開始後の経過時間である「００：００：２４」を減算した時間である「００：０２：１６」を、入力要求までの予測時間として算出する。
【０１３５】
また、情報取得部１１１は、特定した「００：００：２４」を、「経過時間」に「００：００：２４」が設定された情報の「進捗率」に設定された情報である「６（％）」で除算し、「１００（％）」を乗算した結果である「００：０６：４０」を算出する。そして、情報取得部１１１は、算出した「００：０６：４０」から、インストール開始後の経過時間である「００：００：２４」を減算した時間である「００：０６：１６」を、インストール残り時間として算出する。
【０１３６】
その後、情報出力部１１３は、Ｓ５２の処理で算出した予測時間を示す情報を出力する。また、情報出力部１１３は、例えば、Ｓ５２の処理で算出したインストール残り時間を出力する（Ｓ５３）。
【０１３７】
このように、本実施の形態における情報処理装置１は、インストーラに含まれる複数の命令それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得する。
【０１３８】
また、情報処理装置１は、複数の命令に含まれる、インストールに関する情報の入力要求命令（管理者等に操作の要求を行う命令）それぞれの実行時におけるインストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照する。そして、情報処理装置１は、特定の命令よりも後に実行される情報の入力要求命令に対応付けられた第２の情報を取得する。
【０１３９】
その後、情報処理装置１は、取得した第１の情報と、取得した第２の情報と、インストール開始後の経過時間とに基づき、入力要求までの予測時間を算出し、算出した予測時間を示す情報を出力する。
【０１４０】
これにより、情報処理装置１は、管理者に対して、操作が要求されるタイミングを適切に出力することが可能になる。
【０１４１】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１４２】
（付記１）
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行する処理をコンピュータに実行させるインストール実行プログラムにおいて、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、
前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、
算出した前記予測時間を示す情報を出力する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【０１４３】
（付記２）
付記１において、さらに、
前記第１の情報を取得する処理の前に、前記インストーラの実行に伴って、前記インストーラの実行が開始した時刻と、前記複数の命令それぞれの実行が開始した時刻と、前記インストーラの実行が終了した時刻と、前記入力要求を行う命令それぞれの実行が開始した時刻と、前記入力要求を行う命令それぞれの実行が終了した時刻とを取得し、
前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記複数の命令毎に、前記インストーラの実行を開始した時刻から各命令の実行が開始した時刻までの時間から、各命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間である実行所要時間を算出し、
前記複数の命令毎に、前記インストーラの実行を開始した時刻から前記インストーラの実行が終了した時刻までの時間から、前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間に対する前記実行所要時間の割合を、前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報として算出し、
算出した前記進捗を示す情報を各命令に対応付けて記憶部に記憶する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【０１４４】
（付記３）
付記１において、さらに、
前記第２の情報を取得する処理の前に、前記インストーラの実行に伴って、前記インストーラの実行を開始した時刻と、前記複数の命令それぞれの実行が開始した時刻と、前記インストーラの実行が終了した時刻と、前記入力要求を行う命令それぞれの実行が開始した時刻と、前記入力要求を行う命令それぞれの実行が終了した時刻とを取得し、
前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記入力要求を行う命令毎に、前記インストーラの実行を開始した時刻から各命令の実行が開始した時刻までの時間から、各命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間である実行所要時間を算出し、
前記入力要求を行う命令毎に、前記インストーラの実行を開始した時刻から前記インストーラの実行が終了した時刻までの時間から、前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間に対する前記実行所要時間の割合を、前記入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報として算出し、
算出した前記進捗を示す情報を各命令に対応付けて記憶部に記憶する、
処理をコンピュータに実行させることを特徴とするインストール実行プログラム。
【０１４５】
（付記４）
付記１において、
前記予測時間を算出する処理では、
前記特定の命令の前に実行された前記入力要求を行う命令毎に、前記入力要求を行う命令の実行を開始した時刻から、前記入力要求を行う命令の実行が終了した時刻までの入力待ち時間を算出し、
前記経過時間から、前記特定の命令の前に実行された前記入力要求を行う命令それぞれの前記入力待ち時間を減算した時間を前記第１の情報が示す値で除算し、除算された時間に前記第２の情報が示す値を乗算し、乗算された時間から前記経過時間を減算することにより、前記予測時間を算出する、
ことを特徴とするインストール実行プログラム。
【０１４６】
（付記５）
ソフトウエアのインストーラのソースコードにおいて複数の命令それぞれが記述された位置に対応する位置に、前記複数の命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述し、
前記複数の命令のうち、前記ソフトウエアのインストールに関する情報の入力要求を行う命令それぞれが記述された位置に対応する位置に、前記入力要求を行う命令それぞれの実行時刻に各命令を対応付けた情報を出力する命令を記述する、
処理をコンピュータに実行させることを特徴とするインストーラ作成プログラム。
【０１４７】
（付記６）
付記５において、
前記複数の命令それぞれが記述された位置に対応する位置は、前記ソースコードにおいて、前記複数の命令それぞれが記述された位置の直前の位置と、前記複数の命令のうちの最後に記述された命令が記述された位置の直後の位置とを含む、
ことを特徴とするインストーラ作成プログラム。
【０１４８】
（付記７）
付記５において、
前記入力要求を行う命令それぞれが記述された位置に対応する位置は、前記ソースコードにおいて、入力要求を行う命令それぞれが記述された位置の直前の位置及び直後の位置である、
ことを特徴とするインストーラ作成プログラム。
【０１４９】
（付記８）
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行するインストール実行装置において、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得する情報取得部と、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出する予測時間算出部と、
算出した前記予測時間を示す情報を出力する情報出力部と、を有する、
ことを特徴とするインストール実行装置。
【０１５０】
（付記９）
ソフトウエアのインストールの実行指示の受け付けに応じて、前記ソフトウエアのインストーラに含まれる複数の命令を該複数の命令それぞれに対応付けられた順序で実行するインストール実行方法において、
前記複数の命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、特定の命令に対応付けられた第１の情報を取得し、
前記複数の命令に含まれる、前記インストールに関する情報の入力要求を行う命令それぞれの実行時における前記インストールの進捗を示す情報を各命令に対応付けて記憶する記憶部を参照して、前記特定の命令よりも後に実行される前記入力要求を行う命令に対応付けられた第２の情報を取得し、
取得した前記第１の情報と、取得した前記第２の情報と、前記インストール開始後の経過時間とに基づき、前記入力要求までの予測時間を算出し、
算出した前記予測時間を示す情報を出力する、
ことを特徴とするインストール実行方法。
【符号の説明】
【０１５１】
１：情報処理装置                １ａ：記憶装置
２：インストーラ作成装置        １１：管理者端末
ＮＷ：ネットワーク
【図１】
0006730590.tif 000002
【図２】
0006730590.tif 000003
【図３】
0006730590.tif 000004
【図４】
0006730590.tif 000005
【図５】
0006730590.tif 000006
【図６】
0006730590.tif 000007
【図７】
0006730590.tif 000008
【図８】
0006730590.tif 000009
【図９】
0006730590.tif 000010
【図１０】
0006730590.tif 000011
【図１１】
0006730590.tif 000012
【図１２】
0006730590.tif 000013
【図１３】
0006730590.tif 000014
【図１４】
0006730590.tif 000015
【図１５】
0006730590.tif 000016
【図１６】
0006730590.tif 000017
【図１７】
0006730590.tif 000018
【図１８】
0006730590.tif 000019
【図１９】
0006730590.tif 000020
【図２０】
0006730590.tif 000021
【図２１】
0006730590.tif 000022
【図２２】
0006730590.tif 000023
【図２３】
0006730590.tif 000024
【図２４】
0006730590.tif 000025
【図２５】
0006730590.tif 000026
【図２６】
0006730590.tif 000027
【図２７】
0006730590.tif 000028