(57)【要約】【課題】単一の更新プログラムによりソフトウェアの更新を可能としたソフトウェア更新方法、更新プログラム、及び記憶媒体を提供する。【解決手段】更新プログラム25のインストール検出部102は、指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出する。媒体検出部103は、指定された記録媒体に指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する。インストール実行部105は、最初にインストール検出部102により利用者のソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては媒体検出部103により検出を行う。インストール実行部105は、インストール検出部102と媒体検出部103の何れかで検出されたソフトウェア或いはコンポーネントについてインストールを行う。【選択図】図１
2008204291.tif 000002
【特許請求の範囲】
【請求項１】
機能単位であるコンポーネントを含むソフトウェアの更新を行うソフトウェア更新方法であって、
指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出するインストール検出工程と、
指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する媒体検出工程と、
最初に前記インストール検出工程により前記指定されたソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては前記媒体検出工程により検出を行い、前記インストール検出工程と前記媒体検出工程のいずれかで検出されたソフトウェア或いはコンポーネントについてインストールを行うインストール実行工程と、
を備えることを特徴とするソフトウェア更新方法。
【請求項２】
前記媒体検出工程では、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、利用者に対して別の記録媒体を指定可能とする手段を提供し、指定された別の記録媒体に対して前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを再度検出することを特徴とする請求項１に記載のソフトウェア更新方法。
【請求項３】
前記媒体検出工程では、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、利用者に対して規定の質問を行い、前記質問に対する回答に応じて前記媒体検出工程の出力結果を変更することを特徴とする請求項１、２のいずれかに記載のソフトウェア更新方法。
【請求項４】
前記インストール検出工程では、前記指定されたソフトウェア或いはコンポーネントがインストールされていないことを検出した場合、代替となる別のソフトウェア或いはコンポーネントのインストールの有無を検出し、その検出結果に応じて前記インストール検出工程の出力結果を変更することを特徴とする請求項１に記載のソフトウェア更新方法。
【請求項５】
前記媒体検出工程では、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、前記指定された記録媒体に代替となる別のソフトウェア或いはコンポーネントが含まれているか否かを検出し、その検出結果に応じて前記媒体検出工程の出力結果を変更することを特徴とする請求項１乃至３のいずれかに記載のソフトウェア更新方法。
【請求項６】
前記インストール実行工程では、前記インストール検出工程と前記媒体検出工程のいずれかで検出されたソフトウェア或いはコンポーネントに対して、利用者の設定に応じてインストールを行うか否かを決定することを特徴とする請求項１に記載のソフトウェア更新方法。
【請求項７】
前記出力結果の変更とは、検出されなかったことにする変更を含むことを特徴とする請求項３乃至５のいずれかに記載のソフトウェア更新方法。
【請求項８】
機能単位であるコンポーネントを含むソフトウェアの更新を行うソフトウェア更新方法をコンピュータに実行させる更新プログラムであって、前記ソフトウェア更新方法は、
指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出するインストール検出ステップと、
指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する媒体検出ステップと、
最初に前記インストール検出ステップにより前記指定されたソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては前記媒体検出ステップにより検出を行い、前記インストール検出ステップと前記媒体検出ステップのいずれかで検出されたソフトウェア或いはコンポーネントについてインストールを行うインストール実行ステップと、
を備えることを特徴とする更新プログラム。
【請求項９】
前記媒体検出ステップでは、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、利用者に対して別の記録媒体を指定可能とする手段を提供し、指定された別の記録媒体に対して前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを再度検出することを特徴とする請求項８に記載の更新プログラム。
【請求項１０】
前記媒体検出ステップでは、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、利用者に対して規定の質問を行い、前記質問に対する回答に応じて前記媒体検出ステップの出力結果を変更することを特徴とする請求項８、９のいずれかに記載の更新プログラム。
【請求項１１】
前記インストール検出ステップでは、前記指定されたソフトウェア或いはコンポーネントがインストールされていないことを検出した場合、代替となる別のソフトウェア或いはコンポーネントのインストールの有無を検出し、その検出結果に応じて前記インストール検出ステップの出力結果を変更することを特徴とする請求項８に記載の更新プログラム。
【請求項１２】
前記媒体検出ステップでは、前記指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、前記指定された記録媒体に代替となる別のソフトウェア或いはコンポーネントが含まれているか否かを検出し、その検出結果に応じて前記媒体検出ステップの出力結果を変更することを特徴とする請求項８乃至１０のいずれかに記載の更新プログラム。
【請求項１３】
前記インストール実行ステップでは、前記インストール検出ステップと前記媒体検出ステップのいずれかで検出されたソフトウェア或いはコンポーネントに対して、利用者の設定に応じてインストールを行うか否かを決定することを特徴とする請求項８に記載の更新プログラム。
【請求項１４】
前記出力結果の変更とは、検出されなかったことにする変更を含むことを特徴とする請求項１０乃至１２のいずれかに記載の更新プログラム。
【請求項１５】
前記請求項８乃至１４のいずれかに記載の更新プログラムを格納することを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンポーネントを含むソフトウェアの更新を行う更新プログラムを実現するためのソフトウェア更新方法、更新プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来、ソフトウェアを、コンポーネントと呼ばれるソフトウェアの機能単位ごとに分割し、利用者に応じて組み合わせるコンポーネントを変更して配布するような場合が知られている。
【０００３】
例えば、同じ名称を持つソフトウェアでも、ソフトウェアの販売価格に応じてコンポーネントの組み合わせを変更して提供する場合がある。この種の先行技術文献としては次のものがある（例えば、非特許文献１参照）。非特許文献１においては、Professional EditionとPersonal Editionと呼ばれるエディションが存在している。例えばAccess 2003というコンポーネントは、Personal Editionではインストールされないが、Professional Editionではインストールされる。
【０００４】
その他の例としては、ソフトウェアをハードウェアに同梱して販売する際に、ハードウェアに固有の機能を持たせるためのコンポーネントを同梱する場合がある。
【０００５】
このような、ハードウェアに固有の機能を持たせるコンポーネントは、そのハードウェアに同梱するソフトウェアには組み合わせることができても、他のハードウェアに同梱するソフトウェアには組み合わせることができない場合がある。この種の先行技術文献としては次のものがある（例えば、非特許文献２参照）。非特許文献２のソフトウェアは、デジタルカメラ、デジタルビデオカメラ等の製品に同梱して販売されている。
【０００６】
上記ソフトウェアには、Movie Edit Taskと呼ばれる、動画ファイルを編集するためのコンポーネントを組み合わせて使用することができる。同様に、ＲＡＷ画像と呼ばれる特殊な画像形式の画像を処理するための、RAW Image Taskと呼ばれるコンポーネントを組み合わせて使用することもできる。また、上記ソフトウェアは、本出願人が製造販売しているデジタル一眼レフカメラの製品にも同梱されているが、この製品では動画を撮影する機能がない。そのため、この製品に同梱されているものには、動画編集コンポーネントMovie Edit Taskは組み合わされていない。また、デジタルビデオカメラに同梱されているソフトウェアについては逆の組み合わせとなる。逆の組み合わせとは、RAW Image Taskが無く、Movie Edit Taskが有る組み合わせである。
【０００７】
デジタルビデオカメラではＲＡＷ画像を撮影できないため、デジタル一眼レフカメラの上記製品のＲＡＷ画像を処理するためのRAW Image Taskは同梱されていない。更に、デジタル一眼レフカメラの上記製品とデジタルビデオカメラの両方を所有している利用者が、ハードウェアに同梱されているソフトウェアを両方ともインストールした場合、次のようになる。インストールの結果として、ソフトウェアではMovie Edit TaskとRAW Image Taskの両方が利用できるようになる。
【０００８】
他にも、複数の利用者に応じてそれぞれコンポーネントの組み合わせが変更された複数のソフトウェアの提供を受けたいという要求があることは、先行技術文献における背景技術としても記載されている（例えば、特許文献１参照）。
【０００９】
上記組み合わせの変更は、インストーラの機能の一部として行われることが多い。コンポーネントとは、所定のファイルやオペレーティングシステム上の設定の組み合わせで構成されている。特定の利用者に対してあるコンポーネントを提供しない場合は、インストーラからそのコンポーネントに関連するファイル等を取り除いてからインストーラを実行すると、コンポーネントを含まない形でソフトウェアが提供される。
【００１０】
或いは、上記特許文献１のように、インストーラには全てのコンポーネントを含んでいるが、プロダクトキーなどと呼ばれる暗号キーによって、利用者に適したコンポーネントのみをインストールさせる方法もある。
【００１１】
これとは別に、ソフトウェアに対する更新プログラムをインターネット経由等で利用者に配布することが一般に行われている。このような更新プログラムは、それ自身は無料で配布されているが、更新対象プログラムを所有している利用者だけが利用できるような仕組みになっている場合がほとんどである。この場合、代金を支払ったことのある利用者だけが最新版のソフトウェアを利用できる。
【００１２】
最初に述べた、利用者によってコンポーネントの組み合わせを変更して配布するようなソフトウェアについても、更新プログラムを提供する場合がある。その際に、利用者が所有していないソフトウェア及びコンポーネントについては更新を行わないようにしたいという要求がある。その理由は、利用者が所有していないコンポーネントを更新してしまうと、利用者の混乱を招く場合があるからである。また、少ない代金しか支払っていない利用者が、本来は高い代金が必要なコンポーネントを使えるようになってしまうと、金銭的な被害も発生するからである。
【００１３】
このような更新プログラムの実現方法としては、従来は以下のような方法がある。
【００１４】
まず、第１の方法として、コンポーネントの組み合わせごとに個別に更新プログラムを提供する方法である。この方法では、更新プログラムの起動時に、更新プログラムを利用可能な利用者であるかどうかを確認すればよい。あとは更新プログラムをそのまま実行して更新を行えば、利用者が所有していないコンポーネントを更新してしまう恐れはない。更新プログラムを利用可能な利用者であるかを確認する方法としては、ハードディスクの内容や、ソフトウェアを配布したＣＤ−ＲＯＭ等の記録媒体、またはプロダクトキー等の情報を用いる方法がある。
【００１５】
また、第２の方法として、更新プログラムには全てのソフトウェア及びコンポーネントを含めておき、更新プログラムの起動時に、必要なソフトウェア及びコンポーネントのみを取り出して更新する方法がある。
【００１６】
他方、インストーラの起動時に、環境情報を取得して環境情報に応じたコンポーネントのインストールのみを行う手法が開示されている（例えば、特許文献２参照）。
【００１７】
ここで、上記環境情報に前バージョンのソフトウェアの有無を含めることで、この手法が前バージョンからのアップデートに使用できることは明白である。具体的には、各コンポーネントのインストール前に、環境情報として、そのコンポーネントの旧バージョンがインストールされているかどうかを取得し、旧バージョンがインストールされている場合のみコンポーネントの更新を行えばよい。
【００１８】
また、上記特許文献１では、インストーラ実行中に、利用者から入力されたプロダクトキーに応じて、利用可能なコンポーネントのみをインストールする手法が開示されている。この手法も、同様に、更新プログラムに適用可能である。具体的には、更新プログラムの実行中に、前バージョンのプロダクトキーを入力し、更新プログラムでは、各コンポーネントのインストール前にそのプロダクトキーで利用可能なコンポーネントのみを更新すればよい。
【特許文献１】特開２００５−１００４０１号公報
【特許文献２】特開２００２−３１８６９２号公報
【非特許文献１】Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ２００３（登録商標）
【非特許文献２】Ｃａｎｏｎ  ＺｏｏｍＢｒｏｗｓｅｒ  ＥＸ（登録商標）
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、上記従来例においては以下のような問題があった。
【００２０】
上記第１の方法として記載した、コンポーネントの組み合わせごとに個別に更新プログラムを提供する方法では、提供が必要になる更新プログラムの数が、コンポーネントの組み合わせが増えるごとに増えてしまう。そのため、更新プログラムを提供するための労力が大きくなり、更新プログラムの提供が難しくなるという問題がある。
【００２１】
また、更新プログラムを利用する利用者の側から見ても、複数の更新プログラムから、自分が利用可能な更新プログラムを選択する必要があり、更新プログラムの適用が難しくなるという問題がある。
【００２２】
上記第２の方法として記載した方法のうち、更新プログラムの起動時に環境情報を取得して環境情報に応じたコンポーネントのみ更新を行う手法についても、問題がある。この更新プログラムの動作には、ソフトウェアの旧バージョンを一旦インストールしておく必要がある。このことは、例えば、旧バージョンのソフトウェアがインストールできないオペレーティングシステムにおいて、新バージョンのソフトウェアでは、インストールできるように更新された場合に問題になる。
【００２３】
利用者は、更新プログラムを使用して新バージョンのソフトウェアに更新するためには、旧バージョンのソフトウェアを一旦インストールしておく必要があるが、オペレーティングシステム上では旧バージョンのソフトウェアをインストールできない。そのため、この更新プログラムを使用したソフトウェアの更新は不可能となってしまうという問題がある。
【００２４】
上記第２の方法として記載した方法のうち、更新プログラムの実行中に、利用者から入力されたプロダクトキーに応じて、利用可能なコンポーネントのみを更新する手法についても、やはり問題がある。何故ならば、この方法は、旧バージョンのインストール時にプロダクトキーを提供していなかった場合は、利用できないからである。
【００２５】
また、上記第１の方法及び上記第２の方法の後半で記述した方法に共通の問題点として、ソフトウェアが、提供した時点と異なったコンポーネントの組み合わせで使用されているときに利用できないという問題がある。具体的には、背景技術で説明した非特許文献２のソフトウェアのような場合に問題となる。
【００２６】
このソフトウェアでは、デジタル一眼レフカメラの上記製品に同梱されたソフトウェアと、デジタルビデオカメラに同梱されたソフトウェアの両方をインストールすると、以下のようになる。Movie Edit TaskとRAW Image Taskの両方を利用できるようになる。このコンポーネントの組み合わせは、提供しているいずれの組み合わせとも異なっている。そのため、この状態で適用できる更新プログラムを作成することは、第１の方法及び第２の方法の後半で記述した方法では困難である。
【００２７】
本発明の目的は、単一の更新プログラムによりソフトウェアの更新を可能としたソフトウェア更新方法、更新プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００２８】
上述の目的を達成するために、本発明のソフトウェア更新方法は、機能単位であるコンポーネントを含むソフトウェアの更新を行うソフトウェア更新方法であって、指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出するインストール検出工程と、指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する媒体検出工程と、最初に前記インストール検出工程により前記指定されたソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては前記媒体検出工程により検出を行い、前記インストール検出工程と前記媒体検出工程のいずれかで検出されたソフトウェア或いはコンポーネントについてインストールを行うインストール実行工程と、を備えることを特徴とする。
【００２９】
また、本発明の更新プログラムは、機能単位であるコンポーネントを含むソフトウェアの更新を行うソフトウェア更新方法をコンピュータに実行させるプログラムであって、前記ソフトウェア更新方法は、指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出するインストール検出ステップと、指定された記録媒体に前記指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する媒体検出ステップと、最初に前記インストール検出ステップにより前記指定されたソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては前記媒体検出ステップにより検出を行い、前記インストール検出ステップと前記媒体検出モジュールのいずれかで検出されたソフトウェア或いはコンポーネントについてインストールを行うインストール実行ステップと、を備えることを特徴とする。
【発明の効果】
【００３０】
本発明によれば、コンポーネントの組み合わせに関わらず、及び、ソフトウェア更新が実行された環境においてコンポーネントがインストールされているか否かに関わらず、単一の更新プログラムによりソフトウェアの更新が可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３２】
［第１の実施の形態］
まず、本発明の第１の実施の形態に係る更新プログラムの構成を説明する前にネットワークシステムの構成を説明する。
【００３３】
図２は、クライアントとサーバをネットワーク接続したネットワークシステムの構成を示すブロック図である。
【００３４】
図２において、クライアント２０とサーバ２１が、インターネット２２に対して接続されている。クライアント２０は、コンピュータ２０１と、コンピュータ２０１にそれぞれ接続されたディスプレイ２０２、光ディスクドライブ２０３、ハードディスクドライブ（ＨＤＤ）２０４、マウス２０５から構成されている。サーバ２１は、コンピュータ２１１と、コンピュータ２１１に接続されたハードディスクドライブ（ＨＤＤ）２１２から構成されている。
【００３５】
システムの利用者は、クライアント２０の光ディスクドライブ２０３に、さまざまな種類の光ディスク（例えば、光ディスク２３、光ディスク２４）を挿入し、光ディスクに格納されているソフトウェアをインストールすることができる。また、システムの利用者は、クライアント２０のコンピュータ２０１をキーボードやマウス２０５を介して所定の操作を行う。これにより、サーバ２１のコンピュータ２１１から更新プログラム２５をインターネット２２を経由してクライアント２０のコンピュータ２０１にダウンロードして実行することができる。
【００３６】
図３は、光ディスク２３のソフトウェア構成例を示すブロック図である。
【００３７】
図３において、光ディスク２３には、基本ソフトウェア３０１、及びインターネットコンポーネント３０２が格納されている。インターネットコンポーネント３０２は、基本ソフトウェア３０１に対してインターネット接続機能を追加するための部品であり、それだけでは動作しない。インターネットコンポーネント３０２は、基本ソフトウェア３０１と組み合わせることで利用者に対してインターネット接続機能を提供する。
【００３８】
光ディスク２３に格納されている基本ソフトウェア３０１及びインターネットコンポーネント３０２は、最新バージョンより古いものである。光ディスク２３をクライアント２０の光ディスクドライブ２０３に挿入すると、基本ソフトウェア３０１とインターネットコンポーネント３０２がインストールされる。
【００３９】
図４は、光ディスク２４のソフトウェア構成例を示すブロック図である。
【００４０】
図４において、光ディスク２４には、基本ソフトウェア３０１、及び印刷コンポーネント４０３が格納されている。基本ソフトウェア３０１は、光ディスク２３に格納されているものと同一である。印刷コンポーネント４０３は、基本ソフトウェア３０１に対して印刷機能を追加するための部品であり、それだけでは動作しない。印刷コンポーネント４０３は、インターネットコンポーネント３０２と同様に、基本ソフトウェア３０１と組み合わせることで利用者に対して印刷機能を提供する。
【００４１】
光ディスク２４に格納されている基本ソフトウェア３０１及び印刷コンポーネント４０３は、最新バージョンより古いものである。光ディスク２４をクライアント２０の光ディスクドライブ２０３に挿入すると、基本ソフトウェア３０１と印刷コンポーネント４０３がインストールされる。
【００４２】
また、光ディスク２３を用いて基本ソフトウェア３０１とインターネットコンポーネント３０２をインストールした環境に、光ディスク２４を使ってインストールを行うと、以下のようになる。即ち、基本ソフトウェア３０１、インターネットコンポーネント３０２、及び印刷コンポーネント４０３がハードディスクにインストールされる。
【００４３】
同様に、光ディスク２４を用いて基本ソフトウェア３０１と及び印刷コンポーネント４０３をインストールした環境に、光ディスク２３を使ってインストールを行うと、以下のようになる。即ち、基本ソフトウェア３０１、インターネットコンポーネント３０２、及び印刷コンポーネント４０３がハードディスクにインストールされる。
【００４４】
図１は、本実施の形態に係る更新プログラム２５の構成を示すブロック図である。
【００４５】
図１において、更新プログラム２５は、機能単位であるコンポーネントを含むソフトウェアの更新を行うためのプログラムである。更新プログラム２５は、制御用データ１０１、インストール検出部１０２、媒体検出部１０３、取り出し部１０４、インストール実行部１０５を備えている。更に、更新プログラム２５は、基本ソフトウェアインストール用データ１０６、インターネットコンポーネントインストール用データ１０７、印刷コンポーネントインストール用データ１０８を備えている。
【００４６】
制御用データ１０１は、更新プログラムの動作を制御するためのデータである。インストール検出部１０２は、ＨＤＤ１２０に記録されているデータを調べることで、特定のソフトウェア或いはコンポーネントがＨＤＤ１２０にインストールされているか否かを検出する（インストール検出工程）。媒体検出部１０３は、光ディスクドライブ１３０に挿入された光ディスク１４０に、特定のソフトウェア或いはコンポーネントが含まれているか（格納されているか）否かを検出する（媒体検出工程）。
【００４７】
取り出し部１０４は、指定されたソフトウェア或いはコンポーネントのインストール用データを更新プログラム２５から取り出し、ＨＤＤ１２０に記録する。インストール実行部１０５は、取り出し部１０４により更新プログラム２５から取り出されたソフトウェア或いはコンポーネントを使用してインストールを実行する（インストール実行工程）。
【００４８】
基本ソフトウェアインストール用データ１０６は、最新バージョンの基本ソフトウェアをインストールするためのデータである。インターネットコンポーネントインストール用データ１０７は、インターネットコンポーネントをインストールするためのデータである。印刷コンポーネントインストール用データ１０８は、印刷コンポーネントをインストールするためのデータである。各インストール用データは、光ディスク２３、光ディスク２４に格納されている基本ソフトウェア、インターネットコンポーネント、印刷コンポーネントより新しいバージョンである。
【００４９】
また、各インストール用データには、ソフトウェア或いはコンポーネントのインストールを実行可能な地域を限定するための地域限定情報を付加することができる。本実施の形態では、インターネットコンポーネントインストール用データ１０７に、アメリカ地域限定情報１０９、日本地域限定情報１１０が付加されている。
【００５０】
更新プログラム２５全体は暗号化されている。これは、利用者が、基本ソフトウェアインストール用データ１０６、インターネットコンポーネントインストール用データ１０７、印刷コンポーネントインストール用データ１０８を勝手に取り出せないようにするためである。
【００５１】
本実施の形態は以下の特徴を有する。インストール検出部１０２は、指定されたソフトウェア或いはコンポーネントがインストールされているか否かを検出する。媒体検出部１０３は、指定された記録媒体（本実施の形態では光ディスク）に指定されたソフトウェア或いはコンポーネントが含まれているか否かを検出する。
【００５２】
インストール実行部１０５は、最初にインストール検出部１０２により利用者のソフトウェア或いはコンポーネントについてインストールの有無の検出を行い、インストールが検出されなかったものについては媒体検出部１０３により検出を行う。インストール実行部１０５は、インストール検出部１０２と媒体検出部１０３のいずれかで検出されたソフトウェア或いはコンポーネントについてインストールを行う。
【００５３】
また、媒体検出部１０３が、指定された光ディスクに指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、ＣＰＵは、別の光ディスクを指定可能とするダイアログ画面をディスプレイ２０２に表示し提供する。利用者によりダイアログ画面上で別の光ディスクが指定されると、媒体検出部１０３は、指定された別の光ディスクに対して指定されたソフトウェア或いはコンポーネントが含まれているか否かを再度検出する。
【００５４】
また、インストール実行部１０５は、インストール検出部１０２と媒体検出部１０３のいずれかで検出されたソフトウェア或いはコンポーネントに対して、利用者の設定に応じてインストールを行うか否かを決定する。
【００５５】
図５は、更新プログラム２５の内部に含まれる制御用データ１０１の例を示す図である。
【００５６】
図５において、本実施の形態では、制御用データ１０１の内容はテキストファイルとなっている。テキストファイルは、制御用データをセクションごとに分離するためのセクションタイトル行と、制御用データの名前と値を記載するためのデータ行から構成されている。セクションタイトル行は、行頭と行末が［］で囲われていることで区別することができる。
【００５７】
制御用データは、１行目の［SoftwareA］、６行目の［ComponentA1］、１１行目の［ComponentA2］の３行によって、３つのセクション５０１、５０２、５０３に分離されている。それぞれのセクションは、基本ソフトウェア、インターネットコンポーネント、印刷コンポーネントに対する、更新プログラム２５の動作を示している。それぞれのセクションは、以下のデータ行から構成される。インストール検出部１０２が使用するためのSearchRegistryデータ行。媒体検出部１０３が使用するためのSearchFileデータ行。取り出し部１０４が使用するためのExtractFolderデータ行。
【００５８】
図６は、更新プログラム２５の全体動作を示すフローチャートである。
【００５９】
図６において、最初に、ステップＳ６０１では、取り出し部１０４は、更新プログラム２５の動作を制御するための制御用データ１０１を更新プログラム２５から読み出す。
【００６０】
ステップＳ６０２では、インストール検出部１０２は、更新プログラム内に基本ソフトウェアのインストール用データが存在するかどうかを検出する。基本ソフトウェアのインストール用データの検出方法については図７の説明において後述する。
【００６１】
ステップＳ６０３では、インストール検出部１０２は、ステップＳ６０２で検出した結果に基づき基本ソフトウェアのインストール用データが更新プログラム内に存在しているかどうかを調べる。基本ソフトウェアのインストール用データが存在している場合は、ステップＳ６０４に進む。基本ソフトウェアのインストール用データが存在していない場合は、更新プログラム２５の処理全体を終了する。
【００６２】
ステップＳ６０４では、取り出し部１０４は、更新プログラム２５の取り出し部１０４により制御用データ１０１のExtractFolderデータ行を用いて、以下の処理を行う。即ち、更新プログラム２５から基本ソフトウェアインストール用データ１０６を取り出し、ＨＤＤ２０４に書き込む。
【００６３】
ステップＳ６０５では、インストール検出部１０２は、制御用データ１０１に記載されている全てのソフトウェア及びコンポーネントについて、存在するかどうかの検出を行ったかどうかを確認する。全てのソフトウェア及びコンポーネントについて検出が完了した場合は、ステップＳ６０９に進む。検出が完了していない場合は、ステップＳ６０６に進む。
【００６４】
ステップＳ６０６では、インストール検出部１０２は、存在するかどうかの検出をまだ行っていないコンポーネントのうち、最初のコンポーネントについて存在するかどうかを検出する。コンポーネントの検出方法については図７の説明において後述する。
【００６５】
ステップＳ６０７では、インストール検出部１０２は、ステップＳ６０６で検出した結果に基づきコンポーネントが存在しているかどうかを調べる。コンポーネントが存在している場合は、ステップＳ６０８に進む。コンポーネントが存在していない場合は、ステップＳ６０５に戻り、次のコンポーネントの検出を続ける。
【００６６】
ステップＳ６０８では、取り出し部１０４は、制御用データ１０１のExtractFolderデータ行を用いて、以下の処理を行う。即ち、更新プログラム２５から検出されたコンポーネントのインストール用データを取り出し、ＨＤＤ２０４に書き込む。その後、ステップＳ６０５に戻り、次のコンポーネントの検出を続ける。
【００６７】
ステップＳ６０９では、インストール実行部１０５は、これまで取り出されたインストール用データを用いて、ソフトウェア及びコンポーネントの更新処理を行う。更新処理が終了した場合は、更新プログラム２５の処理全体を終了する。
【００６８】
図７は、更新プログラム２５の動作内におけるソフトウェアとコンポーネントの存在有無の検出処理を示すフローチャートである。
【００６９】
図７において、最初に、ステップＳ７０１からのインストール検出部１０２によるインストール検出処理を行う。ステップＳ７０１では、インストール検出部１０２は、指定されたソフトウェアまたはコンポーネントの存在を示すレジストリキーの名称を取得する。具体的には、制御用データ１０１から、指定されたソフトウェアまたはコンポーネントのセクションのSearchRegistryデータ行の内容を取得する。
【００７０】
次に、ステップＳ７０２では、インストール検出部１０２は、上記取得したレジストリキーが存在するかどうかを確認する。ステップＳ７０３では、ステップＳ７０２での確認の結果に基づきレジストリキーが存在している場合は、指定されたソフトウェアまたはコンポーネントが存在したとして、検出処理を終了する。レジストリキーが存在していない場合は、ステップＳ７０４からの媒体検出部１０３による媒体検出処理に進む。
【００７１】
ステップＳ７０４では、媒体検出部１０３は、指定されたソフトウェアまたはコンポーネントの存在を示す、記録媒体（本実施の形態では光ディスク）上でのファイル名を取得する。具体的には、制御用データ１０１から、指定されたソフトウェアまたはコンポーネントのセクションのSearchFileデータ行の内容を取得する。
【００７２】
次に、ステップＳ７０５では、ＣＰＵは、インストールのための光ディスクを確認するための光ディスク確認ダイアログ画面をコンピュータ２０１のディスプレイ２０２に表示し、利用者に光ディスクドライブに対する光ディスクの挿入を求める。利用者により光ディスクドライブに光ディスクが挿入された場合は、ステップＳ７０６に進む。
【００７３】
ステップＳ７０６では、媒体検出部１０３は、光ディスクドライブに挿入された光ディスクに、ステップＳ７０４で取得したファイル名のファイルが存在するかどうかを確認する。ステップＳ７０７では、ステップＳ７０６での確認の結果に基づきファイルが存在している場合は、指定されたソフトウェアまたはコンポーネントが存在したとして、検出処理を終了する。ファイルが存在しない場合は、指定されたソフトウェアまたはコンポーネントが存在しなかったとして、検出処理を終了する。
【００７４】
図８は、ソフトウェアとコンポーネントの存在有無の検出処理中に表示される光ディスク確認ダイアログ画面の表示例を示す図である。
【００７５】
図８において、クライアント２０のコンピュータ２０１のディスプレイ２０２には、図７のステップＳ７０５で光ディスク確認ダイアログ画面が表示される。光ディスク確認ダイアログ画面は、ソフトウェア名テキスト８０１、光ディスクドライブ選択リスト８０２、検索開始ボタン８０３を有する。本例では、光ディスク確認ダイアログ画面にメッセージ「アップデート対象ソフトウェアが見つかりませんでした。以下のソフトウェアを含むＣＤ−ＲＯＭをドライブに挿入して、[ＣＤ検索の開始]をクリックしてください。」が表示されている。
【００７６】
ソフトウェア名テキスト８０１には、検出処理中のソフトウェア名称が表示される。光ディスクドライブ選択リスト８０２には、コンピュータ２０１に接続されている光ディスクドライブが一覧表示される。これにより、複数の光ディスクドライブを接続しているコンピュータ上で光ディスク確認ダイアログの表示を行った場合に、どの光ディスクドライブを用いるかを選択できる。検索開始ボタン８０３をクリックすると、光ディスクドライブ選択リスト８０２で指定された光ディスクドライブに挿入された光ディスクの検索を開始する。
【００７７】
図９は、更新プログラムの動作内におけるソフトウェアとコンポーネントのインストール処理を示すフローチャートである。
【００７８】
図９において、図６のステップＳ６０９に示したインストール実行部１０５の処理の詳細を説明する。最初に、ステップＳ９０１で、ＣＰＵは、利用者にインストールを実行する地域を選択させるための地域確認ダイアログ画面をディスプレイ２０２に表示する。利用者により選択された地域は、これ以降のインストール実行部１０５の処理で使用される。
【００７９】
次に、ステップＳ９０２で、インストール実行部１０５は、インストールされる可能性のあるソフトウェア及びコンポーネントの一覧を取得する。具体的には、制御用データ１０１からセクション名の一覧を取得する。次に、ステップＳ９０３で、インストール実行部１０５は、制御用データ１０１に記載されているソフトウェア及びコンポーネントの全てについて処理が終了したかどうかを確認する。全ての処理が終了している場合は、インストール処理全体を終了する。全ての処理が終了していない場合は、ステップＳ９０４に進む。
【００８０】
ステップＳ９０４では、インストール実行部１０５は、現在処理の対象となっているソフトウェアまたはコンポーネントについて図６の処理で取り出し部１０４により更新プログラムからＨＤＤ２０４に取り出されているかどうかを確認する。現在処理の対象となっているソフトウェアまたはコンポーネントが取り出されていない場合は、ステップＳ９０３に戻り、次のソフトウェアまたはコンポーネントの処理を続ける。現在処理の対象となっているソフトウェアまたはコンポーネントが取り出されている場合は、ステップＳ９０５に進む。
【００８１】
ステップＳ９０５では、インストール実行部１０５は、当該ソフトウェアまたはコンポーネントに地域限定情報が付加されているかどうかを確認する。地域限定情報が付加されていない場合は、ステップＳ９０７からのソフトウェアまたはコンポーネントの更新処理に進む。地域限定情報が付加されている場合は、ステップＳ９０６で、インストール実行部１０５は、最初のステップＳ９０１で選択された地域で当該ソフトウェアまたはコンポーネントが利用できるかどうかを確認する。
【００８２】
当該ソフトウェアまたはコンポーネントが利用できない場合は、ステップＳ９０３に戻り、次のソフトウェアまたはコンポーネントの処理を続ける。当該ソフトウェアまたはコンポーネントが利用できる場合は、ステップＳ９０７に進む。
【００８３】
ステップＳ９０７からはソフトウェアまたはコンポーネントの更新処理を行う。まず、ステップＳ９０７で、インストール実行部１０５は、現在処理を行っているソフトウェアまたはコンポーネントがコンピュータ上にインストールされているかどうかを検出する。インストール実行部１０５は、この処理を、制御用データ１０１に記載されているSearchRegistryデータ行を用いて行う。
【００８４】
ソフトウェアが検出されない場合は、ステップＳ９１１に進む。ソフトウェアが検出された場合は、ステップＳ９０８で、インストール実行部１０５は、インストールされていることが検出されたソフトウェアのバージョン情報を取得する。次に、ステップＳ９０９で、インストール実行部１０５は、インストールされているソフトウェアのバージョンと、図６の処理において取り出し部１０４によりＨＤＤ２０４に取り出されているソフトウェアのバージョンとを比較する。
【００８５】
インストールされているソフトウェアのバージョンが、取り出したソフトウェアのバージョンと同一であるか、取り出したソフトウェアより新しい場合は、何も行わずにステップＳ９０３に戻り、次のソフトウェアまたはコンポーネントの処理を続ける。取り出したソフトウェアの方が新しい場合は、ステップＳ９１０で、インストール実行部１０５は、インストールされているソフトウェアのアンインストールを行った後、ステップＳ９１１に進む。
【００８６】
ステップＳ９１１では、インストール実行部１０５は、取り出したソフトウェアのインストール処理を行った後、ステップＳ９０３に戻り、次のソフトウェアまたはコンポーネントの処理を続ける。
【００８７】
図１０は、ソフトウェアとコンポーネントのインストール処理中に表示される地域選択ダイアログ画面の表示例を示す図である。
【００８８】
図１０において、クライアント２０のコンピュータ２０１のディスプレイ２０２には、図９のステップＳ９０１で地域選択ダイアログ画面が表示される。地域選択ダイアログ画面は、地域リスト１００１、ＯＫボタン１００２を有する。本例では、地域選択ダイアログ画面にメッセージ「お住まいの地域を選んでください。」が表示されている。
【００８９】
利用者は地域リスト１００１に表示されている地域（日本、アメリカ、ヨーロッパ、アジア、オセアニア）から１つの項目を選択した後、ＯＫボタン１００２をクリックする。これにより、選択した地域をインストール実行部１０５に伝えることができる。
【００９０】
次に、本実施の形態の更新プログラム２５を用いて図６の処理を行うことで、光ディスク２３に格納された基本ソフトウェア及びコンポーネントをインストールしたコンピュータ２０１の環境を更新する場合の動作を説明する。
【００９１】
光ディスク２３からは、基本ソフトウェア３０１とインターネットコンポーネント３０２がコンピュータ２０１にインストールされる。そのため、図６のステップＳ６０２で基本ソフトウェアの存在が検出され、ステップＳ６０４で更新プログラム２５から基本ソフトウェアインストール用データ１０６が取り出される。
【００９２】
続いて、ステップＳ６０５からの処理では、最初に、インターネットコンポーネントの存在を検出する。光ディスク２３からのインストール後にはインターネットコンポーネントが検出されるため、ステップＳ６０８でインターネットコンポーネントインストール用データ１０７が取り出される。
【００９３】
続いて、印刷コンポーネントの存在を検出するが、光ディスク２３からのインストール後には検出されないため、図８の光ディスク確認ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。ここで、利用者が光ディスク２３を光ディスクドライブに挿入したまま光ディスク確認ダイアログ画面の検索開始ボタン８０３をクリックすると、以下のようになる。
【００９４】
光ディスク２３には印刷コンポーネントが含まれないため、印刷コンポーネントインストール用データ１０８は取り出されない。結果として、基本ソフトウェアインストール用データ１０６と、インターネットコンポーネントインストール用データ１０７が取り出された状態で、ステップＳ６０９のインストール処理が行われる。
【００９５】
図９で説明したインストール処理においては、まず図１０の地域選択ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。その後、制御用データ１０１に記載されている基本ソフトウェア、インターネットコンポーネント、印刷コンポーネントの３つについて、図９のステップＳ９０３からＳ９１１までの処理が行われる。
【００９６】
最初に、基本ソフトウェアについては図６の処理で取り出されているため、ステップＳ９０５に進む。基本ソフトウェアは地域限定でないため、そのままステップＳ９０７に進む。ステップＳ９０７で、基本ソフトウェア３０１が既にインストールされているのが検出される。そのため、ステップＳ９０８及びステップＳ９０９で、基本ソフトウェア３０１と、更新プログラム２５から取り出された基本ソフトウェアインストール用データ１０６とのバージョン比較を行う。
【００９７】
最初に説明した通り、光ディスク２３に格納されている基本ソフトウェア３０１は最新バージョンより古いものであり、更新プログラム２５に含まれている基本ソフトウェアインストール用データ１０６は最新バージョンである。そのため、ステップＳ９１０で古いバージョンの基本ソフトウェア３０１をアンインストールした後、基本ソフトウェアインストール用データ１０６を使って最新バージョンをインストールする。結果として、基本ソフトウェアは最新バージョンに更新される。
【００９８】
同様に、インターネットコンポーネントについても処理が行われる。インターネットコンポーネントインストール用データ１０７には、上述したようにアメリカ地域限定情報１０９と日本地域限定情報１１０が付加されている。そのため、ステップＳ９０６では、図１０の地域選択ダイアログ画面上で選択された地域と一致しているかどうかが確認される。つまり、インストールされているインターネットコンポーネント３０２は、図１０の地域選択ダイアログ画面上で日本またはアメリカを選択した場合のみ、インターネットコンポーネントインストール用データ１０７を使って更新される。
【００９９】
これまでは、光ディスク２３に格納された基本ソフトウェア及びコンポーネントをインストールした後での更新プログラム２５の例を説明してきたが、他の例についても説明する。
【０１００】
例えば、利用者が光ディスク２４を持っており、インストールを行っていない状況で更新プログラム２５を実行した場合は、以下のようになる。基本ソフトウェア、インターネットコンポーネント、印刷コンポーネント、それぞれの検出処理で、図８の光ディスク確認ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。
【０１０１】
ここで、光ディスク２４を光ディスクドライブに挿入して光ディスク確認ダイアログ画面の検索開始ボタン８０３をクリックすると、以下のようになる。更新プログラム２５から基本ソフトウェアインストール用データ１０６と印刷コンポーネントインストール用データ１０８が取り出され、更新される。
【０１０２】
また、光ディスク２３と光ディスク２４の両方の基本ソフトウェア及びコンポーネントをインストールした状態では、以下のようになる。基本ソフトウェアインストール用データ１０６、インターネットコンポーネントインストール用データ１０７、及び、印刷コンポーネントインストール用データ１０８が取り出され、更新される。
【０１０３】
以上説明したように、本実施の形態によれば、コンポーネントの追加や削除が可能なソフトウェアを更新する際において以下の効果を奏する。
【０１０４】
コンポーネントの組み合わせに関わらず、及び、ソフトウェア更新が実行された環境においてコンポーネントがインストールされているか否かに関わらず、単一の更新プログラムによりソフトウェアの更新が可能となる。
【０１０５】
また、異なる組み合わせのコンポーネントを複数の記録媒体により所有している利用者であっても、単一の更新プログラムによりソフトウェアの更新が可能となる。
【０１０６】
また、取り出したコンポーネントであっても、利用者の選択によっては更新しないことも可能となる。
【０１０７】
［第２の実施の形態］
本発明の第２の実施の形態は、上記第１の実施の形態に対して、更新プログラムが図１１に示す構成を有する点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図２、図３、図４）の対応するものと同一なので、説明を省略する。
【０１０８】
図１１は、本実施の形態に係る更新プログラムの構成を示すブロック図である。
【０１０９】
図１１において、更新プログラム１１００は、制御用データ１１０１、インストール検出部１１０２、媒体検出部１１０３、取り出し部１１０４、インストール実行部１１０５、を備えている。更に、更新プログラム１１００は、基本ソフトウェアインストール用データ１１０６、インターネットコンポーネントインストール用データ１１０７、印刷コンポーネントインストール用データ１１０８を備えている。
【０１１０】
制御用データ１１０１は、更新プログラム１１００の動作を制御するためのデータである。インストール検出部１１０２は、ＨＤＤ１１２０に記録されているデータから、特定のソフトウェアまたはコンポーネントがインストールされているかを検出する。媒体検出部１１０３は、光ディスクドライブ１１３０に挿入された光ディスク１１４０に、特定のソフトウェアまたはコンポーネントが含まれているかを検出する。
【０１１１】
取り出し部１１０４は、指定されたソフトウェアまたはコンポーネントを更新プログラム１１００から取り出し、ＨＤＤ１１２０に記録する。インストール実行部１１０５は、取り出し部１１０４により更新プログラム１１００から取り出されたソフトウェアまたはコンポーネントを使用してインストールを実行する。
【０１１２】
基本ソフトウェアインストール用データ１１０６は、最新バージョンの基本ソフトウェアをインストールするためのデータである。インターネットコンポーネントインストール用データ１１０７は、インターネットコンポーネントをインストールするためのデータである。印刷コンポーネントインストール用データ１１０８は、印刷コンポーネントをインストールするためのデータである。各インストール用データは、光ディスク２３、光ディスク２４に格納されている基本ソフトウェア、インターネットコンポーネント、印刷コンポーネントより新しいバージョンである。
【０１１３】
また、各インストール用データには、ソフトウェア或いはコンポーネントのインストールを実行可能な地域を限定するための地域限定情報を付加することができる。本実施の形態では、インターネットコンポーネントインストール用データ１１０７に、アメリカ地域限定情報１１０９、日本地域限定情報１１１０が付加されている。
【０１１４】
更新プログラム１１００全体は暗号化されている。これは、利用者が、基本ソフトウェアインストール用データ１１０６、インターネットコンポーネントインストール用データ１１０７、印刷コンポーネントインストール用データ１１０８を勝手に取り出すことができないようにするためである。
【０１１５】
また、更新プログラム１１００は、上記第１の実施の形態の更新プログラム２５と異なる構成として、検出再試行部１１１１を備えている。検出再試行部１１１１は、特定のソフトウェアまたはコンポーネントが検出されなかったときに、再度別の方法で検出を行うためのものであり、媒体検出部１１０３の一部として含まれる。検出再試行部１１１１は、記録媒体（本実施の形態では光ディスク）上のソフトウェアが見つからなかった場合のみに有効な構成となっている。
【０１１６】
本実施の形態は以下の特徴を有する。媒体検出部１１０３が、指定された光ディスクに指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、ＣＰＵは、利用者に対して規定の質問を行う画面をディスプレイ２０２に表示する。利用者により画面上で前記質問に対する回答が入力されると、媒体検出部１１０３は、前記質問に対する回答に応じて媒体検出部１１０３の出力結果を変更する。
【０１１７】
また、媒体検出部１１０３は、指定された光ディスクに指定されたソフトウェア或いはコンポーネントが含まれていないことを検出した場合、以下の処理を行う。媒体検出部１１０３は、指定された光ディスクに代替となる別のソフトウェア或いはコンポーネントが含まれているか否かを検出し、その検出結果に応じて媒体検出部１１０３の出力結果を変更する。
【０１１８】
また、インストール検出部１１０２は、指定されたソフトウェア或いはコンポーネントがインストールされていないことを検出した場合、以下の処理を行う。インストール検出部１１０２は、代替となる別のソフトウェア或いはコンポーネントのインストールの有無を検出し、その検出結果に応じてインストール検出部１１０２の出力結果を変更する。上述した出力結果の変更とは、後述するように、検出されなかったことにする設定、等を挙げることができる。
【０１１９】
図１２は、更新プログラム１１００の内部に含まれる制御用データ１１０１の例を示す図である。
【０１２０】
図１２において、本実施の形態では、上記第１の実施の形態の制御用データ１０１と比較して説明する。本実施の形態でも、制御用データ１１０１の内容はテキストファイルとなっている。テキストファイルは、制御用データをセクションごとに分離するためのセクションタイトル行、制御用データの名前と値を記載するためのデータ行から構成されているのも共通である。
【０１２１】
制御用データ１１０１には、１行目の［SoftwareA］、７行目の［ComponentA1］、１２行目の［ComponentA2］の３行によって分離された、３つのセクション１２０１、１２０２、１２０３が存在する。各セクションは、それぞれ、基本ソフトウェア、インターネットコンポーネント、印刷コンポーネントに対する、更新プログラム１１００の動作を指示している。それぞれのセクションは、以下の行から構成される。インストール検出部１１０２が使用するためのSearchRegistryデータ行。媒体検出部１１０３が使用するためのSearchFileデータ行。取り出し部１１０４が使用するためのExtractFolderデータ行。検出再試行部１１１１が使用するためのNotExist行。
【０１２２】
図１３は、更新プログラム１１００の全体動作を示すフローチャートである。
【０１２３】
図１３に示す更新プログラム１１００の全体動作は、上記第１の実施の形態の図６に示した更新プログラム２５の全体動作と同一であるため、説明は省略する。ただし、図１３のステップＳ１３０２及びステップＳ１３０６の基本ソフトウェア及びコンポーネントの存在有無の検出処理が、上記第１の実施の形態の図７の検出処理と異なるため、図１４に基づき説明する。
【０１２４】
図１４は、更新プログラム１１００の動作におけるソフトウェアとコンポーネントの存在有無の検出処理を示すフローチャートである。
【０１２５】
図１４において、最初に、ステップＳ１４０１からのインストール検出部１１０２によるインストール検出処理を行う。ステップＳ１４０１で、インストール検出部１１０２は、指定されたソフトウェアまたはコンポーネントの存在を示すレジストリキーの名称を取得する。具体的には、制御用データ１１０１から、指定されたソフトウェアまたはコンポーネントのセクションのSearchRegistryデータ行の内容を取得する。
【０１２６】
次に、ステップＳ１４０２で、インストール検出部１１０２は、上記取得したレジストリキーが存在するかどうかを確認する。ステップＳ１４０３では、ステップＳ１４０２での確認の結果に基づきレジストリキーが存在している場合は、指定されたソフトウェアまたはコンポーネントが存在したとして、検出処理を終了する。レジストリキーが存在していない場合は、ステップＳ１４０４からの媒体検出部１１０３による媒体検出処理に進む。
【０１２７】
ステップＳ１４０４では、媒体検出部１１０３は、指定されたソフトウェアまたはコンポーネントの存在を示す、記録媒体（本実施の形態では光ディスク）上でのファイル名を取得する。具体的には、制御用データ１１０１から、指定されたソフトウェアまたはコンポーネントのセクションのSearchFileデータ行の内容を取得する。次に、ステップＳ１４０５で、ＣＰＵは、インストールのための光ディスクを確認するための光ディスク確認ダイアログ画面をコンピュータ２０１のディスプレイ２０２に表示し、利用者に光ディスクドライブに対する光ディスクの挿入を求める。利用者により光ディスクドライブに光ディスクが挿入された場合は、ステップＳ１４０６に進む。
【０１２８】
ステップＳ１４０６では、媒体検出部１１０３は、光ディスクドライブに挿入された光ディスクに、ステップＳ１４０４で取得したファイル名のファイルが存在するかどうかを確認する。ステップＳ１４０７では、ステップＳ１４０６での確認の結果に基づきファイルが存在している場合は、指定されたソフトウェアまたはコンポーネントが存在したとして、検出処理を終了する。ファイルが存在しない場合は、指定されたソフトウェアまたはコンポーネントが存在しなかったとして、ステップＳ１４０８からの検出再試行部１１１１による検出再試行処理を行う。
【０１２９】
ステップＳ１４０８では、検出再試行部１１１１は、指定されたソフトウェアまたはコンポーネントが検出されなかった場合に、どのような処理を行うかを示す情報を取得する。具体的には、制御用データ１１０１から、指定されたソフトウェアまたはコンポーネントのセクションのNotExistデータ行の内容を取得する。次に、ステップＳ１４０９で、検出再試行部１１１１は、NotExistデータ行の内容によって以降の処理を分岐する。
【０１３０】
NotExistデータ行が「Check:xxxx」という値であった場合は、検出再試行部１１１１は、xxxxとして指定された別のソフトウェアについて、図１３で示されているソフトウェアの存在有無の検出を行う。そして、その検出結果を、現在検出を行っているソフトウェアまたはコンポーネントの検出結果として使用する。
【０１３１】
NotExistデータ行が、「Error」という値であった場合は、検出再試行部１１１１は、指定されたソフトウェアまたはコンポーネントは検出されなかったとして、本処理を終了する。
【０１３２】
NotExistデータ行が、「Confirm」という値であった場合は、ステップＳ１４１０で、ＣＰＵは、利用者に対して問い合わせを行うための有確認ダイアログ画面（図１５）をコンピュータ２０１のディスプレイ２０２に表示する。
【０１３３】
次に、ステップＳ１４１１で、検出再試行部１１１１は、確認ダイアログ画面に対する利用者の入力を判定する。確認ダイアログ画面で「はい」（Ｙｅｓボタン１５０１）が入力された場合は、指定されたソフトウェアまたはコンポーネントが存在したとして、検出処理を終了する。「いいえ」（Ｎｏボタン１５０２）が入力された場合は、指定されたソフトウェアまたはコンポーネントが存在しなかったとして、検出処理を終了する。
【０１３４】
図１５は、ソフトウェアとコンポーネントの存在有無検出処理中に表示される確認ダイアログ画面の表示例を示す図である。
【０１３５】
図１５において、確認ダイアログ画面は、Ｙｅｓボタン１５０１、Ｎｏボタン１５０２を有する。本例では、確認ダイアログ画面にメッセージ「デジタルカメラをお持ちですか？」が表示されている。利用者はＹｅｓボタン１５０１とＮｏボタン１５０２のいずれかのボタンをクリックする。これにより、選択した情報を検出再試行部１１１１に対して伝えることができる。
【０１３６】
なお、本実施の形態では、確認ダイアログ画面の表示内容は、予め決められた内容に固定されているが、これに限定されるものではない。制御用データ１１０１に確認ダイアログ画面の表示内容を記載しておくなどして、ソフトウェアまたはコンポーネントごとに異なる確認ダイアログ画面を表示することも可能である。
【０１３７】
また、本実施の形態では、検出再試行部１１１１は、媒体検出部１１０３の一部として構成し、記録媒体（本実施の形態では光ディスク）上のソフトウェアが見つからなかった場合のみに有効な構成としているが、これに限定されるものではない。例えば、検出再試行部１１１１をインストール検出部１１０２の一部として構成し、検出再試行部１１１１の選択肢の一つとして、媒体検出部１１０３による記録媒体の検出を行う選択肢を提供する構成とすることも可能である。
【０１３８】
ここで、例えば、指定されたソフトウェア或いはコンポーネントがインストール検出部１１０２で検出されなかった場合は、以下のような構成となる。ソフトウェア或いはコンポーネントごとに、媒体検出部１１０３による記録媒体の検出を行うか、他のソフトウェアの検出結果を代わりに用いるか、問い合わせダイアログを表示するか、検出されなかったことにするかを設定できるような構成となる。
【０１３９】
次に、本実施の形態の更新プログラム１１００を用いて図１３の処理を行うことで、光ディスク２３に格納された基本ソフトウェア及びコンポーネントをインストールしたコンピュータ２０１の環境を更新する場合の動作を説明する。
【０１４０】
光ディスク２３からは、基本ソフトウェア３０１とインターネットコンポーネント３０２がコンピュータ２０１にインストールされる。そのため、図１３のステップＳ１３０２で基本ソフトウェアの存在が検出され、ステップＳ１３０４で更新プログラム１１００から基本ソフトウェアインストール用データ１１０６が取り出される。
【０１４１】
続いて、ステップＳ１３０５からの処理では、最初にインターネットコンポーネントの存在を検出する。光ディスク２３からのインストール後には、インターネットコンポーネントが検出されるため、ステップＳ１３０８でインターネットコンポーネントインストール用データ１１０７が取り出される。
【０１４２】
続いて、印刷コンポーネントの存在を検出するが、光ディスク２３からのインストール後には検出されないため、図８の光ディスク確認ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。ここで、利用者が光ディスク２３を光ディスクドライブに挿入したまま光ディスク確認ダイアログ画面の検索開始ボタン８０３をクリックすると、以下のようになる。光ディスク２３には印刷コンポーネントが含まれないため、ステップＳ１４０８からの検出再試行部１１１１の処理が行われる。
【０１４３】
制御用データのNotExistデータ行には、「Confirm」のデータが含まれるため、図１５の確認ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。利用者が確認ダイアログ画面でＮｏボタン１５０２をクリックした場合、印刷コンポーネントインストール用データ１１０８は取り出されない。結果として、基本ソフトウェアインストール用データ１１０６と、インターネットコンポーネントインストール用データ１１０７が取り出された状態で、ステップＳ１３０９のインストール処理が行われる。以降は、上記第１の実施の形態におけるインストール処理と同様である。
【０１４４】
これまでは、光ディスク２３に格納された基本ソフトウェア及びコンポーネントをインストールした後での更新プログラム１１００の例を説明してきたが、他の例についても説明する。
【０１４５】
例えば、利用者が光ディスク２４を持っており、インストールを行っていない状況で更新プログラム２５を実行した場合は、以下のようになる。基本ソフトウェア、インターネットコンポーネント、印刷コンポーネント、それぞれの検出処理で、図８の光ディスク確認ダイアログ画面がコンピュータ２０１のディスプレイ２０２に表示される。
【０１４６】
ここで、光ディスク２４を光ディスクドライブに挿入して光ディスク確認ダイアログ画面の検索開始ボタン８０３をクリックすると、以下のようになる。更新プログラム１１００から、基本ソフトウェアインストール用データ１１０６と印刷コンポーネントインストール用データ１１０８が取り出される。
【０１４７】
また、インターネットコンポーネントに関しては、制御用データ１１０１のNotExist行には、「Check:SoftwareA」と記載されているため、検出再試行部１１１１では、基本ソフトウェアの存在チェックの結果を取得する。そして、その結果を、インターネットコンポーネントの存在チェックの結果として使用する。その結果、更新プログラム１１００からは、インターネットコンポーネントソフトウェアインストール用データ１１０７も取り出され、インストール処理が行われる。
【０１４８】
以上説明したように、本実施の形態によれば、コンポーネントの追加や削除が可能なソフトウェアを更新する際において以下の効果を奏する。
【０１４９】
記録媒体に所定のコンポーネントが存在しない場合でも、利用者の入力によってそのコンポーネントのインストールが可能となる。
【０１５０】
また、記録媒体に所定のコンポーネントが存在しない場合でも、他のコンポーネントを代替として使用することが可能となる。
【０１５１】
［他の実施の形態］
上記第１及び第２の実施の形態では、ソフトウェアやコンポーネントを格納する記録媒体として光ディスクを例に挙げたが、本発明は、これに限定されるものではなく、光ディスク以外の各種の記録媒体にも適用することが可能である。
【０１５２】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【０１５３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５４】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１５５】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５６】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【０１５７】
【図１】本発明の第１の実施の形態に係る更新プログラムの構成を示すブロック図である。
【図２】クライアントとサーバをネットワーク接続したネットワークシステムの構成を示すブロック図である。
【図３】光ディスク２３のソフトウェア構成例を示すブロック図である。
【図４】光ディスク２４のソフトウェア構成例を示すブロック図である。
【図５】更新プログラムの内部に含まれる制御用データの例を示す図である。
【図６】更新プログラムの全体動作を示すフローチャートである。
【図７】更新プログラムの動作内におけるソフトウェアとコンポーネントの存在有無の検出処理を示すフローチャートである。
【図８】ソフトウェアとコンポーネントの存在有無の検出処理中に表示される光ディスク確認ダイアログ画面の表示例を示す図である。
【図９】更新プログラムの動作内におけるソフトウェアとコンポーネントのインストール処理を示すフローチャートである。
【図１０】ソフトウェアとコンポーネントのインストール処理中に表示される地域選択ダイアログ画面の表示例を示す図である。
【図１１】本発明の第２の実施の形態に係る更新プログラムの構成を示すブロック図である。
【図１２】更新プログラムの内部に含まれる制御用データの例を示す図である。
【図１３】更新プログラムの全体動作を示すフローチャートである。
【図１４】更新プログラムの動作におけるソフトウェアとコンポーネントの存在有無の検出を行う処理を示すフローチャートである。
【図１５】ソフトウェアとコンポーネントの存在有無検出処理中に表示される確認ダイアログ画面の表示例を示す図である。
【符号の説明】
【０１５８】
２５、１１００  更新プログラム
１０１、１１０１  制御用データ
１０２、１１０２  インストール検出部
１０３、１１０３  媒体検出部
１０４、１１０４  取り出し部
１０５、１１０５  インストール実行部
１０６、１１０６  基本ソフトウェアインストール用データ
１０７、１１０７  インターネットコンポーネントインストール用データ
１０８、１１０８  印刷コンポーネントインストール用データ
１１１１  検出再試行部
【図１】
2008204291.tif 000003
【図２】
2008204291.tif 000004
【図３】
2008204291.tif 000005
【図４】
2008204291.tif 000006
【図５】
2008204291.tif 000007
【図６】
2008204291.tif 000008
【図７】
2008204291.tif 000009
【図８】
2008204291.tif 000010
【図９】
2008204291.tif 000011
【図１０】
2008204291.tif 000012
【図１１】
2008204291.tif 000013
【図１２】
2008204291.tif 000014
【図１３】
2008204291.tif 000015
【図１４】
2008204291.tif 000016
【図１５】
2008204291.tif 000017