従来の技術においては、コンピュータにおける動作環境毎に適したプログラムをインストールすることが困難であった。すなわち、複数のコンピュータがネットワークに接続されている状態において、オペレーティングシステム(OS)のバージョンや種類が異なるなど、各コンピュータの動作環境が共通ではないことが一般的である。このようにコンピュータの動作環境が異なると、同じ用途のプログラムであっても異なるプログラムデータや異なる設定が必要になる場合が多い。従って、コンピュータの動作環境毎に適切なインストールを実施しなければ、複数のコンピュータへのインストールは実質的に完了しない。
本発明は、上記課題にかんがみてなされたもので、コンピュータの動作環境に応じたインストールを容易に実行することが可能なインストールシステム、インストール方法を提供することを目的とする。
上記目的を達成するため、プログラムをインストールする第2のコンピュータにおいて、その動作環境に対応したプログラムのインストールに必要なデータを取得できるようにしている。すなわち、プログラムをインストールする際に使用するデータをコンピュータの動作環境毎に特定し、これをインストール情報として第1のコンピュータから第2のコンピュータに送信する。
第2のコンピュータにおいては、容易に自己の動作環境を取得することができるので、上記インストール情報を参照すれば、自己の動作環境に応じたプログラムをインストールする際に使用するデータを容易に把握することができる。この結果、第2のコンピュータのインストール手段は、確実にその動作環境に応じたプログラムをインストールすることが可能になる。また、第2のコンピュータから第1のコンピュータに対して動作環境を示す情報を送信することなくインストールを完了することができるので、無用な情報の流出を抑えることができる。
尚、本発明において、第1のコンピュータと第2のコンピュータとは互いにデータを送受信できるようにネットワーク接続されるが、第1のコンピュータは少なくとも一つ存在すればよい。第2のコンピュータが一台であっても本発明は機能するが、第2のコンピュータに相当するコンピュータがネットワーク上に複数台接続されている状況が本発明の適用対象として好ましい。すなわち、第2のコンピュータが複数台存在する場合には、それぞれのコンピュータで動作環境が異なり得る。この状況であっても、第2のコンピュータのそれぞれにおいては、上記インストール情報を参照することで、その動作環境に適したプログラムをインストールすることができる。
さらに、各コンピュータやネットワークの管理者が第1のコンピュータを操作し、上記インストール情報を複数の第2のコンピュータに送信すれば、管理者が第1のコンピュータにてこの送信作業を実施するのみでインストールを完了することができる。すなわち、第2のコンピュータにおいては、インストール情報を参照し、動作環境を取得するのみでインストールに必要な情報を集めることができるので、第2のコンピュータにおいて人為的な作業を全く必要とすることなく動作環境毎のインストールを完了することができる。
第1のコンピュータは、インストール情報送信手段を構成可能なコンピュータであればよく、汎用プロセッサを搭載してプログラムを実行する汎用コンピュータであっても良いし、インストール情報送信手段を実行するプロセッサを搭載した専用コンピュータであっても良い。むろん、他の機能を実現するとともにインストール情報送信手段を実現するコンピュータであっても良い。例えば、携帯電話やデジタルカメラ等が備えるコンピュータであっても良いし、プリンタやスキャナ等の周辺機器が備えるコンピュータであっても良い。後者であれば、周辺機器に格納されたドライバを第2のコンピュータにインストールするような構成にすることも可能である。
第2のコンピュータも第1のコンピュータと同様であり、第2のコンピュータにおける各手段を構成する汎用コンピュータや専用コンピュータ等が第2のコンピュータとなり得る。また、携帯電話やデジタルカメラ等の機器や、プリンタやスキャナ等の周辺機器が備えるコンピュータを第2のコンピュータとし、これらの機器が必要とするプログラムをインストールように構成しても良い。むろん、当該第2のコンピュータにおいては、本発明によってインストールされるプログラムを実行可能に構成されている。
尚、上記プログラムをインストールする際に使用するデータとしては、プログラムのインストールに際して実行されるインストーラ自体、インストーラを示すデータ、インストール対象のプログラム自体、インストール対象のプログラムを示すデータのいずれかをも採用することができる。すなわち、インストーラを実行することによってプログラムをインストールする際には、動作環境に対応したプログラムのインストーラが第2のコンピュータに送信されれば、このインストーラを実行することでインストールを完了することができる。また、動作環境に対応したプログラムのインストーラを示すデータによってインストーラを特定することができれば、第2のコンピュータにおいてこのインストーラを取得し、動作環境に対応したプログラムをインストールすることができる。
インストーラはプログラムの実行に必要な環境を整備するプログラムであればよく、種々の構成を採用可能である。例えば、プログラムやデータの保存位置を示すフォルダやディレクトリを作成し、プログラム自体を適切な保存位置に保存し、プログラムの実行に必要なデータを適切な保存位置に保存し、環境設定ファイル(レジストリやリソースフォーク)の書き換えをする処理の何れかあるいは組み合わせを実施するプログラムをインストーラとして採用可能である。むろん、インストールに際して把握すべき情報を記述したファイル(infファイル)等もインストーラに含まれる。また、他にも、圧縮されたデータを解凍する処理等、種々の処理を含む。
また、プログラムのインストールに際してそのデータの保存場所が限定されたり、プログラムの実行に他のデータを必要とされることがなく、環境設定ファイルの書き換え等も必要にない場合、すなわち、単に実行形式のファイルを何らかの場所にコピーするのみでインストールが完了する場合もある。このような場合、プログラムをインストールする際に使用するデータには、インストール対象のプログラム自体、あるいはインストール対象のプログラムを示すデータを採用すればよい。前者であれば、プログラム自体を第2のコンピュータの記録媒体に保存することでインストールが完了するし、後者であれば、特定されたプログラムを取得して第2のコンピュータの記録媒体に保存すればよい。
インストール情報としては、プログラムをインストールする際に使用するデータを動作環境毎に特定し、動作環境に適したインストールが実施できるように構成できればよい。例えば、コンピュータの動作環境によってインストーラが異なる場合には、動作環境毎に適切なインストーラを特定できるように情報を構成する。これにより、同じ用途のプログラムであって動作環境毎に異なるプログラムを適正にインストールすることが可能になる。
尚、プログラムで提供する機能やその目的が共通であれば、プログラムの用途が同じであると言える。例えば、ある機種の周辺機器を制御するためのプログラムであるが動作環境毎に異なる複数のプログラムが存在する場合、各プログラムの用途は同じであるし、ある機種の周辺機器に関してメンテナンスを行うプログラムであるが動作環境毎に異なる複数のプログラムが存在する場合、各プログラムの用途は同じである。むろん、動作環境毎に定義する必要がないデータについては、各動作環境に対して共通のデータをインストール情報として含めればよい。例えば、特定の周辺機器を制御するドライバプログラムをインストールする際に、その周辺機器を特定するためのデータがインストール情報に含まれるように構成することができる。
動作環境取得手段においては、第2のコンピュータの動作環境を取得することができればよく、OSの機能を利用したり動作環境を記述したファイルにアクセスするなどして取得可能である。動作環境はコンピュータが動作する際の環境であり、同じ用途であっても異なるプログラムが必要になるような条件や設定の差異が存在すれば、動作環境が異なると言える。例えば、OSのバージョンが異なる場合や、OSの種類(OSの名称等)が異なる場合には動作環境が異なると言える。
プログラムが実行できるか否かはOSのバージョンや種類に依存する場合が多いので、OSのバージョンや種類によって第2のコンピュータにおける動作環境を特定することによって動作環境毎に異なるプログラムを確実にインストールすることが可能になる。むろん、動作環境を特定する要素としてはOSのバージョンや種類のみに限定されることはなく、OSの制御下で常に実行されるプログラムの有無やバージョン、コピー済みのファイル(DLL等)の有無やバージョン等によって動作環境を定義しても良い。
インストール手段は、インストール情報に基づいて、動作環境に対応したプログラムをインストールすることができれば良く、このために、プログラムをインストールする際に使用するデータであって動作環境に対応したデータを取得する。例えば、インストール情報にインストーラ自体が含まれる場合は、動作環境に応じたインストーラを選択して実行する。インストール情報にインストーラを示すデータが含まれる場合は、動作環境に応じたインストーラを取得して実行する。インストール情報にインストール対象のプログラム自体が含まれる場合は、動作環境に応じたプログラムを適切な保存位置に保存する。インストール情報にインストール対象のプログラムを示すデータが含まれる場合は、動作環境に応じたプログラムを取得して適切な保存位置に保存する。
以上の発明の好適な例として、複数のインストーラを第1のコンピュータから第2のコンピュータに送信する構成を採用することができる。すなわち、第1のコンピュータの記憶媒体に複数のインストーラを格納しておき、インストール情報として複数のインストーラを第2のコンピュータに送信する。第2のコンピュータにおいては、受信する複数のインストーラの何れかを実行すればよいので、インストールに際して第2のコンピュータが行う通信動作は一回で終了し、簡単な処理でインストールを完結することができる。
また、第2のコンピュータにおいては受け取ったデータに基づいてインストールを完結することができるので、その動作環境など、第2のコンピュータに関する情報を一切送信する必要がなく、無用な情報の流出を防止することができる。尚、第2のコンピュータにおいては、複数のインストーラの何れかを実行した後にそのデータを削除しても良いし、保持しても良い。前者であれば第2のコンピュータにおけるリソースを節約することができるし、後者であれば第2のコンピュータの動作環境が変更された際に利用することができる。
さらに、インストール対象のプログラムに関するインストーラのみを第1のコンピュータから第2のコンピュータに送信する構成を採用することもできる。すなわち、第1のコンピュータの記憶媒体に複数のインストーラを格納しておき、動作環境に対応したプログラムのインストーラを特定するためのデータをインストール情報に含めて送信する。この結果、第2のコンピュータでは動作環境に応じたプログラムのインストーラを特定することができるので、第1のコンピュータから適切なインストーラを取得することが可能になる。
この構成においては、実行対象のインストーラのみを送信するので、ネットワークのトラフィック増加を防止することができる。また、第2のコンピュータからは適切なインストーラを取得するための情報を送信すればよいので、この構成においても、動作環境など、第2のコンピュータに関する情報を一切送信する必要がなく、無用な情報の流出を防止することができる。
インストール対象のプログラムとしては、各種のプログラムを採用可能であり、周辺機器を制御するためのドライバプログラムや各種の機能を実現するためのアプリケーションプログラム等がこれに相当する。ドライバプログラムをインストールする際に好適な構成として、上記インストール情報に当該周辺機器を特定するための周辺機器情報を含む構成を採用可能である。
すなわち、ドライバプログラムをインストールする際に、多くの場合、制御対象の周辺機器を特定し、その周辺機器を制御対象として設定する。そこで、周辺機器を特定するためのデータを第2のコンピュータに送信すれば、第2のコンピュータにおいてはこの周辺機器情報に基づいて容易に周辺機器を特定することができる。従って、制御対象を特定し設定する必要があるドライバプログラムであっても容易にインストールを完了することができる。また、第2のコンピュータにおいて利用者が人為的に周辺機器を特定する作業を全く行うことなくインストールを完了することができる。
周辺機器を特定するための周辺機器情報においては、周辺機器を一義的に特定することができればよい。例えば、第2のコンピュータに対して直接接続されている周辺機器であれば、その周辺機器を指定するデータ(機種名等)と接続態様(ポート名等)とを特定すればよい。ネットワーク接続されている周辺機器であれば、その機器を特定するデータ(IPアドレスやMACアドレス等)を採用すればよい。ネットワーク上のコンピュータに接続されている周辺機器であれば、そのコンピュータ(IPアドレスやMACアドレス、コンピュータ名等)と接続態様(ポート名や共有名等)を特定すればよい。
尚、周辺機器は、コンピュータやネットワークに接続されて駆動される機器であればよく、種々の機器がこの周辺機器に該当する。例えば、画像の出力動作を行うプリンタやディスプレイ,プロジェクタ等の出力機器や、画像の入力動作を行うスキャナやデジタルカメラ等の入力機器や、データの記録動作を行うハードディスクドライブ等の記録機器等、種々の機器が周辺機器となり得る。また、一般に、周辺機器がコンピュータの動作環境に依存することはなく、ドライバプログラムが動作環境に対応していれば周辺機器が動作するので、周辺機器を特定するための周辺機器情報を動作環境毎に定義する必要はない。むろん、動作環境に依存する周辺機器が存在するのであれば、動作環境毎に周辺機器を特定するための周辺機器情報を定義すればよい。
さらに、アプリケーションプログラムとして好適な例として、コンピュータの周辺機器に関するアプリケーションプログラムを採用可能である。例えば、周辺機器と協働して各種の機能を提供するユーティリティソフトウェア等がこのアプリケーションプログラムに相当する。この場合、アプリケーションプログラムが協働する周辺機器を特定する必要があるため、上記インストール情報に周辺機器を特定するための周辺機器情報を含める。
この結果、この周辺機器情報を受信する第2のコンピュータにおいて容易に周辺機器を特定することが可能になり、協働対象の周辺機器を容易かつ適切に設定してアプリケーションプログラムをインストールすることが可能になる。ここでも、第2のコンピュータにおいて利用者が人為的に周辺機器を特定する作業を全く行うことなくインストールを完了することができる。周辺機器を特定するための周辺機器情報においては、上記と同様に周辺機器を一義的に特定することができればよい。また、一般的には、周辺機器を特定するための周辺機器情報を動作環境毎に定義する必要はないが、動作環境に依存する周辺機器が存在するのであれば、動作環境毎に周辺機器を特定するための周辺機器情報を定義すればよい。
さらに、プログラムのインストールを行うにあたり、各種の設定を行うと好ましい場合が多い。この場合、上記インストール情報に、そのプログラムを実行する際に必要な設定を示す設定情報を含む構成を採用するのが好ましい。すなわち、この設定情報を参照すれば、第2のコンピュータにおいて容易にプログラムの実行に必要な設定の内容を把握することができ、インストールを行う際にプログラムの初期設定を行うことができる。
この構成によれば、第1のコンピュータから送信される設定情報の内容通りに設定を行うことが可能であるので、複数のコンピュータに対して同じ設定内容でインストールを行う際に非常に容易に作業を行うことが可能になる。すなわち、上記設定情報を含むインストール情報を第2のコンピュータに送信するに際し、複数のコンピュータに対して同じインストール情報を送信するのみでよく、第2のコンピュータのそれぞれにおいて逐一人為的な設定作業を行う必要がない。この設定の内容も、一般にはコンピュータの動作環境に依存せず、複数の動作環境下で設定内容が共通であるので、設定情報を動作環境毎に定義する必要はない。むろん、動作環境に依存する設定内容が存在するのであれば、動作環境毎に設定情報を定義すればよい。
さらに、設定情報によってインストール後のプログラムの設定を特定する構成において好適な例として、設定の変更を禁止可能にする構成を採用可能である。このために、上記設定情報に示される設定の変更可否を示す変更情報を上記インストール情報に含む構成とする。すなわち、インストール手段は、プログラムの設定変更を禁止する状態と設定変更を可能にする状態とでインストールを行うことが可能であり、変更情報に従って、設定変更の可否を決定する。
この結果、第1のコンピュータを操作する者の意図通りの設定でインストールを行い、その設定を維持したまま第2のコンピュータにおけるプログラムの運用を行うことが可能になる。この構成は、複数のコンピュータによって作業を行うが、得ようとする結果やその形式を変更したくない場合に適用するのが好ましい。例えば、あるプリンタにおいて同じ余白、用紙方向、用紙サイズ、用紙トレイを使って印刷することが要求されている場合など、必ず同じ設定でドライバプログラムを実行する場合に適用して好適である。
さらに、プログラムのインストール後に実施すべき動作をインストール情報で定義しても良い。すなわち、インストールを完了するために第2のコンピュータで何らかの動作を行うことが好ましい場合は、その動作内容を示す動作情報をインストール情報で規定し、第2のコンピュータにてその動作を実施するように構成する。例えば、インストールに際して必要なファイルのコピーや環境設定ファイルの書き換え後に第2のコンピュータで再起動が必要になる場合もある。この場合は、インストール情報に再起動を実施すべきことを明示する。また、周辺機器のドライバをインストールした後には、周辺機器のテスト動作を実施することが好ましい場合もある。この場合には、テスト動作を実施すべき旨をインストール情報に記述する。
本発明は、特定の用途のプログラムに関するインストール情報のみを送信する態様に限定されない。すなわち、複数の用途のプログラムに関するインストール情報をまとめて送信すれば、第2のコンピュータに対して複数のプログラムを同時にインストールすることができる。この構成は、複数の周辺機器のそれぞれを制御できる環境を構築する場合に適用して好適である。すなわち、各周辺機器を制御するドライバプログラムをインストールするためのインストール情報を、まとめて第2のコンピュータに送信すれば、各周辺機器を制御するドライバプログラムを一度にインストールすることができる。この結果、各周辺機器を制御できる環境を容易かつ簡単に構築することが可能になる。
また、インストールされるプログラムが互いに関連している場合に以上の構成を適用しても良い。例えば、周辺機器を制御するドライバプログラムと当該周辺機器と協働するアプリケーションプログラムとは、同じ周辺機器に関するプログラムである。これらのプログラムにおいては、互いに情報を授受する場合もあるので、同時にインストールすると両者のプログラムによって提供される機能を確実に利用することが可能になる。尚、インストール情報をまとめて送信するに際しては、種々の構成を採用可能であり、一つのファイルに複数の用途のプログラムに関するインストール情報を列記する構成等を採用可能である。
ところで、上述したインストールシステムは、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。むろん、第1のコンピュータと第2のコンピュータとが協働してインストールを実施するが、本発明にかかる製品の提供態様や利用態様としては各種の態様を採用可能である。例えば、第1のコンピュータをプッシュインストール装置として提供、利用することができるし、第2のコンピュータをインストール実行装置として提供、利用することが可能である。また、上述したインストールの手法は、方法としても適用可能であり、基本的には同様の作用となる。
本発明を実施しようとする際に、インストールシステムにて所定のプログラムを実行させる場合もある。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階についても同等である。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)インストールシステムの構成:
(2)インストール情報の構成:
(3)インストール処理:
(4)他の実施形態:
(1)インストールシステムの構成:
図1は、本発明の一実施形態にかかるインストールシステムの概略構成を示している。本実施形態においては、上記第1のコンピュータに相当する管理者コンピュータ10と上記第2のコンピュータに相当するユーザコンピュータ20a〜20dとがネットワークを介して接続されている。管理者コンピュータ10とユーザコンピュータ20a〜20dとは、ネットワーク上に少なくとも一台存在すれば良いが、ユーザコンピュータ20a〜20dがネットワーク上に複数台存在する状況で本発明を実施するのが好ましい。むろん、ユーザコンピュータ20a〜20dの台数は4台に限定されず、何台でも良い。
図1においては、管理者コンピュータ10に対してプリンタ30a,ネットワークに対してプリンタ30b,30cが接続されており、本実施形態では、これらの何れかを制御するためのプリンタドライバをユーザコンピュータ20a〜20dにインストールする。図1には示していないが、むろん、ユーザコンピュータ20a〜20dの何れかに接続されたプリンタを制御するためのプリンタドライバをインストールすることも可能である。
インストールに際しては、管理者コンピュータ10からインストール情報をユーザコンピュータ20a〜20dに送信し、ユーザコンピュータ20a〜20dがこのインストール情報に基づいてインストールを実行する。このとき、管理者コンピュータ10では、任意のユーザコンピュータ20a〜20dを指定してインストール情報を送信するようになっており、指定されたユーザコンピュータ20a〜20dにてインストールが実行される。尚、本実施形態においては、主にプリンタ30a〜30cを制御するためのプリンタドライバとそのユーティリティプログラムをインストールする構成を説明する。
ユーザコンピュータ20a〜20dは、各種のOS(Windows(登録商標),Macintosh(登録商標),UNIX(登録商標),Linux(登録商標)等)によって処理を実施する。むろん、OSのバージョンも限定されない。しかし、各ユーザコンピュータ20a〜20dにて実行されるプログラムは、一般的にOSに依存し、OSの種類やバージョンに応じて適切なプログラムがインストールされるべきである。そこで、本実施形態においては、プログラムをインストールする際に使用するデータをコンピュータの動作環境毎に特定したインストール情報を利用することとし、次に示す構成によって、動作環境毎に適切なプログラムをインストールしている。
図2は、上記管理者コンピュータ10の構成例を示す図である。同図において、管理者コンピュータ10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバスを介して管理者コンピュータ10全体の制御を行う。同システムバスには、ROM12、RAM13、ハードディスクドライブ14や通信I/F15,図示しないCRTI/Fや入力機器I/F,プリンタI/F等が接続されている。
ハードディスクドライブ14には、図示しないオペレーティングシステム(OS)、インストール情報をユーザコンピュータ20a〜20dに送信するための配信プログラム16等が格納されており、これらのソフトウェアは、実行時にCPU11によって適宜RAM13に転送される。CPU11は、RAM13を一時的なワークエリアとして適宜アクセスしながらOSの制御下で種々のプログラムを実行する。
入力機器I/Fには、キーボード17aやマウス17bが操作用入力機器として接続される。また、CRTI/Fには、表示用のディスプレイ18aが接続されている。従って、管理者コンピュータ10では、キーボード17aやマウス17bによる操作内容を受け付け、また、ディスプレイ18aに各種情報を表示することが可能である。
CPU11は、上記配信プログラム16を実行することによってユーザコンピュータ20a〜20dにプログラムをインストールさせる。配信プログラム16は、スクリプト編集部16aとユーザコンピュータ選択部16bとファイル送信部16cと実行結果受信部16dとを備えている。本実施形態におけるインストール情報は、ユーザコンピュータ20a〜20dの動作環境に依存するデータと依存しないデータとを含み、動作環境に依存しないデータをスクリプト編集部16aによって作成するようになっている。
すなわち、スクリプト編集部16aは、ディスプレイ18aに適宜UIを表示させ、キーボード17aやマウス17bによる入力を受け付けることによってプリンタドライバの制御対象となるプリンタやインストール対象のプログラムを指定するようになっている。また、所定のUIによってプログラムを実行する際に必要とされる設定情報等を入力するようになっている。これらの情報は、インストールに際して参照されるスクリプト14aとしてハードディスクドライブ14に保存される。
ユーザコンピュータ選択部16bは、ディスプレイ18aに適宜UIを表示させ、キーボード17aやマウス17bによる入力を受け付けることによってユーザコンピュータの選択を受け付ける。ファイル送信部16cは、通信I/F15を介してインストール情報をユーザコンピュータ20a〜20dに送信する。このとき、上記ユーザコンピュータ選択部16bで選択されたユーザコンピュータがインストール情報の送信対象となる。また、上記スクリプト編集部16aにて作成されたスクリプト14aの他、プログラムのインストーラも送信するようになっている。
このとき、管理者コンピュータ10の利用者がユーザコンピュータ20a〜20dの動作環境を把握することなく動作環境に応じたインストールを完了できるようにするため、複数の動作環境に対応したインストーラをまとめて送信する。すなわち、ハードディスクドライブ14には、プリンタドライバインストーラ14bとアプリケーションインストーラ14cが予め保存されており、各インストーラは、複数の動作環境に対応した複数のインストーラを含んでいる。
また、各インストーラにおいては、インストーラのそれぞれが対応する動作環境を示すデータを含んでおり、このデータをユーザコンピュータ20a〜20dに送信することによって、ユーザコンピュータ20a〜20d自身が自己の動作環境に対応したインストーラを把握するようになっている。従って、プリンタドライバインストーラ14bとアプリケーションインストーラ14cとが上記動作環境に依存するデータである。これらのデータとスクリプト14aとについては後に詳述する。尚、プリンタドライバのインストールのみを行う場合にはプリンタドライバインストーラ14bのみを送信すればよいし、アプリケーションプログラムのインストールのみを行う場合には、アプリケーションインストーラ14cのみを送信すればよい。
実行結果受信部16dは、通信I/F15を介して各ユーザコンピュータ20a〜20dからインストールの実行結果を示すデータを受信し、上記ディスプレイ18aに表示する。すなわち、ユーザコンピュータ20a〜20dは、インストールの実行に際してインストールの成功あるいは失敗を示すデータを管理者コンピュータ10に送信するようになっており、このデータによって管理者コンピュータ10の利用者にインストールの実行結果を通知するようになっている。
尚、インストールの失敗には様々な原因があるので、実行結果を示すデータにはその原因を示すデータを含めるのが好ましい。この構成によれば、管理者コンピュータ10においてインストール失敗の原因を詳細に特定することができ、容易にその対策を行うことができる。また、実行結果の表示に関してユーザコンピュータ20a〜20dから管理者コンピュータ10に送信されるデータは当該実行結果を示すデータのみであり、ユーザコンピュータ20a〜20dの動作環境を示すデータは送信されない。従って、ユーザコンピュータ20a〜20dにおける動作環境をその外部に漏洩することがない。
図3は、上記ユーザコンピュータ20a〜20dの構成例を示す図である。本実施形態において、ユーザコンピュータ20a〜20dのハードウェア構成は、共通でも良く、異なっても良いが、少なくとも後述する受信プログラムを実行可能であり、インストール対象のプログラムを実行することが可能な構成を備えている。これ以後は、ユーザコンピュータ20a〜20dの一例としてユーザコンピュータ20aの構成を説明する。
同図において、ユーザコンピュータ20aは演算処理の中枢をなすCPU21を備えており、このCPU21はシステムバスを介してユーザコンピュータ20a全体の制御を行う。同システムバスには、ROM22、RAM23、ハードディスクドライブ24や通信I/F25,図示しないCRTI/Fや入力機器I/F,プリンタI/F等が接続されている。
ハードディスクドライブ24には、図示しないオペレーティングシステム(OS)、インストール情報を管理者コンピュータ10から受信するための受信プログラム26等が格納されており、これらのソフトウェアは、実行時にCPU21によって適宜RAM23に転送される。CPU21は、RAM23を一時的なワークエリアとして適宜アクセスしながらOSの制御下で種々のプログラムを実行する。上述のようにこのOSの種類やバージョンは特に限定されず、インストール対象のプログラムを実行可能であればよい。
入力機器I/Fには、キーボード27aやマウス27bが操作用入力機器として接続される。また、CRTI/Fには、表示用のディスプレイ28aが接続されている。従って、ユーザコンピュータ20aでは、キーボード27aやマウス27bによる操作内容を受け付け、また、ディスプレイ28aに各種情報を表示することが可能である。
CPU21は、上記受信プログラム26を実行することによってプログラムをインストールする。受信プログラム26は、送信元確認部26aとファイル受信部26bとスクリプト実行部26cと実行結果送信部26dとを備えている。送信元確認部26aは、インストール情報の送信元が予め決められたコンピュータであるか否かを判定する。このために、ハードディスクドライブ24には、予め送信元のコンピュータを特定するための送信元情報24d(例えば、IPアドレスやコンピュータ名等)が記録されている。また、管理者コンピュータ10は、インストール情報の送信に際して自己を特定するための情報を付加してデータを送信する。
そこで、送信元確認部26aは、当該インストール情報に付加されたデータと送信元情報24dとを比較し、両者が一致していれば予め決められたコンピュータから送信されたインストール情報であるとしてインストールを実施し、両者が一致していなければインストールを実施しない。すなわち、この構成を採用することにより、予め決められた管理者コンピュータ10からのインストールのみを受け付けることができる。
ファイル受信部26bは、通信I/F25を介して受信したインストール情報をハードディスクドライブ24に保存する(スクリプト24a,プリンタドライバインストーラ24b,アプリケーションインストーラ24c)。スクリプト実行部26cは、スクリプト24aとプリンタドライバインストーラ24bとアプリケーションインストーラ24cとを参照しながら、ユーザコンピュータ20aの動作環境に応じたプログラムのインストールを実施する。
すなわち、スクリプト24aにはインストールすべきプログラム、例えば、あるプリンタを制御するためのプリンタドライバやそのユーティリティソフトウェアが記述されており、記述されているプログラムをインストールする。このとき、スクリプト実行部26cはユーザコンピュータ20aの動作環境を取得し、プリンタドライバインストーラ24bあるいはアプリケーションインストーラ24cを参照してユーザコンピュータ20aの動作環境に対応したインストーラを特定する。
尚、各インストーラにはインストーラのそれぞれが対応する動作環境を示すデータが含まれているので、スクリプト実行部26cは、このデータを参照することで動作環境に対応したインストーラを選択して実行する。インストーラを実行した後にはスクリプト24aを参照し、インストール後のプログラムの実行に必要な設定を行う。また、スクリプト24aにてインストール後のユーザコンピュータ20aの動作が指定されているときには、指定された動作を実施する。この処理については後に詳述する。実行結果送信部26dは、通信I/F25を介して管理者コンピュータ10にインストールの実行結果を示すデータを送信する。この結果、管理者コンピュータ10のディスプレイ18aには適正にインストールが実行されたか否かが表示される。
(2)インストール情報の構成:
次に、本実施形態におけるインストール情報の構成を詳述する。図4はインストール情報の構成例を示す図である。本実施形態において、あるプログラムをインストールするためのインストール情報は、スクリプト14aに記述されたデータと複数のインストーラから構成される。すなわち、スクリプト14aには、ユーザコンピュータ20aの動作環境には依存しないが、1以上のプログラムのインストールを行う際に参照されるデータが記述されている。従って、スクリプト14aに記述されたデータのうち、あるプログラムをインストールする際に参照されるデータは、そのプログラムのインストール情報となる。
また、あるプログラムのインストーラはインストール実行プログラム(setup1.exeやsetup2.exe等)と情報ファイル(printerA.infやutilityA.inf等)との組で構成される。但し、同じ用途のプログラムであっても動作環境が異なれば、異なるプログラムをインストールする必要がある。そこで、各用途のプログラムについて複数の組のインストール実行プログラムと情報ファイルとが用意されており、複数の動作環境に応じたインストーラがインストール情報となる。
図4に示す例では、あるプリンタAを制御するためのプリンタドライバAとプリンタAと協働して各種機能(例えば、消耗品の残量表示)を実施するためのユーティリティAとのインストール情報を示している。同図に示すように、スクリプト14aに記述されたプリンタAに関するデータとプリンタドライバAに関する複数のインストーラとがプリンタドライバAのインストール情報を構成する。また、スクリプト14aに記述されたプリンタAに関するデータとユーティリティAに関する複数のインストーラとがユーティリティAのインストール情報を構成する。尚、同図に示す例では、ユーザコンピュータ20aの動作環境をOSの種類で特定しており、異なるOS(OS1〜OS3)毎にインストーラの組が用意されている。
図5は、情報ファイル(printerA.inf)の構成を簡易的に説明する図である。情報ファイルにはインストール実行プログラムがプログラムのインストールを実行する際に参照するデータが記述されている。例えば、図5に示すように、インストールされるプログラムのバージョンやインストール実行プログラムのファイル名、プログラムが利用するライブラリファイル(***.dll)等が記述されている。
さらに、本実施形態においては各情報ファイル内にOSを特定する情報(printerA.inf (OS1))が記述されており、このデータを参照することにより各インストーラが対応する動作環境を特定することが可能である。この構成によれば、情報ファイルを参照して、ユーザコンピュータ20aの動作環境に応じたインストール実行プログラムのファイル名を特定することができる。従って、各インストーラの組がプログラムをインストールする際に使用するデータであり、その情報ファイルによってコンピュータの動作環境を特定しているといえる。
図6は、スクリプト14aの記述例を示す図である。本実施形態においては、周辺機器情報と設定情報と変更情報と動作情報とインストーラの保存位置を示す情報とをスクリプト14a内に記述可能である。また、これらの情報を複数の用途のプログラムについて列記する(図中では[プリンタドライバA],[プリンタドライバB],[ユーティリティA],[ユーティリティB]として列記)ことで、複数のプログラムを一度にインストールするためのスクリプト14aを構成することができる。
同図に示す例では、スクリプト14aにプリンタドライバAが制御対象とするプリンタを特定するための周辺機器情報を含んでいる。この例では、プリンタの機種名(プリンタA)と、当該プリンタAのIPアドレスによって周辺機器情報を構成しており、当該IPアドレスで特定されるプリンタAがプリンタドライバAの制御対象となる。尚、周辺機器情報においては、制御対象の周辺機器を一義的に特定するために必要充分なデータを含めばよい。
インストーラの保存位置は、スクリプト14aとともに送信されるインストーラの保存位置を特定するためのデータであり、図6に示す例では、プリンタドライバAを制御するための複数のインストーラを保存する位置(例えばフォルダ名)を特定する。従って、このデータを参照することによって複数のインストーラの情報ファイルが保存されている位置を特定することができ、保存されている情報ファイルを参照することによって動作環境毎のインストール実行プログラムを特定することが可能である。
設定情報は、インストールされたプログラムが実行される際に必要となる設定の内容を示すデータであり、各種の設定を指定可能である。スクリプト14aは、管理者コンピュータ10の利用者によって作成されるため、この利用者が各ユーザコンピュータ20a〜20dにおける設定を指定することが可能になる。図6に示す例では、プリンタAをOSで標準的に使用するプリンタにすべきか否かを示すフラグ(図中のデフォルト)とカラー印刷あるいはモノクロ印刷を指定するフラグ(図中のカラー)と印刷品質を指定する数値(図中の品質)とを設定情報として例示している。
設定情報としては、むろんこれ以外にも各種の情報を採用可能である。例えば、用紙サイズを指定するためのデータ、用紙フィーダを指定するためのデータ、レイアウト指定の可否やレイアウトの内容を指定するためのデータ、両面印刷の可否を指定するためのデータ、用紙留め機能の使用可否を指定するためのデータ、ページ記述言語を指定するためのデータ、省電力モードの使用可否を指定するためのデータ、画像処理の実行可否や画像処理の内容を指定するためのデータ等、各種の設定を行うことができる。このように、プリンタドライバの設定は一般に多岐に渡っており、この設定を管理者コンピュータ10の利用者が集中的に管理することにより、多数のユーザコンピュータ20a〜20dによる印刷に際して同じ設定で印刷を実行するように構成することができる。
変更情報は、設定情報による設定内容の変更を許可するか否かを指定するためのデータ(図中、設定変更の可否)である。すなわち、プリンタドライバAにおいては、そのプロパティ画面にて設定内容を表示できるように構成されており、通常は、この画面上で設定内容を変更可能である。しかし、変更情報によって設定変更が禁止されている場合には、この画面にて設定内容を表示するのみで、設定変更の入力は受け付けない。このように設定変更を禁止すれば、多数のユーザコンピュータ20a〜20dによる印刷に際して確実に同じ設定で印刷がなされるように構成することができる。
動作情報は、プログラムのインストール後にユーザコンピュータ20a〜20dにて実施すべき動作を指定するデータである。図6に示す例では、テスト印刷の有無を示すフラグ(図中のテスト印刷)とインストール後にユーザコンピュータ20a〜20dを再起動するか否かを示すフラグ(図中の再起動)とが動作情報に含まれている。すなわち、プリンタドライバAにおいては、定型的なテスト印刷を実施する機能を備えており、動作情報によってテスト印刷の実行が示されているときには、プリンタドライバAのインストール後にテスト印刷を実施する。また、動作情報によってコンピュータの再起動が示されているときには、プリンタドライバAのインストール後にユーザコンピュータを再起動する。
以上のような周辺機器情報と設定情報と変更情報と動作情報とは、プログラム毎に記述される。但し、総てのプログラムについて総ての情報が必須というわけではない。例えば、プリンタドライバをインストールする際の情報として、周辺機器情報のみを特定すれば、少なくとも制御対象を特定した状態でプリンタドライバをインストールすることが可能になる。従って、再起動など、インストール後に必須の動作が存在しないのであれば、少なくとも各ユーザコンピュータ20a〜20dにおいてプリンタを利用することが可能になる。また、一般のアプリケーションプログラムにおいては、周辺機器情報等が不要である場合も多く、この場合は、少なくともインストーラの保存位置が特定されればよい。
(3)インストール処理:
次に、上述の構成およびインストール情報を利用してインストールを実行する際の処理を説明する。図7は上記管理者コンピュータ10の配信プログラム16が実施する処理を示すフローチャートであり、図8は上記ユーザコンピュータ20a〜20dの受信プログラム26が実施する処理を示すフローチャートである。管理者コンピュータ10によって配信プログラム16が実行されると、スクリプト編集部16aは図示しないUIをディスプレイ18a上に表示し、キーボード17aやマウス17bからの入力操作を受け付ける。
具体的には、インストールするプリンタドライバの制御対象となるプリンタを上記UIによって選択する(ステップS110)。ここでは、プリンタを特定することによって上記周辺機器情報を特定することができれば良く、予め周辺機器情報が特定されているプリンタを上記UI上で選択肢として表示するなどの構成を採用すればよい。続いて、当該選択したプリンタについて上述の設定情報と変更情報と動作情報とを上記UIによって入力する(ステップS115)。
また、インストールするアプリケーションプログラムを選択する(ステップS120)。ここでは、アプリケーションインストーラ14cに含まれるアプリケーションプログラムの何れかを選択することができれば良く、インストール可能なプログラムを上記UI上で選択肢として表示するなどの構成を採用すればよい。むろん、アプリケーションプログラムは動作環境に応じて複数のプログラムが存在するが、ここでは動作環境まで指定する必要はなく、アプリケーションプログラムの用途を選択することでインストール対象を特定することができればよい。続いて、当該アプリケーションプログラムについて上述の設定情報と変更情報と動作情報とを入力する(ステップS125)。
以上の入力がなされると、スクリプト編集部16aは、入力された情報に基づいてスクリプト14aを作成し、ハードディスクドライブ14に保存する(ステップS130)。すなわち、上記ステップS110にて入力されたプリンタを制御するためのプリンタドライバの情報であることやプリンタと協働するユーティリティの情報であることを明示(図6の[プリンタドライバA],[ユーティリティA]等)しながら図6のように各情報を列記したテキストデータを作成する。
尚、インストーラの保存位置はUIによって入力しても良いし、予め保存位置を決めておいても良い。また、必要に応じてステップS110〜S125を繰り返し実施して複数のプログラムを一度にインストールするための情報を入力しても良い。プリンタドライバあるいはアプリケーションプログラムの何れかのみをインストールするのであればステップS115あるいはステップS120,S125を省略しても良い。むろん、プリンタと協働しないアプリケーションプログラムのみをインストールするのであればステップS110を省略しても良い。
スクリプトが作成されると、ユーザコンピュータ選択部16bはユーザコンピュータの選択を受け付ける(ステップS135)。すなわち、ユーザコンピュータを選択するための図示しないUIをディスプレイ18a上に表示し、キーボード17aやマウス17bからの入力操作を受け付ける。ここでは、ネットワーク接続されているユーザコンピュータ20a〜20dからインストール対象を選択することができれば良く、各ユーザコンピュータ20a〜20dを上記UI上で選択肢として表示するなどの構成を採用すればよい。
インストール対象のユーザコンピュータが特定されると、その情報はファイル送信部16cに受け渡され、同ファイル送信部16cは当該ユーザコンピュータに対してインストール情報を送信する(ステップS140)。このとき、ファイル送信部16cはスクリプト14aを参照してインストール対象のプログラムを特定し、そのインストーラをプリンタドライバインストーラ14bとアプリケーションインストーラ14cとから抽出して送信する。本実施形態においては、この処理が上記インストール情報送信手段に相当する。
インストール情報が送信されると、送信対象のユーザコンピュータにおいてはインストール処理を実施し、その実行結果を示すデータを返信する。実行結果受信部16dは、当該実行結果を示すデータを受信し(ステップS145)、ディスプレイ18a上に当該実行結果を表示する(ステップS150)。管理者コンピュータ10の利用者は、この表示内容によってインストール結果を知ることができるので、管理者コンピュータ10から再度インストールを試みたり、ユーザコンピュータを操作して対策を行うなど、必要な処理を行うことができる。
一方、各ユーザコンピュータ20a〜20dにおいては、受信プログラム26が実行されており、上記ステップS140にてインストール情報が送信されると、送信先として指定されている各ユーザコンピュータ20a〜20dにおいて図8に示す処理を実施する。当該受信プログラム26においては、送信元確認部26aがインストール情報を受信したか否かを監視しており(ステップS210)、インストール情報を受信したと判別されるまでステップS210の監視状態で待機している。
ステップS210にてインストール情報を受信したと判別されたときには、このインストール情報に付加された情報に基づいて送信元を特定する。また、ハードディスクドライブ24に保存されている送信元情報24dを参照し、インストール情報の送信元が送信元情報24dと一致しているか否かを判別する(ステップS212)。同ステップS212にてインストール情報の送信元が送信元情報24dと一致していると判別されないときには、管理者コンピュータ10との通信を遮断し(ステップS214)、ステップS210以降の処理を繰り返す。
ステップS212にてインストール情報の送信元が送信元情報24dと一致していると判別されたときには、ファイル受信部26bがインストール情報をハードディスクドライブ24に保存する(ステップS216)。この結果、ハードディスクドライブ24には、スクリプト24aとプリンタドライバインストーラ24bとアプリケーションインストーラ24cとが記録された状態となる。受信したインストール情報を取得すると言う意味で、本実施形態においてはステップS216の処理が上記インストール情報受信手段に相当する。
スクリプト実行部26cは、スクリプト24aを参照し、同スクリプト24aに記述されているプログラムのインストールを実施する。このために、まずスクリプト24aを参照してプリンタドライバのインストール情報が含まれるか否かを判別する(ステップS218)。同ステップS218にてプリンタドライバのインストール情報が含まれると判別されたときには、プリンタドライバのインストールを行う(ステップS220)。
図9は、このステップS220における処理を示すフローチャートである。このインストールに際してスクリプト実行部26cは、OSの種類やバージョンを示すOS情報を取得する(ステップS310)。このOS情報は、ユーザコンピュータ20a〜20dのそれぞれにおいて予め決められた保存位置に記録されており、この保存位置を参照するなどして取得することができる。本実施形態においては、ステップS310の処理が上記動作環境取得手段に相当する。
さらに、スクリプト実行部26cはスクリプト24aを参照し、インストーラの保存位置を取得する(ステップS320)。インストーラの保存位置を取得したら、この保存位置で特定される複数の情報ファイルを参照し、OSを特定するための情報を取得する(ステップS330)。そして、当該OSを特定するための情報と上記ステップS310にて取得したOS情報とが一致する情報ファイルが存在するか否かを判別する(ステップS340)。ステップS340にてこのような情報ファイルが存在すると判別されたときには、その情報ファイルに記述されているインストール実行プログラムを特定し、実行する(ステップS350)。従って、本実施形態においては、ステップS330〜S350の処理が上記インストール手段に相当する。
尚、インストール実行プログラムにおいては、ユーザコンピュータ20a〜20dにプログラムをインストールすることができれば良く各種の態様を採用可能である。例えば、インストール実行プログラムの実行により、予め圧縮されていたプログラムデータやライブラリデータの解凍を実施し、情報ファイルに基づいて適切な保存位置にこれらのプログラムデータやライブラリデータをコピーし、必要に応じて環境設定ファイルを書き換えるなどの処理を実施する。
上記ステップS310にて取得したOS情報に一致する情報が含まれる情報ファイルが存在すると、ステップS340において判別されない場合には、インストールが失敗したことを示す情報を上記RAM23に一時記憶する(ステップS360)。ステップS370では、スクリプト24aを参照し、当該スクリプト24aに記述された総てのプリンタドライバについてインストール処理を試みたか否かを判別し、同ステップS370にて総てのプリンタドライバについてインストール処理を試みたと判別されるまでステップS320以降の処理を繰り返す。ステップS370にて総てのプリンタドライバについてインストール処理を試みたと判別されると、上記図8に示す処理に復帰する。
図8に示す処理に復帰すると、上記RAM23に一時記憶された情報を参照してプリンタドライバのインストールに成功したか否かを判別し(ステップS222)、インストールに成功したと判別されないときには、実行結果を示すデータがインストール失敗を示すように設定する(ステップS238)。ステップS222にてインストールに成功したと判別されたときには、スクリプト24aを参照してプリンタドライバの設定を行う(ステップS224)。
すなわち、スクリプト24aに記述された周辺機器情報を参照し、当該周辺機器情報で特定される周辺機器がインストール済みのドライバの制御対象となるように設定する。また、設定情報を参照し、当該設定情報に記述された内容通りの設定でインストール済みのドライバが実行されるように初期設定を行う。さらに、スクリプト24aに記述された変更情報を参照し、設定の変更が禁止されている場合には初期設定後の設定を禁止する。さらに、スクリプト実行部26cは、この設定に際して設定情報に示された通りに設定を実施できたか否かを判別する(ステップS226)。
設定の失敗としては、例えば、同時に設定できない内容の設定を設定情報で指示していた場合等が挙げられる。より具体的には、用紙フィーダと用紙サイズとを指定しているが、用紙フィーダに指定通りのサイズの印刷用紙が蓄積されていない場合などには設定失敗となる。ステップS226にて設定が成功したと判別されないときには、インストールが失敗したことを示す情報を上記RAM23に一時記憶してステップS238を実施する。
ステップS226にて設定が成功したと判別されたときには、ステップS227以降でアプリケーションプログラムのインストールを実施する。この処理は、プリンタドライバのインストールとほぼ同様の処理であり、まず、スクリプト24aを参照してアプリケーションプログラムのインストール情報が含まれるか否かを判別する(ステップS227)。同ステップS227にてアプリケーションプログラムのインストール情報が含まれると判別されたときには、アプリケーションプログラムのインストールを行う(ステップS228)。
このステップS228における処理は上記図9に示す処理とほぼ同様であるが、ステップS370における判別では、スクリプト24aを参照し、当該スクリプト24aに記述された総てのアプリケーションプログラムについてインストール処理を試みたか否かを判別する。すなわち、ステップS370にて総てのアプリケーションプログラムについてインストール処理を試みたと判別されるまでステップS320以降の処理を繰り返す。また、ステップS370にて総てのアプリケーションプログラムについてインストール処理を試みたと判別されると、図8に示す処理に復帰する。
図9に示す処理とほぼ同様の処理を行った後に図8に示す処理に復帰すると、上記RAM23に一時記憶された情報を参照してアプリケーションプログラムのインストールに成功したか否かを判別し(ステップS230)、インストールに成功したと判別されないときには、ステップS238に示す処理を実施する。ステップS230にてインストールに成功したと判別されたときには、スクリプト24aを参照してアプリケーションプログラムの設定を行う(ステップS232)。
すなわち、スクリプト24aに記述された周辺機器情報を参照し、当該周辺機器情報で特定される周辺機器がアプリケーションプログラムと協働するように設定する。また、設定情報を参照し、当該設定情報に記述された内容通りの設定でアプリケーションプログラムが実行されるように初期設定を行う。さらに、スクリプト24aに記述された変更情報を参照し、設定の変更が禁止されている場合には初期設定後の設定を禁止する。むろん、プログラムの実行に際して設定を行う必要がないアプリケーションプログラムであれば、ステップS232の処理はスキップすればよい。
さらに、スクリプト実行部26cは、この設定に際して設定情報に示された通りに設定を実施できたか否かを判別する(ステップS234)。設定の失敗としては、例えば、協働対象として選択不能な周辺機器を周辺機器情報で特定した場合等が挙げられる。ステップS234にて設定が成功したと判別されないときには、インストールが失敗したことを示す情報を上記RAM23に一時記憶してステップS238を実施する。
ステップS234にて設定が成功したと判別された場合には上記動作情報を参照し、テスト印刷を実施すべき旨が指定されているプリンタドライバが存在する場合には、そのプリンタドライバでテスト印刷を実行する(ステップS235)。また、上記動作情報にて再起動すべき旨が指定されている場合には、ユーザコンピュータを再起動する(再起動後にはステップS236以降の処理を実施する)。以上の処理によってプログラムのインストールが完了することになるので、スクリプト実行部26cは実行結果を示すデータがインストール成功を示すように設定する(ステップS236)。
次に実行結果送信部26dは、上記ハードディスクドライブ24に記録されているスクリプト24aとプリンタドライバインストーラ24bとアプリケーションインストーラ24cとを削除する(ステップS240)。そして、上記ステップS236あるいはステップS238にて設定した実行結果を示すデータを管理者コンピュータ10に送信する(ステップS242)。この後、ステップS214にて管理者コンピュータ10との通信を切断し、管理者コンピュータ10からインストール情報が再送されるのを待機する。
(4)他の実施形態:
上記実施形態は本発明にかかるインストールシステム、プッシュインストール装置、インストール実行装置、インストール方法およびインストールプログラムを実現する一例であり、むろん他の構成を採用することも可能である。例えば、インストール情報や実行結果を示すデータを送信する前に暗号化処理を施し、データを受信するコンピュータにて復号化処理を行う構成を採用しても良い。この構成によれば、ネットワークを介して送信されるデータの内容を非公開にすることができる。
このためには、管理者コンピュータ10とユーザコンピュータ20a〜20dとにて、暗号化を実施するモジュールと復号化を実施するモジュールとを実行可能に構成する。また暗号化および復号化を実施するための鍵データを両コンピュータの記録媒体に予め格納しておく。データの送信前には鍵データを用いて暗号化処理を行い、データの受信時には鍵データを用いて復号化処理を行えばよい。
さらに、管理者コンピュータ10によってインストール情報を送信する前に、ユーザコンピュータ20a〜20dのそれぞれがプログラムのインストールを実行可能な動作環境であるか否かを予め調査しても良い。調査のためには種々の手法を採用可能であり、例えば、プログラムの動作に適した動作環境を示すデータを管理者コンピュータ10からユーザコンピュータ20a〜20dに送信し、動作に適した動作環境であるか否かを示すデータを管理者コンピュータ10に返信する構成等を採用可能である。
さらに、管理者コンピュータ10から複数のインストーラを同時に送信する構成が必須という訳ではない。例えば、インストーラを構成するファイルのうち、上記情報ファイルを抽出し、複数の動作環境に対応した複数の情報ファイルをユーザコンピュータ20a〜20dに送信しても良い。ユーザコンピュータ20a〜20dでは、複数の情報ファイルのうち、自己の動作環境と一致する情報を含む情報ファイルを把握することができるので、その情報ファイルからインストール実行プログラムを特定する。インストール実行プログラムが特定されれば、その送信要求を管理者コンピュータ10に送信する。
この結果、管理者コンピュータ10はユーザコンピュータ20a〜20dの動作環境に応じたインストール実行プログラムを返信し、ユーザコンピュータ20a〜20dにて動作環境に応じたプログラムをインストールすることが可能になる。また、インストール実行プログラム自体をネットワークに送信しない構成も採用し得る。すなわち、OSによっては、周辺機器を制御するための標準ドライバを備えており、OSの機能によってその標準ドライバをインストール可能な場合がある。そこで、ユーザコンピュータ20a〜20dのOSが標準ドライバを備えるOSであるならば、この標準ドライバをインストールように指定した情報をインストール情報に含める。この結果、インストール実行プログラムを送信することなく、インストールを行うことが可能になる。
さらに、上記実施形態においては、主に周辺機器の制御を行うドライバプログラムおよび周辺機器と協働するユーティリティをインストール対象として説明したが、むろん、インストール対象はこれらのプログラムに限られない。例えば、周辺機器と無関係に動作するプログラムであってもインストール可能である。この場合、スクリプト14aにおいて周辺機器情報は不要である。また、周辺機器の選択肢がなく予め決められた周辺機器に関するプログラムをインストールする場合にも周辺機器情報は不要である。少なくとも、動作環境毎のインストーラを用意すれば、ユーザコンピュータ20aの動作環境に応じたインストールを行うことが可能である。
さらに、動作環境に対応したインストーラを特定するための構成も上述の構成に限られない。例えば、インストール実行プログラムのファイル名を動作環境毎にユニークなファイル名とし、ファイル名に基づいて動作環境に応じたインストール実行プログラムを特定しても良い。また、動作環境毎にインストーラの保存位置が異なるように構成し、動作環境に対応した保存位置に保存されているインストーラを使用しても良い。さらに、インストールの失敗としても上述の例に限られず、ファイルのコピーが失敗したり、周辺機器情報で示される周辺機器が存在しない場合など、他にも種々の状態を失敗とすることが可能である。
10…管理者コンピュータ、11…CPU、12…ROM、13…RAM、14…ハードディスクドライブ、14a…スクリプト、14b…プリンタドライバインストーラ、14c…アプリケーションインストーラ、16…配信プログラム、16a…スクリプト編集部、16b…ユーザコンピュータ選択部、16c…ファイル送信部、16d…実行結果受信部、17a…キーボード、17b…マウス、18a…ディスプレイ、20a〜20d…ユーザコンピュータ、21…CPU、22…ROM、23…RAM、24…ハードディスクドライブ、24a…スクリプト、24b…プリンタドライバインストーラ、24c…アプリケーションインストーラ、24d…送信元情報、26…受信プログラム、26a…送信元確認部、26b…ファイル受信部、26c…スクリプト実行部、26d…実行結果送信部、27a…キーボード、27b…マウス、28a…ディスプレイ、30a〜30c…プリンタ