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