(57)【特許請求の範囲】
【請求項１】
１つのパッケージに含まれる１以上のプログラムを、該パッケージ単位で記憶装置にインストールし、該各プログラムは該各プログラムが含まれるパッケージ情報と該各プログラムのバージョン情報とを含む情報処理装置であって、
前記記憶装置にインストール済みである各プログラムに関して、該各プログラムが含まれていたパッケージ情報と該各プログラムのバーション情報とを関連付けて保持する従属情報保持手段と、
前記記憶装置にインストールしようとする一の前記プログラムがインストール済みである場合、インストール済みである該一のプログラムに関するバージョン情報と該インストールしようとする一のプログラムに関するバージョン情報とを比較するバージョン比較手段と、
前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関するバージョン情報の方が下位である場合、該インストールしようとする一のプログラムが、該インストールしようとする一のプログラムが含まれているパッケージ以外のパッケージに従属するか否かを判定する従属判定手段と、
前記従属判定手段による判定の結果、従属しないと判定された場合、該インストールしようとする一のプログラムを、前記記憶装置にインストールするインストール手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記従属判定手段による判定の結果、従属すると判定された場合、
前記バージョン比較手段は、前記インストール済みである前記一のプログラムに関するバージョン情報であって、前記インストールしようとする一のプログラムと異なるパッケージ情報と関連付けられて保持されるバージョン情報と、該インストールしようとする一のプログラムに関するバージョン情報とを比較し、
前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関する前記バージョン情報の方が上位である場合、
前記インストール手段は、前記インストールしようとする一のプログラムを、前記記憶装置にインストールすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関する前記バージョン情報の方が下位である場合、
前記インストール手段は、前記インストールしようとする一のプログラムを、前記記憶装置にインストールしないことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記インストールしようとする一のプログラムに関する前記バージョン情報を用いて、前記従属情報保持手段により保持される該一のプログラムに関する前記バージョン情報であって、該インストールしようとする一のプログラムと同一のパッケージ情報に関連付けられたバージョン情報を更新する従属情報更新手段を有することを特徴とする請求項１乃至３の何れか一に記載の情報処理装置。
【請求項５】
１つのパッケージに含まれる１以上のプログラムを、該パッケージ単位で記憶装置にインストールし、該各プログラムは該各プログラムが含まれるパッケージ情報と該各プログラムのバージョン情報とを含み、該記憶装置にインストール済みである各プログラムに関して、該各プログラムが含まれていたパッケージ情報と該各プログラムのバーション情報とを関連付けて保持する従属情報保持手段を備える情報処理装置における情報処理方法であって、
バージョン比較手段が、前記記憶装置にインストールしようとする一の前記プログラムがインストール済みである場合、インストール済みである該一のプログラムに関するバージョン情報と該インストールしようとする一のプログラムに関するバージョン情報とを比較するステップと、
従属判定手段が、前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関するバージョン情報の方が下位である場合、該インストールしようとする一のプログラムが、該インストールしようとする一のプログラムが含まれているパッケージ以外のパッケージに従属するか否かを判定するステップと、
インストール手段が、前記従属判定手段による判定の結果、従属しないと判定された場合、該インストールしようとする一のプログラムを、前記記憶装置にインストールするステップと、を含む情報処理方法。
【請求項６】
前記従属判定手段による判定の結果、従属すると判定された場合、
前記バージョン比較手段は、前記インストール済みである前記一のプログラムに関するバージョン情報であって、前記インストールしようとする一のプログラムと異なるパッケージ情報と関連付けられて保持されるバージョン情報と、該インストールしようとする一のプログラムに関するバージョン情報とを比較し、
前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関する前記バージョン情報の方が上位である場合、
前記インストール手段は、前記インストールしようとする一のプログラムを、前記記憶装置にインストールすることを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記バージョン比較手段による比較の結果、前記インストールしようとする一のプログラムに関する前記バージョン情報の方が下位である場合、
前記インストール手段は、前記インストールしようとする一のプログラムを、前記記憶装置にインストールしないことを特徴とする請求項６に記載の情報処理方法。
【請求項８】
従属情報更新手段が、前記インストールしようとする一のプログラムに関する前記バージョン情報を用いて、前記従属情報保持手段により保持される該一のプログラムに関する前記バージョン情報であって、該インストールしようとする一のプログラムと同一のパッケージ情報に関連付けられたバージョン情報を更新するステップをさらに含むことを特徴とする請求項５乃至７の何れか一に記載の情報処理方法。
【請求項９】
コンピュータに、請求項５乃至８の何れか一に記載の情報処理方法を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムをインストールする技術に関する。
【背景技術】
【０００２】
プログラムを実行して種々の機能を実現する情報処理装置では、インストールするプログラムの増減に応じて機能を増減させることができ、ユーザは情報処理装置を購入した後でも、必要な機能を提供するプログラムを購入してインストールすることで、その機能を利用できるようになる。
【０００３】
一方、バージョンアップしたプログラムに問題があった場合でも、元の構成に戻す目的で、過去にダウンロードされたプログラムも記憶媒体に蓄積しておき、ダウングレード時には現バージョンを無効化し、過去バージョンを有効化する構成が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術では、１つのパッケージに含まれる１以上のプログラムコンポーネントをパッケージ単位で記憶装置にインストール（更新）する情報処理装置において、複数のパッケージで共有されるプログラムコンポーネントを含むパッケージの場合、バージョンダウンを安全に実施することができないという問題点がある。
【０００５】
そこで、本発明では、１つのパッケージに含まれる１以上のプログラムコンポーネントをパッケージ単位で記憶装置にインストール（更新）する情報処理装置において、複数のパッケージで共有されるプログラムコンポーネントを含むパッケージの場合、バージョンダウン（ダウングレード）を安全に実施する情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
開示の情報処理装置の一形態は、機器にインストールされるプログラムコンポーネント毎に、自身がどのパッケージに属していたかを機器に保持しておき、パッケージのダウングレード時に、それぞれのプログラムコンポーネントをダウングレードする前に、そのプログラムコンポーネントが他のパッケージにも従属している場合は、ダウングレードバージョンが他のパッケージに内包されていたバージョン以上かどうかをチェックし、その条件を満たさない場合は、バージョンダウンを抑制する。
【発明の効果】
【０００７】
開示の情報処理装置は、１つのパッケージに含まれる１以上のプログラムコンポーネントをパッケージ単位で記憶装置にインストール（更新）する情報処理装置において、複数のパッケージで共有されるプログラムコンポーネントを含むパッケージの場合、バージョンダウン（ダウングレード）を安全に実施することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る情報処理装置１００のハードウェア構成について簡単に説明する。
【図２】本実施形態に係る情報処理装置１００の一実施形態の主要機能を示す機能ブロック図である。
【図３】２つの販売パッケージの構成例を示す。
【図４】販売パッケージを単体で機器にインストールした際、機器に保存する機能パッケージ毎の従属情報を示す。
【図５】本実施の形態に係る情報処理装置１００における販売パッケージのインストール、更新処理の流れを示すフローチャートである。
【図６】販売ＰＫＧ＿Ａ（ver1.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合の処理と従属情報を示す。
【図７】販売ＰＫＧ＿Ａ（ver1.00）及び販売ＰＫＧ＿Ｂ（ver1.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ａ（ver2.00）をインストールした場合の処理と従属情報を示す。
【図８】販売ＰＫＧ＿Ａ（ver2.00）及び販売ＰＫＧ＿Ｂ（ver1.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ｂ（ver2.00）をインストールした場合の処理と従属情報を示す。
【図９】販売ＰＫＧ＿Ａ（ver2.00）と販売ＰＫＧ＿Ｂ（ver2.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合の処理と従属情報を示す。
【図１０】図９で示した機器に対して、販売ＰＫＧ＿Ａ（ver1.00）をインストールした場合の処理と従属情報を示す。
【発明を実施するための形態】
【０００９】
図面を参照しながら、本発明を実施するための最良の形態について説明する。はじめに、本実施の形態において使用する言葉の定義を説明する。販売パッケージとは、ある機能を実現するために複数の機能パッケージをまとめたものであり、例えば、コピーアプリ販売パッケージ、プリンタアプリ販売パッケージ、ＦＡＸアプリ販売パッケージなどである。また、機能パッケージとは、機器内で動作するプログラムの最小単位（プラグインコンポーネント）であり、例えば、印刷制御機能パッケージ、スキャナ制御機能パッケージ、各種ＵＩ（User Interface）機能パッケージなどである。
【００１０】
ユーザが意識するソフトウェア単位は、販売パッケージとなり、インストール、更新、アンインストールといった操作は販売パッケージ単位で行われ、ユーザが望む環境に応じて販売パッケージのインストール、更新（バージョンアップ及びバージョンダウン）、アンインストールが行われる。
【００１１】
機能パッケージは、必ず何れかの販売パッケージに従属されて、機器にインストールされる。従属する販売パッケージは複数存在する場合もある。例えば、印刷制御のような機能パッケージは、コピー、プリンタ、ＦＡＸといった印刷動作を伴う販売パッケージのそれぞれに含まれる。
【００１２】
（ハードウェア）
ここで、本実施形態に係る情報処理装置１００のハードウェア構成について簡単に説明する。図１は、情報処理装置１００の一実施形態の主要構成を示すハードウェア構成図である。情報処理装置１００は、主要な構成として、ＣＰＵ１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、補助記憶装置１０４、記憶媒体読取装置１０５、入力装置１０６、表示装置１０７、及び通信装置１０８を含む構成である。
【００１３】
ＣＰＵ１０１は、マイクロプロセッサ及びその周辺回路から構成され、装置全体を制御する回路である。また、ＲＯＭ１０２は、ＣＰＵ１０１で実行される所定の制御プログラム（ソフトウェア部品）を格納するメモリであり、ＲＡＭ１０３は、ＣＰＵ１０１がＲＯＭ１０２や補助記憶装置１０４に格納された所定のプログラムを実行して各種の制御を行うときの作業エリア（ワーク領域）として使用するメモリである。
【００１４】
補助記憶装置１０４は、汎用のＯＳ（Operating System）、各種プログラムを含む各種情報を格納する装置であり、不揮発性の記憶装置であるＨＤＤ（Hard Disk Drive）などが用いられる。
【００１５】
記憶媒体読取装置１０５は、外部から入力された記憶媒体を読み取って、装置内にデータを入力するための読取装置である。記憶媒体（例えばＣＤや携帯型メモリ）に販売パッケージが保持されている場合、この記憶媒体読取装置１０５から情報処理装置１００に対して販売パッケージを入力できる。
【００１６】
入力装置１０６は、ユーザが各種入力操作を行うための装置である。入力装置１０６は、マウス、キーボード、表示装置１０７の表示画面上に重畳するように設けられたタッチパネルスイッチなどを含む。表示装置１０７は、各種データを表示画面に表示する装置である。例えば、ＬＣＤ(Liquid Crystal Display)、ＣＲＴ(Cathode Ray Tube)などから構成される。
【００１７】
通信装置１０８は、ネットワークを介して他の機器との通信を行う装置である。有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。
【００１８】
上述したように、ユーザが意識するソフトウェア単位は販売パッケージであるため、本実施形態において販売パッケージは、記憶媒体読取装置１０５や通信装置１０８を介して外部から装置内に入力されることになる。
【００１９】
なおまた、本発明により提供される情報処理プログラムは、予め補助記憶装置１０４に搭載されていてもよい。また、記憶媒体（例えばＣＤや携帯型メモリ）に情報処理プログラムを保持しておき、記憶媒体読取装置１０５から入力（インストール）することもできる。
【００２０】
（機能）
次に、本実施形態に係る情報処理装置１００の主要機能構成についてそれぞれ簡単に説明する。図２は、本実施形態に係る情報処理装置１００の一実施形態の主要機能を示す機能ブロック図である。情報処理装置１００は、主要な機能として、バージョン比較手段１１０、インストール手段１２０、従属判定手段１３０、従属情報更新手段１４０、従属情報保持手段１５０、記憶装置２００を含み構成される。
【００２１】
まず記憶装置２００は、インストール済みである各プログラム（機能パッケージ）や、後述する従属情報を記憶保存する。具体的に記憶装置２００は上述の補助記憶装置１０４に相当する。
【００２２】
従属情報保持手段１５０は、記憶装置２００にインストール済みである各プログラムに関して、該各プログラムが含まれていたパッケージ情報と該各プログラムのバーション情報とを関連付け、従属情報として保持する。従属情報については後述する。
【００２３】
バージョン比較手段１１０は、記憶装置２００にインストールしようとする一のプログラムがインストール済みである場合、該一のプログラムと同一のパッケージ情報と関連付けて保持され、インストール済みである該一のプログラムに関するバージョン情報と該インストールしようとする一のプログラムに関するバージョン情報とを比較する。
【００２４】
従属判定手段１３０は、インストールしようとする一のプログラムが、該インストールしようとする一のプログラムが含まれているパッケージ以外のパッケージに従属するか否か（含まれるか否か）を判定する。
【００２５】
インストール手段１２０は、インストールしようとする一のプログラムを、記憶装置２００にインストールする。
【００２６】
従属情報更新手段１４０は、インストールしようとする一のプログラムに関するバージョン情報を用いて、従属情報保持手段１５０により保持される該一のプログラムに関するバージョン情報であって、該インストールしようとする一のプログラムと同一のパッケージ情報に関連付けられたバージョン情報を更新する。
【００２７】
以上これら各機能部は、実際にはＣＰＵ１０１が本発明により提供される情報処理プログラムを実行することにより実現される。
【００２８】
以下、上記のような複数の販売パッケージで共有される機能パッケージを含む際の、各販売パッケージのインストール、更新（バージョンアップ及びバージョンダウン）、アンインストールの処理を説明する。
【００２９】
販売パッケージをインストールする際には、その販売パッケージに含まれる機能パッケージのインストール処理を行う。またこの際、機能パッケージに関する情報として、機能パッケージ毎に、属する販売パッケージ名（又は販売パッケージ識別子）とその販売パッケージに内包されていた自身のバージョン情報とを記憶する（以下、これら記憶される情報を従属情報という。）。
【００３０】
図３は、２つの販売パッケージの構成例を示す。販売パッケージ（販売ＰＫＧとも略す）は、１つ以上の機能パッケージ（機能ＰＫＧとも略す）を含み構成される。例えば図３を参照すると、販売ＰＫＧ＿Ａ（ver1.00）は、機能ＰＫＧ１（ver1.00）及び機能ＰＫＧ２（ver1.00）を含み構成され、販売ＰＫＧ＿Ｂ（ver1.00）は、機能ＰＫＧ２（ver1.00）及び機能ＰＫＧ３（ver1.00）を含み構成されている。なおここで、販売ＰＫＧ＿Ａ（ver1.00）及び販売ＰＫＧ＿Ｂ（ver1.00）のいずれの販売パッケージとも、同一の機能ＰＫＧ２（ver1.00）を含んでいるものとする。
【００３１】
図４は、販売パッケージを単体で機器にインストールした際、機器に保存する機能パッケージ毎の従属情報を示す。例えば図４を参照すると、販売ＰＫＧ＿Ａ（ver1.00）を単体で機器にインストールした場合の、またもしくは販売ＰＫＧ＿Ｂ（ver1.00）を単体で機器にインストールした場合の、機器に保存する機能パッケージ毎の従属情報が示されている。
【００３２】
販売ＰＫＧ＿Ａ（ver1.00）を参照して説明する。販売ＰＫＧ＿Ａ（ver1.00）は、機能ＰＫＧ１（ver1.00）及び機能ＰＫＧ２（ver1.00）を含み構成されており、この販売ＰＫＧ＿Ａ（ver1.00）が単体で機器にインストールされた場合、インストールされた機能パッケージ毎に、自身の機能パッケージが含まれていた販売パッケージ名と、その販売パッケージのバージョン情報とを対応付け、従属情報として保存するようになっている。
【００３３】
図５を用いて、本実施の形態に係る情報処理装置１００における販売パッケージのインストール、更新処理の詳細フローを説明する。図５は、本実施の形態に係る情報処理装置１００における販売パッケージのインストール、更新処理の流れを示すフローチャートである。
【００３４】
なお本フローチャートにおいて、ユーザによるインストール操作は、販売パッケージ単位で扱われるが、情報処理装置１００内部では、販売パッケージに含まれている機能パッケージ単位でインストールが行われる。なおまた、パッケージのインストールとは、あるパッケージを情報処理装置１００が有していない状態から、そのパッケージを情報処理装置１００が有している状態になるよう、そのパッケージを追加することを意味する。またパッケージの更新とは、あるパッケージを情報処理装置１００が既に有している状態において、あらためて情報処理装置１００に対しそのパッケージを追加することを意味する。但しこのとき、追加されたそのパッケージのバージョンが異なる場合、バージョンの上位関係に応じて、パッケージのバージョンアップ（アップグレード）や、バージョンダウン（ダウングレード）を意味する。
【００３５】
（情報処理）
情報処理装置１００が販売パッケージのインストール、更新処理を開始すると、Ｓ１０−１からＳ１０−２までの処理を、インストールしようとする販売パッケージに内包されている機能パッケージの数分だけ繰り返す。図５を参照しながら以下、このＳ１０−１からＳ１０−２までの間の個々の処理について説明していく。
【００３６】
まずＳ２０で情報処理装置１００が、これからインストールしようとする機能パッケージと同一の機能パッケージが、既に情報処理装置１００内にインストール済みか否かを判定し、インストール済みであればＳ３０へ、インストール未済であれば、Ｓ８０へ移行する。Ｓ８０に移行すると、インストール手段１２０が、当該機能パッケージを記憶装置２００にインストール（追加）する。
【００３７】
一方、これからインストールしようとする機能パッケージが情報処理装置１００内に既にインストール済みであれば、Ｓ３０でバージョン比較手段１１０が、インストールする機能パッケージのバージョンとインストール済みである機能パッケージのバージョンを比較する。インストールする機能パッケージのバージョンが上位バージョンであればＳ４０へ、インストールする機能パッケージのバージョンが下位バージョンであればＳ５０へ移行する。なおまた同一バージョンである場合には、Ｓ９０へ移行する。
【００３８】
インストールする機能パッケージのバージョンが上位バージョンである場合、Ｓ４０でインストール手段１２０が、上位バージョンである当該機能パッケージを記憶装置２００に更新（バージョンアップ）する。
【００３９】
一方、インストールする機能パッケージのバージョンが下位バージョンである場合、さらにＳ５０で従属判定手段１３０が、当該機能パッケージが他の販売パッケージに従属しているか否か（含まれるか否か）を判定する。そして従属している場合Ｓ６０へ、従属していない場合Ｓ７０へ移行する。
【００４０】
Ｓ６０でバージョン比較手段１１０が、インストールする機能パッケージのバージョンが、他の販売パッケージに内包していたバージョン(他の販売パッケージに内包されている機能パッケージのバージョン)より上位であるか否かを判定し、上位である場合Ｓ７０へ、下位である場合Ｓ９０へ移行する。
【００４１】
Ｓ７０では、インストール手段１２０が、当該機能パッケージを記憶装置２００に更新（バージョンダウン）する。そして、Ｓ９０で従属情報更新手段１４０が、インストール又は更新した機能パッケージのバージョンに基づき、従属情報を更新する。
【００４２】
（事例１）
図６には、図５で示したフローに従い、販売ＰＫＧ＿Ａ（ver1.00）がインストール済みの機器（記憶装置２００）に対して、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合の処理と従属情報を示す。なお販売ＰＫＧ＿Ａ（ver1.00）及び販売ＰＫＧ＿Ｂ（ver1.00）に含まれる機能パッケージ構成は、図３に示した通りであるものとする。
【００４３】
図３で示すように、販売ＰＫＧ＿Ａ（ver1.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合、機能ＰＫＧ２（ver1.00）については、同一バージョンである機能ＰＫＧ２（ver1.00）が既にインストール済みであるため、あらたに更新処理が行われることはなく、従属情報において、機能ＰＫＧ２（ver1.00）の属する販売ＰＫＧとして「販売ＰＫＧ＿Ｂ」が追加される。一方、機能ＰＫＧ３（ver1.00）については、ｖｅｒ１．００のインストールが行われ、従属情報において、機能ＰＫＧ３（ver1.00）の属する販売ＰＫＧとして「販売ＰＫＧ＿Ｂ」が追加される。以上、インストール後の従属情報は、図６下段の表で示すようになる。
【００４４】
（事例２）
さらに、図７には、図３で示した販売ＰＫＧ＿Ａ（ver1.00）及び販売ＰＫＧ＿Ｂ（ver1.00）がインストール済みの機器に対して、販売ＰＫＧ＿Ａ（ver2.00）をインストールした場合の処理と従属情報を示す。なおここでいうインストールとは、既に下位バージョンの販売ＰＫＧ＿Ａがインストール済みであることから、バージョンアップともいえる。
【００４５】
図７で示すように、機能ＰＫＧ１については、ｖｅｒ１．００からｖｅｒ２．００への更新（バージョンアップ）が行われるとともに、従属情報において、販売ＰＫＧ＿Ａのバージョン情報がｖｅｒ１．００からｖｅｒ２．００へ更新される。同様に、機能ＰＫＧ２についても、ｖｅｒ１．００からｖｅｒ２．００への更新（バージョンアップ）が行われるとともに、従属情報において、販売ＰＫＧ＿Ａのバージョン情報がｖｅｒ１．００からｖｅｒ２．００へ更新される。機能ＰＫＧ３については、今回、販売ＰＫＧ＿Ａ（ver2.00）に含まれていないため、インストールは行われない。以上、インストール後の従属情報は、図７下段の表で示すようになる。
【００４６】
（事例３）
また、図８には、図７で示した機器に対して、販売ＰＫＧ＿Ｂ（ver2.00）をインストールした場合の処理と従属情報を示す。ここでいうインストールとは、既に下位バージョンの販売ＰＫＧ＿Ｂがインストール済みであることから、バージョンアップともいえる。
【００４７】
図８で示すように、機能ＰＫＧ２については、同一バージョンｖｅｒ２．００がインストール済みであるため、あらたに更新処理が行われることはなく、従属情報において、機能ＰＫＧ２（ver2.00）の属する販売ＰＫＧ＿Ｂのバージョン情報がｖｅｒ１．００からｖｅｒ２．００へ更新される。機能ＰＫＧ３については、ｖｅｒ１．００からｖｅｒ２．００への更新（バージョンアップ）が行われるとともに、従属情報において、機能ＰＫＧ３のバージョン情報がｖｅｒ１．００からｖｅｒ２．００へ更新され、また機能ＰＫＧ３（ver2.00）の属する販売ＰＫＧ＿Ｂのバージョン情報がｖｅｒ１．００からｖｅｒ２．００へ更新される。以上、インストール後の従属情報は、図８下段の表で示すようになる。
【００４８】
（事例４）
次に、図９には、図５で示した処理フローに従い、販売ＰＫＧ＿Ａ（ver2.00）と販売ＰＫＧ＿Ｂ（ver2.00）がインストール済みの機器、つまり、図８で示す機器に対して、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合の処理と従属情報を示す。ここでいうインストールとは、既に上位バージョンの販売ＰＫＧ＿Ｂがインストール済みであることから、バージョンダウンともいえる。
【００４９】
機能ＰＫＧ１については、今回の販売ＰＫＧ＿Ｂ（ver1.00）に含まれていないため、インストールは行われない。機能ＰＫＧ２（ver1.00）については、その機能ＰＫＧ２が内包される販売ＰＫＧのバージョン（ver1.00）が、他販売ＰＫＧ（販売ＰＫＧ＿Ａ）に従属しているバージョン（ver2.00）未満であるため、更新処理は許可されず無処理となり、従属情報において、販売ＰＫＧ＿Ｂのバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新される。即ち機能ＰＫＧ２は、販売ＰＫＧ＿Ａ（ver2.00）でも使用されているものなので、更新（バージョンダウン）を行わない。機能ＰＫＧ３については、他の販売ＰＫＧには従属していないので、ｖｅｒ２．００からｖｅｒ１．００への更新（バージョンダウン）が行われるとともに、従属情報において、機能ＰＫＧ３のバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新され、また機能ＰＫＧ３（ver1.00）の属する販売ＰＫＧ＿Ｂのバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新される。以上、インストール後の従属情報は、図９下段の表で示すようになる。
【００５０】
（事例５）
さらに、図１０には、図９で示した機器に対して、販売ＰＫＧ＿Ａ（ver1.00）をインストールした場合の処理と従属情報を示す。ここでいうインストールとは、既に上位バージョンの販売ＰＫＧ＿Ａがインストール済みであることから、バージョンダウンともいえる。
【００５１】
図１０で示すように、機能ＰＫＧ１については、ｖｅｒ２．００からｖｅｒ１．００への更新（バージョンダウン）が行われるとともに、従属情報において、機能ＰＫＧ１のバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新され、また機能ＰＫＧ１（ver1.00）の属する販売ＰＫＧ＿Ａのバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新される。
【００５２】
機能ＰＫＧ２については、その機能ＰＫＧ２が内包される販売ＰＫＧのバージョン（ver1.00）が、他の販売ＰＫＧ（販売ＰＫＧ＿Ｂ）に従属しているバージョン（ver1.00）以上であるため更新処理は許可されるため、ｖｅｒ２．００からｖｅｒ１．００への更新（バージョンダウン）が行われるとともに、従属情報において、機能ＰＫＧ２のバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新され、また機能ＰＫＧ２（ver1.00）の属する販売ＰＫＧ＿Ａのバージョン情報がｖｅｒ２．００からｖｅｒ１．００へ更新される。以上、インストール後の従属情報は、図１０下段の表で示すようになる。
【００５３】
上記のように、図９では、販売ＰＫＧ＿Ｂ（ver1.00）をインストールした場合、機能ＰＫＧ２（ver2.00）は、他の販売ＰＫＧ＿Ａでも共通で利用されているので、下位バージョンである機能ＰＫＧ２（ver1.00）にバージョンダウンしてしまうと、不具合が発生してしまう可能性がある。従って、下位バージョンである機能ＰＫＧ２（ver2.00）には更新せず、販売ＰＫＧ＿Ｂからの従属情報（内包バージョン）のみをｖｅｒ１．００に更新する。一方その後、図１０で示すように、販売ＰＫＧ＿Ａ（ver1.00）をインストールした場合には、機能ＰＫＧ２がｖｅｒ１．００へバージョンダウンされる。このようにすることで、共有機能パッケージを含む販売パッケージのバージョンダウンを安全に実施することができる。
【００５４】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【００５５】
１００  情報処理装置
１１０  バージョン比較手段
１２０  インストール手段
１３０  従属判定手段
１４０  従属情報更新手段
１５０  従属情報保持手段
２００  記憶装置
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２０００−２９３３６５号公報
【図１】
0005471883.tif 000002
【図２】
0005471883.tif 000003
【図３】
0005471883.tif 000004
【図４】
0005471883.tif 000005
【図５】
0005471883.tif 000006
【図６】
0005471883.tif 000007
【図７】
0005471883.tif 000008
【図８】
0005471883.tif 000009
【図９】
0005471883.tif 000010
【図１０】
0005471883.tif 000011