JP5921292B2 - 情報処理装置、制御方法、およびプログラム - Google Patents

情報処理装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP5921292B2
JP5921292B2 JP2012084972A JP2012084972A JP5921292B2 JP 5921292 B2 JP5921292 B2 JP 5921292B2 JP 2012084972 A JP2012084972 A JP 2012084972A JP 2012084972 A JP2012084972 A JP 2012084972A JP 5921292 B2 JP5921292 B2 JP 5921292B2
Authority
JP
Japan
Prior art keywords
installer
application
bit
processing apparatus
installation
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.)
Active
Application number
JP2012084972A
Other languages
English (en)
Other versions
JP2013214247A (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 JP2012084972A priority Critical patent/JP5921292B2/ja
Priority to US13/834,527 priority patent/US9417861B2/en
Publication of JP2013214247A publication Critical patent/JP2013214247A/ja
Application granted granted Critical
Publication of JP5921292B2 publication Critical patent/JP5921292B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、インストーラを使用しアプリケーションをインストールする情報処理装置、制御方法、およびプログラムに関する。
アプリケーションの高機能化に伴い、ソフトウェアを使用するために必要なシステム環境(システム環境とは、オペレーティングシステム(OS)のファイル、レジストリ、サービス、設定の状況、およびアプリケーションのイストール状況を指す)の変更も年々増大してきた。このため、情報処理装置にインストールするソフトウェアのモジュール数が増加し、更に、モジュールを動作させるために必要なレジストリへの記述、OSのセキュリティ設定の変更など、システム環境に対応して変更するための項目は枚挙にいとまがない。
結果、アプリケーションのバージョンアップを行うためのサービスパックインストーラ、およびOSのアーキテクチャごとに32bitインストーラと64bitインストーラを用意するという形でインストーラの種類が増加した。インストーラが増加したことで、ユーザはインストールしたいアプリケーションに対応するインストーラを選択する必要があった。例えば、32bitメジャーバージョン、32bitサービスパックの2種類のインストーラがインストールメディア内に記憶されている場合、ユーザは自分のシステム環境に適したインストーラを自ら選択しなければならない。
このような問題を鑑み、情報処理装置にインストールメディアを挿入した際、OSの自動実行機能により、ユーザにインストーラを選択させることなくインストーラの処理を実行する技術が生まれた。例えば、メジャーバージョンのインストーラとサービスパックのインストーラを記憶したインストールメディアを情報処理装置に挿入した場合、自動実行機能によってメジャーバージョンインストーラが起動するソフトウェアがある。
また、アプリケーションの自動インストールに関する技術として特許文献1が挙げられる。特許文献1では、情報処理装置にインストールされているアプリケーションのバージョンを管理、抽出を行う管理装置が、情報処理装置にインストール可能なアプリケーションをインストールする技術が開示されている。この技術も、自動実行機能の一種である。
特開2001−236211
従来の自動実行機能には、インストーラを実行する情報処理装置のシステム環境に応じ、適切なインストーラを使用しアプリケーションをインストールするというような機能がない。結果、情報処理装置のシステム環境に適したインストーラを使用しアプリケーションをインストールできるとは限らない。
本発明は、上記課題を鑑み、システム環境に適したインストーラを使用しインストールを行う情報処理装置を提供することを1つの目的とする。
本発明の一実施形に係る情報処理装置は、複数のソフト部品から構成されたアプリケーションをインストールする第1のインストーラと、前記アプリケーションを構成するソフト部品を変更するために修正モジュールをインストールする第2のインストーラとを記憶する記憶手段と、前記アプリケーションがインストールされていなかった場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、前記修正モジュールをインストールすることでインストールされている前記アプリケーションが変化する場合は、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行うよう制御する制御手段と、を有し、前記制御手段は、前記第1のインストーラを使用したことに応じて第1のログデータを出力するよう制御し、前記第1のインストーラから別のインストーラを起動したことに応じて第2のログデータを出力するよう制御し、前記第1のログデータは前記第1のインストーラ、および前記別のインストーラのインストールに関するログを含み、前記第2のログデータは前記第1のインストーラのインストールに関するログは含まず、前記別のインストーラのインストールに関するログを含むことを特徴とする。
本発明によれば、システム環境に適したインストーラを使用しインストールを行う情報処理装置を提供することができる。
情報処理装置のハードウェア構成を示す図である。 ソフトウェアの構成を説明するソフトウェア構成図である。 レジストリ情報、および、インストーラ情報を示す図である。 インストーラ管理画面のユーザインタフェースのUIを示す図である。 インストーラによるインストール処理のフローチャートである。 インストーラによるアプリケーションの管理処理のフローチャートである。 インストーラにより出力されるログデータを示す図である。
始めに、インストーラを使用しアプリケーションをインストールする情報処理装置、制御方法、およびプログラムにおける課題についてより詳細に述べる。
1つ目は、情報処理装置にインストール済みのアプリケーションに対しユーザがサービスパックを適用しようとした場合、自動実行機能によりメジャーバージョンインストーラが起動され、アプリケーションを修復、または、削除するための管理画面が表示されることで発生する問題を解決する。その問題とは、アプリケーションにサービスパックを適用したいユーザは、その管理画面を閉じる指示を行い、その後、インストールメディアからサービスパックインストーラを選択し起動しなければならないため、操作が手間であるという問題である。この問題は、メジャーバージョンインストーラからサービスパックインストーラを起動するために必要な幾つかのロジックが従来技術には存在しないため発生する。
2つ目は、OSのアーキテクチャの差異により適正なインストーラが起動できない問題を解決する。ここで、Windows(登録商標)を例にこの問題が抱える一側面を説明する。64bit環境で自動実行機能により32bitインストーラが起動すると、64bitのインストーラを使用する旨をエラーで表示することがある。そのため、このようなエラーが表示された場合、ユーザは手動で64bitのインストーラを起動する必要がある。
また、OSのアーキテクチャが32bit、64bitのどちらでも動作するWOW64インストーラが存在するが、このインストーラでは次の様な問題を解決できていない。WOW64インストーラは32bitプロセスとして起動しエミュレーションを行うため、エミュレーション用のソフトウェアを使用する。エミュレーション用のソフトウェアは64bitでは使用されないため、WOW64インストーラは64bitインストーラにパフォーマンスで劣る。
また、WOW64インストーラがインストール処理中に使用する64bitアプリケーションとの互換性が悪く、64bitのDLLをロード出来ない問題もある。更に、WOW64インストーラは32bit、64bitがそれぞれのインストーラに比べレジストリ操作やフォルダ操作が複雑になるため、インストーラを作成する開発者の開発工数が増すという懸念もある。以上の様な理由から、エミュレーションを行うインストーラよりもOSのアーキテクチャに最適なインストーラが起動する方が好ましいが、ユーザの操作に手間がかかる。
以上が本発明の更なる課題であり、本発明が提供する情報処理装置によって、これらの課題の内少なくとも1つを解決することが可能となる。
次に、本願発明を説明する上で使用する用語について説明する。
64bit環境は、32bit環境と比較し、一度の処理においてメモリに展開できるデータ量が多く、かつ1クロックの処理量が多いアーキテクチャであり、データ処理速度が32bit環境よりも速いアーキテクチャである。換言すれば、64bit環境と32bit環境はデータ処理のロジックが異なるアーキテクチャである。32bit環境が第1のアーキテクチャ、64bit環境が第2のアーキテクチャに相当する。
アプリケーションは、特定の処理の開始を指示させるためのユーザインターフェースを所望の結果を得たいユーザに対して提供する他、ユーザインターフェースを介して入力された設定に基づき特定の処理の実行を実現するためのソフトウェアである。アプリケーションはコンポーネントで構成されており、各コンポーネントにはユーザインターフェースを提供する役割、または特定の処理を実行する役割、と言った役割が与えられている。コンポーネントはその役割を達成するためのソフトウェア部品である。なお、各コンポーネントはモジュールと呼ばれるソフトウェア部品の集合体であり、一般的に、アプリケーションはモジュール単位でしばしば不具合が発生する。その不具合を解消するために配布されるのが、不具合を解消するモジュール群を内包するサービスパックである。コンポーネント、およびモジュールは、規模は違えど、アプリケーションを構成する部品であることは共通であるため、本願発明では両方を含めてソフト部品と称する。ソフト部品と称する場合、アプリケーションを構成するソフトウェアを指すことになる。
また、アプリケーションはOS上で実行されるものであり、OS上にインストールされることで実行可能となる。また、アプリケーションはOSに依存するソフトウェアであり、OSの差異、または同じOSであってもアーキテクチャの差異を考慮し、夫々のシステム環境に適したソフトウェア構成を持つ必要がある。システム環境に適したソフトウェア構成を持たないアプリケーションが情報処理装置にインストールされた場合、アプリケーションの本来の機能を十分に発揮できなくなる他、場合によっては情報処理装置の動作にも影響を与えかねない。
インストーラは、OSを備えた情報処理装置に対してアプリケーションをインストール、またはアンインストールする他、インストールされたアプリケーションを修復するための補助ソフトウェアである。ユーザは、インストーラを使用することで容易にアプリケーションのインストールを達成することが可能になる。インストーラは、夫々のシステム環境に適したソフトウェア構成を持つ複数のアプリケーション毎に用意されているものとする。各インストーラは、アプリケーションの機能を十分に発揮させるために最適なインストール処理を実現する。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の一実施形態において適用されるシステム環境のハードウェア構成を示す図であり、具体的には、情報処理装置100のハードウェア構成を示す図である。図1において、情報処理装置100はユーザが使用するコンピュータである。なお、情報処理装置100には、所定のオペレーティングシステム(OS)がインストールされ、かつ特定の機能処理を実行する各種のアプリケーションもインストールされている。
また、情報処理装置100はユーザ操作入力を受信する入力デバイスであるキーボード105とポインティングデバイス106が設けられている。さらに、情報処理装置100は、ユーザに視覚的な出力情報フィードバックを与える表示部102を備える。
さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスRAM
103、ROM 104、HDD107が設けられる。また、CD/DVD110に記録されたデータを読み取るためのCD−ROM/DVD−ROMドライブ108も設ける。
RAM103は、CPU101によりOSや本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。ROM104は、CPU101の各種制御を実行する各種制御プログラムを記憶している。さらに、外部機器との通信を行うインターフェイスデバイスI/O109を備え、プログラム実行を行うCPU101を備える。なお、周辺機器との接続形態は有線/無線を問わない。
図2は、情報処理装置100のソフトウェアの構成を説明するソフトウェア構成図の一例を示す図である。
32bitメジャーバージョンインストーラ200は、アプリケーションのインストールを実行する上で必要となるユーザインタフェースを提供する。また、32bitメジャーバージョンインストーラ200は、提供したユーザインターフェースを介して受け付けたユーザからの要求に従いアプリケーションのインストールに必要な処理を行う。また、32bitメジャーバージョンインストーラ200は、HDD107により実現される記憶部207、またはCD/DVD110に記憶されたプログラムを、CPU101により実行されることで実現される。なお、各インストーラはRAM103に記憶された後CPU101により実行され、実行情報、および一時データはRAM103に記憶される。即ち、図2のソフトウェア構成を実現したCPU101は、各種ソフトウェアが提供する処理が実行されるように制御する。
また、64bitメジャーバージョンインストーラ210、32bitサービスパックインストーラ220、64 bitサービスパックインストーラ230は、32bitメジャーバージョンインストーラ200と同等の機能を担う。記憶部207、またはCD/DVD110には、64bitメジャーバージョンインストーラ210、32bitサービスパックインストーラ220、64 bitサービスパックインストーラ230、32bitメジャーバージョンインストーラ200の計4つのインストーラが記憶されている。32bitメジャーバージョンインストーラ200は第1のインストーラに相当する。32bitサービスパックインストーラ220は第2のインストーラに相当する。64bitメジャーバージョンインストーラ210は、第3のインストーラ、または第2のインストーラに相当する。64 bitサービスパックインストーラ230は第4のインストーラに相当する。
なお、インストール処理に関するログデータを出力するログ出力機能に関しては、32bitメジャーバージョンインストーラ200に限り、それ以外の各インストーラ―とは異なるログ出力機能を有している。詳細は後述するが、32bitメジャーバージョンインストーラ200と、それ以外の各インストーラ―が出力するログデータには差異がある。各インストーラは32bitメジャーバージョンインストーラ200と同様に実現される。
また、各インストーラは異なるシステム環境毎に用意されたインストーラであるため、各インストーラによりインストールされるコンポーネント、および/またはモジュールはインストーラ毎に異なる。例えば、32bitメジャーバージョンインストーラ200は、システムやプログラム等の仕様に大幅に修正があったバージョン、または新規アプリケーションをインストール可能である。32bitサービスパックインストーラ220は、メジャーバージョンのアプリケーションに対して、小幅な修正をするための修正モジュールを適用し、バージョンアップインストールすることが可能である。
換言すれば、メジャーバージョンインストーラは、ユーザに対し新たな効果を提供するためのアプリケーションであって、特定の処理を実行するためのコンポーネントを備えたメジャーバージョンのアプリケーションをインストールするためのインストーラである。一方、サービスパックインストーラは、その特定の処理を実行するコンポーネントを構成するモジュールを追加・修正するためのモジュールを、インストールされたアプリケーションのコンポーネントに対し適用するためのインストーラである。サービスパックインストーラは、インストールされたアプリケーションを構成するモジュールを変更するための修正モジュールを提供するためのインストーラである。
また、64bitに関する各インストーラは、64bit環境に適応されたメジャーバージョンのアプリケーション、および修正プログラムを情報処理装置100にインストールさせるインストーラである。
32bitメジャーバージョンインストーラ200を構成するコンポーネントを201〜203で示す。32bitメジャーバージョンインストーラ200におけるインストーラ実行部201は、32bit用のアプリケーションのインストール、アンインストール、修復インストール、ログデータの出力、アプリケーションの設定構築機能を有する。また、インストーラ実行部201は、環境解析部203で解析された情報を基に異なるインストーラを起動させる。そして、別のプロセス上で起動するインストーラがインストール処理を継続して行う。
インストーラUI部202は、32bitメジャーバージョンのアプリケーションをインストールさせるためのユーザインタフェースの構築、およびユーザからの各種入力操作の受け付けを処理する。
環境解析部203は、情報処理装置100の環境情報の取得、および解析を行う。環境情報とは、例えば、OSのアーキテクチャ情報、OSのバージョン情報、レジストリ情報、環境変数、インストールされているソフトウェア情報、アプリケーションの各種設定等である。なお、必ずしも全ての情報が環境情報として取り扱われるわけではない。各インストーラは環境解析部203を介して後述する判断処理を行うわけだが、環境解析部203は取得した環境情報を取得し、解析した結果をインストーラに送信する構成としている。しかし、取得した環境情報をそのままインストーラに送信する構成でも良い。本実施例では、取得した環境情報を送信すると表現された場合、両方の構成を含むものとする。
64bitメジャーバージョンインストーラ210を構成するコンポーネントを211〜213で示す。各コンポーネント211〜213は、32bitの各コンポーネント201〜203の64bit環境に対応している。インストーラ実行部211はインストーラ実行部201、インストーラUI部212はインストーラUI部202、環境解析部213は環境解析部203と対応している。32bitサービスパックインストーラ220を構成するコンポーネントを221〜223で示す。
インストーラ実行部221は、32bitサービスパックインストーラ220において、アプリケーションのインストールやログデータの出力、アプリケーションの設定構築機能を担う。また、環境解析部203で解析した情報を基にインストール処理を変更する。
インストーラUI部222は、32bitサービスパックインストーラ220において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。
環境解析部223は、32bitサービスパックインストーラ220で情報処理装置100の環境情報を解析する機能を担う。
64bitサービスパックインストーラ230を構成するコンポーネントを231〜233で示す。各コンポーネント231〜233は、32bitの各コンポーネント221〜223の64bit用として対応している。インストーラ実行部231はインストーラ実行部221、インストーラUI部232はインストーラUI部222、環境解析部233は環境解析部223と対応している。
アプリケーション240は、上述したアプリケーションと同等のソフトウェアである。
図3は、情報処理装置100のレジストリ情報300、および、各種インストーラ200、210、220、230のインストーラ情報310の一例を示す。レジストリ情報300は、情報処理装置100のレジストリ情報一覧を示し、情報処理装置100にインストールされているアプリケーション240の情報を保持する。例えば、レジストリ情報300は、バージョン情報301、ProductCode302、UpgradeCode、GUID、インストールパス等を保持する。
バージョン情報301は、情報処理装置100にインストールされているアプリケーション240のバージョンを示す。例えば、バージョン情報301の値が「3.0.0」であれば、メジャーバージョンが「3」、マイナーバージョン「0」、リビジョン(適用されたサービスパックのバージョン)「0」のアプリケーション240がインストールされていることになる。リビジョン「0」の場合、サービスパックはインストールされていないと判断できる。
ProductCode302は、アプリケーション240に対して一意なコードで、レジストリ情報300にアプリケーション240のProductCode302が存在すれば、アプリケーション240がインストールされているということになる。
インストーラ情報310は、各種インストーラ200、210、220、230のインストール処理に必要な情報を保持する。前記インストーラ情報310は、設定ファイル、または、各インストーラ内部に保持している情報である。インストーラ情報310は、各種インストーラ200、210、220、230のバージョン情報311、ProductCode312、UpgradeCode、GUID等を保持する。
バージョン情報311は、インストーラがインストール可能なアプリケーションのバージョンを示す。例えば、バージョン情報301の値が「3.0.1」であれば、メジャーバージョンが「3」、マイナーバージョン「0」、リビジョン(サービスパックのバージョン)「1」のアプリケーション240に対応するインストーラとなる。リビジョン「1」の場合、サービスパックのバージョン「1」がインストールされていると判断できる。ProductCode312は、アプリケーション240に対して一意なコードで、各インストーラによって、レジストリ情報300のProductCode302にProductCode312が書き込まれる。一般的に製品のメジャーバージョン、マイナーバージョンが同じ場合、ProductCode302は同じコードを使用する。即ち、サービスパックをインストールした場合は、レジストリ情報300に書き込まれるProductCode302の値は変化しない。
図3を例にまとめると、レジストリ情報300を有する情報処理装置100はメジャーバージョンであるバージョン3.0のアプリケーションがインストールされており、バージョン情報311を有するインストーラはサービスパックであると言える。レジストリ情報300、および、インストーラ情報310の情報は、インストーラ200、220が実行するインストール処理時に利用される。また、レジストリ情報300、インストーラ情報310の記載表現は、この記載に限ったものではない、また、記述される情報もこれに限ったものではない。
図4は、アプリケーションを操作するためのインストーラ管理画面のユーザインタフェースを示す。
図4の画面は、情報処理装置100のOSにおけるインストーラの仕様で表示される画面である。また、図4の画面は、従来のインストーラにより表示されるインストーラ管理画面でもあり、実施例1における32bitメジャーバージョンインストーラ200、および64bitメジャーバージョンインストーラ210により表示されるインストーラ管理画面でもある。アプリケーションがインストール済みの環境では、アプリケーションをインストールするためのインストーラを起動すると表示される。一般的に、インストール済みのアプリケーションにサービスパックを適用する場合、サービスパック用のインストーラを起動する必要がある。しかし、OSの自動実行機能によってメジャーバージョン用のインストーラが起動すると、図4のような管理画面が起動してしまうため、ユーザは手動で画面を閉じる指示を行い、サービスパック用のインストーラを起動しなければならない。このような手順になるのは、情報処理装置100にメディアが挿入された際、OSの自動実行機能がメディア内に含まれているソフトウェアを一つしか起動できないからである。
実施例1では、32bitメジャーバージョンインストーラ200、または、64bitメジャーバージョンインストーラ210でインストール可能なアプリケーション240が情報処理装置100にインストール済みである場合に、メジャーバージョンのアプリケーションに対応したインストーラを起動することによって図4が表示される。
インストーラ管理画面ウインドウ400は、インストーラUI部202のユーザインタフェースを示している。修復処理ラジオボタン401は、情報処理装置100にインストールされているアプリケーション240の修復を行う際に選択するラジオボタンを示す。例えば、32bitメジャーバージョンインストーラ200により管理画面が表示され、修復を行う選択がされた場合は、32bitメジャーバージョンインストーラ200によりアプリケーションのインストールが行われる。即ち、メジャーバージョンのアプリケーションの動作が芳しくないような場合に、再インストールを行う目的として使用される。削除処理ラジオボタン402は、情報処理装置100にインストールされているアプリケーション240の削除(アンインストール)を行う際に選択するラジオボタンを示す。
開始ボタン403は、ボタンが押下されたことによって、修復処理ラジオボタン401、または、削除処理ラジオボタン402のいずれかで選択された処理を開始する。処理終了後、インストーラ管理画面ウインドウ400を閉じる。キャンセルボタン404は、ボタンが押下されたことによって、インストーラ管理画面ウインドウ400を閉じる。
図5は、32bitメジャーバージョンインストーラ200、64bitメジャーバージョンインストーラ210、32bitサービスパックインストーラ220、または64bitサービスパックインストーラ230により実行されるインストール処理のフローチャートを示している。本フローチャートが開始されるトリガーは、インストーラ実行部201がメジャーバージョンインストーラ200の実行を示す操作を受け付けた際、または、OSの自動実行機能によって32bitメジャーバージョンインストーラ200が起動した際に開始される。起動とは、インストーラがインストール処理を開始したことを指し、起動と同時にRAM103にインストーラのプログラムをロードしてインストール処理を実行する。
実施例1では、32bitメジャーバージョン、32bitサービスパック、64bitメジャーバージョン、64bitサービスパックのインストーラが一つのメディア(例えば、CD−ROM、DVD−ROM等の記憶媒体)に記憶されているものとする。しかし、インストーラが所定のフォルダに配置されていれば、メディアから実行される処理に限ったものとしない。何れの場合にせよ、インストーラ200、210、220、230はRAM103に一度記憶され、CPU101により実行される。インストーラ200、210、220、230は、インストーラ起動と同時にログデータを生成し、インストール処理と並行してインストーラ終了時までに発生する現象を把握するためのログデータを出力する。ログデータの出力処理については後述する。
また、図5に示された実線の区切りは、処理の主体が異なることを意味している。具体的には、左から、32bitメジャーバージョン、32bitサービスパック、64bitメジャーバージョン、64bitサービスパックのインストーラにより実行される処理である。
ステップ500において、インストーラ実行部201は、環境解析部203を介し、情報処理装置に備えられたOSが32bit、または、64bitのいずれのアーキテクチャで構成されているかを判断する。環境解析部203はOSが提供しているAPIを利用しアーキテクチャに関する情報を取得し、インストーラ実行部201は取得された情報を基にOSが32bitであるか64bitであるかの判断を行う。なお、環境解析部203はOSの環境変数を参照する形態であっても良いため、アーキテクチャに関する情報の取得に限定はない。インストーラ実行部201は、何れかの方法でOSを構成しているアーキテクチャに関する情報を取得する。OSが32bit環境だった場合、ステップ501へ処理が遷移する。一方、OSが64bit環境だった場合、ステップ509へ処理が遷移する。
ステップ501において、インストーラ実行部201は、環境解析部203を介しレジストリ情報を取得する。そして、インストーラ実行部201は、レジストリ情報300とインストーラ情報310を基に、起動したインストーラに対応するメジャーバージョンのアプリケーションが情報処理装置100にインストール済みか否かを判断する。判断ロジックを具体的に説明する。インストーラ実行部201は、インストーラ情報310が保持するProductCode312がレジストリ情報300に保持されているかを解析する。レジストリ情報300のProductCode302にProductCode312と一致するコードが含まれていた場合、メジャーバージョンのアプリケーションがインストール済みであると判断する。一方、レジストリ情報300のProductCode302にProductCode312と一致するコードが含まれてなかった場合、メジャーバージョンがインストール済みでないと判断され、ステップ502へ処理が遷移する。
インストーラ実行部201がメジャーバージョンのアプリケーションがインストール済みと判断した場合、次に、ProductVersionのバージョン情報301と、InstallerVersionのバージョン情報311のメジャーバージョンが一致するか否かを判断する。なぜなら、例えば、バージョン情報301が「3.0.0」、バージョン情報311が「4.0.1」である場合、メディア等に記憶されたアプリケーションの最新のコンポーネントをインストールする必要があるからである。一致していれば、既に最新のアプリケーションがインストールされているのでステップ503へ処理が遷移する。一方、一致していなければ、アプリケーションはインストールされているが最新の機能は利用できない状態なので、S502へ処理が遷移する。ステップ502において、インストーラ実行部201は、32bitメジャーバージョンのアプリケーションのインストール処理を行う。このステップが実行されることで、アプリケーション240は32bitメジャーバージョンのアプリケーションとなる。
ステップ503において、インストーラ実行部201は、32bitサービスパックインストーラ220が存在するか否かを判断する。32bitサービスパックインストーラ220が所定の位置に存在する場合、ステップ504へ処理が遷移する。所定の位置に存在とは、例えば、32bitサービスパックインストーラ220がインストールメディア内に存在しRAM103にインストーラがロードされた状態、または、インストールメディアの中身をOSのフォルダにコピーし、そのフォルダ内のインストーラがロードされた状態を指す。一方、32bitサービスパックインストーラ220が所定の位置に存在しない場合、ステップ505へ処理が遷移する。
ステップ504において、インストーラ実行部201は、環境解析部203を介し、サービスパック対応済みアプリケーションがインストール済みであるか否かを判断する。換言すれば、インストーラ実行部201は、修正モジュールをインストールすることで、インストールされているアプリケーション240のバージョンに変化が発生する否かを判断する。この判断ロジックは、次の2ステップで構成される。
インストーラ実行部201は、32bitサービスパックインストーラ220が保持するインストーラ情報310のProductCode312がレジストリ情報300のProductCode302に存在するか否かを判断する。次に、インストーラ実行部201は、レジストリ情報300が保持するバージョン情報301と32bitサービスパックインストーラ220が保持するインストーラ情報310のバージョン情報311の値を比較する。例えば、32bitサービスパックインストーラ220が保持するProductCode312がレジストリ情報300のProductCode302に存在すれば、インストーラ実行部201は、少なくともメジャーバージョンのアプリケーションがインストールされていると判断する。また、バージョン情報301が「3.0.0」、バージョン情報311が「3.0.1」である場合、バージョン情報301のリビジョンがバージョン情報311より大きいため、インストーラ実行部201はサービスパックがインストールされていないと判断する。無論、バージョン情報301のリビジョンがバージョン情報311より小さい場合であっても良く、その場合も、インストーラ実行部201はサービスパックがインストールされていないと判断する。なお、アプリケーション240に対し、アプリケーションの構成を変更するためのモジュールが適用されているか否かの判断はバージョン情報を基に判断する形態に限られない。例えば、レジストリ情報300にサービスパックがインストールされているか否かを示す情報が記載された場合は、バージョン情報を比較することなく、サービスパックをインストールするか否かの判断はできる。この判断ロジックであったとしても、結果としてアプリケーション240のバージョンは、サービスパックのインストーラによる修正モジュールの適用前と比較し変化する。
レジストリ情報300にインストーラ情報310のProductCode312が存在し、かつ、バージョン情報301とバージョン情報311が一致する場合、サービスパック対応済みアプリケーションがインストール済みであると判断され、ステップ503へ処理が遷移する。一方、レジストリ情報300にインストーラ情報310のProductCode312が存在し、かつ、バージョン情報301とバージョン情報311が同一でない場合、サービスパック対応済みアプリケーションがインストール済みでないと判断され、32bitサービスパックインストーラ220を起動するように制御する。この際、32bitメジャーバージョンインストーラ200は、32bitサービスパックインストーラ220のインストール処理が終了するまで一時的にインストール処理を停止する。そして、起動されたインストーラの処理が終了すると、32bitメジャーバージョンインストーラ200の処理が再開する。このように、32bitメジャーバージョンインストーラ200に限らず、インストール処理中のインストーラが他のインストーラを起動する際は、各インストーラはそれぞれ異なるプロセスで起動され、呼び出しもとのインストーラはインストール処理を一時停止する。そして、呼び出しもとのインストーラは、起動されたインストーラからインストール処理の終了を示す終了コードを取得したことに応じて、インストール処理を再開する。
ステップ505において、インストーラ実行部201は、今回の32bitインストーラの起動に伴い、ステップ502にてアプリケーション240のインストール処理を行ったか否かを判断する。ステップ502の処理を行った場合、アプリケーション240のインストール処理を行ったと判断し、ステップ507へ処理が遷移する。一方、ステップ502の処理を行わなかった場合、アプリケーション240のインストール処理を行わなかったと判断し、ステップ506へ処理が遷移する。
ステップ506において、インストーラ実行部201は、アプリケーション240を修復、または、削除するためのインストーラ管理画面を起動する。ステップ507において、インストーラ実行部201は、インストール処理の終了コードがエラーであるか否かを判断する。インストール処理の終了コードがエラーである場合、ステップ508へ処理が遷移する。一方、インストール処理の終了コードがエラーでない場合、32bitメジャーバージョンインストーラ200のインストール処理を終了し、本フローチャートの処理を終了する。終了コードは、32bitメジャーバージョンインストーラ200、64bitメジャーバージョンインストーラ210、32bitサービスパックインストーラ220から受け取ることが出来、受け取った終了コードを基にS507の判断を行う。なお、実施例1では、64bitサービスパックインストーラ220の終了コードは64bitメジャーバージョンインストーラ210に回収されるため、64bitサービスパックインストーラ220からエラーコードを受け取ることはない。また、32bitメジャーバージョンインストーラ200のエラーコードは、インストーラ実行部201自身が発行するエラーコードである。
ステップ508において、インストーラ実行部201は、終了コードを基にインストールの後処理を行う。インストールの後処理とは、メッセージウインドウを表示してエラー概要を表示する他、OSの再起動を促す旨を表示する。即ち、各インストーラによりエラーが発生した場合であっても、インストールの後処理は呼び出し元のインストーラである32bitメジャーバージョンインストーラ200により行われる。本フローチャートでは、メッセージウインドウを32bitメジャーバージョンインストーラ200のみが表示する形になっているが、他のインストーラを単体で起動した場合も考慮し、メッセージウインドウを表示する仕組み自体は全てのインストーラが保持しているものとする。ではなぜ実施例1において、各インストーラがメッセージウインドウを表示せず、32bitメジャーバージョンインストーラ200が代理でメッセージウインドウを表示するのかについての詳細な理由は後述する。なお、この理由を簡略的に述べると、32bitメジャーバージョンインストーラ200が各インストーラのログデータを含めたログ出力処理を行うことに起因する。
ステップ509において、インストーラ実行部201は、64bitメジャーバージョンインストーラ210が存在するか否かを判断する。64bitメジャーバージョンインストーラ210が存在する場合、64bitメジャーバージョンインストーラ210が起動される。この判断処理は、S503の判断処理における32bitサービスパックインストーラ220を64bitメジャーバージョンインストーラ210に置き換えたものであるため詳細は省く。この際、32bitメジャーバージョンインストーラ200は64bitメジャーバージョンインストーラ210のインストール処理が終了するまで一時的にインストール処理を停止する。そして、64bitメジャーバージョンインストーラ210の処理が終了すると、32bitメジャーバージョンインストーラ200の処理が再開する。一方、64bitメジャーバージョンインストーラ210が存在しない場合、ステップ507へ処理が遷移する。64bitメジャーバージョンインストーラ210のインストール処理が開始されるトリガーは、インストーラ実行部201が64bitメジャーバージョンインストーラ210の実行を示す処理を、32bitメジャーバージョンインストーラ200のインストーラ実行部201から受け付けたことによって開始される。
ステップ540において、インストーラ実行部211は、環境解析部213を介し、レジストリ情報300とインストーラ情報310を基に64bitメジャーバージョンインストーラ210がメジャーバージョンのアプリケーションがインストール済みか否かを判断する。この判断ロジックは、S501における32bitメジャーバージョンのアプリケーションがインストール済みか否かの判断と同等である。具体的には、32bitメジャーバージョンのアプリケーションを、64bitメジャーバージョンのアプリケーションに置き換えて判断する形態である。以上からS540の詳細な説明は省略する。そして、メジャーバージョンのアプリケーションがインストール済みであると判断された場合、ステップ542へ処理が遷移する。一方、メジャーバージョンがインストール済みでないと判断された場合、ステップ541へ処理が遷移する。
ステップ541において、インストーラ実行部211は、アプリケーション240の64bitメジャーバージョンのアプリケーションのインストール処理を行う。このステップが実行されることで、アプリケーション240は64bitメジャーバージョンのアプリケーションとなる。
ステップ542において、インストーラ実行部211は、64bitサービスパックインストーラ230が存在するか否かを判断する。この判断ロジックは、S503における32bitサービスパックのインストーラが存在するか否かの判断と同等である。具体的には、32bitサービスパックのインストーラを、64bitサービスパックのインストーラに置き換えて判断する形態である。以上からS542の詳細な説明は省略する。そして、64bitサービスパックインストーラ230が所定の位置に存在すると判断された場合、ステップ543へ処理が遷移する。一方、64bitサービスパックインストーラ230が所定の位置に存在しないと判断された場合、ステップ544へ処理が遷移する。
ステップ543において、インストーラ実行部211は、環境解析部213を介し、レジストリ情報300とインストーラ情報310を基にサービスパック対応済みアプリケーションがインストール済みか否かを判断する。この判断ロジックは、S504における32bitサービスパック対応済みアプリケーションがインストールされているか否かの判断と同等である。具体的には、32bitサービスパック対応済みアプリケーションを、64bitサービスパック対応済みアプリケーションに置き換えて判断する形態である。以上からS543の詳細な説明は省略する。
サービスパック対応済みアプリケーションがインストール済みであると判断された場合、ステップ544へ処理が遷移する。一方、サービスパック対応済みアプリケーションがインストール済みでないと判断された場合、64bitサービスパックインストーラ230を起動するように制御する。
この際、64bitメジャーバージョンインストーラ210は、64bitサービスパックインストーラ230のインストール処理が終了するまで一時的にインストール処理を停止する。そして、64bitサービスパックインストーラ230の処理が終了すると、64bitメジャーバージョンインストーラ210のインストール処理が再開する。
ステップ544において、インストーラ実行部211は、今回の64bitインストーラの起動に伴い、ステップ541にてアプリケーション240のインストール処理を行った否かを判断する。ステップ541の処理を行った場合、アプリケーション240のインストール処理を行ったと判断し、ステップ546へ処理が遷移する。一方、ステップ541の処理を行わなかった場合、アプリケーション240のインストール処理を行わなかったと判断し、ステップ545へ処理が遷移する。
ステップ545において、インストーラ実行部211は、アプリケーション240を修復、または、削除するためのインストーラ管理画面を表示する。
ステップ546において、インストーラ実行部211は、64bitメジャーバージョンインストーラ210、および64bitサービスパックインストーラ230から送信される終了コードの送信制御を行う。64bitサービスパックインストーラ230から終了コードを受け取っている場合、64bitサービスパックインストーラ230の終了コードを引き継ぎ、64bitメジャーバージョンインストーラ210でインストール処理を行った場合は、終了コードを生成する。そして、インストーラ実行部211は、引き継いだ終了コード、または生成した終了コードを32bitメジャーバージョンインストーラ200へ送信する。このように、終了コードは呼び出し元のインストーラに送信されるわけだが、64bitメジャーバージョンインストーラ210も呼び出されたインストーラであるため、更に呼び出しの大元である32bitメジャーバージョンインストーラ200に送信される。本願発明がこのような構成であるのは、後述するログ出力処理に関係する。
32bitサービスパックインストーラ220のインストール処理は、インストーラ実行部221が32bitサービスパックインストーラ220の実行を示す処理を、32bitメジャーバージョンインストーラ200のインストーラ実行部201から受け付けたことによって開始される。
ステップ520において、インストーラ実行部221は、アプリケーション240の32bitサービスパックのインストール処理を行う。32bitサービスパックのインストール処理後、32bitサービスパックインストーラ220のインストール処理を終了し、32bitサービスパックインストーラ220の終了コードを32bitメジャーバージョンインストーラ200に送信する。このステップが実行されることで、アプリケーション240は32bitサービスパック対応済みのアプリケーションとなる。
64bitサービスパックインストーラ230のインストール処理は、インストーラ実行部231が64bitサービスパックインストーラ230の実行を示す処理を、64bitメジャーバージョンインストーラ210のインストーラ実行部211から受け付けたことによって開始される。
ステップ560において、インストーラ実行部231は、アプリケーション240の64bitサービスパックのインストール処理を行う。64bitサービスパックのインストール処理後、64bitサービスパックインストーラ230のインストール処理を終了し、64bitサービスパックインストーラ230の終了コードを64bitメジャーバージョンインストーラ210に送信する。このステップが実行されることで、アプリケーション240は64bitサービスパック対応済みのアプリケーションとなる。
なお、別インストーラを呼び出す呼び出し元のインストーラは、必ずしも図5の通りでなくても良い。例えば、システム環境に応じてインストーラの切り替える処理を行えれば図5で示したインストーラ以外の別のインストーラが呼び出しても良い。また、システム環境判別専用のアプリケーションを別途設け、そのアプリケーションが各インストーラを呼び出しても良い。以上のように、自動でシステム環境に最適なインストーラによりインストールを行うとともに、ユーザの操作負担を軽減させることができる。
図6は、32bitメジャーバージョンインストーラ200、または、64bitメジャーバージョンインストーラ210により実行される、アプリケーション240の修復、または、削除のフローチャートを示している。本フローチャートが開始されるトリガーは、インストーラUI部202、212がインストーラ管理画面ウインドウ400を表示する処理を受け付けたことにより開始される。
ステップ600において、インストーラUI部202、または212は、開始ボタン403、または、キャンセルボタン404のどちらが押下されたかを判断する。インストーラUI部202、212は開始ボタン403が押下されたことを示す処理を受け付けた場合、開始ボタン403が押下されたと判断し、ステップ601へ処理が遷移する。一方、インストーラUI部202、212は、キャンセルボタン404が押下されたことを示す処理を受け付けた場合、キャンセルボタン404が押下されたと判断し、本フローチャートの処理を終了する。
ステップ601において、インストーラUI部202、212は、修復処理ラジオボタン401、または、削除処理ラジオボタン402のどちらが選択されているかを判断する。修復処理ラジオボタン401が選択されている場合、アプリケーション240を修復すると判断し、ステップ602へ処理が遷移する。一方、削除処理ラジオボタン402が選択されている場合、アプリケーション240を削除すると判断し、ステップ603へ処理が遷移する。
ステップ602において、インストーラ実行部201、211はアプリケーション240の修復を行う。アプリケーション240の修復後、本フローチャートの処理を終了する。ステップ603において、インストーラ実行部201、211はアプリケーション240の削除を行う。アプリケーション240の削除後、本フローチャートの処理を終了する。
図7は、32bitメジャーバージョンインストーラ200、64 bitメジャーバージョンインストーラ210が出力するログデータの一例を示している。ログデータは、インストーラ実行部201、211によって、インストーラ起動から終了までのインストーラ処理の詳細をファイル形式に出力する。本実施例では二つのインストーラが出力するログデータで説明を行うが、ログデータは各インストーラにより、夫々のインストール処理における詳細なログデータが出力される。
32bitインストーラログデータ700は、32bitメジャーバージョンインストーラ200のインストール処理の詳細なログを保持する。また、32bitインストーラログデータ700には、32bitメジャーバージョンインストーラ200以外のインストーラであって、呼び出されたことで実際に起動されたインストーラのログデータも保持される。
例えば、64bitサービスパックインストーラ230によりインストール処理が行われた場合は、32bitメジャーバージョンインストーラ200、64bitメジャーバージョンインストーラ210、および64bitサービスパックインストーラ230のログデータが、32bitインストーラログデータ700に含まれることになる。しかしながら、32bitメジャーバージョンインストーラ200によるインストール処理以外のログデータは、呼び出し先のインストーラから送信された終了コードを基に作成されているため、どのようなファイル(例えば、コンポーネント)をコピーしたのか等の詳細な情報は含まれていない。よって、32bitインストーラログデータ700を見たユーザは、どのようなインストーラが起動され、どのインストーラによりインストール処理が行われ、そしてそのインストーラによるインストール処理がどうなったのか、と言った全体の流れを把握できる。このログデータが第1のログデータに相当する。
64bitインストーラログデータ710は、64bitインストーラのインストール処理の詳細なログを保持する。64bitインストーラログデータ710には、64bitメジャーバージョンインストーラ210によるインストール処理のみが保持されている。そのため、64bitメジャーバージョンインストーラ210によるインストール処理に関するログデータは詳細に保持されている。例えば、どのようなファイルをコピーしたのか等の詳細な情報が含まれている。よって、64bitインストーラログデータ710を見たユーザは、どのようなファイルが情報処理装置100にインストールされたかを明確に把握することができる。このログデータが第2のログデータに相当する。
32bitメジャーバージョンインストーラ200のインストーラ実行部201は、インストーラの起動と同時に32bitインストーラログデータ700の出力を開始する。
次にインストーラ実行部201によってインストーラの切り替え処理が行われ、別のインストーラが呼び出され(ステップ509)、64bitメジャーバージョンインストーラ210が起動する。そして、インストーラ実行部211は、64bitインストーラログデータ710の出力を開始する。無論、インストーラ実行部211によりインストール処理が行われるので、どのようなファイルをコピーしたのか等の詳細な情報は出力される。インストーラの切り替え処理が行われたタイミングで32bitメジャーバージョンインストーラ200の処理が一時停止するため、32bitインストーラログデータ700の出力も一時停止する。
インストーラの切り替え処理で起動した64bitメジャーバージョンインストーラ210のインストール処理中にインストールエラーが発生すると、エラーログ711が出力され、64bitメジャーバージョンインストーラ210の処理が終了する。この際、64bitメジャーバージョンインストーラ210の終了コード712がログデータとして出力される。この際の終了コードはエラーを示している。
64bitメジャーバージョンインストーラ210の処理が終了すると、32bitメジャーバージョンインストーラ200のインストール処理、および、ログの出力処理が再開する。32bitメジャーバージョンインストーラ200のインストーラ実行部201は、64bitメジャーバージョンインストーラ210の終了コード712を受け取り、64bitメジャーバージョンインストーラ210のインストール結果を32bitインストーラログデータ700にログ702として出力する。このように、終了コードはあくまでどのように終了したかを示すものに過ぎず、どのようなインストール処理が行われたかを示す詳細な情報ではない。インストーラ実行部201は、受け取った終了コードを基にインストールの後処理等を行う(ステップ507、508)。
なぜ、32bitメジャーバージョンインストーラ200が、他のインストーラに代わりインストールの後処理を行うかの理由をここで説明する。上述したように、32bitインストーラログデータ700は、全体の流れを把握できるように出力されたログであり、インストーラ開発者はそのログを見ることでインストール処理の概要を把握できる。そのため、インストーラ開発者は、問題となるインストーラを容易に特定できるようになる。このログデータを出力するには一度32bitメジャーバージョンインストーラ200にログデータを集約させないといけないわけだが、インストールの後処理を行うために、もう一度別のインストーラを呼び出すことはパフォーマンス劣化を招きナンセンスである。そして、終了コードさえあれば、最初に別のインストーラを呼び出したインストーラであって、かつ各インストーラのインストール処理に関するログデータを集約して出力するインストーラである32bitメジャーバージョンインストーラでもインストールの後処理を実行できるので、32bitメジャーバージョンインストーラ200によりインストールの後処理が行われる。後処理が実行された後、32bitメジャーバージョンインストーラ210の処理が終了し、エラーで終了したこと示すログ703が出力される。
最後に、図7に示すように異なる2種類のログデータを出力する理由を説明する。インストーラ開発者は、インストール処理で問題が起きた際、ログデータを基にどのようにインストール処理が行われたかを把握する必要がある。インストーラの切り替えを行った32bitメジャーバージョンインストーラ200が出力した32bitインストーラログデータ700により、インストーラ開発者はどのインストーラでインストール処理が失敗したかを容易に把握できる。例えば、64bitメジャーバージョンインストーラ210によるインストール処理が失敗したことを、インストーラ開発者は把握できる。そして、アプリケーションのインストール処理を行った64bitメジャーバージョンインストーラ210が出力した64bitインストーラログデータ710により、何がどこにインストールされたのか等のインストール処理の詳細を把握し、どこに原因があったのかを把握することが出来る。
各インストーラが自身のログデータしか出力しない形態であった場合、インストーラ開発者はどのインストーラにエラーがあるかを把握するのに時間がかかる。そのため、本願発明の様に複数のインストーラが自動的に切り替わるような発明の場合、ログデータは一カ所に集約し、問題のあったインストーラを特定しやすくする方が良い。しかし、全てのログデータを32bitメジャーバージョンインストーラ200が出力する形態にした場合、非常に長いログデータになってしまい、インストール開発者はエラーの原因を把握するのに時間がかかる。本願発明の情報処理装置、制御方法、およびプログラムによれば、これらの問題は解決する。また、本願発明により、本願発明の最適なログ出力処理に併せ、インストールの後処理に関しても最適な後処理が行われる。
以上、実施例1において、システム環境に適したインストーラを使用しインストールを行う情報処理装置について説明をした。
[その他の実施例]
実施例1では、32bit、64bitを基に説明を行ったが、このアーキテクチャに限定される話しではない。OSのデータ処理におけるアーキテクチャの構成の差異により、インストーラを少なくとも2つ以上用意しなくてはならない状況であれば、本願発明は適用可能である。
実施例1では、CD/DVD110には、計4つのインストーラが記憶されていたが、必ずしも4つである必要はない。例えば、CD/DVD110には、32bitサービスパックインストーラ220、32bitメジャーバージョンインストーラ200の計2つのインストーラが記憶されている形態であっても良い。また、CD/DVD110には、64bitメジャーバージョンインストーラ210、32bitメジャーバージョンインストーラ200の計2つのインストーラが記憶されている形態であっても良い。このような形態の場合は、図5の処理で実行される処理は、記憶されているインストーラのみの処理となる。また、メジャーバージョンインストーラと、サービスパックインストーラとを一体化させ、一体化させた32bit、および64bitインストーラであっても、本願発明は適用可能である。また、4つ以上のインストーラであっても良い。
また、情報処理装置に備えられたオペレーティングシステムの自動実行機能によりインストーラから別のインストーラを起動する場合、実施例1では別のインストーラを利用しインストールすることをユーザに問い合わせることなくインストールする形態であった。しかしながら、その別のインストーラを利用しインストールする際にユーザに問い合わせる形態であっても良い。例えば、32bitメジャーバージョンインストーラ200から32bitサービスパックインストーラ220を起動する場合に、「32bitサービスパックインストーラ220でインストールを実行しますが良いですか?」のように問い合わせる形態が考えられる。ここで、ユーザにより許可された場合は、32bitサービスパックインストーラ220でインストールを行い、許可されなかった場合は、インストールを行うことなく終了する。無論、64bitのインストーラに対してもこの構成は適用可能である。

Claims (13)

  1. 複数のソフト部品から構成されたアプリケーションをインストールする第1のインストーラと、前記アプリケーションを構成するソフト部品を変更するために修正モジュールをインストールする第2のインストーラとを記憶する記憶手段と、
    前記アプリケーションがインストールされていなかった場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、
    前記修正モジュールをインストールすることでインストールされている前記アプリケーションが変化する場合は、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行うよう制御する制御手段と、を有し、
    前記制御手段は、前記第1のインストーラを使用したことに応じて第1のログデータを出力するよう制御し、前記第1のインストーラから別のインストーラを起動したことに応じて第2のログデータを出力するよう制御し、前記第1のログデータは前記第1のインストーラ、および前記別のインストーラのインストールに関するログを含み、前記第2のログデータは前記第1のインストーラのインストールに関するログは含まず、前記別のインストーラのインストールに関するログを含むことを特徴とする情報処理装置。
  2. 前記制御手段は、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行う場合、前記アプリケーションを操作するための管理画面を表示することなく、前記修正モジュールのインストールを行うよう制御することを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、情報処理装置に備えられたオペレーティングシステムの自動実行機能により前記第1のインストーラを起動した際に、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行う場合、起動された前記第1のインストーラから前記第2のインストーラを起動するよう制御することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記制御手段は、既に前記アプリケーションと前記修正モジュールの両方がインストールされている場合は、両方のインストールを行うことなく、前記アプリケーションを操作するための管理画面を表示するよう制御することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記制御手段は、前記情報処理装置のオペレーティングシステムにより管理されているレジストリ情報を取得し、
    前記第1のインストーラに保持されているインストーラ情報に含まれるコードと一致するコードが、取得された前記レジストリ情報に含まれていない場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、
    前記インストーラ情報に含まれるリビジョンと一致するリビジョンが、取得された前記レジストリ情報に含まれていない場合は、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行うよう制御することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記第1のインストーラ、および第2のインストーラは第1のアーキテクチャに対応するインストーラであり、
    前記記憶手段は、第2のアーキテクチャに対応する前記アプリケーションをインストールするための第3のインストーラを更に記憶し、
    前記制御手段は、情報処理装置のシステム環境が第2のアーキテクチャに対応する環境であった場合、前記第3のインストーラを起動するよう制御することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記記憶手段は、第2のアーキテクチャに対応する前記アプリケーションを構成するモジュールを変更するために修正モジュールをインストールする第4のインストーラを更に記憶し、
    前記制御手段は、前記第3のインストーラを起動した際に、前記アプリケーションがインストールされていなかった場合は、記憶された前記第3のインストーラを使用しアプリケーションのインストールを行い、
    前記修正モジュールをインストールすることでインストールされている前記第2のアーキテクチャに対応する前記アプリケーショに変化が発生する場合は、記憶された前記第4のインストーラを使用し修正モジュールのインストールを行うよう制御する請求項6に記載の情報処理装置。
  8. 前記第1のアーキテクチャに対応するシステム環境は32bit環境であり、前記第2のアーキテクチャに対応するシステム環境は64bit環境であることを特徴とする請求項6または7に記載の情報処理装置。
  9. 前記制御手段は、前記第1のインストーラから別のインストーラを起動した際に、前記別のインストーラによるインストールにエラーが発生した場合、前記別のインストーラを使用せず、前記第1のインストーラを使用してインストールの後処理を行うことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 第1のアーキテクチャに対応するアプリケーションをインストールするための第1のインストーラと、第2のアーキテクチャに対応する前記アプリケーションをインストールするための第2のインストーラとを記憶する記憶手段と、
    情報処理装置のシステム環境が前記第1のアーキテクチャに対応する場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、
    情報処理装置のシステム環境が前記第2のアーキテクチャに対応する場合は、記憶された前記第2のインストーラによりアプリケーションのインストールを行うよう制御する制御手段と、を有し、
    前記制御手段は、前記第1のインストーラを使用したことに応じて第1のログデータを出力するよう制御し、前記第1のインストーラから別のインストーラを起動したことに応じて第2のログデータを出力するよう制御し、前記第1のログデータは前記第1のインストーラ、および前記別のインストーラのインストールに関するログを含み、前記第2のログデータは前記第1のインストーラのインストールに関するログは含まず、前記別のインストーラのインストールに関するログを含むことを特徴とする情報処理装置。
  11. 複数のソフト部品から構成されたアプリケーションをインストールする第1のインストーラと、前記アプリケーションを構成するソフト部品を変更するために修正モジュールをインストールする第2のインストーラとを記憶し、
    前記アプリケーションがインストールされていなかった場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、
    前記修正モジュールをインストールすることでインストールされている前記アプリケーションが変化する場合は、記憶された前記第2のインストーラを使用し修正モジュールのインストールを行うよう制御し、
    前記第1のインストーラを使用したことに応じて第1のログデータを出力するよう制御し、前記第1のインストーラから別のインストーラを起動したことに応じて第2のログデータを出力するよう制御し、前記第1のログデータは前記第1のインストーラ、および前記別のインストーラのインストールに関するログを含み、前記第2のログデータは前記第1のインストーラのインストールに関するログは含まず、前記別のインストーラのインストールに関するログを含むことを特徴とする制御方法。
  12. 第1のアーキテクチャに対応するアプリケーションをインストールするための第1のインストーラと、第2のアーキテクチャに対応する前記アプリケーションをインストールするための第2のインストーラとを記憶し、
    情報処理装置のシステム環境が前記第1のアーキテクチャに対応する場合は、記憶された前記第1のインストーラを使用しアプリケーションのインストールを行い、
    情報処理装置のシステム環境が前記第2のアーキテクチャに対応する場合は、記憶された前記第2のインストーラによりアプリケーションのインストールを行うよう制御し、
    前記第1のインストーラを使用したことに応じて第1のログデータを出力するよう制御し、前記第1のインストーラから別のインストーラを起動したことに応じて第2のログデータを出力するよう制御し、前記第1のログデータは前記第1のインストーラ、および前記別のインストーラのインストールに関するログを含み、前記第2のログデータは前記第1のインストーラのインストールに関するログは含まず、前記別のインストーラのインストールに関するログを含むことを特徴とする制御方法。
  13. 請求項11、または12に記載の制御方法を情報処理装置に実行させるためのプログラム。
JP2012084972A 2012-04-03 2012-04-03 情報処理装置、制御方法、およびプログラム Active JP5921292B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012084972A JP5921292B2 (ja) 2012-04-03 2012-04-03 情報処理装置、制御方法、およびプログラム
US13/834,527 US9417861B2 (en) 2012-04-03 2013-03-15 Information processing apparatus, method for controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012084972A JP5921292B2 (ja) 2012-04-03 2012-04-03 情報処理装置、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013214247A JP2013214247A (ja) 2013-10-17
JP5921292B2 true JP5921292B2 (ja) 2016-05-24

Family

ID=49236835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012084972A Active JP5921292B2 (ja) 2012-04-03 2012-04-03 情報処理装置、制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US9417861B2 (ja)
JP (1) JP5921292B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277688B2 (en) * 2017-01-04 2019-04-30 Microsoft Technology Licensing, Llc Automatic installation activation selection for hosted services
CN107423084B (zh) * 2017-04-24 2021-02-02 武汉斗鱼网络科技有限公司 程序修改方法及装置
JP7013176B2 (ja) * 2017-09-06 2022-01-31 キヤノン株式会社 プログラム、情報処理装置、及び制御方法
JP7289940B2 (ja) * 2017-09-06 2023-06-12 キヤノン株式会社 プログラムのセット、記憶媒体、及び情報処理方法
US11531532B2 (en) * 2019-01-16 2022-12-20 Vmware, Inc. Remote deployment of provisioned packages
JP7514068B2 (ja) * 2019-10-04 2024-07-10 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200184A (ja) * 1999-01-07 2000-07-18 Nec Software Kobe Ltd アップデ―トモデュ―ルのインスト―ルシステム
JP3741581B2 (ja) 2000-02-22 2006-02-01 株式会社日立製作所 分散システム
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US6742180B1 (en) * 2000-10-30 2004-05-25 Microsoft Corporation System and method providing seamless transition of operating system environment
US20030009752A1 (en) * 2001-07-03 2003-01-09 Arvind Gupta Automated content and software distribution system
US20030221190A1 (en) * 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
JP2005339070A (ja) * 2004-05-25 2005-12-08 Sony Corp インストール方法,情報処理装置,プログラム
US8261258B1 (en) * 2005-10-28 2012-09-04 Google Inc. Common installer client
US8032880B2 (en) * 2005-12-20 2011-10-04 Microsoft Corporation Multi-branch management for updating software
US8261253B2 (en) * 2006-01-25 2012-09-04 The Boeing Company Method for restoring software applications on desktop computers
US8640121B2 (en) * 2007-01-15 2014-01-28 Microsoft Corporation Facilitating multi-installer product installations
US8160962B2 (en) * 2007-09-20 2012-04-17 Uniloc Luxembourg S.A. Installing protected software product using unprotected installation image
JP2009110089A (ja) * 2007-10-26 2009-05-21 Ricoh Co Ltd 情報処理装置、アプリケーションソフトウェアのインストール方法、インストール処理プログラム、及びインストール処理プログラムを記録した記録媒体
US8132047B2 (en) * 2008-11-14 2012-03-06 International Business Machines Corporation Restoring application upgrades using an application restore point
US20100257521A1 (en) * 2009-04-07 2010-10-07 Navarro Luis A Simultaneous Installation of Multiple Portions of a Software Application on a Computer System
US8413136B2 (en) * 2009-05-08 2013-04-02 Microsoft Corporation Application virtualization
CA2709437C (en) * 2009-07-15 2015-12-08 Accenture Global Services Gmbh System image customization tool
US8732690B1 (en) * 2011-10-27 2014-05-20 Crimson Corporation Computing device configured for installing an application
US9582258B2 (en) * 2012-03-02 2017-02-28 Adobe Systems Incorporated Method and apparatus for managing 64-bit registry keys using a 32-bit installer

Also Published As

Publication number Publication date
JP2013214247A (ja) 2013-10-17
US9417861B2 (en) 2016-08-16
US20130263106A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
JP5921292B2 (ja) 情報処理装置、制御方法、およびプログラム
US8156485B2 (en) Method and apparatus for creating a pluggable, prioritized configuration engine to be used for configuring a software during installation, update and new profile creation
US7721284B2 (en) Deployment of multiple embedded operating system components
EP2805233B1 (en) Installation engine and package format for parallelizable, reliable installations
US20110173606A1 (en) Information processing apparatus, control method thereof, and program
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
CN102314367A (zh) PC端操作Android设备中应用程序的方法
TWI450090B (zh) 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統
WO2015153366A1 (en) System and method for providing customized resources on a handheld electronic device
JP2017062537A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US8947689B2 (en) Information processing apparatus having reliable display screen control within printer driver, storage medium, and control method thereof
US9122687B2 (en) Crash recovery for attended operating system installations
CN102226888B (zh) 框架加载方法及设备
US20130055230A1 (en) Method and apparatus to install software automatically
JP2008152762A (ja) プログラムのインストール装置
US9742948B2 (en) Image forming apparatus and method for deleting application
US9063813B2 (en) Apparatus, control method, and storage medium
JP6403919B1 (ja) 作画ソフトウェア、記憶媒体および作画装置
TWI520063B (zh) 多重作業環境服務的管理系統及管理方法
JP5197159B2 (ja) プログラム起動装置及びプログラム起動方法
JP2018077690A (ja) アプリケーションの実行環境の違いに依る互換性を考慮したインストール、及びファームアップ方法
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法
US20140373002A1 (en) Information processing apparatus that performs update of software, control method therefor, and storage medium
JP2015177254A (ja) 画像形成装置及びその制御方法
JP2019046360A (ja) プログラム、情報処理装置、及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160412

R151 Written notification of patent or utility model registration

Ref document number: 5921292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151