JP3903563B2 - プログラム実行環境修復方式 - Google Patents
プログラム実行環境修復方式 Download PDFInfo
- Publication number
- JP3903563B2 JP3903563B2 JP00580998A JP580998A JP3903563B2 JP 3903563 B2 JP3903563 B2 JP 3903563B2 JP 00580998 A JP00580998 A JP 00580998A JP 580998 A JP580998 A JP 580998A JP 3903563 B2 JP3903563 B2 JP 3903563B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution environment
- library
- file
- execution
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、プログラムの実行環境についての登録情報を記憶する実行環境データベースに基づきプログラムの実行を制御するオペレーティングシステムにおいて、プログラムの実際の実行環境が実行環境データベースに登録された登録情報と相違することになったときの実行環境データベースの修復方式に関する。
【0002】
【従来の技術】
パーソナルコンピュータ等のコンピュータシステムのOS(オペレーティングシステム)は、アプリケーション等のプログラムの動作に必要な実行環境についての情報が登録された実行環境データベースを有している。この実行環境データベースには、例えば、アプリケーションのファイル名、アプリケーションがインストールされたディレクトリ名、アプリケーションが使用するデータファイルの拡張子、アプリケーションと拡張子の割当てなど、様々な情報が設定される。例えば、この種の実行環境データベースとしては、米国マイクロソフト社のWINDOWS95(商標)というOSで用いられるレジストリがよく知られている。
【0003】
実行環境データベースの登録情報は、アプリケーションの実行に関する様々な局面で用いられる。例えば、ウインドウベースのOSにおいて、ユーザが、データファイルを表すアイコンをマウス等で選択した場合、そのデータファイルに関連づけられたアプリケーションを自動的に実行し、そのアプリケーション上でそのデータファイルをオープンする機能がよく知られている。この機能を実現するに当たり、OSは、選択されたデータファイルの拡張子から、実行環境データベースを参照してそのデータファイルに関連づけられたアプリケーションのファイル名やパスを取得し、取得した情報に基づきそのアプリケーションを実行する。
【0004】
また、アプリケーションを実行するには、そのアプリケーション自体の実行ファイルの他に、ライブラリプログラムのファイルをロードする必要がある場合がある。例えば、前掲のWINDOWS95(商標)におけるDLL(ダイナミック・リンク・ライブラリ)がその一例である。アプリケーションの実行が指示された場合、OSは、実行環境データベースを参照してそのアプリケーションの実行に必要なライブラリプログラムのファイル(DLL等)の名称やディレクトリを調べ、ファイルシステムからそれら各ライブラリプログラムのファイルをロードする。
【0005】
実行環境データベースへの実行環境情報の登録は、アプリケーションのインストール時に行われるのが一般的である。近年、アプリケーションの大規模化・複雑化に伴い、アプリケーションのインストールを人手で行うことは困難となっているため、アプリケーションのパッケージには、インストーラと呼ばれるインストール作業用のプログラムが添付されるのが一般的である。これに伴い、アプリケーションの実行環境情報の実行環境データベースへの登録も、インストーラにより行われることが一般的である。
【0006】
いったんインストールしたアプリケーションについてインストール先のディレクトリ名を変更したい、アプリケーションを別のディレクトリに移動したい、などの要望は常に存在する。このような場合、単純にインストール先のディレクトリ名を変更したり、アプリケーションを構成するファイル(群)を別ディレクトリに移動したりしたのでは、アプリケーションは正常には動作しない。これは、実行環境データベースにおいて、アプリケーションのディレクトリの変更に応じた登録情報の変更がなされていないためである。例えば、ユーザがデータファイルのアイコンを選択したとしても、データファイルに関連づけられたアプリケーションが実行環境データベースに登録されたディレクトリに存在しないため、そのアプリケーションは起動されない。
【0007】
従来は、このような問題を防ぐためには、アプリケーションに添付されたアンインストーラというプログラムを実行してそのアプリケーションに関するファイルの削除及び実行環境情報の登録の抹消を行い、この後、インストーラを用いてアプリケーションを所望のディレクトリに再インストールするという手順を踏むのが一般的であった。この手順により、アプリケーションの実行環境情報が実行環境データベースに正しく設定し直されることになるので、アプリケーションは正常に動作することができる。
【0008】
また、アプリケーションのライブラリプログラムのファイルが実行環境データベースに登録されたディレクトリにない場合、そのアプリケーションは一般に実行できなかった。
【0009】
従来は、このような場合もアンインストール及び再インストールを行うことにより、ライブラリプログラムを含むアプリケーションに必要なファイル全部をインストールし直すことにより対応するのが一般的であった。
【0010】
【発明が解決しようとする課題】
しかしながら、アンインストール・再インストールという作業は非常に時間が掛かる作業である。このため、アンインストール・再インストールによらずアプリケーションの実行環境を整え、アプリケーションを移動や所属ディレクトリ名の変更などの処理を簡便かつ正しく実現するための機構が要望されていた。
【0011】
アプリケーションの実行環境の設定に関しては、特開平6−67855号公報に開示の技術が知られている。この技術では、アプリケーションプログラムとそのアプリケーションの実行環境を自動設定するための環境設定プログラムを内蔵した増設装置をデータ処理システムの増設アダプタに接続すると、そのシステムが増設装置内の環境設定プログラムを実行してそのアプリケーションに適した実行環境を設定する。しかしながら、この文献には、いったんインストールしたアプリケーションを移動させたりした場合などの対応処理については言及がない。
【0012】
また、この他に特開平8−95756号公報には、コンピュータにインストールされたソフトウエアの登録及び追跡のための技術が開示されている。この従来技術では、通常のソフトウエアに追跡用の階層化されたデータを添付し、OSの割込ハンドラを使用して各ソフトウエアを常時追跡する。しかしながら、この手法は、OSにかかる負担が極めて大きいという問題がある。
【0013】
本発明は、上記問題を解決するためになされたものであり、いったんインストールしたプログラムの移動や所属ディレクトリ名の変更など、プログラムの実行環境の変更を行ったときに、実行環境データベース上の登録情報をその変更に合わせて簡便に修復するための方式を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明は、プログラムの実行環境についての登録情報を記憶する実行環境データベースに基づきプログラムの実行を制御するオペレーティングシステムにおけるプログラム実行環境修復方式であって、プログラムの起動が指示されたときに最初に実行される当該プログラムのスタートアップ部に、当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、前記要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスについての登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、をコンピュータに実行させるための命令を記述し、前記プログラムを起動することにより前記実行環境データベースにおける当該プログラムの実行環境についての登録情報を修復することを特徴とする。
【0015】
この方式では、プログラムを起動すると、そのプログラムのスタートアップ部が実行され、これによりそのプログラムのその時点での実際の実行環境の情報と実行環境データベースに登録された実行環境の登録情報とが比較される。そして、両者が一致している場合にはそのままそのプログラム本体部が実行され、両者が一致していない場合には実行環境データベースを実際の実行環境に合わせて更新した後でプログラム本体部が実行される。したがって、この方式によれば、ライブラリプログラムのファイルの移動などによりプログラムの実行環境が実行環境データベースに登録された登録情報と相違することになった場合には、そのプログラムを起動することにより、実行環境データベースにおけるそのプログラムの実行環境についての登録情報を正しく修復することができ、次にプログラムの移動等が行われるまでの間もそのプログラムを正しく実行することができる。
【0016】
また、本発明は、少なくともプログラムの実行ファイルの格納位置情報とそのプログラムに関連づけられたデータファイルを特定するための情報とそのプログラムの実行に必要なライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスの情報とについての登録情報を記憶する実行環境データベースに基づき、ユーザがデータファイルの処理を指示したときにそのデータファイルに関連づけられたプログラムを起動するオペレーティングシステムにおけるプログラムの実行環境修復方式であって、処理が指示されたデータファイルに関連づけられたプログラムが起動されたときに最初に実行される当該プログラムのスタートアップ部に、当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、前記要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、前記実行環境データベースに記憶された前記ライブラリプログラムの格納ディレクトリのパスの登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、をコンピュータに実行させるための命令を記述し、前記プログラムを起動することにより前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスの情報についての登録情報を修復することを特徴とする。
【0017】
この方式では、プログラムを起動すると、そのプログラムのスタートアップ部が実行され、これによりそのプログラムの実行に必要なライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスのその時点での実際の情報と実行環境データベースに登録されたそのライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスの登録情報とが比較される。そして、両者が一致している場合にはそのままそのプログラム本体部が実行され、両者が一致していない場合には実行環境データベースを実際の情報に合わせて更新した後でプログラム本体部が実行される。したがって、この方式によれば、プログラムの実行に必要なライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスが実行環境データベースに登録された登録情報と相違することになった場合には、そのプログラムを起動することにより、実行環境データベースにおけるその登録情報を正しく修復することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
【0019】
図1は、本発明に係るアプリケーションプログラム(以下では単に「アプリケーション」と呼ぶ)10の構成を説明するための図である。アプリケーション10は、スタートアップ部12と本体部14とから構成される。スタートアップ部12は、アプリケーション10が起動されたときにまず最初に実行される部分であり、本発明に係る実行環境修復機能を記述した部分である。本体部14は、アプリケーション10の実質的な機能を記述した部分である。例えば、アプリケーション10が表計算プログラムならば、本体部14には、アプリケーション10が表計算プログラムとして提供すべきすべての機能が記述されている。従来のアプリケーションは、この本体部14のみからなる。本体部14は、スタートアップ部12の実行後に実行される。
【0020】
アプリケーション10、スタートアップ部12、本体部14は、コンピュータ上で実行されることにより、それぞれ所定の機能を果たす仮想装置となる。以下では、誤解のない限り、このような仮想装置も、アプリケーション10、スタートアップ部12、本体部14と呼ぶ。
【0021】
図2はアプリケーション10のスタートアップ部12の機能を説明するための図である。スタートアップ部12は、コンピュータのOS(オペレーティングシステム)30とのやり取りにより、当該アプリケーション10の実行環境を整える。
【0022】
OS30は、実行環境DB(データベース)32を有している。実行環境DB32には、各アプリケーションについての実行環境の情報が登録されている。登録されている実行環境の情報には、例えば、アプリケーションの実行ファイルのファイル名、アプリケーションの実行ファイルがインストールされたディレクトリのパス、アプリケーションの実行に必要なライブラリプログラム(例えばDLL)のファイル名やその格納ディレクトリのパス、、アプリケーションに対応づけられたファイル拡張子など、が含まれる。OS30は、例えば、ユーザからデータファイルの実行が指示された場合、実行環境データベース32を参照することにより、そのデータファイルの拡張子からそのデータファイルを扱うアプリケーションを特定し、更にそのアプリケーションの実行ファイルの格納ディレクトリのパスを取得する。それら情報を用いてそのアプリケーションを起動して、そのデータファイルを処理する。
【0023】
スタートアップ部12は、実行環境DB検索部122、実行環境調査部124、環境比較部126及び環境修復部128を含む。実行環境DB検索部122は、OS30の実行環境DB32から、実行環境DB32に登録されている当該アプリケーション10の実行環境の情報(以下「登録情報」と呼ぶ)を検索する。実行環境調査部32は、OS30から、当該アプリケーション10の現在(すなわちスタートアップ部12の実行時点)の実際の実行環境の情報(例えばアプリケーション10が起動されたときのアプリケーション10の実行ファイルのディレクトリなど)を取得する。環境比較部12は、実行環境DB検索部122で取得された登録情報と、実行環境調査部124で取得された実際の実行環境の情報とを比較する。環境修復部128は、環境比較部126での比較の結果、登録情報と実際の実行環境とが異なる場合に作動し、実行環境DB32における当該アプリケーション10についての登録情報を、実行環境調査部124から取得した実際の実行環境に合わせて更新する。
【0024】
次に、図3を参照して、アプリケーション10を実行した場合の処理手順を説明する。例えばユーザがアプリケーション10のパスを入力したり、アプリケーション10のアイコンをダブルクリックするなどしてアプリケーション10の起動を指示すると、OS30は、ファイルシステムからアプリケーション10の実行ファイルを取り出し、アプリケーション10を起動する(S10)。すると、まずアプリケーション10のスタートアップ部12が動作を開始する(S12)。スタートアップ部12では、実行環境DB検索部122が、実行環境DB32から、当該アプリケーション10の実行環境の登録情報を取得する(S14)。また、実行環境調査部124が、OS30から、当該アプリケーション10が実行されている実際の実行環境の情報を取得する(S16)。S14とS16の処理は論理的には並列的な処理であり、いずれを先に行ってもよい。次に、環境比較部126が、実行環境DB32に登録された実行環境(すなわち登録情報)と、実際の実行環境とを比較する(S18)。この比較において実際の実行環境と登録された実行環境とが異なっていれば、環境修復部128が、実行環境DB32内の当該アプリケーション10についての登録情報を、S16で取得した実際の実行環境の情報に整合するように更新する(S20)。この更新処理が完了すると、スタートアップ部12の処理が完了し、本体部14が動作を開始する(S22)。なお、S18の比較処理において、実際の実行環境と登録された実行環境とが整合していれば、そこでスタートアップ部12の処理が完了し、本体部14が動作を開始する(S22)。
【0025】
次に、具体的な状況を想定して、本実施形態におけるアプリケーション10の処理動作を説明する。
【0026】
例えば、図4に示すように、インストーラによりいったんあるディレクトリ(例えば“C:Program Files\app”、すなわち、ディスク装置のCドライブのProgram Filesというディレクトリの下にあるappというディレクトリ)にインストールされたアプリケーション10について、そのインストール先のディレクトリの名称をユーザが別の名称(例えば“C:app”)に変更した場合を考える。図4には、インストールされたファイルとして、アプリケーション10の実行ファイルである“appli.exe”の他に、解説を記したテキストファイル“readme.txt”やその実行ファイルを実行するときに用いられるライブラリ“appli.dll”が示されている。本実施形態の特徴であるスタートアップ部12は、アプリケーション10の実行ファイルである“appli.exe”に含まれる。
【0027】
このディレクトリ名の変更の直後にアプリケーション10に関連づけられた拡張子を有するデータファイルを選択して実行させようとしても、実行環境DB32に登録された格納ディレクトリがそもそも存在しないため、OS30はアプリケーション10の実行ファイルを見つけることができず、アプリケーション10を実行することができない。そこで、本実施形態では、アプリケーション10の格納ディレクトリの名称変更後に、ユーザがアプリケーション10を起動することにより、実行環境DB32の登録情報を実状に整合するように更新する。すなわち、格納ディレクトリの名称変更後に、ユーザが、アプリケーション10の実行ファイルのアイコンをダブルクリックしたり、あるいはその実行ファイルの絶対パスや相対パスを入力したりすることによりアプリケーション10を起動すると、アプリケーション10のスタートアップ部12が、OS30から実行ファイルのファイル名や起動時のディレクトリのパス情報を実際の実行環境として取得し、実行環境DB32におけるアプリケーション10の登録情報をその実際の実行環境の情報に合わせて変更する。この結果、実行環境DB32は、アプリケーション10の実行ファイルの格納ディレクトリについて正しい情報を有するよう修復されたことになるので、それ以降次に格納ディレクトリについて変更が有るまでは、このアプリケーション10に対応づけられたデータファイルを選択して実行させると、このアプリケーション10が正しく起動されることになる。
【0028】
以上は、アプリケーション10の実行ファイルの格納ディレクトリの名称を変更した場合の例であったが、アプリケーション10の実行ファイルを別のディレクトリに移動した場合も同様であることは容易に理解されよう。すなわち、実行ファイル移動後に移動先のディレクトリにあるアプリケーション10を起動するとにより、アプリケーション10のスタートアップ部12が実行環境DB32の登録情報を実状に整合するように更新する。この結果、アプリケーション10に関連づけられたデータファイルを実行すれば、そのアプリケーション10が正しく起動されるようになる。
【0029】
また、アプリケーション10の実行ファイル名を変更した場合でも、そのアプリケーション10を実行すれば、スタートアップ部12の機能により実行環境DB32に登録された実行ファイル名が正しく更新される。
【0030】
また、図4の例において、アプリケーション“appli.exe”は、実行時にライブラリ“appli.dll”を利用するとする。このライブラリのファイル名や格納ディレクトリのパスの情報は、インストール時に例えばインストーラプログラムにより実行環境DB32に登録される。もちろん、それらライブラリの情報がアプリケーション“appli.exe”に対応づけられていることは言うまでもない。ところが、図4の事例のようにインストール先のディレクトリ名を変更すると、ライブラリファイルの格納ディレクトリのパスが実状と整合しないものになる。本実施形態におけるスタートアップ部12は、このような場合にも対応できる。すなわち、ディレクトリ名変更後にアプリケーション10を起動すると、スタートアップ部12は、まず前述の如くアプリケーション10の格納ディレクトリのパスの登録情報を更新するとともに、必要なライブラリプログラムの実行ファイルをOS30に要求する。OS30は、実行環境DB32を参照してライブラリプログラムを探すが、ライブラリプログラムの格納ディレクトリの名称が実行環境DB32に登録されたものと代わっているので、そのライブラリプログラムを発見することができない。すると、OS30は、ライブラリプログラムが発見できなかった旨をスタートアップ部12に通知する。この通知を受けたスタートアップ部12は、必要なライブラリプログラムの検索を行う。必要なライブラリプログラムの名称は、実行環境DB32から取得できるので、スタートアップ部12は、この名称を持つファイルをファイルシステムの各ディレクトリから検索する。一般にライブラリプログラムはアプリケーション本体の実行ファイルと同じディレクトリに格納されている場合が多いので、ライブラリプログラムの検索は、アプリケーション10の格納ディレクトリから始めるのが効率的である。検索の結果ライブラリプログラムが見つかると、スタートアップ部12は、そのときのライブラリプログラムの格納ディレクトリのパスの情報により、実行環境DB32の登録情報を更新する。この結果、実行環境DB32にライブラリプログラムの正しい格納ディレクトリの情報が登録されることになり、以降アプリケーション10が起動されると、その実行環境DB32に基づき、必要なライブラリファイルが正しくロードされる。
【0031】
以上はインストール先のディレクトリ名変更時の例であったが、ライブラリプログラムの実行ファイルを移動した場合も同様である。すなわち、スタートアップ部12がライブラリプログラムの実行ファイルを検索し、発見した場合は、その時のライブラリプログラムの格納ディレクトリの情報を実行環境DB32に登録する。なお、ライブラリプログラムの実行ファイルを発見できなかった場合は、ユーザにその旨を通知する。
【0032】
以上、本実施形態に係るアプリケーションについて、その実行環境が変更された場合の実行環境DBの修復手順について説明した。本実施形態に係るアプリケーションには、人手で簡単にインストールできるという利点もある。すなわち、図5に示すように、ファイルサーバから、ユーザが作成又は選択した任意のディレクトリ(図5では“C:Program Files\app”)に、アプリケーションの動作に必要なファイル群(アプリケーションやライブラリの実行ファイルなど)をコピーし、その後ユーザがアプリケーションの実行ファイル(“appli.exe”)を起動すればよい。これにより、アプリケーションのスタートアップ部12が、実行環境DB32に当該アプリケーションの実行環境が設定されていないことを検出し、実行環境DB32に当該アプリケーションのためのエントリを作成し、実行環境の諸情報を登録する。このとき、スタートアップ部12は、アプリケーションの実行ファイルのファイル名や格納ディレクトリの情報をOS30から取得し、実行環境DB32に登録する。
【0033】
したがって、本実施形態に示したスタートアップ部12を有するアプリケーションを用いれば、インストーラと呼ばれるインストール専用のプログラムを用意する必要がない。また、インストーラプログラムが不要となるため、ソフトウエアの配布を考慮した場合、ソフトウエアのパッケージ全体のプログラムサイズを抑えることができる。
【0034】
以上では、本実施形態に係るアプリケーションによりインストーラが不要であることを説明したが、インストーラがない場合、インストール先のディレクトリツリーの構成はユーザが自ら行わなければならないなど、ある程度のユーザの作業負担が要求される。このようなユーザの作業負担を軽減するためには、インストーラを別途用意することも効果的である。ただし、この場合のインストーラは、従来一般にアプリケーションソフトウエアのパッケージに付属していたインストーラよりも機能が限定されたものでよい。すなわち、インストーラは、アプリケーションのスタートアップ部12が行う実行環境の登録機能を持つ必要がない。図6は、このように機能が限定されたインストーラを用いたアプリケーションのインストール手順を説明するための図である。ユーザは、あるアプリケーションを自分のマシンにインストールしたい場合、ファイルサーバ内のそのアプリケーションについてのインストーラ(図6では“Setup.exe”)を実行する。すると、ユーザのマシンの所定のディレクトリ(図6では“C:Program Files\app”)に必要なファイル群がコピーされる。そしてコピー終了後、インストーラはアプリケーション(図6では“appli.exe”)を起動する。この結果、アプリケーションのスタートアップ部12の機能により、OS30の実行環境DB32に、そのアプリケーションの実行環境の情報が登録される。
【0035】
本実施形態に係るアプリケーションには、さらにアンインストール時の実行環境情報の削除機能を組み込むことも可能である。そして、この削除機能を実現するためのコマンドオプションを設定しておく。ユーザは、アンインストールを行いたい場合、アプリケーションの実行ファイル名にそのコマンドオプションを付加して入力する。これによりその削除機能が実行され、実行環境DB32に登録されたそのアプリケーションの実行環境の登録情報が削除される。このあと、ユーザがアプリケーションパッケージのファイル群をファイルシステムから削除すれば、システム全体に対する副作用なく、アプリケーションをアンインストールすることができる。このように本実施形態に係るアプリケーションにアンインストール機能を組み込むことにより、アプリケーション単体でインストール時の実行環境の登録及びアンインストール時の実行環境の削除を行うことができる。
【0036】
以上、本発明の好適な実施形態について説明した。以上の説明から分かるように、本実施形態によれば、いったんインストールしたアプリケーションやライブラリの実行ファイルを移動したり、あるいはそれらの格納ディレクトリの名称などを変更した場合に、実行環境DB32の登録情報を修復することができる。したがって、アンインストール・再インストールといった時間のかかる作業なしに、簡単にアプリケーションの移動等を行うことができる。
【0037】
なお、本実施形態に係るスタートアップ部12を有するアプリケーションは、例えばフロッピーディスクやCD−ROM、ハードディスク、ROMなどのコンピュータ読取り可能な記録媒体の形態でユーザに提供することができる。また、このようなアプリケーションは、通信回線を介してユーザに供給することもできる。
【0038】
【発明の効果】
以上説明したように、本発明によれば、プログラムを実行することにより、実行環境データベースにおけるそのプログラムの実行環境の登録情報を更新・修復することができるので、プログラムの格納ディレクトリの変更(移動や名称変更など)のような実行環境の変更を行っても、そのプログラムを正しく動作させることができる。本発明によれば、アンインストール・再インストールという時間のかかる作業無しに、プログラムの実行環境を簡便に変更することができる。
【図面の簡単な説明】
【図1】 実施形態に係るアプリケーションの構成を示す説明図である。
【図2】 実施形態に係るアプリケーションのスタートアップ部の機能を説明するための説明図である。
【図3】 実施形態に係るアプリケーションを実行した場合の処理手順を示すフローチャートである。
【図4】 実施形態におけるディレクトリ名称変更時の処理手順を説明するための説明図である。
【図5】 実施形態に係るアプリケーションの人手によるインストール手順を説明するための説明図である。
【図6】 実施形態に係るアプリケーションのインストーラプログラムによるインストール手順を説明するための説明図である。
【符号の説明】
10 アプリケーション、12 スタートアップ部、14 本体部、30 OS(オペレーティングシステム)、32 実行環境DB(データベース)、122 実行環境DB検索部、124 実行環境調査部、126 環境比較部、128 環境修復部。
Claims (5)
- プログラムの実行環境についての登録情報を記憶する実行環境データベースに基づきプログラムの実行を制御するオペレーティングシステムにおけるプログラム実行環境修復方式であって、
プログラムの起動が指示されたときに最初に実行される当該プログラムのスタートアップ部に、
当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、
前記要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、
前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、
前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスについての登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、
をコンピュータに実行させるための命令を記述し、
前記プログラムを起動することにより前記実行環境データベースにおける当該プログラムの実行環境についての登録情報を修復するプログラム実行環境修復方式。 - 少なくともプログラムの実行ファイルの格納位置情報とそのプログラムに関連づけられたデータファイルを特定するための情報とそのプログラムの実行に必要なライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスの情報とについての登録情報を記憶する実行環境データベースに基づき、ユーザがデータファイルの処理を指示したときにそのデータファイルに関連づけられたプログラムを起動するオペレーティングシステムにおけるプログラムの実行環境修復方式であって、
処理が指示されたデータファイルに関連づけられたプログラムが起動されたときに最初に実行される当該プログラムのスタートアップ部に、
当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、
前記要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、
前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、
前記実行環境データベースに記憶された前記ライブラリプログラムの格納ディレクトリのパスの登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、
をコンピュータに実行させるための命令を記述し、
前記プログラムを起動することにより前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスの情報についての登録情報を修復するプログラム実行環境修復方式。 - 各プログラムの実行環境情報を登録した実行環境データベースに基づき各プログラムの実行を制御するオペレーティングシステムの管理下で実行することができるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムの起動が指示されたときに最初に実行される当該プログラムのスタートアップ部が、
当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、
要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、
前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、
前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスについての登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、
をコンピュータに実行させるための命令を含むことを特徴とする記録媒体。 - 少なくともプログラムの実行ファイルの格納位置情報とそのプログラムに関連づけられたデータファイルを特定するための情報とそのプログラムの実行に必要なライブラリプログラムのファイル名及び該ライブラリプログラムの格納ディレクトリのパスの情報とについての登録情報を記憶する実行環境データベースに基づき、ユーザがデータファイルの処理を指示したときにそのデータファイルに関連づけられたプログラムを起動するオペレーティングシステムの管理下で実行することができるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
処理が指示されたデータファイルに関連づけられたプログラムが起動されたときに最初に実行される当該プログラムのスタートアップ部が、
当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理と、
前記要求処理に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理と、
前記登録情報取得処理で取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理と、
前記実行環境データベースに記憶された前記ライブラリプログラムの格納ディレクトリのパスの登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理と、
をコンピュータに実行させるための命令を含むことを特徴とする記録媒体。 - プログラムの実行環境についての登録情報を記憶する実行環境データベースに基づきプログラムの実行を制御するオペレーティングシステムにおけるプログラム実行環境修復方法であって、
プログラムの起動時に当該プログラムのスタートアップ部を実行することにより、
当該プログラムの実行に必要なライブラリプログラムを前記オペレーティングシステムに要求する要求処理ステップと、
前記要求処理ステップの要求に対して前記オペレーティングシステムから前記ライブラリプログラムが発見できなかった旨の回答を受け取った場合に、前記実行環境データベースから、当該プログラムの実行に必要なライブラリプログラムのファイル名の登録情報を取得する登録情報取得処理ステップと、
前記登録情報取得処理ステップで取得された前記ファイル名を持つファイルを前記オペレーティングシステムのファイルシステムから探索し、その探索の結果見つかったファイルの格納ディレクトリのパスを前記ライブラリプログラムの格納ディレクトリのパスの実際の情報として取得する起動時情報取得処理ステップと、
前記実行環境データベースに記憶された当該プログラムの実行に必要なライブラリプログラムの格納ディレクトリのパスについての登録情報を前記起動時情報取得処理で取得されたライブラリプログラムの格納ディレクトリのパスの実際の情報に一致するよう更新する更新処理ステップと、
を実行することを特徴とするプログラム実行環境修復方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00580998A JP3903563B2 (ja) | 1998-01-14 | 1998-01-14 | プログラム実行環境修復方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00580998A JP3903563B2 (ja) | 1998-01-14 | 1998-01-14 | プログラム実行環境修復方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11203111A JPH11203111A (ja) | 1999-07-30 |
JP3903563B2 true JP3903563B2 (ja) | 2007-04-11 |
Family
ID=11621420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00580998A Expired - Fee Related JP3903563B2 (ja) | 1998-01-14 | 1998-01-14 | プログラム実行環境修復方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3903563B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4957043B2 (ja) * | 2006-03-30 | 2012-06-20 | カシオ計算機株式会社 | 情報処理装置、プログラム及び業務アプリケーション導入方法 |
JP5212216B2 (ja) * | 2009-03-26 | 2013-06-19 | 富士通株式会社 | ジョブ処理装置 |
-
1998
- 1998-01-14 JP JP00580998A patent/JP3903563B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11203111A (ja) | 1999-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2040162B1 (en) | Systems and methods for patching computer programs | |
US7703090B2 (en) | Patch un-installation | |
US5742829A (en) | Automatic software installation on heterogeneous networked client computer systems | |
US5966540A (en) | Hosted machine code installation | |
JP5444368B2 (ja) | アプリケーション復元ポイント | |
US7581217B2 (en) | Dynamic software update | |
US6282712B1 (en) | Automatic software installation on heterogeneous networked computer systems | |
US6324691B1 (en) | Manufacture of software distribution media packages from components resident on a remote server source | |
US8490082B2 (en) | System and method for representing user processes as software packages in a software package management system | |
US5603020A (en) | Method for detecting file names by informing the task of the identification of the directory antecedent to the file | |
US20030115458A1 (en) | Invisable file technology for recovering or protecting a computer file system | |
US20070101197A1 (en) | System and method for representing system capabilities as software packages in a software package management system | |
US20080077634A1 (en) | Clone file system data | |
KR20040002739A (ko) | 영향을 주지 않는 방식으로 소프트웨어 애플리케이션을인스톨하기 위한 시스템 및 방법 | |
IL157542A (en) | System and method for repairing computer systems damaged by a harmful computer programmer | |
US6367072B1 (en) | Apparatus and method for identifying and modifying computer operating system components | |
US7228526B2 (en) | Application imaging infrastructure | |
CZ267598A3 (cs) | Způsob a zařízení pro zadávání a provádění úkolu jediného uživatele v prostředí více uživatelů | |
KR100831128B1 (ko) | 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법 | |
JP3903563B2 (ja) | プログラム実行環境修復方式 | |
JP3372405B2 (ja) | コンピュータ・ソフトウェア・アプリケーション・パッケージを自動的に追跡する方法 | |
JPH09146762A (ja) | システムファイルのバックアップ方法及び復元方法 | |
US20070174913A1 (en) | Method and system for acquiring particular data upon start of a particular program | |
JPH11272451A (ja) | ソフトウェアのインストール制御システムと方法およびそのプログラムを記録した記録媒体 | |
US7013455B1 (en) | System for automatically altering environment variable to run proper executable file by removing references to all except one duplicate file in the path sequence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070101 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140119 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |