(57)【要約】      （修正有）【課題】バージョンの組み合わせが決まっている複数のアプリケーションのバージョンの整合性を取りつつ、重複を避けて効率良くインストールできるインストールシステムを提供する。【解決手段】第１バージョンの第１アプリケーションに対応した第１インストーラを格納するインストール装置２と、ネットワーク４を介して接続され、複数のインストーラを格納するサーバ３とを具備する。インストール装置２は、第１バージョンの第１アプリケーションと連携して実行される第２アプリケーションが、推奨されるバージョンでインストール済みか、インストール予定があるかに基づいて、第１・第２アプリケーションのバージョンの整合性を確認するインストーラ管理部４５と、サーバ３に第１アプリケーションに整合するバージョンの第２インストーラが格納されている場合、サーバ３から第２インストーラを受信して、起動するインストーラ起動部５５とを備える。【選択図】図１０
2011215825.tif 000002
【特許請求の範囲】
【請求項１】
第１バージョンの第１アプリケーションに対応した第１インストーラを格納するインストール装置と、
前記インストール装置とネットワークを介して接続され、複数のインストーラを格納するサーバと
を具備し、
前記インストール装置は、
前記第１バージョンの前記第１アプリケーションと連携して実行される第２アプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、前記第１バージョンの前記第１アプリケーションと前記第２アプリケーションとの整合性を確認するインストーラ管理部と、
前記整合性があり、前記サーバに前記第１バージョンよりも新しい第２バージョンの前記第１アプリケーションに対応した第２インストーラが格納されている場合、前記第１インストーラを起動せずに、前記サーバから前記第２インストーラを受信して前記第２インストーラを起動し、前記第２バージョンの前記第１アプリケーションをインストールするインストーラ起動部と
を備える
インストールシステム。
【請求項２】
請求項１に記載のインストールシステムであって、
前記インストーラ起動部は、前記整合性がなく、前記サーバに前記第１バージョンの前記第１アプリケーションと整合性のある第３バージョンの前記第２アプリケーションに対応した第３インストーラが格納されている場合、前記サーバから前記第３インストーラを受信して前記第３インストーラを起動し、前記第３バージョンの前記第２アプリケーションをインストールする
インストールシステム。
【請求項３】
請求項１又は２に記載のインストールシステムであって、
前記サーバは、
前記第１アプリケーションと前記第２アプリケーションとが連携して実行されるときの、推奨されるバージョンの組み合わせを格納する最新連携データベース
を備え、
前記インストール装置は、
前記最新連携データベースから受信した、前記組み合わせを格納する連携データベースと、
インストール済みのアプリケーションの情報を格納するインストール済みデータベースと、
前記第１アプリケーションの情報を含む、インストール対象となっているアプリケーションの情報を格納するインストール対象データベースと
を更に備え、
前記インストーラ管理部は、
前記インストール済みデータベースを参照して、前記第２アプリケーションが前記連携データベースの推奨バージョンで既にインストールされている場合、又は、前記インストール対象データベースを参照して、前記第２アプリケーションが前記推奨バージョンでインストールされる予定がある場合に整合性があると判定する
インストールシステム。
【請求項４】
第１バージョンの第１アプリケーションに対応した第１インストーラを格納するインストール装置と、前記インストール装置とネットワークを介して接続され、複数のインストーラを格納するサーバとを具備するインストールシステムの前記インストール装置において、
前記第１バージョンの前記第１アプリケーションと連携して実行される第２アプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、前記第１バージョンの前記第１アプリケーションと前記第２アプリケーションとの整合性を確認するステップと、
インストーラの起動を制御するステップと
を具備し、
前記インストーラの起動を制御するステップは、
前記整合性があり、前記サーバに前記第１バージョンよりも新しい第２バージョンの前記第１アプリケーションに対応した第２インストーラが格納されている場合、前記第１インストーラの起動を中止するステップと、
前記サーバから前記第２インストーラを受信するステップと、
前記第２インストーラを起動するステップと、
前記第２バージョンの前記第１アプリケーションをインストールするステップと
を備える
インストール方法。
【請求項５】
請求項４に記載のインストール方法であって、
前記インストーラの起動を制御するステップは、
前記整合性がなく、前記サーバに前記第１バージョンの前記第１アプリケーションと整合性のある第３バージョンの前記第２アプリケーションに対応した第３インストーラが格納されている場合、前記サーバから前記第３インストーラを受信するステップと、
前記第３インストーラを起動するステップと、
前記第３バージョンの前記第２アプリケーションをインストールするステップと
を備える
インストール方法。
【請求項６】
請求項４又は５に記載のインストール方法であって、
前記整合性を確認するステップは、
前記サーバから前記第１アプリケーションと前記第２アプリケーションとが連携して実行されるときの、推奨されるバージョンの組み合わせを受信するステップと、
インストール済みのアプリケーションの情報を格納するインストール済みデータベースを参照して、前記第２アプリケーションが前記組み合わせの推奨バージョンで既にインストールされているか否かを判定するステップと、
前記第１アプリケーションの情報を含む、インストール対象となっているアプリケーションの情報を格納するインストール対象データベースを参照して、前記第２アプリケーションが前記推奨バージョンでインストールされる予定があるか否かを判定するステップと、
前記推奨バージョンで既にインストールされている、又は、インストールされる予定がある場合に前記整合性があると判定するステップと
を備える
インストール方法。
【請求項７】
請求項１乃至３の何れか一項に記載のインストールシステムで用いられる
インストール装置。
【請求項８】
請求項４乃至６の何れか一項に記載の方法をコンピュータに実行させる
インストールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラムのインストールに関し、特にインストールシステム、インストール装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
マイコン用プログラムを作成するユーザは、プログラム開発に必要なコンパイラやアセンブラなどの複数のアプリケーションソフトウェアを、パーソナルコンピュータにインストールして使用する。個々にインストール可能な複数のアプリケーションソフトウェアをインストールするに当たって、効率良く統合的にインストールするために、いくつかの方法がある。図１は、複数のアプリケーションを統合的にインストールするための方法を示す概念図である。図１を参照すると、アプリケーションＡのファイルを含むインストーラ３０１と、アプリケーションＢのファイルを含むインストーラ３０２と、アプリケーションＣのファイルを含むインストーラ３０３とが示されている。これら複数のアプリケーションＡ〜Ｃを統合的にインストールするために、インストーラ３０１〜３０３とは別の専用インストーラ３１０を用いる方法と、インストーラ３０１〜３０３を流用して、管理データベース３２０を用いる方法とがある。例えば、管理データベール３２０を用いる方法では、管理データベース３２０がインストール対象のアプリケーションＡ〜Ｃを管理するルールを備え、プログラム３３０がそのルールに従って順番に階層的にインストールしていくことで実行される。
【０００３】
複数のアプリケーションを連続してインストールする技術として、特許文献１が開示されている。特許文献１のインストール装置は、記憶手段と制御手段とを備える。記憶手段は、アプリケーションのインストールを実施する順番を示す順番情報と、アプリケーションのインストールを実施するインストーラの保管先を示す保管先情報と、インストーラの起動方法を示す起動方法情報とを記憶する。制御手段は、保管先情報が示す保管先から、起動方法情報が示す起動方法でインストーラを起動する。そして、制御手段は、順番情報に基づいて、インストーラの起動順を制御する。このようなインストール装置は、保管先情報が示す複数のアプリケーションのインストーラの起動順を制御することによって、インストーラの起動にかかる利用者の作業が減るため、複数のアプリケーションをインストールする際の利用者の負担を軽減することができるというものである。
【０００４】
複数のアプリケーションをインストールするとき、各アプリケーション間に連携動作するための推奨バージョンがある場合、各アプリケーションのバージョンも考慮しなければならない。複数のアプリケーションのバージョンの整合性を取る方法に関する技術が特許文献２に開示されている。特許文献２のインストーラは、インストール時にドライバのバージョンを取得する機能と、プリンタ本体のファームウェアのバージョンを取得する機能と、ファーム／ドライバ整合性情報ＤＢにアクセスしてバージョン整合性情報を得る機能とを有する。そして、特許文献２のインストーラは、取得したドライバ及びファームウェアのバージョンが、ファーム／ドライバ整合性情報ＤＢに基づいて整合性の無い組み合わせである場合、ユーザ操作に基づいてドライバあるいはファームウェアのアップデート又はダウングレードを実行する。このようなインストーラは、ドライバ及びファームウェアのバージョン組み合わせに起因する障害の発生を回避することができるというものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３４６３７号公報
【特許文献２】特開２００７−２９３５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１に示した管理データベース３２０の定めるルールに従って階層的にインストールを実行する技術や、特許文献１の技術は、アプリケーションがインストール済みであるか否かを判断する機能部を備えていない。従って、あるアプリケーションを追加でインストールするとき、インストーラを起動させてそのアプリケーションのインストール要不要を判断させるか、又は、ユーザがそのアプリケーションのインストール要不要を判断する必要がある。例えば、ある製品パッケージが１５個のアプリケーションから構成されているとする。１回目のインストールで最低限の動作に必要な１０個のアプリケーションだけをインストールし、その後残りの５個をインストールする必要が生じた場合、２回目のインストールは残りの５個のアプリケーションだけをインストールすればよい。特に、２回目のインストールの時間を短縮するには、インストールしたい５個のアプリケーションだけをインストールすることが好ましい。しかし、１回目にインストール済みの１０個をインストール対象から外し、２回目に必要な５個だけをインストール対象にするという設定をユーザが手動で行う場合、インストール対象の取捨選択を誤る可能性がある。そこで、追加でインストールしたい５個のアプリケーションを確実にインストールするために、製品パッケージに含まれる１５個全てのアプリケーション用インストーラを起動して、各インストーラがそれぞれインストールを行うか否かを自動で判断することが望ましい。但し、この方法は、インストール済みのアプリケーション用のインストーラも起動してインストール済みか否かを判断することになるため、本来５個のインストーラだけ起動すれば良いところを、１５個のインストーラを起動することになる。即ち、インストール済みの１０個に関しては、インストーラを起動してインストール済みかどうかを判断するだけの余計な時間がかかることになる。
【０００７】
更に、製品パッケージ自体がバージョンアップして、構成品の一部アプリケーションがバージョンアップした場合を例に考える。この場合は、バージョンアップしたアプリケーションのインストールのみを行えば良い。しかし、製品パッケージに含まれるどのアプリケーションがバージョンアップすべきもので、どのアプリケーションが既にインストール済みであるのかを、ユーザの立場で正確に判断することは難しい。従って、実際に変更されたのは一部のアプリケーションであっても、バージョンアップしたアプリケーションを確実にインストールするために、製品パッケージに含まれる全てのアプリケーション用インストーラを起動して、インストールを行うべきかどうかを判断させることになる。その結果、インストール済みのアプリケーションに関しては、インストーラを起動してインストール済みかどうかを判断するだけの余計な時間がかかることになる。
【０００８】
また、連携して実行される複数のアプリケーションのそれぞれに、推奨バージョンが有る場合を例に考える。この場合、あるアプリケーションが実行されるとき、連携して実行される他のアプリケーションは特定のバージョンであることが前提となる。しかし、特許文献１では、インストーラを管理する機能部が、各アプリケーション間のバージョンの連携関係の情報を有していない。従って、ユーザ自身が、連携する他のアプリケーションを正しく動作するバージョンでインストールする必要がある。例えば、コンパイラを使用するにはアセンブラが必要であり、コンパイラとアセンブラのバージョンに連携関係がある時、これらを正しく連携させて実行するには、ユーザはコンパイラとアセンブラとの双方をインストールして、かつ推奨された正しい組み合わせのバージョンとなるようにインストールする必要がある。特許文献２によれば、整合性を考慮したインストールを行うことはできる。しかし、特許文献２では、インストールの効率化については考慮されていなく、しかも、各プログラムのバージョンアップに伴い整合性も変更されることがあるが、この場合の対応が困難である。
【課題を解決するための手段】
【０００９】
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明のインストールシステム（５）は、第１バージョンの第１アプリケーションに対応した第１インストーラを格納するインストール装置（２）と、インストール装置（２）とネットワーク（４）を介して接続され、複数のインストーラを格納するサーバ（３）とを具備する。インストール装置（２）は、第１バージョンの第１アプリケーションと連携して実行される第２アプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、第１バージョンの第１アプリケーションと第２アプリケーションとの整合性を確認するインストーラ管理部（４５）と、整合性があり、サーバ（３）に第１バージョンよりも新しい第２バージョンの第１アプリケーションに対応した第２インストーラが格納されている場合、第１インストーラを起動せずに、サーバ（３）から第２インストーラを受信して第２インストーラを起動し、第２バージョンの第１アプリケーションをインストールするインストーラ起動部（５５）とを備える。
【００１１】
本発明のインストール方法は、第１バージョンの第１アプリケーションに対応した第１インストーラを格納するインストール装置（２）と、インストール装置（２）とネットワーク（４）を介して接続され、複数のインストーラを格納するサーバ（３）とを具備するインストールシステム（５）のインストール装置（２）において、第１バージョンの第１アプリケーションと連携して実行される第２アプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、第１バージョンの第１アプリケーションと第２アプリケーションとの整合性を確認するステップと、インストーラの起動を制御するステップとを具備する。インストーラの起動を制御するステップは、整合性があり、サーバ（３）に第１バージョンよりも新しい第２バージョンの第１アプリケーションに対応した第２インストーラが格納されている場合、第１インストーラの起動を中止するステップと、サーバ（３）から第２インストーラを受信するステップと、第２インストーラを起動するステップと、第２バージョンの第１アプリケーションをインストールするステップとを備える。
【発明の効果】
【００１２】
本発明のインストールシステムは、実行するバージョンの組み合わせが決まっている複数のアプリケーションをインストールするとき、各アプリケーションのバージョンの整合性を取りつつ、重複するインストールを避けて効率良くアプリケーションをインストールすることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、複数のアプリケーションを統合的にインストールするための方法を示す概念図である。
【図２】図２は、本発明の第１の実施の形態によるインストール装置１の構成例を示したブロック図である。
【図３】図３は、連携データベース１１が格納する複数のアプリケーションの組み合わせの一例を示す図である。
【図４】図４は、連携データベース７０が格納する複数のアプリケーションの組み合わせの一例を示す図である。
【図５】図５は、インストール対象データベース８０が格納するインストール対象データの一例を示す図である。
【図６】図６は、インストール済みデータベース９０が格納する、インストール済みのアプリケーションの一例を示す図である。
【図７】図７は、インストール対象データベース８０が格納するインストール対象データの一例を示す図である。
【図８】図８は、インストール装置１の実施の形態における、ハードウエア構成例を示すブロック図である。
【図９】図９は、本発明の第１の実施の形態によるインストール装置１の処理動作を示したフローチャートである。
【図１０】図１０は、本発明の第２の実施の形態によるインストールシステム５を示したブロック図である。
【図１１】図１１は、新連携データベース１００が格納する複数のアプリケーションの組み合わせの一例を示す図である。
【図１２】図１２は、インストール対象データベース８５が格納するインストール対象データの一例を示す図である。
【図１３】図１３は、インストール対象データベース８５が格納するネットワーク経由のインストール対象データの一例である。
【図１４Ａ】図１４Ａは、本発明の第２の実施の形態によるインストールシステム５の処理動作を示したフローチャートである。
【図１４Ｂ】図１４Ｂは、本発明の第２の実施の形態によるインストールシステム５の処理動作を示したフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施の形態によるインストールシステムを説明する。
【００１５】
（第１の実施の形態）
本発明の第１の実施の形態を説明する。図２は、本発明の第１の実施の形態によるインストール装置１の構成例を示したブロック図である。図２を参照すると、インストール装置１は、アプリケーション部１０と、アプリケーション格納部２０と、入力部３０と、インストーラ管理部４０と、インストーラ起動部５０と、出力部６０と、連携データベース７０と、インストール対象データベース８０と、インストール済みデータベース９０とを具備する。
【００１６】
アプリケーション部１０は、製品パッケージとして外部から提供されたものであり、これらからインストール装置１にインストールされる複数のアプリケーションと、複数のアプリケーションの各々に対応した複数のインストーラとを含む。アプリケーション部１０は、連携データベース１１と、インストーラ部１２とを備える。連携データベース１１は、インストーラ部１２に含まれる複数のアプリケーションが実行されるときの推奨されるバージョンの組み合わせを格納する。図３は、連携データベース１１が格納する複数のアプリケーションの組み合わせの一例を示す図である。図３を参照すると、連携データベース１１は、「版管理用バージョン」と、「アプリケーション名」と、「バージョンの組み合わせ」とを含む。版管理用バージョンは、複数のアプリケーションの組み合わせ全体のバージョンを表す。図３では、版管理用バージョンは「２．００」である。アプリケーション名は、実行されるアプリケーションの名前である。図３では、アプリケーション名は、コンパイラとアセンブラとが示されている。バージョンの組み合わせは、複数のアプリケーションが連携して実行されるときの、複数のアプリケーションそれぞれの推奨バージョンの組み合わせを表す。図３では、コンパイラとアセンブラとが連携して実行されるとき、（１）〜（４）の４つの組み合わせがあることが示されている。
【００１７】
インストーラ部１２は、インストール対象の複数のアプリケーションと、複数のアプリケーションの各々に対応した複数のインストーラとを含む。各インストーラは、インストーラ起動部５０の命令によって起動し、対応するアプリケーションを使用可能な状態にして、アプリケーション格納部２０へ提供する。そして、各インストーラは、インストールを正常に終了すると、インストールの完了通知をインストーラ起動部５０及びインストール済みデータベース９０へ提供する。
【００１８】
アプリケーション格納部２０は、インストーラ部１２から使用可能な状態の複数のアプリケーションを受け取り、格納する。
【００１９】
入力部３０は、ユーザ入力を検知して、インストーラ管理部４０へ提供する。
【００２０】
インストーラ管理部４０は、インストール対象の複数のアプリケーションのインストールを管理する。詳細には、インストーラ管理部４０は、あるバージョンのアプリケーションをインストールするときに、そのアプリケーションと連携して実行される他のアプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、そのアプリケーションと他のアプリケーションとの整合性を確認する。インストーラ管理部４０は、更新部４１と、生成部４２と、整合性確認部４３と、起動要求部４４とを備える。
【００２１】
更新部４１は、連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較する。
【００２２】
ここで、連携データベース７０について説明する。連携データベース７０は、アプリケーション部１０の連携データベース１１と同様に、複数のアプリケーションが実行されるときの推奨される組み合わせを格納する。図４は、連携データベース７０が格納する複数のアプリケーションの組み合わせの一例を示す図である。図４を参照すると、連携データベース７０は、連携データベース１１と同様に、「版管理用バージョン」と、「アプリケーション名」と、「バージョンの組み合わせ」とを含む。
【００２３】
更新部４１は、連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較して、連携データベース１１の版管理バージョンの方が新しい場合、連携データベース７０を連携データベース１１の組み合わせに更新する。尚、更新部４１は、連携データベース７０に組み合わせが格納されていない場合、連携データベース１１の組み合わせに更新する。具体例として、連携データベース１１の組み合わせが図３であり、連携データベース７０の組み合わせが図４である場合、更新部４１は２つの版管理用バージョンを比較して、連携データベース７０の組み合わせを図３の組み合わせに更新する。
【００２４】
生成部４２は、インストーラ部１２からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を抽出し、ユーザが認識できるように出力部６０へ提供する。生成部４２は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むインストール対象データを生成し、インストール対象データベース８０に提供する。
【００２５】
インストール対象データベース８０について説明する。インストール対象データベース８０は、インストール対象となっているアプリケーションの情報（インストール対象データ）を格納する。図５は、インストール対象データベース８０が格納するインストール対象データの一例を示す図である。図５を参照すると、インストール対象データベース８０は、「項番」と、「アプリケーション名」と、「バージョン」と、「起動パス」と、「インストーラコード」とを含む。項番は、アプリケーションをインストールする順番を表す。アプリケーション名は、インストール対象となったアプリケーションの名前を表す。図５では、コンパイラＣＣがインストール対象のアプリケーションとして選択されている。バージョンは、アプリケーションのバージョンを表す。図５では、インストール対象のコンパイラＣＣはバージョン「１．１０．００００」であることが示されている。起動パスは、インストーラの格納場所を表す。インストーラコードは、インストーラ毎に付与された番号である。
【００２６】
整合性確認部４３は、これからインストールするアプリケーションと、そのアプリケーションと連携する他のアプリケーションとの整合性を確認する。詳細には、整合性確認部４３は、インストール対象データベース８０を参照して、インストール対象のアプリケーション及びバージョンを取得する。そして、整合性確認部４３は、インストール済みデータベース９０を参照して、連携する他のアプリケーションが連携データベース７０の推奨バージョンで既にインストールされている場合、又は、インストール対象データベース８０を参照して、連携する他のアプリケーションが推奨バージョンでインストールされる予定がある場合に整合性があると判定する。順を追って説明すると、まず、整合性確認部４３は、連携データベース７０を参照して、連携する他のアプリケーションの推奨バージョンを取得する。整合性確認部４３は、インストール済みデータベース９０を参照し、連携する他のアプリケーションが、推奨バージョンで既にインストールされているか否かを判定する。
【００２７】
ここで、インストール済みデータベース９０について説明する。インストール済みデータベース９０は、インストール済みの複数のアプリケーションの情報を格納する。図６は、インストール済みデータベース９０が格納する、インストール済みのアプリケーションの一例を示す図である。図６を参照すると、「アプリケーション名」と、「バージョン」と、「インストーラコード」とを含む。アプリケーション名は、インストール済みのアプリケーションの名前を表す。図６では、コンパイラＣＣと、アセンブラＲＡとがインストール済みであることが示されている。バージョンは、インストール済みのアプリケーションのバージョンを表す。図６では、インストール済みのコンパイラＣＣのバージョンが「１．００．００００」であり、アセンブラＲＡのバージョンが「１．００．００００」であることが示されている。インストーラコードは、インストーラ毎に付与された番号である。インストール済みデータベース９０は、インストーラからインストールの完了通知を受け取り、インストール済みのアプリケーションとして格納する。
【００２８】
整合性確認部４３は、インストール済みデータベース９０を参照し、連携する他のアプリケーションが、推奨バージョンで既にインストールされているか否かを判定した結果、連携する他のアプリケーションが推奨バージョンで既にインストールされている場合、整合性があると判定する。
【００２９】
連携する他のアプリケーションが推奨バージョンでインストールされていない場合、更に、整合性確認部４３はインストール対象データベース８０を参照して、連携する他のアプリケーションが推奨バージョンでインストールされる予定があるか否かを判定する。連携する他のアプリケーションが推奨バージョンでインストールされる予定がある場合、整合性確認部４３は整合性があると判定する。
【００３０】
連携する他のアプリケーションがインストールされる予定がない場合、整合性確認部４３は整合性がないと判定する。この場合、整合性確認部４３は、アプリケーション間の整合性が取れないため、インストール対象のアプリケーションのインストールを中止する。整合性確認部４３は、不整合であることをユーザが認識できるように出力部６０に提供する。
【００３１】
具体例を挙げて、整合性確認部４３が不整合と判定する場合を説明する。連携データベース７０が図３の組み合わせを格納し、インストール対象データベース８０が図５のインストール対象データを格納し、インストール済みデータベース９０が図６のインストール済みアプリケーションを格納しているとする。整合性確認部４３は、図５のインストール対象データベース８０を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．１０．００００」とを取得する。整合性確認部４３は、図３の連携データベース７０を参照して、バージョン「１．１０．００００」のコンパイラＣＣに対するアセンブラＲＡの推奨バージョン（バージョン「１．１０．００００」）を取得する。整合性確認部４３は、図６のインストール済みデータベース９０を参照し、アセンブラＲＡが、バージョン「１．１０．００００」で既にインストールされているか否かを判定する。アセンブラＲＡがバージョン「１．１０．００００」でインストールされていないため、整合性確認部４３は図５のインストール対象データベース８０を参照して、アセンブラＲＡがバージョン「１．１０．００００」でインストールされる予定があるか否かを判定する。アセンブラＲＡがインストールされる予定がないため、整合性確認部４３はバージョン「１．１０．００００」のコンパイラＣＣのインストールを中止する。
【００３２】
具体例を挙げて、整合性確認部４３が整合性ありと判定する場合を説明する。図７は、インストール対象データベース８０が格納するインストール対象データの一例を示す図である。図７を参照すると、インストール対象データベース８０は、バージョン「１．１０．００００」のコンパイラＣＣと、バージョン「１．１０．００００」のアセンブラＲＡとがインストール対象であることが示されている。ここで、連携データベース７０が図３の組み合わせを格納し、インストール対象データベース８０が図７のインストール対象データを格納し、インストール済みデータベース９０が図６のインストール済みアプリケーションを格納しているとする。この場合、整合性確認部４３は、図７のインストール対象データベース８０を参照して、アセンブラＲＡがバージョン「１．１０．００００」でインストールされる予定があるため、整合性があると判定する。
【００３３】
整合性確認部４３は、インストール対象データベース８０に含まれる全てのアプリケーションの整合性を確認する。整合性確認部４３は、全てのアプリケーションに整合性がある場合、整合性確認済み通知を起動要求部４４に提供する。
【００３４】
起動要求部４４は、整合性確認部４３から整合性確認済み通知を受け取ると、インストール対象データベース８０のインストールする順番（項番）に基づいて、インストール対象のアプリケーションのインストーラの起動要求をインストーラ起動部５０に提供する。尚、インストーラの起動要求には、インストール対象データベース８０の項番（実行番号）が含まれる。
【００３５】
インストーラ起動部５０は、インストーラ管理部４０からインストーラの起動要求を受け取る。インストーラ起動部５０は、インストール対象のアプリケーションが、同一のバージョンで既にインストールされている場合、インストーラの起動をスキップ（中止）する。詳細には、インストーラ起動部５０は、インストーラの起動要求（項番を含む）に基づいて、インストール対象データベース８０を参照し、これからインストールするアプリケーション及びバージョンを取得する。インストーラ起動部５０は、インストール済みデータベース９０を参照し、取得したアプリケーションが取得したバージョンで、既にインストールされているか否かを判定する。インストーラ起動部５０は、取得したアプリケーションが取得したバージョンで既にインストールされている場合、インストーラ部１２の対象となるインストーラの起動をスキップし、当該アプリケーションのインストールの完了通知を、起動要求部４４に提供する。尚、起動要求部４４は、インストールの完了通知を受け取ると、インストール対象データベース８０を参照して、次のアプリケーションのインストーラの起動要求をインストーラ起動部５０に提供する。一方、インストーラ起動部５０は、取得したアプリケーションが取得したバージョンでインストールされていない場合、インストーラ部１２に含まれる対象となるインストーラを起動させる。そして、インストーラ起動部５０は、インストーラが無事にインストールを完了すると、インストーラからインストールの完了通知を受け取り、インストールの完了通知を起動要求部４４に提供する。
【００３６】
出力部６０は、インストーラ管理部４０及びインストーラ起動部５０から受け取る情報をユーザが認識できるように表示する。
【００３７】
本発明の実施の形態によるインストール装置１は、コンピュータを用いて実現可能である。図８は、インストール装置１の実施の形態における、ハードウエア構成例を示すブロック図である。図８を参照すると、本発明のインストール装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、記憶装置２０２と、入力装置２０３と、出力装置２０４と、各装置を接続するバス２０５とを備えるコンピュータシステムで構成される。
【００３８】
ＣＰＵ２０１は、記憶装置２０２に格納されている本発明のインストール装置１に係る演算処理及び制御処理を行う。記憶装置２０２は、ハードディスクやメモリなど、情報の記録を行う装置である。記憶装置２０２は、ＣＤ−ＲＯＭやＤＶＤ等のコンピュータ読み取り可能な記憶媒体から読み取られたプログラム、入力装置２０３から入力された信号やプログラム、及びＣＰＵ２０１の処理結果を格納する。入力装置２０３は、マウス、キーボード、マイクロフォンなど、ユーザがコマンド及び信号を入力することが出来る装置である。出力装置２０４は、ディスプレイ、スピーカなど、ユーザに出力結果を認識させる装置である。尚、本発明はハードウエア構成例と示したものに限定されず、各部はハードウエアとソフトウェアとを単独又は組み合わせて実現することが出来る。
【００３９】
図９は、本発明の第１の実施の形態によるインストール装置１の処理動作を示したフローチャートである。図９を参照して、本発明の第１の実施の形態によるインストール方法を説明する。
【００４０】
ステップＳ０１：
更新部４１は、連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較する。更新部４１は、連携データベース１１の版管理バージョンの方が新しい場合、連携データベース７０を、連携データベース１１の組み合わせに更新する。また、更新部４１は、連携データベース７０に組み合わせが格納されていない場合、連携データベース１１の組み合わせに更新する。
【００４１】
ここで具体例として、連携データベース１１が図３に示す版管理用バージョン「２．００」の組み合わせを格納し、連携データベース７０が図４に示す版管理用バージョン「１．００」の組み合わせを格納し、インストール済みデータベース９０が図６に示すインストール済みアプリケーションを格納しているとして説明を加える。更新部４１は、連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較し、連携データベース７０を版管理用バージョン「２．００」に更新する。
【００４２】
ステップＳ０２：
生成部４２は、インストーラ部１２からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を抽出し、ユーザが認識できるように出力部６０へ提供する。生成部４２は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むインストール対象データを生成し、インストール対象データベース８０に提供する。具体例では、インストール対象データベース８０が、図５又は図７であるとする。
【００４３】
ステップＳ０３、ステップＳ０４：
整合性確認部４３は、インストール対象のアプリケーションと、そのアプリケーションと連携する他のアプリケーションとの整合性を確認する。詳細には、整合性確認部４３は、インストール対象データベース８０を参照して、インストール対象のアプリケーション及びバージョンを取得する。整合性確認部４３は、連携データベース７０を参照して、連携する他のアプリケーションの推奨バージョンを取得する。整合性確認部４３は、インストール済みデータベース９０を参照し、連携する他のアプリケーションが、推奨バージョンで既にインストールされているか否かを判定する。連携する他のアプリケーションが推奨バージョンで既にインストールされている場合、整合性確認部４３は整合性があると判定する。
【００４４】
連携する他のアプリケーションが推奨バージョンでインストールされていない場合、更に、整合性確認部４３は、インストール対象データベース８０を参照して、連携する他のアプリケーションが推奨バージョンでインストールされる予定であるか否かを判定する。連携する他のアプリケーションが推奨バージョンでインストールされる予定である場合、整合性確認部４３は整合性があると判定する。
【００４５】
連携する他のアプリケーションが推奨バージョンでインストールされる予定がない場合、整合性確認部４３は整合性がないと判定する。
【００４６】
インストール対象データベース８０が図５の場合の具体例を説明する。整合性確認部４３は、図５のインストール対象データベース８０を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．１０．００００」とを取得する。整合性確認部４３は、図３の連携データベース７０を参照して、バージョン「１．１０．００００」のコンパイラＣＣに対するアセンブラＲＡのバージョン「１．１０．００００」を取得する。整合性確認部４３は、図６のインストール済みデータベース９０を参照し、アセンブラＲＡが推奨バージョンのバージョン「１．１０．００００」でインストールされていないことを判定する。アセンブラＲＡがバージョン「１．１０．００００」でインストールされていないため、整合性確認部４３は図５のインストール対象データベース８０を参照して、アセンブラＲＡがバージョン「１．１０．００００」でインストールされる予定があるか否かを判定する。整合性確認部４３は、バージョン「１．１０．００００」のアセンブラＲＡがインストールされる予定がないため、整合性がないと判定する。
【００４７】
インストール対象データベース８０が図７の場合の具体例を説明する。この場合も、前述したように、整合性確認部４３は、図７のインストール対象データベース８０を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．１０．００００」とを取得する。そして、整合性確認部４３は、図６のインストール済みデータベース９０には、連携するアセンブラＲＡが推奨バージョンのバージョン「１．１０．００００」でインストールされていないことを判定する。アセンブラＲＡがバージョン「１．１０．００００」でインストールされていないため、整合性確認部４３は図７のインストール対象データベース８０を参照して、アセンブラＲＡがバージョン「１．１０．００００」でインストールされる予定があるか否かを判定する。整合性確認部４３は、アセンブラＲＡがバージョン「１．１０．００００」でインストールされる予定があるため、整合性があると判定する。
【００４８】
ステップＳ０５：
ステップＳ０４において、整合性確認部４３は、連携する他のアプリケーションがインストールされる予定がない場合、即ちアプリケーション間の整合性がない場合（ＮＯ）、インストール対象のアプリケーションのインストールを中止する。そして、整合性確認部４３は、不整合であることをユーザが認識できるように出力部６０に提供する。
【００４９】
ステップＳ０６：
ステップＳ０４において、整合性確認部４３は、インストール対象データベース８０に含まれる全てのアプリケーションの整合性がある場合（ＹＥＳ）、整合性確認済み通知を起動要求部４４に提供する。起動要求部４４は、整合性確認部４３から整合性確認済み通知を受け取ると、インストール対象データベース８０のインストールする順番（項番）に基づいて、インストール対象のアプリケーションのインストーラの起動要求をインストーラ起動部５０に提供する。具体例では、起動要求部４４は、図７の項番１のアプリケーションの起動要求をインストーラ起動部５０に提供する。
【００５０】
ステップＳ０７：
インストーラ起動部５０は、インストーラ管理部４０からインストーラの起動要求を受け取る。インストーラ起動部５０は、インストーラの起動要求（項番を含む）に基づいて、インストール対象データベース８０を参照し、これからインストールするアプリケーション及びバージョンを取得する。
【００５１】
具体例では、インストーラ起動部５０は、図７の項番１の起動要求を受け取る。インストーラ起動部５０は、図７のインストール対象データベース８０を参照し、コンパイラＣＣと、バージョン「１．１０．００００」とを取得する。
【００５２】
ステップＳ０８：
インストーラ起動部５０は、インストール済みデータベース９０を参照し、取得したアプリケーションが、取得した同一のバージョンで既にインストールされているか否かを判定する。
【００５３】
具体例では、インストーラ起動部５０は、図６のインストール済みデータベース９０を参照し、バージョン「１．１０．００００」のコンパイラＣＣがインストールされているか否かを判定する。
【００５４】
ステップＳ０９：
ステップＳ０８において、インストーラ起動部５０は、取得したアプリケーションが取得したバージョンで既にインストールされている場合（ＹＥＳ）、インストーラ部１２に含まれる対象となるインストーラの起動をスキップし、当該アプリケーションのインストールの完了通知を起動要求部４４に提供する。
【００５５】
ステップＳ１０：
ステップＳ０８において、取得したアプリケーションが取得したバージョンでインストールされていない場合（ＮＯ）、インストーラ起動部５０は、インストーラ部１２に含まれる対象となるインストーラを起動させる。インストーラ部１２に含まれる対象となるインストーラは、アプリケーションを使用可能な状態にし、アプリケーション格納部２０へ提供する。そして、インストーラは、インストールを正常に終了すると、インストールの完了通知をインストーラ起動部５０と、インストール済みデータベース９０に提供する。インストーラ起動部５０は、インストールの完了通知を起動要求部４４に提供する。
【００５６】
具体例では、インストーラ起動部５０は、図６のインストール済みデータベース９０に、バージョン「１．１０．００００」のコンパイラＣＣがインストールされていないと判定し、インストーラ部１２におけるコンパイラＣＣのインストーラを起動させる。インストーラはコンパイラＣＣをインストールし、インストール完了通知をインストーラ起動部５０と、インストール済みデータベース９０に提供する。
【００５７】
ステップＳ１１：
起動要求部４４は、インストールの完了通知を受け取ると、インストール対象データベース８０を参照して、全てのインストールが完了したか否かを判定する。全て完了していなければステップＳ０６へ戻り、起動要求部４４はインストール対象データベース８０を参照して、次のアプリケーションのインストーラの起動要求をインストーラ起動部５０に提供する。起動要求部４４は、全て完了していればインストールを終了する。
【００５８】
以上のように、本発明の第１の実施の形態によるインストール装置１は、実行するバージョンの組み合わせが決まっている複数のアプリケーションをインストールするとき、各アプリケーションのバージョンの整合性を取りつつ、重複するインストールを避けて効率良くアプリケーションをインストールすることができる。特に、インストール起動部５０は、個々のインストーラを起動させなくともインストール済みデータベース９０を参照することでインストール済みであるか否かを判断できるため、必要なインストーラだけを起動させて、インストールにかかる時間を短縮できる効果を奏している。
【００５９】
（第２の実施の形態）
本発明の第２の実施の形態を説明する。図１０は、本発明の第２の実施の形態によるインストールシステム５を示したブロック図である。図１０を参照すると、インストールステム５は、インストール装置２と、サーバ３とを具備する。インストール装置２とサーバ３とはネットワーク４を介して接続される。本発明の第２の実施の形態のインストールシステム５は、第１の実施の形態の効果に加え、インストール装置２がネットワーク４を介してサーバ３から最新のインストーラを受信し、最新バージョンのアプリケーションをインストールすることができる。
【００６０】
サーバ３は、様々なアプリケーションに対応した複数のインストーラを格納する。そして、サーバ３は、複数のインストーラ、及び、複数のアプリケーションの各々に関連する情報を、インストール装置２の要求に応じて送信する。サーバ３は、最新連携データベース１００と、インストーラ部１１０とを備える。最新連携データベース１００は、インストーラ部１１０に含まれる複数のアプリケーションが実行されるときの、推奨されるバージョンの最新の組み合わせを格納する。図１１は、最新連携データベース１００が格納する複数のアプリケーションの組み合わせの一例を示す図である。図１１を参照すると、最新連携データベース１００は、インストール装置２が具備する連携データベース１１及び連携データベース７０と同様に、「版管理用バージョン」と、「アプリケーション名」と、「バージョンの組み合わせ」とを含む。最新連携データベース１００の版管理用バージョンは最新であり、ここでは版管理用バージョンは「３．００」である。そして、コンパイラＣＣとアセンブラＲＡとには、（１）〜（５）の５つの組み合わせがあることが示されている。最新連携データベース１００は、インストール装置２からの最新の組み合わせの要求に基づいて、最新の組み合わせをインストール装置２に送信する。
【００６１】
インストーラ部１１０は、インストール対象の複数のアプリケーションと、複数のアプリケーションの各々に対応した複数のインストーラとを含む。インストーラ部１１０は、インストール装置２からのインストーラの要求に基づいて、インストール対象のインストーラをインストール装置２に送信する。インストール装置２に送信された後、インストーラはインストーラ起動部５５の命令によって起動し、対応するアプリケーションを使用可能な状態にして、アプリケーション格納部２０へ提供する。そして、インストーラは、インストールを正常に終了すると、インストールの完了通知をインストーラ起動部５５及びインストール済みデータベース９０へ提供する。
【００６２】
インストール装置２は、アプリケーション部１０と、アプリケーション格納部２０と、入力部３０と、インストーラ管理部４５と、インストーラ起動部５５と、出力部６０と、連携データベース７０と、インストール対象データベース８５と、インストール済みデータベース９０とを具備する。尚、インストール装置２において、第１の実施の形態のインストール装置１と同じ構成には同じ符号を用いて説明を省略する。
【００６３】
インストーラ管理部４５は、インストール対象の複数のアプリケーションのインストールを管理する。詳細には、インストーラ管理部４５は、あるバージョンのアプリケーションをインストールするときに、そのアプリケーションと連携して実行される他のアプリケーションが、推奨されるバージョンでインストール済みであるか否か、及び、インストール予定であるか否かに基づいて、そのアプリケーションと他のアプリケーションとの整合性を確認する。そして、インストーラ管理部４５は、整合性がある場合、サーバ３にインストール対象のアプリケーションの新しいバージョンが格納されていることに基づいて、対応するインストーラの起動要求をインストーラ起動部５５に提供する。また、インストーラ管理部４５は、整合性がない場合、整合性のあるバージョンの連携する他のアプリケーションをインストールするために、対応するインストーラの起動要求をインストーラ起動部５５に提供する。インストーラ管理部４５は、更新部４６と、生成部４７と、整合性確認部４８と、起動要求部４９とを備える。
【００６４】
更新部４６は、第１の実施の形態の更新部４１と同様に、アプリケーション部１０の連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較して、連携データベース７０を更新する。更に、更新部４６は、ネットワーク４を介して、サーバ３の最新連携データベース１００から最新の複数のアプリケーションの組み合わせを受信する。そして、更新部４６は、最新連携データベース１００から受信した最新の複数のアプリケーションの組み合わせの版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較し、連携データベース７０を最新に更新する。
【００６５】
生成部４７は、第１の実施の形態の生成部４２と同様に、インストーラ部１２からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を抽出し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むインストール対象データを生成し、インストール対象データベース８５に提供する。更に、生成部４７は、後述する整合性確認部４８から要求を受け取ると、サーバ３に格納されたインストーラに基づいて、アプリケーションの情報を生成し、インストール対象データベース８５に提供する。詳細には、生成部４７は、整合性確認部４８からネットワーク経由のインストール対象データの生成要求を受け取ると、ネットワーク４を介して、サーバ３のインストーラ１１０からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を受信し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むネットワーク経由のインストール対象データを生成し、インストール対象データベース８５に提供する。
【００６６】
インストール対象データベース８５について説明する。インストール対象データベース８５は、第１の実施の形態と同様に、アプリケーション部１０のインストーラ部１２に基づいて生成されたインストール対象データを格納する。更に、インストール対象データベース８５は、インストーラ部１１０に基づいて生成された、ネットワーク経由のインストール対象データを格納する。図１２は、インストール対象データベース８５が格納するインストール対象データの一例を示す図である。図１２に示したインストール対象データは、アプリケーション部１０のインストーラ部１２に基づいて生成されたものである。図１３は、インストール対象データベース８５が格納するネットワーク経由のインストール対象データの一例である。図１３を参照すると、ネットワーク経由のインストール対象データは、図１２と同様に、「項番」と、「アプリケーション名」と、「バージョン」と、「起動パス」と、「インストーラコード」とを含む。
【００６７】
整合性確認部４８は、第１の実施の形態の整合性確認部４３と同様に、これからインストールするアプリケーションと、そのアプリケーションと連携する他のアプリケーションとの整合性を確認する。第１の実施の形態と異なることは、整合性確認部４８はインストールするアプリケーションと、連携する他のアプリケーションとの整合性がないと判定した場合、整合するアプリケーションのインストールを要求する。つまり、整合性確認部４８は、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。
【００６８】
具体例として、整合性がない場合を説明する。連携データベース７０が図１１の組み合わせを格納し、インストール対象データベース８５が図１２のバージョン「１．３０．００００」のコンパイラＣＣのみをインストール対象データとして格納し、インストール済みデータベース９０が図６のインストール済みアプリケーションを格納しているとする。整合性確認部４８は、図１２のインストール対象データベース８５を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．３０．００００」とを取得する。整合性確認部４８は、図１１の連携データベース７０を参照して、バージョン「１．３０．０００」のコンパイラＣＣ対するアセンブラＲＡの推奨バージョン（バージョン「１．２０．０００」）を取得する。整合性確認部４８は、図６のインストール済みデータベース９０を参照し、アセンブラＲＡがバージョン「１．２０．００００」で既にインストールされているか否かを判定する。アセンブラＲＡがバージョン「１．２０．００００」でインストールされていないため、整合性確認部４８はインストール対象データベース８５を参照して、アセンブラＲＡがバージョン「１．２０．００００」でインストールされる予定があるか否かを判定する。整合性確認部４８は、アセンブラＲＡがインストールされる予定がないため、アプリケーション間の整合性がないと判定する。
【００６９】
次に、整合性確認部４８は、バージョン「１．２０．００００」のアセンブラＲＡをインストールするために、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。生成部４７は、ネットワーク４を介して、サーバ３のインストーラ１１０からアセンブラＲＡと、バージョン「１．２０．００００」との情報を受信し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、ユーザ入力に基づいて決定されたアセンブラＲＡ、バージョン「１．２０．００００」などを含むネットワーク経由のインストール対象データを生成し、インストール対象データベース８５に提供する。
【００７０】
また、整合性確認部４８は整合性があると判定した場合でも、新しいバージョンがあれば、新しいバージョンでインストールを要求する。つまり、整合性確認部４８は、連携データベース７０の組み合わせにインストール対象のアプリケーションの新しいバージョンが含まれるときは、新しいバージョンをインストールするために、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。
【００７１】
具体例として、整合性があり、且つ、連携データベース７０の組み合わせに新しいバージョンが含まれる場合を説明する。連携データベース７０が図１１の組み合わせを格納し、インストール対象データベース８５が図１２のインストール対象データを格納し、インストール済みデータベース９０が図６のインストール済みアプリケーションを格納しているとする。整合性確認部４８は、図１２のインストール対象データベース８５を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．３０．００００」とを取得する。整合性確認部４８は、図１１の連携データベース７０を参照して、バージョン「１．３０．０００」のコンパイラＣＣ対するアセンブラＲＡの推奨バージョン（バージョン「１．２０．０００」）を取得する。整合性確認部４８は、図６のインストール済みデータベース９０を参照し、アセンブラＲＡがバージョン「１．２０．００００」で既にインストールされているか否かを判定する。アセンブラＲＡがバージョン「１．２０．００００」でインストールされていないため、整合性確認部４８は図１２のインストール対象データベース８５を参照して、アセンブラＲＡがバージョン「１．２０．００００」でインストールされる予定があるか否かを判定する。整合性確認部４８は、アセンブラＲＡがインストールされる予定であるため、アプリケーション間の整合性があると判定する。
【００７２】
次に、整合性確認部４８は、図１１の連携データベース７０を参照して、バージョン「１．３０．００００」のコンパイラＣＣに、整合性のある新しいバージョンがあるか否かを判定する。コンパイラＣＣには新しいバージョン「１．４０．００００」があるため、整合性確認部４８はバージョン「１．４０．００００」のコンパイラＣＣをインストールするために、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。生成部４７は、ネットワーク４を介して、サーバ３のインストーラ１１０からコンパイラＣＣと、バージョン「１．４０．００００」との情報を受信し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、図１３に示すように、ユーザ入力に基づいて決定されたコンパイラＣＣ、バージョン「１．４０．００００」などを含むネットワーク経由のインストール対象データを生成し、インストール対象データベース８５に提供する。
【００７３】
整合性確認部４８は、インストール対象データベース８５に含まれる全てのアプリケーションの整合性を確認する。整合性確認部４８は、全てのアプリケーションの整合性を確認すると、整合性確認済み通知を起動要求部４９に提供する。
【００７４】
起動要求部４９は、整合性確認部４８から整合性確認済み通知を受け取ると、インストール対象データベース８５のインストールする順番（項番）に基づいて、インストール対象のアプリケーションのインストーラの起動要求をインストーラ起動部５５に提供する。但し、起動要求部４９は、まず、インストーラ部１２に基づいて生成されたインストール対象データから、インストーラの起動要求をインストーラ起動部５５に提供する。起動要求部４９は、インストーラ部１２に基づいて生成されたインストール対象データの全てのインストールが完了した後、インストール対象データベース８５を参照し、インストーラ部１１０に基づいて生成されたネットワーク経由のインストール対象データがあるか否かを判定する。ネットワーク経由のインストール対象データがある場合、起動要求部４９は、ネットワーク経由のインストール対象データから、インストーラの起動要求をインストーラ起動部５５に提供する。尚、このとき、ネットワーク経由のインストール対象データがなければ、インストールは終了される。
【００７５】
インストーラ起動部５５は、インストーラの起動を制御する。インストーラ起動部５５は、インストーラ管理部４５からインストーラの起動要求を受け取る。インストーラ起動部５５は、インストール対象のアプリケーションが、同一のバージョンで既にインストールされている場合、インストーラの起動をスキップ（中止）する。詳細には、インストーラ起動部５５は、インストーラの起動要求（項番を含む）に基づいて、インストール対象データベース８５を参照し、これからインストールするアプリケーション及びバージョンを取得する。インストーラ起動部５５は、インストール済みデータベース９０を参照し、取得したアプリケーションが取得したバージョンで、既にインストールされているか否かを判定する。インストーラ起動部５５は、取得したアプリケーションが取得したバージョンで既にインストールされている場合、インストーラ部１２の対象となるインストーラの起動をスキップし、当該アプリケーションのインストールの完了通知を、起動要求部４９に提供する。尚、起動要求部４９は、完了通知を受け取ると、インストール対象データベース８５を参照して、次のアプリケーションのインストーラの起動要求をインストーラ起動部５５に提供する。
【００７６】
一方、インストーラ起動部５５は、取得したアプリケーションが取得したバージョンでインストールされていない場合、サーバ３にアプリケーションがあることに基づいて、インストーラの起動をスキップする。詳細には、インストーラ起動部５５は、インストール対象データベース８５のネットワーク経由のインストール対象データを参照し、インストール対象のアプリケーションがネットワーク経由のインストール対象であるか否かを判定する。ネットワーク経由のインストール対象である場合、インストーラ起動部５５はインストーラ部１２の対象となるインストーラの起動をスキップし、当該アプリケーションのインストールの完了通知を起動要求部４９に提供する。
【００７７】
ネットワーク経由のインストール対象でない場合、インストーラ起動部５５はインストーラ部１２に含まれる対象となるインストーラを起動させる。そして、インストーラ起動部５５は、インストーラが無事にインストールを完了すると、インストーラからインストールの完了通知を受け取り、インストールの完了通知を起動要求部４９に提供する。
【００７８】
また、インストーラ起動部５５は、サーバ３に格納されたインストーラの起動要求を受け取ると、サーバ３からインストーラを受信する。そして、インストーラ起動部５５は、インストーラを起動し、アプリケーションをインストールする。詳細には、インストーラ起動部５５は、アプリケーションがネットワーク経由のインストール対象の場合、インストーラの起動要求に基づいて、インストール対象データベース８５を参照し、アプリケーション及びバージョンを取得する。そして、インストーラ起動部５５は、サーバ３にインストール対象のアプリケーションのインストーラの要求を送信する。インストーラ起動部５５は、サーバ３からインストール対象のアプリケーションのインストーラを受信し、受信したインストーラを起動させる。インストーラ起動部５５は、インストーラからインストールの完了通知を受け取り、インストールの完了通知を起動要求部４９に提供する。
【００７９】
このように、インストーラ起動部５５は、整合性があり、且つ、サーバ３に新しいバージョンのアプリケーションに対応したインストーラが格納されている場合、インストーラ部１２のインストーラを起動せずに、サーバ３からインストーラを受信する。そして、インストーラ起動部５５は、受信したインストーラを起動し、新しいバージョンのアプリケーションをインストールする。また、インストーラ起動部５５は、整合性がなく、且つ、サーバ３に整合性のあるバージョンの連携する他のアプリケーションに対応したインストーラが格納されている場合、サーバ３からそのインストーラを受信する。そして、インストーラ起動部５５は、受信したインストーラを起動し、整合性あるバージョンで連携する他のアプリケーションをインストールする。
【００８０】
図１４Ａ及び図１４Ｂは、本発明の第２の実施の形態によるインストールシステム５の処理動作を示したフローチャートである。図１４Ａ及び図１４Ｂを参照して、本発明の第２の実施の形態によるインストール方法を説明する。
【００８１】
ステップＡ０１：
更新部４６は、第１の実施の形態の更新部４１と同様に、連携データベース１１の版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較して、連携データベース７０を更新する。更に、更新部４６は、ネットワーク４を介して、サーバ３の最新連携データベース１００から最新の複数のアプリケーションの組み合わせを受信する。そして、更新部４６は、最新連携データベース１００から受信した最新の複数のアプリケーションの組み合わせの版管理用バージョンと、連携データベース７０の版管理用バージョンとを比較し、連携データベース７０を最新に更新する。
【００８２】
ここで具体例として、連携データベース１１が図３に示す版管理用バージョン「２．００」の組み合わせを格納し、連携データベース７０が図４に示す版管理用バージョン「１．００」の組み合わせを格納し、最新連携データベース１００が図１１に示す版管理用バージョン「３．００」の組み合わせを格納し、インストール済みデータベース９０が図６に示すインストール済みアプリケーションを格納しているとして説明を加える。更新部４６は、連携データベース１１の版管理用バージョンと連携データベース７０の版管理用バージョンとを比較し、連携データベース７０を版管理用バージョン「２．００」に更新する。更に、更新部４６は、最新連携データベース１００の版管理用バージョン「３．００」に基づいて、携データベース７０を版管理用バージョン「３．００」に更新する。
【００８３】
ステップＡ０２：
生成部４７は、インストーラ部１２からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を抽出し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むインストール対象データを生成し、インストール対象データベース８５に提供する。具体例では、インストール対象データベース８５は、図１２であるとする。
【００８４】
ステップＡ０３、ステップＡ０４：
整合性確認部４８は、インストール対象のアプリケーションと、そのアプリケーションと連携する他のアプリケーションとの整合性を確認する。整合性の確認処理は、第１の実施の形態のステップＳ０３、Ｓ０４と同様である。
【００８５】
インストール対象データベース８５が図１２の場合の具体例を説明する。整合性確認部４８は、図１２のインストール対象データベース８５を参照して、インストール対象のコンパイラＣＣと、そのバージョン「１．３０．００００」とを取得する。整合性確認部４８は、図１１の連携データベース７０を参照して、バージョン「１．３０．００００」のコンパイラＣＣに対するアセンブラＲＡのバージョン「１．２０．００００」を取得する。整合性確認部４８は、図６のインストール済みデータベース９０を参照し、アセンブラＲＡが推奨バージョンのバージョン「１．２０．００００」でインストールされていないことを判定する。アセンブラＲＡがバージョン「１．２０．００００」でインストールされていないため、整合性確認部４８は図１２のインストール対象データベース８５を参照して、アセンブラＲＡがバージョン「１．２０．００００」でインストールされる予定があるか否かを判定する。バージョン「１．２０．００００」のアセンブラＲＡがインストールされる予定であるため、整合性があると判定する。
【００８６】
ステップＡ０５：
ステップＡ０４において、整合性があると判定した場合（ＹＥＳ）、整合性確認部４８は連携データベース７０の組み合わせに、インストール対象のアプリケーションの新しいバージョンが含まれるか否かを判定する。
【００８７】
具体例では、整合性確認部４８は図１１の連携データベース７０を参照して、バージョン「１．３０．００００」のコンパイラＣＣに、より新しいバージョンがあるか否かを判定する。
【００８８】
ステップＡ０６：
ステップＡ０４において整合性がないと判定した場合（ＮＯ）、又は、ステップＡ０５において整合性のある新しいバージョンが含まれる場合（ＹＥＳ）、整合性確認部４８は新しいバージョンをインストールするために、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。生成部４７は、整合性確認部４８からネットワーク経由のインストール対象データの生成要求を受け取ると、ネットワーク４を介して、サーバ３のインストーラ１１０からインストール対象の複数のアプリケーションの「アプリケーション名」、「バージョン」などの情報を受信し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、ユーザ入力に基づいて決定された「アプリケーション名」、「バージョン」などを含むネットワーク経由のインストール対象データを生成し、インストール対象データベース８５に提供する。
【００８９】
具体例では、コンパイラＣＣには新しいバージョン「１．４０．００００」があるため、整合性確認部４８はバージョン「１．４０．００００」のコンパイラＣＣをインストールするために、ネットワーク経由のインストール対象データの生成要求を生成部４７に提供する。生成部４７は、ネットワーク４を介して、サーバ３のインストーラ１１０からコンパイラＣＣと、バージョン「１．４０．００００」との情報を受信し、ユーザが認識できるように出力部６０へ提供する。生成部４７は、図１３に示すように、ユーザ入力に基づいて決定されたコンパイラＣＣ、バージョン「１．４０．００００」などを含むネットワーク経由のインストール対象データを生成し、インストール対象データベース８５に提供する。
【００９０】
整合性確認部４８は、インストール対象データベース８５に含まれる全てのアプリケーションの整合性を確認する。整合性確認部４８は、全てのアプリケーションの整合性を確認すると、整合性確認済み通知を起動要求部４９に提供する。
【００９１】
ステップＡ０７：
起動要求部４９は、整合性確認部４８から整合性確認済み通知を受け取ると、インストール対象データベース８５のインストールする順番（項番）に基づいて、インストール対象のアプリケーションのインストーラの起動要求をインストーラ起動部５５に提供する。但し、起動要求部４９は、まず、インストーラ部１２に基づいて生成されたインストール対象データから、インストーラの起動要求をインストーラ起動部５５に提供する。
【００９２】
具体例では、起動要求部４９は、図１２の項番１のアプリケーションの起動要求をインストーラ起動部５５に提供する。
【００９３】
ステップＡ０８：
インストーラ起動部５５は、インストーラ管理部４５からインストーラの起動要求を受け取る。インストーラ起動部５５は、インストーラの起動要求（項番を含む）に基づいて、インストール対象データベース８５を参照し、これからインストールするアプリケーション及びバージョンを取得する。
【００９４】
具体例では、インストーラ起動部５５は、図１２の項番１の起動要求を受け取る。インストーラ起動部５５は、図１２のインストール対象データベース８５を参照し、コンパイラＣＣと、バージョン「１．３０．００００」とを取得する。
【００９５】
ステップＡ０９：
インストーラ起動部５５は、インストール済みデータベース９０を参照し、取得したアプリケーションが、取得した同一のバージョンで既にインストールされているか否かを判定する。
【００９６】
具体例では、インストーラ起動部５５は、図６のインストール済みデータベース９０を参照し、バージョン「１．３０．００００」のコンパイラＣＣがインストールされているか否かを判定する。
【００９７】
ステップＡ１０：
ステップＡ０９において、取得したアプリケーションが取得したバージョンでインストールされていない場合（ＮＯ）、インストーラ起動部５５はインストール対象データベース８５のネットワーク経由のインストール対象データを参照し、インストール対象のアプリケーションがネットワーク経由のインストール対象であるか否かを判定する。
【００９８】
具体例では、図６のインストール済みデータベース９０に、バージョン「１．３０．００００」のコンパイラＣＣがインストールされていないため、インストーラ起動部５５は図１３のインストール対象データベース８５を参照し、コンパイラＣＣがネットワーク経由のインストール対象であるか否かを判定する。
【００９９】
ステップＡ１１：
ステップＡ０９において取得したアプリケーションが取得したバージョンで既にインストールされている場合（ＹＥＳ）、又は、ステップＡ１０においてネットワーク経由のインストール対象である場合（ＹＥＳ）、インストーラ起動部５５はインストーラ部１２の対象となるインストーラの起動をスキップし、当該アプリケーションのインストールの完了通知を、起動要求部４９に提供する。
【０１００】
具体例では、コンパイラＣＣがネットワーク経由のインストール対象であるため、インストーラ起動部５５はインストーラ部１２の対象となるインストーラの起動をスキップし、コンパイラＣＣのインストールの完了通知を起動要求部４９に提供する。
【０１０１】
ステップＡ１２：
ステップＡ１０において、ネットワーク経由のインストール対象でない場合（ＮＯ）、インストーラ起動部５５はインストーラ部１２に含まれる対象となるインストーラを起動させる。そして、インストーラ起動部５５は、インストーラが無事にインストールを完了すると、インストーラからインストールの完了通知を受け取り、インストールの完了通知を起動要求部４９に提供する。
【０１０２】
ステップＡ１３：
起動要求部４９は、インストールの完了通知を受け取ると、インストール対象データベース８５を参照して、インストーラ部１２に基づいて生成されたインストール対象データの全てのインストールが完了したか否かを判定する。全て完了していなければステップＡ０７へ戻り、起動要求部４９はインストール対象データベース８５を参照して、次のアプリケーションのインストーラの起動要求をインストーラ起動部５５に提供する。完了していればステップＡ１４へ進む。
【０１０３】
ステップＡ１４
ステップＡ１３において、インストーラ部１２に基づいて生成されたインストール対象データの全てのインストールが完了した場合、起動要求部４９はインストール対象データベース８５を参照し、インストーラ部１１０に基づいて生成された、ネットワーク経由のインストール対象データがあるか否かを判定する。ここで、ネットワーク経由のインストール対象データがなければ、インストールは終了される。
【０１０４】
ステップＡ１５：
ステップＡ１４において、ネットワーク経由のインストール対象データがある場合、起動要求部４９はネットワーク経由のインストール対象データから、インストーラの起動要求をインストーラ起動部５５に提供する。インストーラ起動部５５は、起動要求部４９からインストーラの起動要求を受け取る。インストーラ起動部５５は、インストーラの起動要求（項番を含む）に基づいて、インストール対象データベース８５を参照し、ネットワーク４を介してインストールするアプリケーション及びバージョンを取得する。
【０１０５】
具体例では、インストーラ起動部５５は、図１３の項番１の起動要求を受け取る。インストーラ起動部５５は、図１３のインストール対象データベース８５を参照し、コンパイラＣＣと、バージョン「１．４０．００００」とを取得する。
【０１０６】
ステップＡ１６：
インストーラ起動部５５は、サーバ３にインストール対象のアプリケーションのインストーラの要求を送信する。インストーラ起動部５５は、サーバ３からインストール対象のアプリケーションのインストーラを受信し、受信したインストーラを起動させる。インストーラ起動部５５は、インストーラからインストールの完了通知を受け取り、インストールの完了通知を起動要求部４９に提供する。
【０１０７】
具体例では、インストーラ起動部５５は、サーバ３に、バージョン「１．４０．００００」のコンパイラＣＣのインストーラの要求を送信する。インストーラ起動部５５は、サーバ３からバージョン「１．４０．００００」のコンパイラＣＣのインストーラを受信し、受信したインストーラを起動させる。インストーラ起動部５５は、インストーラからインストールの完了通知を受け取り、インストール完了通知を起動要求部４９に提供する。
【０１０８】
ステップＡ１７：
起動要求部４９は、インストールの完了通知を受け取ると、インストール対象データベース８５を参照して、ネットワーク経由の全てのインストールが完了したか否かを判定する。全て完了していなければステップＡ１５へ戻り、完了していればインストールを終了する。
【０１０９】
以上のように、本発明の第２の実施の形態によるインストールシステム５は、第１の実施の効果に加えて、ネットワーク４を介して、最新バージョンのアプリケーションを含むインストーラを受信することができる。従って、本発明のインストールシステム５は、インストール対象のアプリケーションと、他の連携するアプリケーションとの間に整合性がない場合でも、整合性あるバージョンで他の連携するアプリケーションを受信でき、バージョン間の不整合を確実に解決することができる。更に、本発明のインストールシステム５は、整合性がある場合でも、インストール対象のアプリケーションに新しいバージョンがある場合には、ネットワーク４を介して最新バージョンを受信できるため、整合性を考慮しつつ、アプリケーションのバージョンアップに確実に対応できる効果を奏する。
【符号の説明】
【０１１０】
１、２・・インストール装置
３・・・・サーバ
４・・・・ネットワーク
５・・・・インストールシステム
１０・・・アプリケーション部
１１・・・連携データベース
１２・・・インストーラ部
２０・・・アプリケーション格納部
３０・・・入力部
４０、４５・・インストーラ管理部
４１、４６・・更新部
４２、４７・・生成部
４３、４８・・整合性確認部
４４、４９・・起動要求部
５０、５５・・インストーラ起動部
６０・・・出力部
７０・・・連携データベース
８０、８５・・インストール対象データベース
９０・・・インストール済みデータベース
１００・・最新連携データベース
１１０・・インストーラ部
２０１・・ＣＰＵ
２０２・・記憶装置
２０３・・入力装置
２０４・・出力装置
２０５・・バス
３０１、３０２、３０３・・インストーラ
３１０・・専用インストーラ
３２０・・管理データベース
３３０・・プログラム
【図１】
2011215825.tif 000003
【図２】
2011215825.tif 000004
【図３】
2011215825.tif 000005
【図４】
2011215825.tif 000006
【図５】
2011215825.tif 000007
【図６】
2011215825.tif 000008
【図７】
2011215825.tif 000009
【図８】
2011215825.tif 000010
【図９】
2011215825.tif 000011
【図１０】
2011215825.tif 000012
【図１１】
2011215825.tif 000013
【図１２】
2011215825.tif 000014
【図１３】
2011215825.tif 000015
【図１４Ａ】
2011215825.tif 000016
【図１４Ｂ】
2011215825.tif 000017