(57)【要約】【課題】  プログラムをインストールするコンピュータの動作環境により、プログラムを配布する処理を自動で実施することが困難になる場合があった。【解決手段】  第１のコンピュータに格納されたデータを利用して第２のコンピュータにプログラムをインストールするにあたりプログラムの実行環境を整備するため、上記第１のコンピュータによってプログラムを実行する環境を特定するための環境情報を送信し、上記第２のコンピュータによって上記環境情報を受信し、同受信した環境情報に基づいて上記プログラムを実行するための環境を整備する。【選択図】  図６
2006139364.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータに格納されたデータを利用して第２のコンピュータにプログラムをインストールするにあたりプログラムの実行環境を整備する実行環境整備システムであって、
上記第１のコンピュータは、
プログラムを実行する環境を特定するための環境情報を送信する環境情報送信手段を備え、
上記第２のコンピュータは、
上記環境情報を受信する環境情報受信手段と、
同受信した環境情報に基づいて上記プログラムを実行するための環境を整備する環境整備手段とを備えることを特徴とする実行環境整備システム。
【請求項２】
上記第１のコンピュータは上記プログラムのインストーラを送信するインストーラ送信手段を備え、上記第２コンピュータは同インストーラを受信するインストール受信手段を備え、上記環境整備手段は環境の整備に際して当該インストーラを実行して上記プログラムをインストールすることを特徴とする上記請求項１に記載の実行環境整備システム。
【請求項３】
上記環境情報で示される情報は、第２のコンピュータにおける制御処理によって変更可能な環境であることを特徴とする上記請求項１または請求項２のいずれかに記載の実行環境整備システム。
【請求項４】
上記環境情報は上記プログラムと共存できないプログラムを示す情報を含み、上記環境整備手段はこの情報に示されるプログラムをアンインストールすることを特徴とする上記請求項１〜請求項３のいずれかに記載の実行環境整備システム。
【請求項５】
上記環境情報は上記プログラムのバージョンを示す情報を含み、上記環境整備手段は当該バージョン以降のプログラムが第２のコンピュータにインストール済みであるか否かを判別し、インストール済みでないときに上記プログラムをインストールすることを特徴とする上記請求項１〜請求項４のいずれかに記載の実行環境整備システム。
【請求項６】
上記環境情報は上記プログラムのバージョンアップの可否を示す情報を含み、上記環境整備手段はバージョンアップが許可されているときに上記インストールを実行することを特徴とする上記請求項５に記載の実行環境整備システム。
【請求項７】
所定の記憶媒体に格納されたデータを利用してネットワーク接続されたコンピュータにプログラムをインストールするにあたり、このコンピュータにおけるプログラムの実行環境を整備させる環境整備指示装置であって、
プログラムを実行する環境を特定するための環境情報を上記ネットワーク接続されたコンピュータに送信する環境情報送信手段を備えることを特徴とする環境整備指示装置。
【請求項８】
ネットワーク接続されたコンピュータの記憶媒体に格納されたデータを利用してプログラムをインストールするにあたり、このプログラムの実行環境を整備する実行環境整備装置であって、
プログラムを実行する環境を特定するための環境情報を上記コンピュータから受信する環境情報受信手段と、
同受信した環境情報に基づいて上記プログラムを実行するための環境を整備する環境整備手段とを備えることを特徴とする実行環境整備装置。
【請求項９】
第１のコンピュータに格納されたデータを利用して第２のコンピュータにプログラムをインストールするにあたりプログラムの実行環境を整備する実行環境整備方法であって、
上記第１のコンピュータは、
プログラムを実行する環境を特定するための環境情報を送信する環境情報送信工程を備え、
上記第２のコンピュータは、
上記環境情報を受信する環境情報受信工程と、
同受信した環境情報に基づいて上記プログラムを実行するための環境を整備する環境整備工程とを備えることを特徴とする実行環境整備方法。
【請求項１０】
第１のコンピュータに格納されたデータを利用して第２のコンピュータにプログラムをインストールするにあたりプログラムの実行環境を整備する実行環境整備プログラムであって、
プログラムを実行する環境を特定するための環境情報を送信する環境情報送信機能を上記第１のコンピュータに実現させ、
上記環境情報を受信する環境情報受信機能と、
同受信した環境情報に基づいて上記プログラムを実行するための環境を整備する環境整備機能とを上記第２のコンピュータに実現させることを特徴とする実行環境整備プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は実行環境整備システム、環境整備指示装置、実行環境整備装置、実行環境整備方法および実行環境整備プログラムに関する。
【背景技術】
【０００２】
ネットワークに接続された多数のコンピュータに対して同じ用途のプログラム（例えば、同じプリンタを制御するためのプログラム）をインストールする技術としてプル型あるいはプッシュ型のインストールが知られている（例えば、特許文献１参照。）。この技術においては、プログラムをインストールするコンピュータ（配布先）で当該コンピュータのハードウェア環境およびソフトウェア環境に関する情報を収集し、サーバコンピュータ（配布元）にその収集情報を通知する。サーバコンピュータでは、通知された情報に基づいてソフトウェアの使用条件がプログラムをインストールするコンピュータの環境に適合するか否かを判定する。
【特許文献１】特開平１０−３０１７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術においては、プログラムをインストールするコンピュータの動作環境により、プログラムを配布する処理を自動で実施することが困難になる場合があった。すなわち、プログラムをインストールするコンピュータのオペレーティングシステム（ＯＳ）が当該プログラムを実行できないバージョンや種類であったり、このコンピュータにインストール対象のプログラムと共存できないプログラムがインストール済みである場合などには、インストールを行ったとしても実際にはそのプログラムを実行することができない。上記特許文献１には、配布元で配布ソフトウェアの適合性をチェックする技術が開示されているが、適合性に問題がある場合は配布先に理由を通知する（特許文献１、００４０段落）のみであり、この構成では、上述のような場合にインストールの自動化が実現されない。
本発明は、上記課題にかんがみてなされたもので、インストール対象のプログラムを実行可能な環境を整備することが可能な実行環境整備システム、環境整備指示装置、実行環境整備装置、実行環境整備方法および実行環境整備プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、第１のコンピュータから第２のコンピュータにプログラムを実行する環境を特定するための環境情報を送信し、第２のコンピュータにおいて、この環境情報に基づいて上記プログラムを実行するための環境を整備する。すなわち、インストール対象のプログラムを実行するための環境は予め環境情報で特定されるので、第２のコンピュータではこの環境情報を参照することによって自己の環境を容易に整備することができ、インストール対象のプログラムを確実に動作させることが可能になる。
【０００５】
また、第２のコンピュータにおいては、環境情報に基づいて自己の環境を整備することができるので、第２のコンピュータにおいて人為的に環境を整備する作業は不要である。従って、プログラムをインストールするための環境を自動で整備することができる。この自動化は、プログラムをインストールする対象となる第２のコンピュータが多数である場合に特に有用である。すなわち、第２のコンピュータが多数存在した場合、プログラムを実行する環境が整備されていない複数のコンピュータで人為的に環境整備作業を行うのは非常に煩雑であり、労力も必要となる。
【０００６】
しかし、本発明によれば、第１のコンピュータから環境情報を送信するのみで第２のコンピュータが自己の環境を整備するので、第２のコンピュータにおいて人為的に環境整備を行う必要はなく、非常に容易に環境整備を行うことが可能である。また、第１のコンピュータにおいて第２のコンピュータにおける環境がプログラムに適合しているか否かを多数のコンピュータについて判断すると処理の負担が大きくなるが、本発明によれば第１のコンピュータにおいて適合性を判断する必要がなく、処理負担は非常に小さい。むろん、第２のコンピュータにおいては環境情報に基づいて処理を行うが、この処理は各コンピュータにおいてなされるので、多数のコンピュータにおいて環境整備を行うとしても、各コンピュータにおける処理負担が過大になることはない。さらに、第２のコンピュータから第１のコンピュータに対して動作環境を示す情報を送信することなく環境を整備することができるので、無用な情報の流出を抑えることができる。
【０００７】
以上のように、第２のコンピュータにてプログラムを実行可能な環境を整備した後には、そのプログラムをインストールするのが好ましい。例えば、第１のコンピュータから上記プログラムのインストーラを送信し、第２のコンピュータにて当該インストーラを受信するとともにインストーラを実行する。この構成においては、第２のコンピュータにて環境整備を実行した後、その実行結果（環境整備が成功したか否か）を第１のコンピュータに返信し、環境整備が成功した場合にインストーラを送信する構成を採用するのが好ましい。以上の結果、プログラムのインストールまでの処理を自動で完了することが可能になる。むろん、この構成においても、第２のコンピュータの台数が増えるほど自動化による労力低減効果が大きくなる。
【０００８】
インストーラはプログラムの実行に必要な環境を整備するプログラムであればよく、種々の構成を採用可能である。例えば、プログラムやデータの保存位置を示すフォルダやディレクトリを作成し、プログラム自体を適切な保存位置に保存し、プログラムの実行に必要なデータを適切な保存位置に保存し、環境設定ファイル（レジストリやリソースフォーク）の書き換えをする処理の何れかあるいは組み合わせを実施するプログラムをインストーラとして採用可能である。むろん、インストールに際して把握すべき情報を記述したファイル（infファイル）等をインストーラに含む構成であっても良い。また、他にも、圧縮されたデータを解凍する処理等、種々の処理を含む。
【０００９】
また、プログラムのインストールに際してそのデータの保存場所が限定されたり、プログラムの実行に他のデータを必要とされることがなく、環境設定ファイルの書き換え等も必要にない場合、すなわち、単に実行形式のファイルを何らかの場所にコピーするのみでインストールが完了する場合もある。このような場合、インストーラでは実行形式のファイルをコピーする処理を実施すればよい。
【００１０】
尚、第２のコンピュータにおいてプログラムのインストールを実行するのは、環境整備手段による環境整備と同時であっても良いし、環境整備が完了した後であっても良い。例えば、インストーラによって不要なプログラムを削除、上書き等する場合は、このインストーラによる処理が環境整備をも含むと言えるので、環境整備とインストールとが同時であるといえる。むろん、第２のコンピュータにおいて不要なデータ等を削除し、環境整備を完了してからインストーラを実行する構成も採用可能である。
【００１１】
本発明において、第１のコンピュータと第２のコンピュータとは互いにデータを送受信できるようにネットワーク接続されるが、第１のコンピュータは少なくとも一つ存在すればよい。第２のコンピュータが一台であっても本発明は機能するが、上述のように、第２のコンピュータに相当するコンピュータがネットワーク上に複数台接続されている状況が本発明の適用対象として好ましい。
【００１２】
第１のコンピュータは、環境情報送信手段を構成可能なコンピュータであればよく、汎用プロセッサを搭載してプログラムを実行する汎用コンピュータであっても良いし、環境情報送信手段を実行するプロセッサを搭載した専用コンピュータであっても良い。むろん、他の機能を実現するとともに環境情報送信手段を実現するコンピュータであっても良い。例えば、携帯電話やデジタルカメラ等が備えるコンピュータであっても良いし、プリンタやスキャナ等の周辺機器が備えるコンピュータであっても良い。後者であれば、周辺機器に格納されたドライバを第２のコンピュータにインストールする場合に環境を整備する構成にすることも可能である。
【００１３】
第２のコンピュータも第１のコンピュータと同様であり、第２のコンピュータにおける各手段を構成する汎用コンピュータや専用コンピュータ等が第２のコンピュータとなり得る。また、携帯電話やデジタルカメラ等の機器や、プリンタやスキャナ等の周辺機器が備えるコンピュータを第２のコンピュータとし、これらの機器が必要とするプログラムをインストール際の環境を整備するように構成しても良い。
【００１４】
尚、上記環境情報はプログラムを実行する環境を特定することにより第２のコンピュータで整備すべき環境を示すことができればよく、環境整備手段においてはこの環境情報に基づいて自己の環境を整備することができればよい。従って、第２のコンピュータにおいてその環境を取得し、この環境と環境情報で特定される環境とが異なっている場合に、環境情報で示される環境となるように環境を変更すればよい。
【００１５】
第２のコンピュータにおける環境はコンピュータが動作する際の環境であり、第２のコンピュータにおけるハードウェア環境とソフトウェア環境とのいずれかまたは双方がここでいう環境に相当する。但し、本発明においては、第２のコンピュータにおける環境を自動で整備する構成を採用しているので、ここでいう環境は第２のコンピュータにおける制御処理によって変更可能な環境である。
【００１６】
例えば、ハードウェア環境としては、ハードディスクドライブの空き容量が挙げられる。第２のコンピュータにおいてハードディスクドライブの空き容量が不十分であれば、不要なデータの削除処理を実行するなどしてハードウェア環境を整備することができる。ソフトウェア環境は、インストール済みのプログラムやデータの有無、そのバージョン等によって定義することができる。
【００１７】
尚、環境情報としては他にも種々の情報を採用可能である。例えば、上記第２のコンピュータを動作させるＯＳの種類と上記第２のコンピュータが搭載するＲＡＭの全容量とのいずれかまたは双方を含む構成を採用しても良い。ＯＳの種類を特定する情報によれば、第２のコンピュータのＯＳがプログラムに対応しているか否かを判断することができる。ＯＳの種類が異なる場合、一般にはＯＳの種類を自動で変更することは困難であるが、複数のＯＳを実行可能なコンピュータにおいてＯＳの種類を切り換える処理を実施することで環境を整備することも可能である。
【００１８】
第２のコンピュータが搭載するＲＡＭの全容量を人為的な作業によらずに変更することは一般的に困難であるが、ＲＡＭの全容量が環境情報に示される容量より少ない場合に、仮想メモリの容量を増加させて環境を整備することにしても良い。むろん、以上総ての情報が制御処理によって変更可能な環境に含まれることが必須というわけではなく、ある種の環境については環境を整備することが不可能であるとしてもよい。この場合であっても、コンピュータにおける制御処理によって変更可能な環境のいくつかが整備できれば、多数のコンピュータにおいて環境整備を行う際の労力を低減することができる。
【００１９】
以上のように、環境情報に基づいて環境を整備する発明の好ましい構成例として、不要なプログラムをアンインストールする構成を採用可能である。すなわち、第２のコンピュータにおける環境整備手段によって、あるプログラム（以下実行対象プログラムと呼ぶ）を実行するための環境を整備するにあたり、上記実行対象プログラムと共存できないプログラムが存在する場合には、当該共存できないプログラムをアンインストールする。このためには、環境情報に実行対象プログラムと共存できないプログラムを示す情報を含めればよい。
【００２０】
第２のコンピュータにおいてアンインストール対象を特定するための構成としては、種々の構成を採用可能である。例えば、環境情報に実行対象プログラムと共存できないプログラムのアンインストーラを特定するための情報を含め、環境整備手段においてこの情報に基づいてそのプログラムのアンインストーラを検出して実行する構成を採用可能である。
【００２１】
アンインストーラを特定するための情報としては、実行対象プログラムと共存できないプログラムの名称や保存場所を示すデータ（パス名等）等、種々の情報を採用可能である。また、実行対象プログラムと共存できないプログラムが周辺機器のドライバプログラムである場合には、その周辺機器を特定するための情報（周辺機器の名称等）を環境情報に含める構成を採用可能である。この情報によれば、ＯＳの機能（ＡＰＩ等）によってそのドライバプログラムを特定することが可能であるし、周辺機器の名称等からドライバプログラムのアンインストーラを特定することも可能である。
【００２２】
さらに、環境情報に基づいて環境を整備する発明の好ましい構成例として、プログラムのバージョンアップを実行する構成を採用可能である。すなわち、第２のコンピュータにおける環境整備手段によって、あるプログラムを実行するための環境を整備するにあたり、環境情報にそのプログラムのバージョンを示す情報を記述する。この情報によれば、そのバージョン以降のプログラムが第２のコンピュータにインストール済みであるか否かを判別することができるので、環境情報に示されたバージョン以降のプログラムが第２のコンピュータにインストール済みでない場合にそのプログラムをインストールすることができる。
【００２３】
インストールは、上述のように、第１のコンピュータから上記プログラムのインストーラを送信し、第２のコンピュータにて当該インストーラを受信するとともにインストーラを実行する構成等を採用すればよい。尚、以上の構成を採用することにより、環境情報で特定されるバージョンより古いバージョンのプログラムがインストールされている場合やいずれのバージョンもインストールされていない場合に、環境情報に示されたバージョンのプログラムをインストールすることができる。従って、当該環境情報に示されたバージョンのプログラムを実行する環境を整備することができる。また、環境整備に伴ってバージョンの比較を行うことにより、環境情報に古いバージョンを記述した場合であってもバージョンを古くしてしまうことを防止することができる。
【００２４】
さらに、環境情報に上記プログラムのバージョンアップの可否を示す情報を含め、バージョンアップが許可されているときに上記インストールを実行することにより、第２のコンピュータにおけるバージョンアップ処理の実施許可と禁止を行うことができる。この構成によれば、環境情報の作成者がバージョンアップの実施可否を決定することができる。また、古いバージョンのプログラムがインストール済みである場合に、これを削除することなく新しいバージョンのプログラムをインストールするとプログラムの動作に不具合が生じる場合があり、バージョンアップの可否を示す情報によってインストールを禁止すれば、この不具合を未然に防ぐことが可能になる。むろん、不具合が生じる場合であってもインストールを許可し、かつ上述のように既存のプログラムをアンインストールして環境を整備し、その後に新しいバージョンのプログラムをインストールしても良い。
【００２５】
ところで、上述した実行環境整備システムは、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。むろん、第１のコンピュータと第２のコンピュータとが協働してインストールを実施するが、本発明にかかる製品の提供態様や利用態様としては各種の態様を採用可能である。例えば、第１のコンピュータを環境整備指示装置として提供、利用することができるし、第２のコンピュータを実行環境整備装置として提供、利用することが可能である。また、上述したインストールの手法は、方法としても適用可能であり、請求項９にかかる発明においても、基本的には同様の作用となる。
【００２６】
本発明を実施しようとする際に、実行環境整備システムにて所定のプログラムを実行させる場合もある。そこで、そのプログラムとしても本発明を実施可能であり、請求項１０にかかる発明においても、基本的には同様の作用となる。むろん、請求項２〜請求項６に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階についても同等である。
【発明を実施するための最良の形態】
【００２７】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）実行環境整備システムの構成：
（２）環境情報の構成：
（３）インストール処理：
（３−１）環境整備処理：
（４）他の実施形態：
【００２８】
（１）実行環境整備システムの構成：
図１は、本発明の一実施形態にかかる実行環境整備システムの概略構成を示している。本実施形態においては、上記第１のコンピュータに相当する管理者コンピュータ１０と上記第２のコンピュータに相当するユーザコンピュータ２０ａ〜２０ｄとがネットワークを介して接続されている。管理者コンピュータ１０とユーザコンピュータ２０ａ〜２０ｄとは、ネットワーク上に少なくとも一台存在すれば良いが、ユーザコンピュータ２０ａ〜２０ｄがネットワーク上に複数台存在する状況で本発明を実施するのが好ましい。むろん、ユーザコンピュータ２０ａ〜２０ｄの台数は４台に限定されず、何台でも良い。
【００２９】
図１においては、管理者コンピュータ１０に対してプリンタ３０ａ，ネットワークに対してプリンタ３０ｂ，３０ｃが接続されており、これらの何れかを制御するためのプリンタドライバや各種のアプリケーションプログラムをユーザコンピュータ２０ａ〜２０ｄにインストールする。このとき、インストール前に各ユーザコンピュータ２０ａ〜２０ｄの環境を整備する。図１には示していないが、むろん、ユーザコンピュータ２０ａ〜２０ｄの何れかに接続されたプリンタを制御するためのプリンタドライバをインストールするための環境を整備することも可能である。
【００３０】
環境整備に際しては、管理者コンピュータ１０から環境情報をユーザコンピュータ２０ａ〜２０ｄに送信し、ユーザコンピュータ２０ａ〜２０ｄがこの環境情報に基づいて環境を整備する。このとき、管理者コンピュータ１０では、任意のユーザコンピュータ２０ａ〜２０ｄを指定して環境情報を送信するようになっており、指定されたユーザコンピュータ２０ａ〜２０ｄにて環境整備が実行される。本実施形態においては、このような環境整備の後、管理者コンピュータ１０から実行対象プログラムのインストーラを送信し、ユーザコンピュータ２０ａ〜２０ｄのそれぞれでインストーラを実行する。すなわち、プッシュインストールを行う。尚、実行対象プログラムのインストーラは予めハードディスクドライブ１４に記録されている（プリンタドライバインストーラ１４ｂ，アプリケーションインストーラ１４ｃ）。
【００３１】
ユーザコンピュータ２０ａ〜２０ｄは、各種のＯＳ（Ｗｉｎｄｏｗｓ（登録商標），Ｍａｃｉｎｔｏｓｈ（登録商標），ＵＮＩＸ（登録商標），Ｌｉｎｕｘ（登録商標）等）によって処理を実施する。むろん、ＯＳのバージョンも限定されない。また、各ユーザコンピュータ２０ａ〜２０ｄでは、それぞれのコンピュータのユーザが各自で必要なプログラムをインストールするなど、所望の環境を構築可能である。従って、個々のコンピュータ同士で環境が異なり得る。しかし、各ユーザコンピュータ２０ａ〜２０ｄにて実行されるプログラムが実行可能であるか否かは、ＯＳの種類などコンピュータの環境に依存する。そこで、本実施形態においては、プッシュインストールの実行対象となっているプログラムを実行するための環境を環境情報に明示することとし、次に示す構成によって当該環境情報に示される環境を整備する。
【００３２】
図２は、上記管理者コンピュータ１０の構成例を示す図である。同図において、管理者コンピュータ１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１はシステムバスを介して管理者コンピュータ１０全体の制御を行う。同システムバスには、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ１４や通信Ｉ／Ｆ１５，図示しないＣＲＴＩ／Ｆや入力機器Ｉ／Ｆ，プリンタＩ／Ｆ等が接続されている。
【００３３】
ハードディスクドライブ１４には、図示しないオペレーティングシステム（ＯＳ）、環境情報をユーザコンピュータ２０ａ〜２０ｄに送信するための配信プログラム１６等が格納されており、これらのソフトウェアは、実行時にＣＰＵ１１によって適宜ＲＡＭ１３に転送される。ＣＰＵ１１は、ＲＡＭ１３を一時的なワークエリアとして適宜アクセスしながらＯＳの制御下で種々のプログラムを実行する。
【００３４】
入力機器Ｉ／Ｆには、キーボード１７ａやマウス１７ｂが操作用入力機器として接続される。また、ＣＲＴＩ／Ｆには、表示用のディスプレイ１８ａが接続されている。従って、管理者コンピュータ１０では、キーボード１７ａやマウス１７ｂによる操作内容を受け付け、また、ディスプレイ１８ａに各種情報を表示することが可能である。
【００３５】
ＣＰＵ１１は、上記配信プログラム１６を実行することによってユーザコンピュータ２０ａ〜２０ｄにそれぞれの環境を整備させ、プログラムをインストールさせる。配信プログラム１６は、環境情報編集部１６ａとユーザコンピュータ選択部１６ｂとファイル送信部１６ｃと実行結果受信部１６ｄとを備えている。本実施形態における環境情報は、プリンタを制御するためのドライバプログラムとアプリケーションプログラムとを指定し、これらのプログラムを実行するために必要な環境を特定する情報であり、詳細は後述する。
【００３６】
この環境情報は、環境情報編集部１６ａによって作成するようになっており、所定のＵＩを構築して環境情報の入力を受け付ける。すなわち、環境情報編集部１６ａは、ディスプレイ１８ａに適宜ＵＩを表示させ、キーボード１７ａやマウス１７ｂによる入力を受け付けることによってインストールするプリンタドライバの制御対象となるプリンタや実行対象プログラム等を指定するようになっている。これらの環境情報は、環境情報１４ａとしてハードディスクドライブ１４に保存される。
【００３７】
ユーザコンピュータ選択部１６ｂは、ディスプレイ１８ａに適宜ＵＩを表示させ、キーボード１７ａやマウス１７ｂによる入力を受け付けることによってユーザコンピュータの選択を受け付ける。ファイル送信部１６ｃは、通信Ｉ／Ｆ１５を介して環境情報をユーザコンピュータ２０ａ〜２０ｄに送信する。このとき、上記ユーザコンピュータ選択部１６ｂで選択されたユーザコンピュータが環境情報の送信対象となる。
【００３８】
実行結果受信部１６ｄは、通信Ｉ／Ｆ１５を介して各ユーザコンピュータ２０ａ〜２０ｄから環境整備の実行結果を示すデータを受信する。すなわち、ユーザコンピュータ２０ａ〜２０ｄは、環境整備処理を実行した後、その成功あるいは失敗を示すデータを管理者コンピュータ１０に送信するようになっており、このデータによって管理者コンピュータ１０の利用者に環境整備の実行結果を通知するようになっている。
【００３９】
尚、環境整備の失敗には様々な原因があるので、実行結果を示すデータにはその原因を示すデータを含めるのが好ましい。この構成によれば、管理者コンピュータ１０において環境整備が失敗した場合の原因を詳細に特定することができ、容易にその対策を行うことができる。また、環境整備に際してユーザコンピュータ２０ａ〜２０ｄから管理者コンピュータ１０に送信されるデータは当該実行結果を示すデータのみであり、ユーザコンピュータ２０ａ〜２０ｄの環境を示すデータは送信されない。従って、ユーザコンピュータ２０ａ〜２０ｄにおける環境をその外部に漏洩することがない。
【００４０】
実行結果受信部１６ｄによって実行結果を示すデータを受信すると、管理者コンピュータ１０のファイル送信部１６ｃは、このデータを参照することによって環境整備が成功したか否かを判別する。そして、ファイル送信部１６ｃは、環境整備が成功したユーザコンピュータ２０ａ〜２０ｄに対して実行対象プログラムのインストーラを送信する。この結果、各ユーザコンピュータ２０ａ〜２０ｄにて適正な環境下で実行対象プログラムをインストールし、確実に実行することが可能になる。
【００４１】
図３は、上記ユーザコンピュータ２０ａ〜２０ｄの構成例を示す図である。本実施形態において、ユーザコンピュータ２０ａ〜２０ｄのハードウェア構成は、共通でも良く、異なっても良いが、少なくとも後述する受信プログラムを実行可能であり、実行対象プログラムを実行することが可能な構成を備えている。これ以後は、ユーザコンピュータ２０ａ〜２０ｄの一例としてユーザコンピュータ２０ａの構成を説明する。
【００４２】
同図において、ユーザコンピュータ２０ａは演算処理の中枢をなすＣＰＵ２１を備えており、このＣＰＵ２１はシステムバスを介してユーザコンピュータ２０ａ全体の制御を行う。同システムバスには、ＲＯＭ２２、ＲＡＭ２３、ハードディスクドライブ２４や通信Ｉ／Ｆ２５，図示しないＣＲＴＩ／Ｆや入力機器Ｉ／Ｆ，プリンタＩ／Ｆ等が接続されている。
【００４３】
ハードディスクドライブ２４には、図示しないオペレーティングシステム（ＯＳ）、環境情報を管理者コンピュータ１０から受信するための受信プログラム２６等が格納されており、これらのソフトウェアは、実行時にＣＰＵ２１によって適宜ＲＡＭ２３に転送される。ＣＰＵ２１は、ＲＡＭ２３を一時的なワークエリアとして適宜アクセスしながらＯＳの制御下で種々のプログラムを実行する。上述のようにこのＯＳの種類やバージョンは特に限定されず、実行対象プログラムを実行可能であればよい。
【００４４】
入力機器Ｉ／Ｆには、キーボード２７ａやマウス２７ｂが操作用入力機器として接続される。また、ＣＲＴＩ／Ｆには、表示用のディスプレイ２８ａが接続されている。従って、ユーザコンピュータ２０ａでは、キーボード２７ａやマウス２７ｂによる操作内容を受け付け、また、ディスプレイ２８ａに各種情報を表示することが可能である。
【００４５】
ＣＰＵ２１は、上記受信プログラム２６を実行することによってプログラムをインストールする。受信プログラム２６は、ファイル受信部２６ａと環境整備部２６ｂと実行結果送信部２６ｃとを備えている。ファイル受信部２６ａは、通信Ｉ／Ｆ２５を介して受信した環境情報やインストーラをハードディスクドライブ２４に保存する（環境情報２４ａ，プリンタドライバインストーラ２４ｂ，アプリケーションインストーラ２４ｃ）。
【００４６】
環境整備部２６ｂは、環境情報２４ａを参照しながらユーザコンピュータ２０ａにおける環境を整備する。本実施形態においては、実行対象プログラムと共存することによって不具合が生じ得るプログラムをアンインストールする。当該不具合が生じ得るプログラムは、環境情報２４ａによって特定可能であり、詳細は後述する。実行結果送信部２６ｃは、環境整備部２６ｂにおける環境整備の実行結果を示すデータを作成し、通信Ｉ／Ｆ２５を介して管理者コンピュータ１０に送信する。この結果、管理者コンピュータ１０では、各ユーザコンピュータ２０ａ〜２０ｄにおいて適正に環境整備がなされたか否かを把握することができる。
【００４７】
環境整備が成功している場合、管理者コンピュータ１０から実行対象プログラムのインストーラが送信されるので、ファイル受信部２６ａは当該インストーラを取得しハードディスクドライブ２４に保存する。また、インストーラを受信したユーザコンピュータ２０ａ〜２０ｄにおいては、インストーラによってインストールされるプログラムを実行する環境が整備されているので、そのインストーラを実行することによってインストールを完了する。この結果、ユーザコンピュータ２０ａ〜２０ｄにおいて人為的な作業を行うことなく、プログラムを実行するための環境整備とプログラムのインストールを完了することができる。
【００４８】
（２）環境情報の構成：
次に、本実施形態における環境情報の構成を詳述する。図４は環境情報の構成例を示す図である。本実施形態において、環境情報１４ａ（あるいは２４ａ）には、実行対象プログラムを特定するためのデータと当該実行対象プログラムを実行する環境を整備するためのデータとが含まれる。図４において、実行対象プログラムは”インストール対象”として示しており、本実施形態では、プリンタの機種名（プリンタＡ等）によってそのプリンタを制御するためのドライバプログラムを特定する。また、アプリケーションプログラムはその名称（ＡＰＬ２等）によって特定する。
【００４９】
むろん、実行対象プログラムはドライバプログラムとアプリケーションプログラムとのいずれかのみであっても良いし、複数のドライバプログラムおよび複数のアプリケーションプログラムを実行対象プログラムとしても良い。環境情報１４ａは、”インストール対象”として示されたプログラムを実行するための環境を整備するためのデータとして、”ＯＳの種類”，”ＲＡＭ容量”，”ＨＤＤ空容量”，”アンインストール対象”，”バージョンアップの可否”，”既存バージョンのアンインストール要否”を含んでいる。
【００５０】
ＯＳの種類は、実行対象プログラムを実行することができるＯＳの種類（図４ではＯＳ１）を示しており、ここに記述されたＯＳと第２のコンピュータを制御するＯＳとが異なっている場合は、当該第２のコンピュータの環境が未整備である。ＲＡＭ容量は第２のコンピュータが搭載すべきＲＡＭの容量を示しており、ここに記述された容量より少ない容量のＲＡＭが第２のコンピュータに搭載されている場合は、当該第２のコンピュータの環境が未整備である。
【００５１】
ＨＤＤ空容量は、第２のコンピュータにおけるハードディスクドライブにおいて必要とされる空容量を示しており、ここに記述された空容量より少ない空容量である場合は、当該第２のコンピュータの環境が未整備である。アンインストール対象は、インストール対象として示された実行対象プログラムと共存できないプログラムを示しており、ここに記述されたプログラムが第２のコンピュータにインストール済みである場合は、当該第２のコンピュータの環境が未整備である。尚、図４に示す例では、アンインストール対象についてもプリンタの機種名（図４ではプリンタＢ）によってそのプリンタを制御するためのドライバプログラムを特定し、名称（図４ではＡＰＬ１）によってアプリケーションプログラムを特定する。
【００５２】
バージョンアップの可否は、インストール対象として示された実行対象プログラムのバージョンが第２のコンピュータにインストール済みのプログラムのバージョンより後発である場合に、後発バージョンに書き換える処理を許可するか否かを示す情報である。尚、本実施形態においては、バージョンを比較するため、インストール対象として示された実行対象プログラムのバージョンを対応づけるようになっている（図４におけるバージョン２．００等）。むろん、バージョンアップの可否を定義する必要がないのであれば、バージョンの対応づけは不要である（図４におけるバージョン−等）。また、上記インストーラ（プリンタドライバインストーラ２４ｂ、アプリケーションインストーラ２４ｃ）は、各プログラムのインストーラであるとともに上述のようにして対応づけられたバージョンのインストーラである。
【００５３】
既存バージョンのアンインストール要否は、第２のコンピュータにてインストール済みのプログラムをアンインストールすべきか否かを示す情報である。すなわち、既存バージョンのプログラムに関するデータが第２のコンピュータに残ってしまったときに、後発バージョンのプログラム実行に不具合が生じる場合がある。従って、この場合には第２のコンピュータにおける環境は未整備であり、上記既存バージョンのアンインストール要否を示す情報によって第２のコンピュータにて実行対象プログラムを実行する環境を特定しているといえる。
【００５４】
（３）インストール処理：
次に、上述の構成および環境情報を利用してインストールを実行する際の処理およびインストールの過程で行う環境整備処理を説明する。図５は上記管理者コンピュータ１０の配信プログラム１６が実施する処理を示すフローチャートであり、図６は上記ユーザコンピュータ２０ａ〜２０ｄの受信プログラム２６が実施する処理を示すフローチャートである。管理者コンピュータ１０によって配信プログラム１６が実行されると、環境情報編集部１６ａは図示しないＵＩをディスプレイ１８ａ上に表示し、キーボード１７ａやマウス１７ｂからの入力操作を受け付ける。
【００５５】
具体的には、実行対象プログラムを特定するために、プリンタとアプリケーションプログラムとを上記ＵＩによって選択する（ステップＳ１１０）。ここでは、プリンタを特定することによって実行対象プログラムとなるドライバプログラムを特定することができれば良く、ネットワーク上のプリンタあるいはネットワーク上のコンピュータに接続されたプリンタを上記ＵＩ上で選択肢として表示するなどの構成を採用すればよい。また、アプリケーションプログラムは、インストール可能なアプリケーションプログラムを上記ＵＩ上で選択肢として表示するなどの構成を採用すればよい。むろん、上記実行対象プログラムは、プリンタドライバインストーラ１４ｂあるいはアプリケーションインストーラ１４ｃに含まれるプログラムのいずれかから選択される。
【００５６】
続いて、上記実行対象プログラムに関する環境情報を作成する（ステップＳ１１５）。すなわち、上記図４に示す環境情報１４ａのうち、”インストール対象”に示す情報以外の情報を入力するＵＩをディスプレイ１８ａに表示し、キーボード１７ａやマウス１７ｂからの入力操作を受け付ける。各情報が入力されると、入力された情報と上記実行対象プログラムを示す情報とによって環境情報１４ａを構成し、ハードディスクドライブ１４に記録する。むろん、環境情報の決定に際しては、管理者コンピュータ１０の利用者が情報を入力する構成が必須ではなく、予め実行対象プログラムに対応づけて環境情報を作成しておいても良い。
【００５７】
環境情報が作成されると、ユーザコンピュータ選択部１６ｂはユーザコンピュータの選択を受け付ける（ステップＳ１２０）。すなわち、ユーザコンピュータを選択するための図示しないＵＩをディスプレイ１８ａ上に表示し、キーボード１７ａやマウス１７ｂからの入力操作を受け付ける。ここでは、ネットワーク接続されているユーザコンピュータ２０ａ〜２０ｄから実行対象プログラムをインストールする対象を選択することができれば良く、各ユーザコンピュータ２０ａ〜２０ｄを上記ＵＩ上で選択肢として表示するなどの構成を採用すればよい。
【００５８】
インストール対象のユーザコンピュータが特定されると、その情報はファイル送信部１６ｃに受け渡され、同ファイル送信部１６ｃは当該ユーザコンピュータに対して環境情報を送信する（ステップＳ１２５）。本実施形態においては、この処理が上記環境情報送信手段に相当する。環境情報が送信されると、送信対象のユーザコンピュータにおいては環境整備処理を実施し、その実行結果を示すデータを返信する。実行結果受信部１６ｄは、当該実行結果を示すデータを受信し（ステップＳ１３０）、ディスプレイ１８ａ上に当該実行結果を表示する。管理者コンピュータ１０の利用者は、この表示内容によって環境整備処理の結果を知ることができるので、環境整備が失敗している場合には、管理者コンピュータ１０から再度インストールを試みたり、ユーザコンピュータを操作して対策を行うなど、必要な処理を行うことができる。
【００５９】
さらに、ファイル送信部１６ｃは、上記実行結果を示すデータに基づいて環境整備が成功しているか否かを判別し（ステップＳ１３５）、環境整備が成功していると判別されたときにはプッシュインストールを実施する（ステップＳ１４０）。すなわち、ファイル送信部１６ｃは環境情報１４ａを参照して実行対象プログラムを特定し、そのインストーラをプリンタドライバインストーラ１４ｂとアプリケーションインストーラ１４ｃとから抽出し、環境整備が成功したユーザコンピュータ２０ａ〜２０ｄに送信する。この結果、ユーザコンピュータ２０ａ〜２０ｄにおいて実行対象プログラムを自動でインストールすることができる。ユーザコンピュータ２０ａ〜２０ｄにおいては環境整備が完了しているので、インストールしたプログラムは確実に動作する。
【００６０】
一方、各ユーザコンピュータ２０ａ〜２０ｄにおいては、受信プログラム２６が実行されており、上記ステップＳ１３０にて環境情報が送信されると、送信先として指定されている各ユーザコンピュータ２０ａ〜２０ｄにおいて図６に示す処理を実施する。当該受信プログラム２６においては、ファイル受信部２６ａが環境情報を受信したか否かを監視しており（ステップＳ２１０）、環境情報を受信したと判別されるまでステップＳ２１０の監視状態で待機している。ステップＳ２１０にて環境情報を受信したと判別されたときには、ファイル受信部２６ａが環境情報をハードディスクドライブ２４に保存する。この結果、ハードディスクドライブ２４には、環境情報２４ａが記録された状態となる。従って、本実施形態においてはステップＳ２１０の処理が上記環境情報受信手段に相当する。
【００６１】
環境整備部２６ｂは環境情報２４ａを参照し、ユーザコンピュータ２０ａ〜２０ｄにおける環境が同環境情報２４ａに記述されている環境に合致するか否かを判別し、また、同環境情報２４ａに記述されている環境を整備する（ステップＳ２１５）。本実施形態においては、不要なプログラムのアンインストールによってユーザコンピュータ２０ａ〜２０ｄの環境を整備しているが、環境整備処理としてはアンインストールのみに限定されない。
【００６２】
（３−１）環境整備処理：
図７は、このステップＳ２１５における環境整備処理を示すフローチャートである。この処理では、環境情報に記述された情報について順に検証を行っていく。環境整備部２６ｂは、まず、ユーザコンピュータ２０ａ〜２０ｄのＯＳが実行対象プログラムに対応しているＯＳであるか否かを検証する（ステップＳ３１０）。すなわち、各ユーザコンピュータ２０ａ〜２０ｄにおいて実行中のＯＳの種類を取得し、環境情報２４ａに記述されているＯＳの種類と比較する。この結果、両者が一致すれば、ユーザコンピュータ２０ａ〜２０ｄのＯＳが実行対象プログラムに対応していると判定する。両者が一致しなければステップＳ３１５〜Ｓ３６５をスキップし、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。
【００６３】
ステップＳ３１０における比較によって、ユーザコンピュータ２０ａ〜２０ｄのＯＳが実行対象プログラムに対応しているＯＳであると判別されたときには、さらに、必要なＲＡＭ容量であるか否かを判定する（ステップＳ３１５）。すなわち、各ユーザコンピュータ２０ａ〜２０ｄにおいて搭載しているＲＡＭの容量を取得し、環境情報２４ａに記述されているＲＡＭ容量と比較する。この結果、搭載しているＲＡＭ容量の方が大きければ、必要なＲＡＭ容量であると判定する。搭載しているＲＡＭ容量の方が小さければ、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。
【００６４】
ステップＳ３１５における比較によって、必要なＲＡＭ容量であると判別されたときには、さらに、必要なＨＤＤ空容量であるか否かを判定する（ステップＳ３２０）。すなわち、各ユーザコンピュータ２０ａ〜２０ｄにおいて搭載しているＨＤＤの空容量を取得し、環境情報２４ａに記述されているＨＤＤ空容量と比較する。この結果、搭載しているＨＤＤの空容量の方が大きければ、必要なＨＤＤ空容量であると判定する。搭載しているＨＤＤ空容量の方が小さければ、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。
【００６５】
さらに、ユーザコンピュータ２０ａ〜２０ｄに不要なプログラムがインストールされているか否かを判別する（ステップＳ３２５）。すなわち、環境情報２４ａに記述されているアンインストール対象を取得し、アンインストール対象として特定されているプログラムがユーザコンピュータ２０ａ〜２０ｄにインストール済みであるか否かを判別する。本実施形態において、環境情報２４ａはプリンタの機種名とアプリケーションプログラムの名称とによってアンインストール対象を特定しているので、ステップＳ３２５では、これらの情報に基づいてプログラムがインストール済みであるか否かを判定する。
【００６６】
より具体的には、本実施形態において、各プログラムのアンインストーラはそのプログラムのインストール時に予めユーザコンピュータ２０ａ〜２０ｄに記録されており、所定の検索キーでそのアンインストーラを特定できるようになっている。すなわち、プリンタの機種名やアプリケーションプログラムの名称をキーにしてアンインストーラを示す情報を記載したデータ（環境設定ファイル等）を検索すれば、アンインストーラを把握することができる。
【００６７】
むろん、アンインストーラは複数のプリンタに関するユーティリティであっても良く、この場合は、上記プリンタの機種名を当該ユーティリティに通知しながらアンインストールを実行することになる。また、アプリケーションプログラムを指定するため、その名称以外にＧＵＩＤ（Globally Unique IDentifier）を利用しても良いし、保存位置（パス名）等によってアンインストーラを特定しても良い。
【００６８】
いずれにしても、アンインストール対象に示された情報をキーにしてアンインストーラを検索し、発見された場合にはアンインストール対象として特定されているプログラムが  ユーザコンピュータ２０ａ〜２０ｄにインストール済みである。そこで、ステップＳ３２５では、インストール済みである旨の判別を行い、アンインストールを実行する（ステップＳ３３０）。すなわち、上記発見されたアンインストーラを実行する。
【００６９】
アンインストーラはインストール済みのプログラムおよび関連するデータを削除することができれば良い。例えば、プログラムの削除やその保存位置を示すフォルダやディレクトリの削除、プログラムの実行に必要であったデータの削除やその保存位置を示すフォルダやディレクトリの削除、環境設定ファイルの書き換えをする処理の何れかあるいは組み合わせを実施するプログラムをアンインストーラとして採用可能である。
【００７０】
アンインストーラによる処理が終了したら、環境整備部２６ｂは、このアンインストールが成功したか否かを判別する（ステップＳ３３５）。例えば、削除対象のファイルの削除等を失敗した場合には、アンインストールが失敗したと判別する。ステップＳ３３５でアンインストールが失敗したと判別されたときには、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。ステップＳ３３５でアンインストールが成功したと判別されたとき、およびステップＳ３２５にて不要なプログラムがインストールされていると判別されないときにはバージョンアップに関する処理を行う。
【００７１】
尚、本実施形態においては、プログラムのバージョンが異なるとしてもプログラムの用途が同じである限り、異なるプログラムとしては分類しない。例えば、プリンタドライバのバージョンが異なっているとしても、プリンタドライバの機能としてはある機種名のプリンタを制御することに変わりないので、異なるプログラムとは考えない。すなわち、古いバージョンであったとしても実行対象プログラムがインストール済みであれば、プログラムが提供する主な機能をユーザコンピュータ２０ａ〜２０ｄにて利用することができ、そのプログラムの主な用途は達成される。一方、バージョンが新しくなれば、バージョンアップに伴う変更を反映させることができる。そこで、バージョンアップをすべきか否かを環境情報に記述することとし、この環境情報に従って、以下の処理を行う。
【００７２】
まず、環境情報２４ａに記述されているインストール対象を取得し、インストール対象として特定されているプログラムがユーザコンピュータ２０ａ〜２０ｄにインストール済みであるか否かを判別する（ステップＳ３４０）。すなわち、本実施形態において、環境情報２４ａはインストール対象としてプリンタの機種名を指定することでそのプリンタドライバを実行対象プログラムとして特定し、また、アプリケーションプログラムの名称によって実行対象プログラムを特定している。
【００７３】
そこで、環境情報２４ａにプリンタの機種名が記述されている場合には、その機種名をキーにしてそのプリンタドライバを検索し、環境情報２４ａにアプリケーションプログラムの名称が記載されている場合にはその名称をキーにしてアプリケーションプログラムを検索する。その結果、プリンタドライバやアプリケーションプログラムが発見された場合には、インストール対象として特定された実行対象プログラムがインストール済みであると判別する。
【００７４】
ステップＳ３４０にて、実行対象プログラムがインストール済みであると判別されないときには、それ以前の処理によって環境整備が完了しており、実行結果を示すデータが環境整備成功を示すように設定する（ステップＳ３７０）。ステップＳ３４０にて、実行対象プログラムがインストール済みであると判別されたときには、必要に応じてインストール済みのプログラムの先行バージョンをアンインストールする。すなわち、インストール対象のプログラムが先行バージョンと比較して大きく変更された場合など、先行バージョンが使用するデータ等が残存すると実行対象プログラムの動作に不具合が生じ得る場合などには先行バージョンをアンインストールする必要がある。
【００７５】
このようなアンインストールを実行すべきか否かは環境情報２４ａに記述されており、まず、上記検索によって発見されたインストール済みの実行対象プログラムのバージョンを確認する。各プログラムのバージョンは、そのプログラムに関連づけられたデータやプログラムデータ等、予め決められた場所に記述されており、そのデータを参照すればよい。インストール済みの実行対象プログラムのバージョンを確認したら、上記環境情報２４ａに記述されているバージョンと比較して、先行バージョンがインストール済みであるか否かを判別する（ステップＳ３４５）。
【００７６】
すなわち、環境情報２４ａに記述されているバージョンの方が後発バージョンである場合には、先行バージョンがインストール済みであると判別する。尚、環境情報２４ａのインストール対象にバージョンが対応づけられていないときには、先行バージョンがインストール済みであるとして処理を進める。ステップＳ３４５にて先行バージョンがインストール済みであると判別されなければ、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。むろん、この場合、環境整備としては失敗であるが、後発バージョンのプログラムがインストール済みであるため、管理者コンピュータ１０によって、再度、環境整備を試みる必要はない。
【００７７】
ステップＳ３４５にて先行バージョンがインストール済みであると判別された場合には、さらにバージョンアップが許可されているか否かを判別する（ステップＳ３５０）。すなわち、環境情報２４ａに記述されたバージョンアップの可否を示す情報を参照する。ステップＳ３５０においてバージョンアップが許可されていると判別されないときには、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。むろん、この場合、環境整備としては失敗であるが、ユーザコンピュータ２０ａ〜２０ｄにおいて先行バージョンのプログラムがインストール済みであって、かつバージョンアップの必要もないため、管理者コンピュータ１０によって、再度、環境整備を試みる必要はない。
【００７８】
ステップＳ３５０においてバージョンアップが許可されていると判別されたときには、既存バージョンのアンインストールが必要であるか否かを判別する（ステップＳ３５５）。すなわち、環境情報２４ａに記述されたバージョンアップの可否を示す情報を参照する。ステップＳ３５５において既存バージョンのアンインストールが必要であると判別されないときには、アンインストールを実施することなく実行対象プログラムのインストールを実行しても良い状況である。より具体的には、実行対象プログラムのインストールによって既存バージョンのプログラムに関するデータを更新すれば、インストール後のプログラムが不具合なく動作する状況である。そこで、実行結果を示すデータが環境整備成功を示すように設定する（ステップＳ３７０）。
【００７９】
ステップＳ３５５において既存バージョンのアンインストールが必要であると判別されたときには、既存バージョンのプログラムをアンインストールする（ステップＳ３６０）。すなわち、インストール対象に示された情報をキーにして既存バージョンのプログラムのアンインストーラを検索し、そのアンインストーラを実行してアンインストールを行う。尚、本実施形態においては、実行対象プログラムの動作に不都合を与え得るプログラムをアンインストールすることが環境整備に該当し、ステップＳ３３０，Ｓ３６０の処理が上記環境整備手段に相当する。
【００８０】
アンインストーラによる処理が終了したら、環境整備部２６ｂは、このアンインストールが成功したか否かを判別する（ステップＳ３６５）。例えば、削除対象のファイルの削除等を失敗した場合には、アンインストールが失敗したと判別する。ステップＳ３３５でアンインストールが失敗したと判別されたときには、実行結果を示すデータが環境整備失敗を示すように設定する（ステップＳ３７５）。ステップＳ３３５でアンインストールが成功したと判別されたときには、実行結果を示すデータが環境整備成功を示すように設定する（ステップＳ３７０）。以上のようにしてステップＳ３７０あるいはＳ３７５を実行した後には、図６に示す処理に復帰する。
【００８１】
図６に示す処理に復帰すると、実行結果送信部２６ｃは、上記ステップＳ３７０あるいはステップＳ３７５にて設定した実行結果を示すデータを管理者コンピュータ１０に送信する（ステップＳ２２０）。この後、環境整備の成功あるいは失敗に応じた処理を実行するため、ファイル受信部２６ａが上記実行結果を示すデータを参照し、環境整備に成功したか否かを判別する（ステップＳ２２５）。ステップＳ２２５にて、環境整備に成功したと判別されない場合、管理者コンピュータ１０からインストーラが送信されることはないので、上記ステップＳ２１０に戻って環境情報を受信するか否かを監視する。
【００８２】
ステップＳ２２５にて、環境整備に成功したと判別された場合には、管理者コンピュータ１０から実行対象プログラムのインストーラが送信されるので、ファイル受信部２６ａは当該インストーラを受信して実行する（ステップＳ２３０）。この結果、実行対象プログラムを実行するための環境が整った状態のユーザコンピュータ２０ａ〜２０ｄに実行対象プログラムをインストールすることができる。
【００８３】
（４）他の実施形態：
上記実施形態は本発明にかかる実行環境整備システム、環境整備指示装置、実行環境整備装置、実行環境整備方法および実行環境整備プログラムを実現する一例であり、むろん他の構成を採用することも可能である。例えば、環境情報や実行結果を示すデータ，インストーラを送信する前に暗号化処理を施し、データを受信するコンピュータにて復号化処理を行う構成を採用しても良い。この構成によれば、ネットワークを介して送信されるデータの内容を非公開にすることができる。
【００８４】
このためには、管理者コンピュータ１０とユーザコンピュータ２０ａ〜２０ｄとにて、暗号化を実施するモジュールと復号化を実施するモジュールとを実行可能に構成する。また暗号化および復号化を実施するための鍵データを両コンピュータの記録媒体に予め格納しておく。データの送信前には鍵データを用いて暗号化処理を行い、データの受信時には鍵データを用いて復号化処理を行えばよい。
【００８５】
さらに、上記実施形態においては、主に周辺機器の制御を行うドライバプログラムおよび周辺機器と協働するユーティリティをインストール対象として説明したが、むろん、インストール対象はこれらのプログラムに限られない。例えば、周辺機器と無関係に動作するプログラムについて環境整備を行い、インストールを実行しても良い。この場合、環境情報１４ａにおいて周辺機器に関する情報は不要である。
【００８６】
さらに、上述のような環境情報の形式は一例であり、他にも種々の形式を採用可能である。例えば、プログラムのバージョンアップに伴ってアンインストールすべきプログラムを上記アンインストール対象にて特定する形式を採用することも可能である。また、本発明では第２のコンピュータにおける環境を整備することができれば良く、環境情報に含めるべき情報も図４に示す情報のみである必要はないし、これらの情報の一部であっても良い。むろん、環境情報はテキストを含むデータであっても良いし、決められた書式で数値を列挙するデータであっても良い。
【００８７】
さらに、環境情報に基づいてユーザコンピュータ２０ａ〜２０ｄの環境をチェックしていく順序は上記図７に示す順序通りである必要はない。例えば、上記ＨＤＤ空容量をチェックする処理をステップＳ３３０，Ｓ３６０以降に行っても良い。この順序であれば、アンインストール後に空になったＨＤＤ容量も含めて有効に空容量を判定することができる。
【００８８】
さらに、上記実施形態においては、ユーザコンピュータ２０ａ〜２０ｄにおいて環境整備をした後に、管理者コンピュータ１０がアンインストーラの送信対象を特定していたが、環境整備が成功したユーザコンピュータ２０ａ〜２０ｄにおいてインストーラの送信を要求するプル型のインストールを行っても良い。
【００８９】
さらに、上記実施形態においては、環境整備として不要なプログラムのアンインストールを行っていたが、むろん、他の要素について環境整備を行っても良い。例えば、上記環境情報に示すＯＳの種類によって環境整備を行っても良い。すなわち、ユーザコンピュータ２０ａ〜２０ｄにおいて複数のＯＳを実行可能である場合であって、上記図７におけるステップＳ３１０にてユーザコンピュータ２０ａ〜２０ｄのＯＳが環境情報に示すＯＳと一致しないと判別されたとき、環境情報が示すＯＳを実行するようにユーザコンピュータ２０ａ〜２０ｄを再起動する処理を実行する。
【００９０】
また、上記環境情報に示すＲＡＭ容量によって環境整備を行っても良い。例えば、上記図７におけるステップＳ３１５にて必要なＲＡＭ容量であると判別されないときに、仮想メモリとして使用するＨＤＤの容量を大きくすることによって環境を整備する。さらに、上記環境情報に示すＨＤＤ空容量によって環境整備を行っても良い。例えば、上記図７におけるステップＳ３２０にて必要なＨＤＤ空容量であると判別されないときに、ＨＤＤ内に記録されている余分なデータ（テンポラリデータ等）を削除することによって環境を整備する。以上の構成によれば、様々な環境を自動で整備することが可能である。
【図面の簡単な説明】
【００９１】
【図１】実行環境整備システムの概略構成図である。
【図２】管理者コンピュータの構成図である。
【図３】ユーザコンピュータの構成図である。
【図４】環境情報の構成図である。
【図５】配信プログラムが実施する処理のフローチャートである。
【図６】受信プログラムが実施する処理のフローチャートである。
【図７】環境整備処理の詳細フローチャートである。
【符号の説明】
【００９２】
１０…管理者コンピュータ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ハードディスクドライブ、１４ａ…環境情報、１４ｂ…プリンタドライバインストーラ、１４ｃ…アプリケーションインストーラ、１６…配信プログラム、１６ａ…環境情報編集部、１６ｂ…ユーザコンピュータ選択部、１６ｃ…ファイル送信部、１６ｄ…実行結果受信部、１７ａ…キーボード、１７ｂ…マウス、１８ａ…ディスプレイ、２０ａ〜２０ｄ…ユーザコンピュータ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ハードディスクドライブ、２４ａ…環境情報、２４ｂ…プリンタドライバインストーラ、２４ｃ…アプリケーションインストーラ、２６…受信プログラム、２６ａ…ファイル受信部、２６ｂ…環境整備部、２６ｃ…実行結果送信部、２７ａ…キーボード、２７ｂ…マウス、２８ａ…ディスプレイ、３０ａ〜３０ｃ…プリンタ
【図１】
2006139364.tif 000003
【図２】
2006139364.tif 000004
【図３】
2006139364.tif 000005
【図４】
2006139364.tif 000006
【図５】
2006139364.tif 000007
【図６】
2006139364.tif 000008
【図７】
2006139364.tif 000009