JP4557993B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP4557993B2
JP4557993B2 JP2007041295A JP2007041295A JP4557993B2 JP 4557993 B2 JP4557993 B2 JP 4557993B2 JP 2007041295 A JP2007041295 A JP 2007041295A JP 2007041295 A JP2007041295 A JP 2007041295A JP 4557993 B2 JP4557993 B2 JP 4557993B2
Authority
JP
Japan
Prior art keywords
software
installation
parent
child
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
Application number
JP2007041295A
Other languages
English (en)
Other versions
JP2008204290A (ja
Inventor
成幸 宮崎
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007041295A priority Critical patent/JP4557993B2/ja
Publication of JP2008204290A publication Critical patent/JP2008204290A/ja
Application granted granted Critical
Publication of JP4557993B2 publication Critical patent/JP4557993B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアのインストール時に発生するエラーを処理する情報処理装置、情報処理方法、及びプログラムに関する。
近年、CD−ROMなどの交換可能なメディアやインターネットなどのネットワークシステムで、プログラムファイルやデータファイルを配布することは一般的に行われている。その際に、配布されたプログラムを配布先のコンピュータシステムで実行可能にするために、インストーラと呼ばれるプログラムを配布対象プログラムに同梱して配布することが一般的である。インストーラとは、配布先のコンピュータシステムに接続されたハードディスクなどの記憶装置に、配布されたファイルをコピーしたり、オペレーティングシステム上に必要な設定を自動的に行ったりするプログラムである。
通常、ソフトウェアのインストールに必要となる処理は、ソフトウェアによって少しずつ異なるため、あるソフトウェアを配布する際には、そのソフトウェア専用のインストーラが作成され、ソフトウェアに同梱されて配布される。このようなインストーラの作成作業の負荷を軽減するために、インストーラ作成ツールと呼ばれるソフトウェアを用いて、インストーラを半自動的に作成することが一般的に行われている。
また、近年、ソフトウェアの大規模化に伴い、ソフトウェアを複数のコンポーネントに分離し、それぞれを独立して開発することが行われるようになった。このような開発形態においては、全てのコンポーネントで、開発や市場への配布日程を同期させる必要がないという利点がある。しかし、この開発形態を効率的に動作させるためには、それぞれのコンポーネントのインストーラについても、独立で開発を進められることが望ましい。
例えば、あるソフトウェアAにコンポーネントB及びコンポーネントCが含まれる場合を例として考える。インストーラが独立していない場合、この例においては、インストーラとしてソフトウェアAとコンポーネントBとコンポーネントCを同時にインストールするための単一インストーラを作成する。そのため、コンポーネントCの修正を行う場合には、前記インストーラを修正する必要があり、そのため、修正を行っていないソフトウェアAとコンポーネントBについても同時に配布する必要があった。
このような問題を避けるため、一般的に行われている手法としては、例えば上記に例において、ソフトウェアAのインストーラと、コンポーネントBのインストーラと、コンポーネントCのインストーラをそれぞれ独立に設ける。その上で、これら独立するソフトウェアを同時にインストールする必要がある利用者のために、これら複数のインストーラを連続して実行するためのマスターインストーラと呼ばれるプログラムを同時に配布することで問題を解決している。
また、このような構成は、複数の関連したソフトウェアを同時に配布する場合にも利用することができる。例えば、ソフトウェアをパッケージとしてCD−ROMなどを用いて販売する場合や、特定のハードウェアに同梱されるソフトウェアにおいて、このような場合が発生する。例えば、デジタルカメラに同梱されているCD−ROMには、そのハードウェアを利用するための画像管理ソフトウェアや、画像パノラマ合成ソフトウェアや、ハードウェアのデバイスドライバなどが同梱されているものがある。この場合、通常、それらを連続してインストールするためのマスターインストーラも用意され、利用者はこれを用いることで全てのソフトウェアを連続してインストールすることができる。
複数のソフトウェアを連続してインストールするマスターインストーラは、従来より既に利用されており、複数のソフトウェアを連続してインストールする際のエラーに関しては、例えば次のような技術がある。
例えば、マスターインストーラから起動されたあるソフトウェアのインストーラがエラーを引き起こすと、インストーラはエラーが発生したことを検知し、利用者にエラーを伝える。さらに、マスターインストーラに対してエラーを通知し、それを受け取ったマスターインストーラはそのソフトウェア以降にインストールを予定していた全てのソフトウェアのインストールを行わないようにする。この技術では、エラー発生時に全てのソフトウェアのインストールが行われないので、インストール可能なソフトウェアであってもインストールすることができず、利用者にとっては不便であった。
このような問題を解決する技術として、例えば特許文献1や特許文献2に開示されるような技術が提案されている。この技術では、例えば、あるソフトウェアのインストール中にエラーが発生した場合、一旦インストール処理を停止させるものの、再度エラー発生箇所からインストールを再開し、インストールを継続させる。これにより、エラーを引き起こした原因が取り除かれれば、エラー発生以降のソフトウェアのインストールを行うことが可能となる。
特開平11−353187号公報 特開2000−122852号公報
しかしながら、上記特許文献1や特許文献2の技術には次のような問題がある。即ち、エラーを引き起こした原因が取り除かれない限り、エラー発生以降にインストールを予定しているソフトウェアのインストールを行うことができない。
本発明は上記従来の問題点に鑑み、インストーラにおいて、あるソフトウェアのインストール中にエラーが発生しても、その他のソフトウェアのインストールを行うことができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明の情報処理装置は、複数のソフトウェアの親子関係を表す情報を記録媒体から読み込む読込手段と、複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するインストール手段と、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止する中止手段と、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開する再開手段とを備えたことを特徴とする。
また、本発明の情報処理方法は、読込手段と、インストール手段と、中止手段と、再開手段とを備えた情報処理装置における情報処理方法であって、前記読込手段が、複数のソフトウェアの親子関係を表す情報を記録媒体から読み込むステップと、前記インストール手段が、複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するステップと、前記中止手段が、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止するステップと、前記再開手段が、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開するステップとを備えたことを特徴とする。
また、本発明のプログラムは、コンピュータに、複数のソフトウェアの親子関係を表す情報を記録媒体から読み込むステップと、複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するステップと、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止するステップと、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開するステップとを実行させることを特徴とする。
本発明によれば、複数のソフトウェアを連続してインストールするインストーラにおいて、あるソフトウェアのインストール中にエラーが発生しても、その他のインストール可能なソフトウェアを全てインストールすることが可能になる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
<システム構成>
図1は、本発明の実施の形態に係るインストールエラー処理方法を実施するための情報処理システムの構成を示す模式図である。
この情報処理システムは、本実施の形態に係る制御プログラムを実行する制御部101Aを備えたコンピュータ101を備えている。制御部101Aは、プログラムを演算処理するCPU、CPUのワークエリアであるRAM、及び制御プログラムを格納したROMを有している。コンピュータ101には、ディスプレイ102、キーボード103、マウス104、光学ディスクドライブ106、及びハードディスク107が接続されている。交換可能な光ディスク105には、アプリケーションプログラムやデータなどが記録されており、コンピュータ101は、光学ディスクドライブ106に挿入された光ディスク105から読み取ったプログラムを実行する。
コンピュータ101は、接続されたディスプレイ102に描画を行い、システムの利用者に対して確認メッセージを表示したり、システムの状況を通知したりする。システムの利用者は、キーボード103やマウス104を使用して、ディスプレイ102に表示された確認メッセージに対して応答することができる。
コンピュータ101は、光学ディスク105から読み取ったプログラムに従い、光ディスク105に記録されているデータをハードディスク107にコピーしたり、ハードディスク107に記録されているデータを書き換えたりすることができる。また、本システムにおいては、光ディスク105は交換可能であり、別の光ディスク105からもプログラムやデータを読み込むことができる。
<ソフトウェアのフォルダ構成>
図2は、図1中の光ディスク105に記録されているソフトウェアのフォルダ構成図である。
光ディスク105内には、ソフトウェアのインストールを行うインストーラ実行ファイル(setup.exe)601と、インストーラ実行ファイル601の動作を制御するためのインストーラ動作設定ファイル(master.ini)602が存在している。また、光ディスク105内には、インストーラ実行ファイル601によってインストールされるソフトウェアが存在している。
光ディスク105に記録されたソフトウェアは、ソフトウェア毎にフォルダが分かれており、それぞれのフォルダの中には、それぞれのソフトウェアのインストールに必要なデータ及び情報が含まれている。フォルダ603からフォルダ633までのフォルダの中には、「application A」から「application K」までのインストールに必要なデータ及び情報が含まれている。
具体的には、フォルダ603には、ソフトウェアインストール設定ファイル604及びソフトウェア構成ファイル605が含まれ、フォルダ606には、ソフトウェアインストール設定ファイル607及びソフトウェア構成ファイル608が含まれる。フォルダ609には、ソフトウェアインストール設定ファイル610及びソフトウェア構成ファイル611が含まれる。フォルダ612には、ソフトウェアインストール設定ファイル613及びソフトウェア構成ファイル614が含まれる。
フォルダ615には、ソフトウェアインストール設定ファイル616及びソフトウェア構成ファイル617が含まれ、フォルダ618には、ソフトウェアインストール設定ファイル619及びソフトウェア構成ファイル620が含まれる。フォルダ621には、ソフトウェアインストール設定ファイル622及びソフトウェア構成ファイル623が含まれ、フォルダ624には、ソフトウェアインストール設定ファイル625及びソフトウェア構成ファイル626が含まれる。
フォルダ627には、ソフトウェアインストール設定ファイル628及びソフトウェア構成ファイル629が含まれ、フォルダ630には、ソフトウェアインストール設定ファイル631及びソフトウェア構成ファイル632が含まれる。フォルダ633には、ソフトウェアインストール設定ファイル634及びソフトウェア構成ファイル635が含まれる。
本例の光ディスク105に記録されているインストーラ実行ファイル601を本システム上で実行すると、「application A」から「application K」の、合計11種類のソフトウェアがハードディスク107にインストールされる。
<ソフトウェア間の親子関係>
図3は、光ディスク106に記録されているソフトウェアの親子関係とインストール順序を示す図である。
本例のソフトウェアには、それぞれのソフトウェア間に図3のような親子関係が存在する。
親子関係とは、ソフトウェア間に存在する一方通行の依存を意味している。図3の中から例を挙げる。603に示した「application A」と606に示した「application B」は、それぞれ独立に開発されたソフトウェアである。603に示した「application A」がインストールされていなければ、606に示した「application B」のインストールが成功しても、606に示した「application B」が動作しない。この場合、603に示した「application A」と606に示した「application B」を親子関係にあるソフトウェアと呼ぶ。また、親子関係の親は603に示した「application A」となり、子は606に示した「application B」になる。
さらに別のケースとして、次の場合にも親子関係が成立する。612に示した「application D」がインストールされていなければ、615に示した「application E」のインストールを完了させることができない場合も、2つのソフトウェアを親子関係にあるソフトウェアと呼ぶ。この場合も、612に示した「application D」が親であり、615に示した「application E」が子となる。
さらに、プラグインのようにソフトウェアに対して追加機能を提供するプログラムに関しても、親子関係が成立する。機能を追加すべきソフトウェアがインストールされていない場合、機能を追加するプラグインのインストールを行っても意味がない。この場合、プラグインによって機能を追加されるソフトウェアを親ソフトウェアとし、プラグインを子ソフトウェアとする。図3では、606に示した「application B」がプラグインに相当し、「application B」によって機能を追加されるソフトウェアが、「application B」に対して親ソフトウェアとなる。
図3の例では、このような親子関係を、ソフトウェア間を横につなげる線で表現している。あるソフトウェアの右側から別のソフトウェアへの線が延びていたら、そのソフトウェアは親ソフトウェアであり、そのソフトウェアには子ソフトウェアが存在すること意味している。例えば図3では、「setup.exe」601が最上位の親ソフトウェアとなっている。なお、親ソフトウェアには複数の子ソフトウェアを対応させることができる。例えば図3では、「setup.exe」601を親ソフトウェアとして、603に示した「application A」と、630に示した「application J」と、633に示した「application K」の3つの子ソフトウェアが存在する。
このような親子関係を、「setup.exe」601は、インストーラ動作設定ファイル602とソフトウェアインストール設定ファイル604、607、610、613、616、619、622、625、628、631、634から読み取ることができる。
「setup.exe」601は、起動すると、最初にインストーラ動作設定ファイル602を読み込む。図4は、インストーラ動作設定ファイル602の記載例を示す図である。同図において、セクション701は「setup.exe」601の動作上の名前が記載されているセクションであり、「setup.exe」601は、このセクション701で指定された名前のインストーラとして動作する。続いて、セクション702には、「setup.exe」601の子ソフトウェアとしてインストールされる、ソフトウェアのソフトウェアインストール設定ファイルへのパスが書かれている。ソフトウェアインストール設定ファイルへのパスは複数記述することができる。
このように、「setup.exe」601は、インストーラ動作設定ファイル602を読み込むことで、子ソフトウェアの存在と、その子ソフトウェアのソフトウェアインストール設定ファイルのパスを理解する。
「setup.exe」601は、インストーラ動作設定ファイル602の解析を終えると、ソフトウェア間の親子関係を把握するために、次のような処理を行う。即ち、インストーラ動作設定ファイル602の記載内容に従い、「setup.exe」601の子ソフトウェアが持つソフトウェアインストール設定ファイルの解析を開始する。
例えば、インストーラ動作設定ファイル602に子ソフトウェアとして記載されている、603に示した「application A」のソフトウェアインストール設定ファイル604には、図5(a)に示すような記載がある。セクション801には、インストールするソフトウェアの名前が指定されている。606に示した「application A」は、セクション801で指定された名前のソフトウェアとしてインストールされる。セクション802には、606に示した「application A」の子ソフトウェアとしてインストールされるソフトウェアの名前が列挙されている。ここでは、複数の子ソフトウェアを列挙することができる。
セクション803には、セクション802で子ソフトウェアとして列挙したソフトウェアのソフトウェアインストール設定ファイルへのパスが書かれている。ソフトウェアインストール設定ファイル604を解析することで、「application A」には、「application B」、「application C」、「application G」、及び「application H」といった5つの子ソフトウェアの存在を確認できる。さらに、それらのソフトウェアインストール設定ファイルへのパスを取得することができる。
「setup.exe」601は、5つ存在する子ソフトウェアのそれぞれのソフトウェアインストール設定ファイルへのパスを基に、5つ存在する子ソフトウェアが持つそれぞれのソフトウェアインストール設定ファイルの解析を行う。解析の結果、そのソフトウェアに対しても子ソフトウェアが存在した場合、更に深い階層の子ソフトウェアの解析を行う。このように、あるソフトウェアに子ソフトウェアが存在する場合、必ず、その子ソフトウェアのソフトウェアインストール設定ファイルの解析を優先して行う。
なお、子ソフトウェアを持たないソフトウェアの場合は、ソフトウェアインストール設定ファイルには子ソフトウェアの情報を記載しない。例えば、627に示した「application I」は、子ソフトウェアを持っていない。この場合、インストール設定ファイル628は、図5(b)のような記載となる。インストール設定ファイル628では、子ソフトウェアに関する情報を記載するセクションが省略されている。
このように、インストーラ動作設定ファイル602と、個々のソフトウェアのソフトウェアインストール設定ファイルに親子関係が記載されている。それらを「setup.exe」601が解析することで、光ディスク105内のソフトウェアの親子関係を把握することができる。「setup.exe」601は、光ディスク105内の親子関係を把握すると、ソフトウェアのインストールを開始する。
<ソフトウェアのインストール>
ソフトウェアのインストールは、「setup.exe」601がソフトウェアインストール設定ファイルを解析した順番で行われる。具体的には、図3で示したS202からS216の順番で行われる。ソフトウェアのインストール途中にエラーが発生することなく、無事にインストールが完了すると図6(a)に示す画面をディプレイ102に表示する。なお、ディスプレイ102には、インストーラ動作設定ファイル602で指定されたソフトウェアの名前のみを表示している。しかし、それぞれのソフトウェアのインストール結果は、表示しているソフトウェアのインストール結果と、そのソフトウェアが持つ全ての子ソフトウェアのインストール結果とを合わせて表示している。図6(a)中の「OK」1101は、606に示した「application A」と、その子ソフトウェアの全てにおいて、インストールが成功したことを示している。
逆に、ソフトウェアのインストール中にエラーが発生すると、ソフトウェアのインストール中にエラーが発生したことを示す。例えば、606に示した「application A」や、もしくはその子ソフトウェアのいずれかのインストール中にエラーが発生した場合、ディスプレイ102には図6(b)の画面が表示される。図6(b)の画面と図6(a)の画面の違いは、606に示した「application A」のインストール結果を示すアイコンが、「OK」1101から、「NG」1201になった点である。
<本実施の形態に係るインストーラの特徴>
本実施の形態のインストーラでは、あるソフトウェアのインストール中にエラーが発生しても、その時点で以降に予定していたソフトウェアのインストールがキャンセルされることはない。つまり、エラーが発生したソフトウェアに依存していない他のソフトウェアのインストールを行うことができる。
例えば、S208の「application E」のインストール中にエラーが発生した場合を例にとって説明する。「setup.exe」601は、S208の「application E」のインストールを中止する。続いて、次にインストールを予定していたソフトウェアのインストールの開始を試みる。次にインストールを予定していたS209の「application F」は、S208の「application E」の子ソフトウェアではない。したがって、「setup.exe」601はS209の「application F」からインストールを再開する。
S216のインストールが終了した後で、図6(b)の画面を表示する。さらに、いかなるソフトウェアのインストール中にエラーが発生したのかを示す図7の画面を、図6(b)の画面と共にディスプレイ102に表示する。
図7のエリア3には、エラーを起こしてインストールを中断されたソフトウェアとして、S208の「application E」が記載されている。また、エリア4には、S208の「application E」の親子関係が記載されている。図7の画面は、インストール中にエラーを発生させたソフトウェア名称を表示するだけでなく、そのソフトウェアの親子関係を表示することも目的としている。
異なる例として、S204の「application C」のインストール中にエラーが発生した場合について説明する。「setup.exe」601は、S204の「application C」のインストールを中止する。続いて、次にインストールを予定していたソフトウェアのインストールの開始を試みる。しかし、次にインストールを予定していたS205の「application B」は、エラーによってインストールされなかったS204の「application C」のインストールの子ソフトウェアになる。したがって、S205の「application B」をインストールせずに、更に次にインストールを予定していたソフトウェアのインストールを試みる。
次にインストールを予定していたS206の「application D」は、S204の「application C」の子ソフトウェアではない。したがって、「setup.exe」601はS206の「application D」からインストールを再開する。S216のインストールが終了した後で、図6(b)の画面を表示する。さらに、いかなるソフトウェアのインストール中にエラーが発生したのかを示す図7の画面を、図6(b)の画面と共にディスプレイ102に表示する。
図7のエリア1には、エラーを起こしてインストールを中断されたソフトウェアとして、S204の「application C」が記載されている。また、エリア402には、S204の「application C」の親子関係が記載されている。さらに、S204の「application C」の子ソフトウェアであったためにインストールをキャンセルされたS205の「application B」がエリア405に記載されている。また、S205の「application B」の親子関係がエリア406に記載されている。
もう一つの例として、S202の「application A」のインストール中にエラーが発生した場合の例について説明する。「setup.exe」601は、S202の「application A」のインストールを中止する。続いて、次にインストールを予定していたソフトウェアのインストールの開始を試みる。しかし、S203からS214の順番でインストールをされる予定であった全てのソフトウェアは、直接と間接の違いはあるが、S202の「application A」に対して依存したソフトウェアである。そのため、「setup.exe」601はS203からS214でインストールを予定していた全てのソフトウェアのインストールを行わず、S202に対しいて依存のないS215のインストールから再開する。S216のインストールが終了した後で、図6(b)の画面を表示する。
なお、図7の画面上に、「application A」や、「application J」、「application K」のインストール時のエラーを表示すると、図6(b)の画面でも再度インストール時のエラーを表示することとなる。これは、利用者にとって煩わしい表示となる。そこで、本実施の形態では、インストール中のエラーが発生しても、そのソフトウェアのインストールエラーを図7の画面に表示させない設定をソフトウェアインストール設定画面で行うことができる。そのときのソフトウェアインストール設定ファイルの例を図8に示す。
ここでは、S216で示した「application K」に対して、インストール中のエラーが発生しても、図7の画面にそのエラーを表示させない指定をしている。設定方法としては、セクション1002に「Hidden」パラメータを用意し、このパラメータに「Yes」を指定する。これによって、S216で示した「application K」のインストール中にエラーが発生しても、「setup.exe」601はS216で示した「application K」のインストールエラーを図7の画面に表示しない。
本実施の形態では、インストールエラーが発生しても、可能な限りソフトウェアのインストールを行うことを目的としている。しかし、利用者が「setup.exe」601へ意図的にインストールの中断を指示した場合、未インストールのソフトウェアが存在しても、「setup.exe」601は速やかに終了する。
「setup.exe」601は、ソフトウェアのインストール中に図9に示したプログレスダイアログを表示する。プログレスダイアログ上には、インストール中のソフトウェア名を示す文字列501と、インストールの進捗を示すプログレスバー502と、ソフトウェアのインストールをキャンセルするキャンセルボタン503が存在する。利用者がキャンセルボタン503を押すと、「setup.exe」601は利用者の意思を尊重し、現在インストール中のソフトウェアのインストールが完了したら、以降にインストールを予定していた全てのソフトウェアのインストールをスキップする。
なお、親ソフトウェアに対して更に親ソフトウェアが存在することが判明した場合には、最上位の親ソフトウェアまでの全てのソフトウェアを図7の画面に表示する構成も可能である。
<本実施の形態におけるインストールエラー処理のフロー>
図10は、本実施の形態におけるインストールエラー処理を示すフローチャートである。
最初に、S301でインストーラを起動する。続いて、S302で、インストール対象の全ソフトウェアを確認する。具体的には、インストーラ動作設定ファイルとソフトウェアインストール設定ファイルを解析しながら、インストールするソフトウェアを確認する。さらに、確認したインストール対象ソフトウェア間に親子関係が存在すれば、それも同時に確認する。
S303では、親ソフトウェアのインストールを開始する。最初の親ソフトウェアは、インストーラ動作設定ファイルで最初に指定されたソフトウェアが最初の親ソフトウェアとなる。S304では、親ソフトウェアのインストール中にエラーが発生したかを確認する。エラーが発生していなければ、S305へ進む。
S305では、エラーが発生しなかったことで、親ソフトウェアのインストールは完了したと判断する。S306では、インストール中にキャンセルボタンが押されたかを確認する。キャンセルボタンが押されていた場合は、S314に進み、インストール結果を表示した後で、S315でインストーラを終了する。インストール中にキャンセルボタンが押されていない場合、S307でインストールを完了した親ソフトウェアの子ソフトウェアを列挙する。
S308では、列挙した子ソフトウェアが存在するかを確認する。未インストールの子ソフトウェアが存在する場合、S309へ進み、未インストールの子ソフトウェアを次のインストール対象である親ソフトウェアにする。そして、S303へ進んで、親ソフトウェアとなった、未インストールの子ソフトウェアのインストールを行う。
S308で未インストールの子ソフトウェアが存在しない場合、S312で、インストール対象の親ソフトウェアを、先ほどインストールを終えたソフトウェアの1階層上のソフトウェアを親ソフトウェアとする。S313では、1階層上のソフトウェアを親ソフトウェアにできることが確認できた場合は、S307に戻り、先ほどインストールを完了したソフトウェアの1階層上にあるソフトウェアの子ソフトウェアを列挙し、インストール処理を継続する。もし、S313で1階層上のソフトウェアを親ソフトウェアにできない場合、つまり、インストーラまで戻ってしまった場合は、インストール対象の全ソフトウェアをインストールしたということを意味する。したがって、S314でインストール結果を表示し、S315でインストーラを終了する。
S304で、親ソフトウェアのインストール中にエラーが確認された場合、S310に進み、インストール中エラーを引き起こしたソフトウェアのインストールを中断する。続いてS311へ進み、エラーを起こしたソフトウェアのインストール中にキャンセルボタンが押下されているかを確認する。キャンセルボタンが押されていたら、S314へ進みインストール結果を表示し、S315でインストーラを終了する。S311でキャンセルボタンが押されていないことが確認されたら、S312へ進み、エラーを引き起こしたソフトウェアの1階層上のソフトウェアを親ソフトウェアにし、引き続きインストール処理を行う。
<本実施の形態の利点>
本実施の形態は、以下のような利点を有している。
(1)複数のソフトウェアを連続してインストールするインストーラにおいて、インストールエラーを発生したソフトウェアのインストールは行われないが、それ以外のソフトウェアのインストールを行うことができる。即ち、階層構造になっている複数のソフトウェアのインストール処理の中で、あるソフトウェアのインストール時にエラーが発生しても、全体のインストールを中断することはしない。そして、エラーが発生したソフトウェアの次にインストールを予定していた別のソフトウェアのインストールからインストールを再開する。これにより、インストール中にエラーが発生しても、インストール可能なソフトウェアを全てインストールすることができる。
(2)インストールを予定しているソフトウェアの親ソフトウェアがインストールされていなければ、当該インストールを予定しているソフトウェアのインストールを中断することができる。
(3)インストール時のエラーとは関係なく、全てのソフトウェアのインストールを中断することができる。
(4)インストール中に発生したエラーによってインストールを中断されたソフトウェアを、全てのソフトウェアのインストール後にディプレイ102に表示することができる。
(5)インストール中にエラーを発生したソフトウェアに親ソフトウェアが存在している場合、当該エラーを発生したソフトウェアだけでなく、その親ソフトウェアもディプレイ102に表示することができる。
(6)親ソフトウェアに対しても親ソフトウェアが存在する場合、最上位の親ソフトウェアまでの全てのソフトウェアをディプレイ102に表示することができる。
(7)インストールが中断されたソフトウェアの全ての子ソフトウェアを、インストールを中断したソフトウェアとして利用者に通知することができる。
(8)インストールが中止された全ソフトウェアを、インストールを中止されたソフトウェアとしてディプレイ102に表示することができる。
(9)インストール中にエラーが発生してもディプレイ102に表示しない設定がソフトウェア毎に可能となる。
なお、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
実施の形態に係るインストールエラー処理方法を実施するための情報処理システムの構成を示す模式図である。 図1中の光ディスクに記録されているソフトウェアのフォルダ構成図である。 光ディスクに記録されているソフトウェアの親子関係とインストール順序を示す図である。 インストーラ動作設定ファイルの記載例を示す図である。 ソフトウェアインストール設定ファイルの記載例を示す図である。 インストール完了画面を示す図である。 インストール結果画面を示す図である。 ソフトウェアインストール設定ファイルの別の記載例を示す図である。 インストール時のプログレスダイアログを示す図である。 実施の形態におけるインストールエラー処理を示すフローチャートである。
符号の説明
101 コンピュータ
101A 制御部
102 ディスプレイ
105 光ディスク
106 光学ディスクドライブ

Claims (4)

  1. 複数のソフトウェアの親子関係を表す情報を記録媒体から読み込む読込手段と、
    複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するインストール手段と、
    前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止する中止手段と、
    前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開する再開手段とを備えたことを特徴とする情報処理装置。
  2. 前記インストール手段が前記他の親ソフトウェアのインストール処理およびその子ソフトウェアのインストール処理を実行した後、前記中止手段により前記インストール処理の実行が中止された子ソフトウェアに関する情報を表示する表示手段とをさらに備えたことを特徴とする請求項1に記載の情報処理装置。
  3. 読込手段と、インストール手段と、中止手段と、再開手段とを備えた情報処理装置における情報処理方法であって、
    前記読込手段が、複数のソフトウェアの親子関係を表す情報を記録媒体から読み込むステップと、
    前記インストール手段が、複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するステップと、
    前記中止手段が、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止するステップと、
    前記再開手段が、前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開するステップとを備えたことを特徴とする情報処理方法。
  4. コンピュータに、
    複数のソフトウェアの親子関係を表す情報を記録媒体から読み込むステップと、
    複数の親ソフトウェアのうち1つのインストール処理を実行した次に、その子ソフトウェアのインストール処理を実行するステップと、
    前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、その子ソフトウェアのインストール処理の実行を中止するステップと、
    前記親ソフトウェアのインストール処理の実行中にエラーが発生すると、他の親ソフトウェアからインストール処理の実行を再開するステップとを実行させることを特徴とするプログラム。
JP2007041295A 2007-02-21 2007-02-21 情報処理装置、情報処理方法、及びプログラム Expired - Fee Related JP4557993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007041295A JP4557993B2 (ja) 2007-02-21 2007-02-21 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007041295A JP4557993B2 (ja) 2007-02-21 2007-02-21 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008204290A JP2008204290A (ja) 2008-09-04
JP4557993B2 true JP4557993B2 (ja) 2010-10-06

Family

ID=39781715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007041295A Expired - Fee Related JP4557993B2 (ja) 2007-02-21 2007-02-21 情報処理装置、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4557993B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5247245B2 (ja) * 2008-05-30 2013-07-24 キヤノン株式会社 情報処理装置及びインストール方法
JP5584793B2 (ja) * 2013-04-10 2014-09-03 キヤノン株式会社 情報処理装置及びシステムと制御方法、プログラム
JP6388405B2 (ja) * 2014-12-26 2018-09-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962493A (ja) * 1995-08-29 1997-03-07 Nec Corp ソフトウェアインストールシステム
JP2001356912A (ja) * 2000-06-12 2001-12-26 Fujitsu Ltd ソフトウェアのインストール/アップデート/アンインストールシステム
JP2002055821A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd インストール方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2004302929A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 自動インストーラプログラム
JP2006331256A (ja) * 2005-05-30 2006-12-07 Canon Inc 情報処理装置、インストール処理方法、記憶媒体およびプログラム
JP2007004679A (ja) * 2005-06-27 2007-01-11 Canon Inc 情報処理装置、方法、制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962493A (ja) * 1995-08-29 1997-03-07 Nec Corp ソフトウェアインストールシステム
JP2001356912A (ja) * 2000-06-12 2001-12-26 Fujitsu Ltd ソフトウェアのインストール/アップデート/アンインストールシステム
JP2002055821A (ja) * 2000-08-08 2002-02-20 Hitachi Ltd インストール方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2004302929A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 自動インストーラプログラム
JP2006331256A (ja) * 2005-05-30 2006-12-07 Canon Inc 情報処理装置、インストール処理方法、記憶媒体およびプログラム
JP2007004679A (ja) * 2005-06-27 2007-01-11 Canon Inc 情報処理装置、方法、制御プログラム

Also Published As

Publication number Publication date
JP2008204290A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
US8037472B2 (en) Building and installing dynamic installation packages using a declarative authoring tool
JP4810282B2 (ja) モジュールインストール方法、モジュールインストール装置、及びプログラム
EP1999557B1 (en) Printing controller,gui display method, printer driver, and recording medium
EP2927809A1 (en) Automatic detection and loading of missing plug-ins in a media composition application
JP2010039512A (ja) ソフトウェア更新装置、およびソフトウェア更新プログラム
JP2005338940A (ja) インストール方法、情報処理装置、及びデバイスドライバ
US6473771B1 (en) Method of integrating application programs to form or modify suite, and a suite integration toolkit to perform same
JP4557993B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20100037040A1 (en) Method and apparatus for implementing virtual environment
JP2006285774A (ja) サービス生成装置、サービス処理システム、処理方法、プログラム及び記録媒体
US9063813B2 (en) Apparatus, control method, and storage medium
JP2009134610A (ja) 周辺機器制御装置、プログラムインストール方法及びプログラム
JP7023807B2 (ja) 管理システム、情報処理装置、設定管理方法、およびプログラム
JP2009223577A (ja) ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム
JP2008250382A (ja) コンピュータプログラム、情報処理装置および情報処理方法
JP2004078268A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2008052322A (ja) プリンタドライバインストール方法およびプリンタインストールプログラム
JP2008299725A (ja) ソフトウェア更新方法、情報処理装置、及びプログラム
JP2006350652A (ja) ソフトウェアのインストール方法、該方法を適用した情報処理装置、及びプログラム
JP4591818B2 (ja) 画像ファイル再生システム
JP2005025264A (ja) ソフトウェアのアンインストール方法、該方法を実行するプログラム、該プログラムが格納される記録媒体
JP2004046358A (ja) 電子付箋作成方法、電子付箋利用方法、電子付箋システムおよび電子付箋プログラム
JP2007249894A (ja) プログラム
JP2009175795A (ja) 表示処理装置、及びプログラム
JP2005242536A (ja) ハードディスクのリカバリー方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100624

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: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100720

R150 Certificate of patent or registration of utility model

Ref document number: 4557993

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees