JP2000293377A - 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体 - Google Patents

共存環境構築方法及び共存環境構築プログラムを記録した記録媒体

Info

Publication number
JP2000293377A
JP2000293377A JP11101139A JP10113999A JP2000293377A JP 2000293377 A JP2000293377 A JP 2000293377A JP 11101139 A JP11101139 A JP 11101139A JP 10113999 A JP10113999 A JP 10113999A JP 2000293377 A JP2000293377 A JP 2000293377A
Authority
JP
Japan
Prior art keywords
version
program
file
identifier
recording medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11101139A
Other languages
English (en)
Inventor
Norito Wada
憲人 和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Chubu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Chubu Ltd filed Critical NEC Software Chubu Ltd
Priority to JP11101139A priority Critical patent/JP2000293377A/ja
Publication of JP2000293377A publication Critical patent/JP2000293377A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 同一プログラムの複数のバージョンがひとつ
のシステムに共存可能な環境を、既存のプログラム製品
を修正することなく、簡単な操作で構築する。 【解決手段】 プログラム群の各バージョンから、プロ
グラム群を構成するファイルに関する情報を、ファイル
のバージョン及び識別子に関連付けて格納する構成ファ
イルを作成する。ファイル名が重複したファイルは名前
か格納位置を変更して変更内容を格納する。この変更前
の名前で呼び出されて、呼び出し元のバージョンを識別
して対応するファイルを呼び出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置へのプ
ログラムのインストールに関し、特に、複数のバージョ
ンの同一のプログラムをひとつの情報処理装置にインス
トールする方法及びプログラムに関する。
【0002】
【従来の技術】パーソナルコンピュータ(以下PC)や
ワークステーション等の情報処理装置でアプリケーショ
ンプログラム(以下アプリケーション)を利用する場
合、そのアプリケーションを固定磁気ディスク装置(以
下HDD)に代表される外部記憶装置にインストールし
た後、これらHDD等から呼び出して利用するケースが
一般的である。
【0003】一般にツールと呼ばれるような比較的小規
模なプログラムでは、単独の実行ファイルのみで構成さ
れるものも存在するが、近年のアプリケーションの多く
は、起動プログラムと、複数のオブジェクトファイル
(以下オブジェクト)といった形式で構成される。ここ
で、起動プログラムは、オペレーティングシステム(以
下OS)上からユーザにより直接に実行されるファイル
であり、アプリケーションのメインルーチンに相当す
る。これに対して、オブジェクトは、ユーザが直接に実
行されず、起動プログラムから呼び出されて実行され
る。
【0004】このような構成のアプリケーションに対
し、機能の追加・改良や、不具合の修正等を目的として
バージョンアップを行う際に、新旧のバージョンを構成
する起動ファイル及びオブジェクトを比較すると、新バ
ージョンでは、オブジェクトファイルが追加・削除され
たり、起動プログラム及びオブジェクトが新しいバージ
ョンのファイルと置き換えられることになる。
【0005】新バージョンのインストールには大別する
と2種類存在する。一方は、新旧のバージョンを互いに
無関係なアプリケーションと見做し、旧バージョンのフ
ァイルを完全に維持しつつ、新バージョンを外部記憶装
置に追加する方法である。他方は、新バージョンのファ
イルで旧バージョンのファイルを上書きしてしまう方法
である。多くのアプリケーションでは後者のバージョン
アップが行われているのが現状である。
【0006】一般に、新バージョンのアプリケーション
は旧バージョンの不都合を解消しつつ新機能を追加すべ
く開発されている。そのため、旧バージョンが抱えてい
た不具合は原則として解消されているが、新機能の追加
に伴う新たな不具合を完全に避けることは難しい。する
と、ユーザにとっては必ずしも新バージョンの方が旧バ
ージョンよりも優れているとはいえないような状況が発
生する。例えば、旧バージョンの不具合個所はユーザが
あまり使用しない機能に関するものであるのに、新バー
ジョンのそれは頻繁に使用する機能に関するものである
といった具合である。
【0007】不具合が発生する機能を新規に追加された
機能よりも優先するのであれば、新旧のバージョンが併
存する場合、新バージョンの不具合が解消されるまで旧
バージョンをアンインストールしないで使い続けるとい
う選択も可能であるが、新バージョンで旧バージョンを
更新した場合、新バージョンを削除した後、旧バージョ
ンを再度インストールしなければならない。
【0008】また、新バージョンのアプリケーションそ
のものの動作には何ら不具合がない場合であっても、そ
のアプリケーションとオブジェクトを共用する他のアプ
リケーションの動作に悪影響を及ぼす場合がある。この
ような場合、前者のアプリケーションをバージョンアッ
プしつつ、後者のアプリケーションが正常に動作させる
には、問題のオブジェクトを特定し、これを従来のもの
に戻す必要がある。しかし、こうすると前者のアプリケ
ーションの動作に不具合が生じる可能性が出てくるばか
りでなく、その作業は一般のエンドユーザにとって難度
の高い内容になってしまう。
【0009】こうしたアプリケーションのバージョンア
ップに伴う問題を解決するため、従来から様々な技術が
提案されている。その一例として特開平4−18273
2号公報を図8を参照して説明する。
【0010】特開平4−182732号公報に記載され
たシステムは、記憶装置201(プログラムを格納す
る)、処理装置202(中央演算装置、実行制御装置等
により構成される)、バージョン設定手段203(プロ
グラムの名称及びバージョンを入力する)、バージョン
・プログラム対応記憶装置204(バージョン設定手段
3から入力されたプログラムの名称及びバージョンをバ
ージョンプログラム対応表205として格納する)、通
信装置206(他の記憶装置、他の計算機と通信す
る)、及び、バージョン比較手段207(受信したイベ
ント及びそのバージョン番号をバージョンプログラム対
応表205と照合する)を備える。
【0011】このシステムを備える計算機A、Bがあ
り、計算機Aで処理中のプログラムAが、計算機Bで処
理されるプログラムBにイベントを送出する場合を考え
る。
【0012】このとき、計算機Aの処理装置202は、
バージョン・プログラム対応表205を参照し、プログ
ラムAのバージョン番号をイベントに添付して計算機B
に送出する。これを受信した計算機Bの処理装置202
は、バージョン比較手段207を用いて、計算機Bのバ
ージョン・プログラム対応表205を参照し、イベント
の対象プログラムと名前が一致し、かつ対象プログラム
のバージョンがイベントのバージョンに対応するか否か
を判定し、対応する場合、イベントによってプログラム
を起動する。
【0013】これにより、特開平4−182732号公
報に記載のシステムでは、特定のプログラムのバージョ
ンの変更を、システム動作中に、プログラム間に矛盾を
生じることなく行うことができる。
【0014】しかし、この従来技術には、次のような問
題点がある。
【0015】第1に、一方のプログラムから他方のプロ
グラムにイベントを通知する際、イベントと共にバージ
ョンを通知する手段を備える必要があるが、このような
手段を既存のシステムに追加するのは困難である。
【0016】第2に、この従来技術では、システム側で
他のシステムからのイベントの通知の際にバージョンを
付与する事でプログラムを起動してるので、同一のシス
テム上でプログラムが関数呼び出しにより同一名のファ
イルをバージョンで切り分ける事ができない。
【0017】第3に、この従来技術は、バージョン切替
処理部をあらかじめ組み込んだシステムを前提に考えら
れているため、オペレータ、エンドユーザに負担をかけ
ずに同一システム上で共存環境へと移行させる方法が考
慮されていない。
【0018】
【発明が解決しようとする課題】このように、特開平4
−182732号公報に記載の技術をはじめとする従来
の技術では、アプリケーションのバージョンアップに伴
う問題を解決することができなかった。本願発明はこの
ような状況に鑑みて発明されたものであり、その解決し
ようとする課題は、第1に、同一プログラムの複数のバ
ージョンがひとつのシステムに共存可能な環境を構築す
ること、第2に、既存のプログラム製品にそのまま適応
可能であること、第3に、エンドユーザにとっても容易
にバージョンの切替を行うことができることである。
【0019】
【課題を解決するための手段】このような課題を解決す
るため、本発明は次のような方法及びプログラムを記録
した記録媒体を提供する。
【0020】第1に、本発明は、実行可能なファイルで
ある起動プログラムと、起動プログラムから呼び出され
るオブジェクトファイルとから構成されるプログラム群
の複数のバージョンを、同一の情報処理装置に格納し、
それぞれを区別して実行可能な共存環境を構築する方法
において、格納する全てのバージョンのプログラム群か
ら、各プログラム群を構成するファイルに関する情報
を、ファイルのバージョン及び識別子に関連付けて構成
ファイルとして格納する段階と、バージョンの異なる複
数のプログラム群で、同一の識別子を有するオブジェク
トファイルそれぞれに、新たな識別子を付与すると共
に、新たな識別子を対応する古い識別子と関連付けて構
成ファイルに格納する段階と、古い識別子を識別子とす
るオブジェクトであり、オブジェクトが呼び出される
と、呼び出し元のバージョンを識別すると共に、構成フ
ァイルを参照し、呼び出し元のバージョンに対応するバ
ージョンのオブジェクトに付与された新たな識別子を検
索して、該当するオブジェクトを呼び出す処理を行うオ
ブジェクトである自動切替オブジェクトを作成する段階
と、自動切替オブジェクトの動作によってバージョンの
異なる複数のプログラム群を区別して実行する段階とを
含むことを特徴とする共存環境構築方法を提供する。
【0021】この共存環境構築方法によれば、まず、各
プログラム群を構成するファイルに関する情報として、
ファイル名、製造バージョン情報、日付、言語情報、プ
ログラム及びオブジェクトの間の呼び出し・被呼び出し
関係、ファイルの位置情報等を、構成ファイルに格納す
る。次に、ファイル名やファイルの位置情報といった、
ファイルを特定する識別子として同じものを用いている
ファイルの識別子を変更し、新旧の識別子を関連付けて
構成ファイルに格納する。これにより、同じプログラム
群の異なるバージョンに属し、本来同一の識別子を持っ
ていた複数のファイルが互いに区別される。最後に、呼
び出し元のバージョンに応じてオブジェクトを呼び出す
自動切替オブジェクトを生成する。自動切替オブジェク
トには、識別子の変更前に複数のファイルが使っていた
識別子が付与される。そして、この識別子で呼び出され
た自動切替オブジェクトは、呼び出し元のバージョンを
識別し、識別子を変更された複数のファイルの中から、
識別したバージョンに対応するファイルを検索して呼び
出す。
【0022】第2に、本発明によれば、実行可能なファ
イルである起動プログラムと、起動プログラムから呼び
出されるオブジェクトファイルとから構成されるプログ
ラム群の複数のバージョンを、同一の情報処理装置に格
納し、それぞれを区別して実行可能な共存環境を構築す
るプログラムを記録したコンピュータ読み取り可能な記
録媒体において、格納する全てのバージョンのプログラ
ム群から、各プログラム群を構成するファイルに関する
情報を、ファイルのバージョン及び識別子に関連付けて
構成ファイルとして格納する処理と、バージョンの異な
る複数のプログラム群の中で、同一の識別子を有するオ
ブジェクトファイルそれぞれに、新たな識別子を付与す
ると共に、新たな識別子を対応する古い識別子と関連付
けて構成ファイルに格納する処理と、古い識別子を識別
子とするオブジェクトであり、オブジェクトが呼び出さ
れると、呼び出し元のバージョンを識別すると共に、構
成ファイルを参照し、呼び出し元のバージョンに対応す
るバージョンのオブジェクトに付与された新たな識別子
を検索して、該当するオブジェクトを呼び出すオブジェ
クトである自動切替オブジェクトを作成する処理とをコ
ンピュータに実行させる共存環境構築プログラムを記録
した記録媒体を提供する。
【0023】呼び出し元のバージョンを識別する処理と
して、自動切替オブジェクトを呼び出すプロセスを監視
して、プロセス名を自動切替オブジェクトに出力するプ
ログラム情報取得処理を含んでもよい。また、外部から
の入力に応じたバージョンのプログラム群を起動すると
共に、プログラム群のバージョン情報を出力するプログ
ラム起動処理を含んでもよい。或いは、プログラム群に
先立って起動され、自処理が起動された後に起動される
処理に関する情報をオペレーティングシステム及びシス
テムメモリから取得して呼び出し元のバージョンを識別
するプログラム起動監視処理を含んでもよい。
【0024】同一プログラム群の複数バージョンが共存
可能な環境は、具体例を挙げれば、同じファイル名を持
ち、同じディレクトリに格納されなければならない複数
のオブジェクトファイルが共存できる環境である。ここ
で、オブジェクトファイルは、実行可能なコードとデー
タからなるプログラムモジュール、即ち、所謂DLL
(ダイナミックリンクライブラリ)であってもよいし、
実行プログラムであってもよい。
【0025】このような共存環境構築プログラムを含む
オペレーティングシステム(OS)や、これらプログラ
ム及びOSを格納した情報処理装置もまた、同様の効果
を奏する。
【0026】
【発明の実施の形態】図1を参照して、本発明の第1の
実施の形態を説明する。プログラム製品Pa及びPbが
外部記憶装置にインストールされた環境のコンピュータ
システムを考える。説明を簡単にするため、プログラム
製品Pa及びPbはそれぞれ、1つの起動プログラム
(110a、110b)と、1つのオブジェクト(11
1a、111b)とから構成されているものとする。オ
ブジェクト111a及び111bは、それぞれ起動プロ
グラム110a及び110bから呼び出されるが、その
際、同一の識別子によって呼び出されるものとする。
尚、ここで識別子とは、ファイル名や、パス指定を含む
ファイル名等を指す。
【0027】更に、システム100は、共存セットアッ
プ処理部120と、共存セットアップ処理部120が作
成する構成リスト130、及び自動切替オブジェクト1
40を含む。これらの要素は概略次のように動作する。
【0028】共存環境セットアップ処理部120は、構
成リスト作成処理部121と自動切替オブジェクト作成
処理部122からなる。共存環境セットアップ処理部1
20は、独立したプログラム製品として構成してもよ
い。また、OSの一機能としてOSに組み込んでもよ
い。
【0029】構成リスト作成処理部121は、製品に含
まれる実行可能なファイルを解析して呼び出し・被呼び
出し関係を調べ、これを基に構成リスト130を作成す
る。構成リスト130は、プログラムの呼び出し・被呼
び出し関係・バージョン情報・内包関数を格納する。
【0030】オブジェクト作成処理部122は、自動切
替オブジェクト140を自動的に生成する手段である。
自動切替オブジェクト140は、元の被呼び出しオブジ
ェクト111a及び111bと同じ識別子を有するオブ
ジェクトとして作成される。このとき、元の被呼び出し
オブジェクト111a及び111bには別の識別子が付
与される。自動切替オブジェクト140は、バージョン
判定処理141と対応バージョン呼出処理部142から
なる。バージョン判定処理141は、各バージョンの起
動プログラムから呼ばれると、呼び出し元のバージョン
を判定して、構成リスト130を参照して呼び出そうと
するオブジェクトのバージョンを判定する。対応バージ
ョン呼出処理部142は、バージョン判定処理141に
より判定されたバージョンのオブジェクトを呼び出す。
【0031】このように、共存環境セットアップ処理部
120は、構成リスト130と自動切替オブジェクト1
40を作成した後、自動切替オブジェクト140を元の
オブジェクトと置き換えることにより、複数バージョン
のプログラム製品が共存できる環境を作成する。また、
自動切替オブジェクトは、同じ識別子を有する被呼び出
しオブジェクト全てを代理して起動プログラムから呼び
出される。そして、自動切替オブジェクトは呼び出し元
の起動プログラムのバージョンを判定し、そのバージョ
ンに対応する被呼び出しオブジェクトを、新たに付与し
た識別子を用いて呼び出す。
【0032】続いて、第1の実施の形態について、実行
可能ファイルである起動プログラムが、必要に応じて付
属の一群の呼び出し可能なオブジェクトからダイナミッ
クリンクライブラリ(DLL)の関数群を呼び出して動
作する製品Pを、更に図2及び図3を参照して説明す
る。製品Pはバージョンが変わっても同名のプログラム
やDLLを使用する。尚、ここでは実装の一例として、
呼び出し側を起動プログラムとし、被呼び出し側のオブ
ジェクトをすべてDLLとして説明する。
【0033】製品PのバージョンAをインストールする
際、構成リスト作成処理部121は、CD−ROM、フ
レキシブルディスク等のインストール媒体を読み込み、
製品Pに付属する実行可能ファイルを判別し、判別した
実行可能ファイルのファイル名を、構成リスト130に
書き出していく(ステップ1−1)。
【0034】次に、構成リスト作成処理部121は、実
行可能ファイルのファイル情報を図4に示すような構成
リスト130の「ファイル情報」欄に格納する(ステッ
プ1−2)。ファイル情報は、プログラムのバージョン
を区別する際に用いられるバージョン属性に関する情報
であり、製造バージョン情報、日付、言語情報等を含
む。
【0035】次に、実行可能ファイルの実行ヘッダー部
より関数のインポート、エクスポートを取り出し、構成
リスト130の「ファンクション」欄に格納する(ステ
ップ1−3)。構成リスト130を利用する事により、
そのプログラム・DLL間の関数の呼出し・被呼出し関
係について有機的に関連付けができるようになる。
【0036】次に、構成リスト作成処理部121は、起
動プログラムのバージョンを判定する際に基準とする情
報を、バージョン判定基準として指定する(ステップ1
−4)。バージョン判定基準は、例えば、プログラム、
オブジェクトファイル内のバージョン情報、日本語、英
語等の言語情報等の項目の中の特定の項目が取る値によ
って起動プログラムのバージョンを判定する。バージョ
ン判定に用いる項目は、ユーザインタフェースを介した
オペレータの入力に従って指定され、構成リスト130
の「バージョン判定基準」欄に格納される。
【0037】更に、被呼び出し側のオリジナルのオブジ
ェクトファイルの識別子を変更する(ステップ1−5)。
識別子の変更は、例えば、ファイルの格納位置の変更で
もよいし、ファイル名の変更でもよい。新たな識別子は
構成リスト130の「オリジナルオブジェクト位置情
報」欄に格納する。
【0038】このようにして、まず、共存環境セットア
ップ処理部120と製品PのバージョンAがインストー
ルされ、次いで、構成リスト130が生成された後、製
品PのバージョンBがインストールされる。上述したバ
ージョンAのインストールと同様に、バージョンBのイ
ンストールの際、構成リスト作成処理部121は、イン
ストール媒体を読み込み、製品Pに付属する実行可能フ
ァイルを判別する。判別した実行可能ファイルを、構成
リスト130に追加して書き出していき、ステップ1−
1からステップ1−5の処理を繰り返す。結果として、
構成リスト130にバージョンBの情報が格納される。
【0039】2種類以上のバージョンをシステムに組み
込む場合は、バージョンBと同様の動作を各バージョン
毎に繰り返して構成リスト130を更新していく。これ
らの共存環境セットアップ環境は、ユーザーインターフ
ェースを設けてオペレータにわかりやすく操作できるよ
うにしてもよい。
【0040】次に、自動切替オブジェクト作成処理部1
22を動作させる。分析した関数の呼出し・被呼出し関
係を構成リストより取り出し、呼び出される関数毎に、
その関数と同じ名前の関数を作成して、その関数内に
は、呼んでいる起動元プログラムのバージョンを判定す
る手段として、バージョン判定処理部141を埋め込む
(ステップ2−1)。
【0041】次に、自動切替オブジェクト作成処理部1
22は、バージョンに適応したオリジナルのDLLを呼
び出す処理を行う対応バージョン呼び出し処理部142
を組み入れる(ステップ2−2)。実装の一例としてバ
ージョン判定処理141を別モジュールとしてコールし
て結果を戻す仕組みのものも考えられる。
【0042】バージョン判定処理141は、まず呼び出
し元のプログラムの情報を取得する。得られた情報と構
成リスト130内の起動元ファイル名に対して、構成リ
スト130内のバージョン判定基準からバージョン判定
基準が何かを取り出し、基準となる情報が日付であれ
ば、日付を比較する事によってどのバージョンに属する
ものかを識別する。
【0043】自動切替オブジェクト作成処理部122
は、特定したバージョンに応じた元のDLLの位置か
ら、同じ名前の関数を呼び出す処理を実行する対応バー
ジョン呼出処理部142を埋め込む。こうして呼び出さ
れる関数全てにこれらの処理を埋め込んだ後、元のDL
Lと同じ名前で自動切替オブジェクトを元と同じDLL
で生成し、元のDLLがあった位置に格納する(ステッ
プ2−3)。
【0044】その際に自分に渡された引数があれば、そ
の引数も呼び出しの際に引き渡す。任意のバージョンの
プログラムが起動され、関数を呼び出そうとした場合、
自動切替オブジェクトが実際には起動されるため、関数
が呼び出されると、その関数内に埋め込まれているバー
ジョン判定処理141が実行される。
【0045】バージョン判定処理141は、起動プログ
ラムの情報(プログラム名、バージョンなど)をファイ
ル情報としてオペレーティングシステムの機能または別
の手段により取得する。構成リスト130内の起動元フ
ァイル名に対して、構成リスト130のバージョン判定
基準からバージョンを判定する際に基準とする項目を取
り出し、基準とする情報が日付であれば、日付を比較す
る事によってどのバージョンに属するものかを識別す
る。
【0046】バージョンが特定できれば、そのバージョ
ンに属するDLLを、構成リスト内のオリジナルオブジ
ェクト位置情報から取り出し、そのDLL内の関数を呼
び出す。その際に自分に渡された引数があれば、その引
数も呼び出しの際に引き渡す。このようにする事でバー
ジョンが呼び出し元のプログラムにあわせて切替えられ
る事が可能となるのである。
【0047】次に、本発明の第2の実施の形態を図4を
参照して説明する。呼び出し側の情報を被呼び出し側が
容易に取得できない環境の場合、呼び出し側である起動
プログラムの情報を、被呼び出し側である自動切替オブ
ジェクトに、外部から供給する手段が必要となる。第2
の実施の形態では、起動プログラム110a、110b
の情報を自動切替オブジェクト140に供給する手段と
して、プログラム情報取得処理部150とプログラム情
報格納部160を用いている。
【0048】プログラム情報取得処理部150は、自動
切替オブジェクト140を起動させたプロセスを監視し
ており、その起動プロセス名を、バージョン判定処理部
141が要求した時に、バージョン判定処理部141に
渡す。バージョン判定処理部141は、起動プロセス名
と一致するプログラム名を構成リスト130から検索
し、一致した行を取り出す。この行に格納されているプ
ログラム情報、バージョン判定基準、オブジェクト位置
情報、ファンクションを用いて、対応バージョン呼出処
理部142が作動する。
【0049】第2の実施の形態では、プログラム情報取
得処理部150が取得した情報は、一旦起動プログラム
情報格納部160に格納される。そして、バージョン判
定処理部141は、必要に応じて起動プログラム情報格
納部160を参照して起動プログラムに関する情報を取
得する。
【0050】尚、起動プログラム情報格納部160を必
要としない形態も考えられる。この場合、バージョン判
定処理部141とプログラム情報取得処理部150の間
で、直接、起動プログラムに関する情報の問い合わせと
応答がなされる。
【0051】次に、本発明の第3の実施の形態について
図5を参照して詳細に説明する。本実施の形態の製品P
は、実行可能ファイルである起動プログラムと、そのプ
ログラムが必要に応じて付属のサブプログラムから構成
され、バージョンが変わっても同名のプログラムを使用
する。
【0052】製品PのバージョンAをインストールする
時に、構成リスト作成処理部121は、インストール媒
体を読み込み、製品に付属する実行可能ファイルを判別
する。
【0053】判別した実行可能ファイルを、構成リスト
130に書き出していく(ステップ1−1)。
【0054】次にそれらのファイルのファイル情報とし
て製造バージョン情報、日付、言語情報などを構成リス
トに格納する(ステップ1−2)。
【0055】また、実行可能ファイルの内部をサーチ
し、プロセス起動を行っている部分と、その被起動プロ
セスを取り出し、構成リスト130に格納する(ステッ
プ1−3)。構成リスト130を利用する事により、そ
のプログラム間の関数の呼出し・被呼出し関係について
有機的に関連付けができるようになる。
【0056】共存環境セットアップ処理部120は、オ
ペレータにバージョンを判定する基準(例えば、プログ
ラム・オブジェクトファイル内のバージョン情報、日本
語、英語等の言語情報等)を、ユーザインタフェースを
設けて指定させる事により、バージョン判定基準も構成
リストに記録する(ステップ1−4)。
【0057】呼び出されるオリジナルのファイルは別の
位置へ、または別の名前として保管し、位置情報も構成
リストに格納する(ステップ1−5)。
【0058】以上の手順により、図3のような構成ファ
イル130を作成する。
【0059】以下、第2の実施の形態と同様に、オペレ
ータが製品PのバージョンA2をインストールする場
合、構成リスト作成処理部121は、インストール媒体
を読み込み、製品に付属する実行可能ファイルを判別す
る。判別した実行可能ファイルを、構成リスト130に
書き出していく(ステップ1−1)。更に、ステップ1−
2からステップ1−5の処理を繰り返し、構成リスト1
30にバージョンA2の情報が作成される。これをシス
テムに組み込むバージョン毎に繰り返す事で構成リスト
130ができる。
【0060】上述の共存環境をセットアップする過程
は、ユーザーインターフェースを設けてオペレータの操
作が容易になるようにしてもよい。続いて、自動切替オ
ブジェクト作成処理部が実行され、プログラム間の起動
・被起動関係を構成リスト130より取り出し、呼び出
されるプログラム毎に、そのプログラムと同じ名前の実
行可能ファイルを作成する。
【0061】その実行可能ファイル内には、呼んでいる
起動元プログラムのバージョンを判定する手段として、
バージョン判定処理部141を埋め込む(ステップ2−
1)。更に、バージョンに適応したオリジナルの実行可
能ファイルを呼び出す対応バージョン呼出処理部142
を組み込む(ステップ2−2)。実装の一例としてバー
ジョン判定処理を別モジュールとしてコールして結果を
戻してもよい。
【0062】バージョン判定処理部141は、まず呼び
出し元のプログラムの情報を取得する。得られた情報と
構成リスト130内の起動元ファイル名に対して、構成
リスト130内のバージョン判定基準からバージョンを
判定する基準を取り出し、基準情報が日付であれば、日
付を比較する事によってどのバージョンに属するものか
を識別する。
【0063】自動切替オブジェクト作成処理部122
は、特定したバージョンに応じた元の実行可能ファイル
を呼び出す、対応バージョン呼出処理部142を埋め込
む。元の実行可能ファイルと同じ名前で自動切替オブジ
ェクト140を実行可能ファイル形式で生成し、元の実
行可能ファイルがあった位置に格納する。その際に自分
に渡された引数があれば、その引数も呼び出しの際に引
き渡す。
【0064】任意のバージョンのプログラムが起動さ
れ、関数を呼び出そうとした場合、自動切替オブジェク
トとして作られた切り替え用の実行可能ファイルが実際
には起動されるため、その実行可能ファイル内に埋め込
まれているバージョン判定処理が実行される。
【0065】構成リスト内の起動元ファイル名に対し
て、構成リスト内のバージョン判定基準からバージョン
を判定する際に基準とする項目が何かを取り出し、比較
情報が日付であれば、日付を比較する事によってどのバ
ージョンに属するものかを識別する。バージョンが特定
できれば、そのバージョンに属するプログラムを、構成
リスト内の位置情報より取り出し、そのプログラムを呼
び出す。その際に自分に渡された引数があれば、その引
数も呼び出しの際に引き渡す。
【0066】このようにする事で親プログラムが起動す
る実行可能ファイルのバージョンを呼び出し元のプログ
ラムにあわせて切替えられる事が可能となるのである。
【0067】次に、本発明の第4の実施の形態について
図6を参照して説明する。本実施の形態は、第2の実施
の形態のプログラム情報取得処理部150に代わり、プ
ログラム起動処理部151を備える。
【0068】プログラム起動処理部151は、オペレー
タによる入力を受け付けて、指定されたバージョンの起
動プログラムを起動する処理と、指定されたバージョン
のバージョン情報を起動プログラム情報格納部160に
格納する処理を行う。
【0069】そして、バージョン判定処理部141は、
プログラム情報格納部160に格納されたバージョン情
報と構成リスト130を参照してバージョンを判定し、
対応するオブジェクトを対応バージョン呼び出し処理部
142が呼び出す。
【0070】次に、本発明の第5の実施の形態について
図7を参照して説明する。本実施の形態は、第2の実施
の形態のプログラム情報取得処理部150に代わり、プ
ログラム起動監視処理部152を備える。
【0071】プログラム起動監視処理部152は起動プ
ログラムに先立って機能している。この処理は、OSの
一機能として組み込まれていてもよいし、独立した常駐
型のプログラムであってもよい。
【0072】プログラム起動監視処理部152は、OS
上で起動されるプログラムを監視し、どのプログラムが
起動して、そのプログラムが他のどのプログラムを起動
したかという情報を、OSやシステムメモリの内部から
取得して、その情報を起動プログラム情報格納部160
に保存する。
【0073】そして、バージョン判定処理部141は、
プログラム情報格納部160に格納されたバージョン情
報と構成リスト130を参照してバージョンを判定し、
対応するオブジェクトを対応バージョン呼び出し処理部
142が呼び出す。
【0074】
【発明の効果】第1の効果は,既存の製品であっても同
一のシステム上でプログラムの複数バージョンを切り替
えて使用できる事である。その理由は、任意の製品の被
呼出し部分が同じディレクトリに決められた名前で存在
しないといけない仕様であったとしても、自動切替えオ
ブジェクトが、構成リストを使用して、呼び出し元のプ
ログラムに替わって被呼び出し部分を呼び出す事ができ
るからである。
【0075】第2の効果は、既存の製品であっても、同
一のシステム上でプログラムの複数バージョンを同時に
共存させて使用できる事である。その理由は、本発明
は、自動切替えオブジェクトが呼出し元プログラムのバ
ージョンを呼び出しの度に判定して、そのバージョンに
応じた呼び出しオブジェクトを呼び出す事ができるから
である。
【0076】以上、本発明を実施の形態に基づいて説明
したが、本発明はこれに限定されるものではなく、当業
者の通常の知識の範囲内でその変更や改良が可能である
ことは勿論である。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の機能ブロック図で
ある。
【図2】構成リスト作成処理部121及び自動切替オブ
ジェクト作成処理部122の動作を説明するフローチャ
ートである。
【図3】構成リスト130の構造を説明する図である。
【図4】本発明の第2の実施の形態の機能ブロック図で
ある。
【図5】本発明の第3の実施の形態の機能ブロック図で
ある。
【図6】本発明の第4の実施の形態の機能ブロック図で
ある。
【図7】本発明の第5の実施の形態の機能ブロック図で
ある。
【図8】従来のシステムを説明する図である。
【符号の説明】
110a、110b 起動プログラム 111a、111b オブジェクト 120 共存環境セットアップ処理部 121 構成リスト作成処理部 122 自動切替オブジェクト作成処理部 130 構成リスト 140 自動切替オブジェクト 141 バージョン判定処理部 142 対応バージョン呼出処理部 150 プログラム情報取得処理部 151 プログラム起動処理部 152 プログラム起動監視処理部 160 起動プログラム情報格納部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 実行可能なファイルである起動プログラ
    ムと、当該起動プログラムから呼び出されるオブジェク
    トファイルとから構成されるプログラム群の複数のバー
    ジョンを、同一の情報処理装置に格納し、それぞれを区
    別して実行可能な共存環境を構築する方法において、 格納する全てのバージョンのプログラム群から、各プロ
    グラム群を構成するファイルに関する情報を、ファイル
    のバージョン及び識別子に関連付けて構成ファイルとし
    て格納する段階と、 バージョンの異なる複数の前記プログラム群で、同一の
    識別子を有するオブジェクトファイルそれぞれに、新た
    な識別子を付与すると共に、当該新たな識別子を対応す
    る古い識別子と関連付けて前記構成ファイルに格納する
    段階と、 前記古い識別子を識別子とするオブジェクトファイルで
    あり、当該オブジェクトファイルが呼び出されると、呼
    び出し元のバージョンを識別すると共に、前記構成ファ
    イルを参照し、呼び出し元のバージョンに対応するバー
    ジョンのオブジェクトファイルに付与された新たな識別
    子を検索して、該当するオブジェクトファイルを呼び出
    す処理を行うオブジェクトファイルである自動切替オブ
    ジェクトを作成する段階と、 前記自動切替オブジェクトの動作によってバージョンの
    異なる複数の前記プログラム群を区別して実行する段階
    とを含むことを特徴とする共存環境構築方法。
  2. 【請求項2】 実行可能なファイルである起動プログラ
    ムと、当該起動プログラムから呼び出されるオブジェク
    トファイルとから構成されるプログラム群の複数のバー
    ジョンを、同一の情報処理装置に格納し、それぞれを区
    別して実行可能な共存環境を構築するプログラムを記録
    したコンピュータ読み取り可能な記録媒体において、 格納する全てのバージョンのプログラム群から、各プロ
    グラム群を構成するファイルに関する情報を、ファイル
    のバージョン及び識別子に関連付けて構成ファイルとし
    て格納する処理と、 バージョンの異なる複数の前記プログラム群の中で、同
    一の識別子を有するオブジェクトファイルそれぞれに、
    新たな識別子を付与すると共に、当該新たな識別子を対
    応する古い識別子と関連付けて前記構成ファイルに格納
    する処理と、 前記古い識別子を識別子とするオブジェクトファイルで
    あり、当該オブジェクトファイルが呼び出されると、呼
    び出し元のバージョンを識別すると共に、前記構成ファ
    イルを参照し、呼び出し元のバージョンに対応するバー
    ジョンのオブジェクトファイルに付与された新たな識別
    子を検索して、該当するオブジェクトファイルを呼び出
    すオブジェクトファイルである自動切替オブジェクトを
    作成する処理とをコンピュータに実行させる共存環境構
    築プログラムを記録した記録媒体。
  3. 【請求項3】 請求項2に記載の記録媒体において、前
    記呼び出し元のバージョンを識別する処理は、前記自動
    切替オブジェクトを呼び出すプロセスを監視して、当該
    プロセス名を前記自動切替オブジェクトに出力するプロ
    グラム情報取得処理を含むことを特徴とする記録媒体。
  4. 【請求項4】 請求項2に記載の記録媒体において、前
    記呼び出し元のバージョンを識別する処理は、外部から
    の入力に応じたバージョンのプログラム群を起動すると
    共に、当該プログラム群のバージョン情報を出力するプ
    ログラム起動処理を含むことを特徴とする記録媒体。
  5. 【請求項5】 請求項2に記載の記録媒体において、前
    記呼び出し元のバージョンを識別する処理は、前記プロ
    グラム群に先立って起動され、当該処理が起動された後
    に起動される処理に関する情報をオペレーティングシス
    テム及びシステムメモリから取得して前記呼び出し元の
    バージョンを識別するプログラム起動監視処理を含むこ
    とを特徴とする記録媒体。
  6. 【請求項6】 請求項2乃至5のいずれかに記載の記録
    媒体において、前記オブジェクトファイルは、実行可能
    なコードとデータからなるプログラムモジュールである
    ことを特徴とする記録媒体。
  7. 【請求項7】 請求項2乃至5のいずれかに記載の記録
    媒体において、前記オブジェクトファイルは、実行プロ
    グラムであることを特徴とする記録媒体。
  8. 【請求項8】 請求項2乃至7のいずれかに記載の共存
    環境構築プログラムを含むオペレーティングシステムを
    記録したコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】 請求項2乃至8のいずれかに記載の記録
    媒体を格納した情報処理装置。
JP11101139A 1999-04-08 1999-04-08 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体 Pending JP2000293377A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11101139A JP2000293377A (ja) 1999-04-08 1999-04-08 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11101139A JP2000293377A (ja) 1999-04-08 1999-04-08 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000293377A true JP2000293377A (ja) 2000-10-20

Family

ID=14292761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11101139A Pending JP2000293377A (ja) 1999-04-08 1999-04-08 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000293377A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141973A (ja) * 2010-12-31 2012-07-26 Internatl Business Mach Corp <Ibm> 動的ソフトウエア・バージョン選択のための方法およびコンピュータ・プログラム
JP2013186779A (ja) * 2012-03-09 2013-09-19 Nec Corp 情報処理装置およびプログラム実行方法
US9740471B2 (en) 2013-07-18 2017-08-22 Canon Kabushiki Kaisha Information processing apparatus, and information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141973A (ja) * 2010-12-31 2012-07-26 Internatl Business Mach Corp <Ibm> 動的ソフトウエア・バージョン選択のための方法およびコンピュータ・プログラム
JP2013186779A (ja) * 2012-03-09 2013-09-19 Nec Corp 情報処理装置およびプログラム実行方法
US9740471B2 (en) 2013-07-18 2017-08-22 Canon Kabushiki Kaisha Information processing apparatus, and information processing method

Similar Documents

Publication Publication Date Title
US9588752B2 (en) Performing unattended software installation
US8112745B2 (en) Apparatus and method for capabilities verification and restriction of managed applications in an execution environment
JP5007046B2 (ja) コンポーネントベースのソフトウェア・プロダクトの保守
US5966540A (en) Hosted machine code installation
US7769990B1 (en) Using a monitoring process to update system configuration settings during restore operations
US6618857B1 (en) Method and system for installing software on a computer system
US20060020937A1 (en) System and method for extraction and creation of application meta-information within a software application repository
CN107992355B (zh) 一种部署应用软件的方法、装置及虚拟机
US7886185B1 (en) Creation of a device database and synthesis of device driver information during dissimilar system restore
US20050246704A1 (en) Registry emulation
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
US7934213B2 (en) Device driver rollback
US6754848B1 (en) Method, system and program products for operationally migrating a cluster through emulation
JP2004530184A (ja) 共有ライブラリを使用して実行可能ファイルを管理する方法とシステム
JP2004158012A (ja) ソフトウェアアプリケーション管理のためのシステムおよび方法
US6948059B1 (en) Component loader for industrial control device providing resource search capabilities
CN113641378A (zh) 光模块程序升级方法、装置、设备及可读存储介质
JP3348430B2 (ja) プリインストール済みアプリケーションの自動環境設定方法及び記憶媒体
JP2000293377A (ja) 共存環境構築方法及び共存環境構築プログラムを記録した記録媒体
CN100504787C (zh) 一种软件安装的虚拟执行方法及系统
JP2015122018A (ja) アプリケーション開発支援プログラム及びアプリケーション開発支援システム
JP4410754B2 (ja) ファイルバックアップシステム及び方法
CN110197067B (zh) 文件查杀方法、装置及存储介质
JP3903563B2 (ja) プログラム実行環境修復方式
CN115309421A (zh) 单点系统的静态变量同步方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030521