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

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

Info

Publication number
JP5875448B2
JP5875448B2 JP2012085499A JP2012085499A JP5875448B2 JP 5875448 B2 JP5875448 B2 JP 5875448B2 JP 2012085499 A JP2012085499 A JP 2012085499A JP 2012085499 A JP2012085499 A JP 2012085499A JP 5875448 B2 JP5875448 B2 JP 5875448B2
Authority
JP
Japan
Prior art keywords
application
environment
software
installation
installer
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
JP2012085499A
Other languages
English (en)
Other versions
JP2013218361A (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 JP2012085499A priority Critical patent/JP5875448B2/ja
Priority to US13/853,875 priority patent/US9158524B2/en
Publication of JP2013218361A publication Critical patent/JP2013218361A/ja
Application granted granted Critical
Publication of JP5875448B2 publication Critical patent/JP5875448B2/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)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ソフトウェアのインストールおよび環境チェック、修復する処理手順に関する。
アプリケーションの高機能化に伴い、ソフトウェアを使用するために必要なシステムへの変更も年々増大してきた。システムに配置するモジュール数の増加、モジュールを動作させるために必要なレジストリへの記述、オペレーティングシステム(OS)のセキュリティ設定の変更など、システムへの変更項目は枚挙にいとまがない。それに加えて、アプリケーションによっては、他社製ソフトウェアを利用して動作する場合もあり、その他社製ソフトウェアを予めインストールする必要がある。例えば、Windows Presentation Foundationアプリケーション(以下、WPFアプリケーション)はアプリケーションと対応したバージョンの.NetFramework(他社製ソフトウェア)がシステム環境(以下、環境)にインストールされていなければ、アプリケーションが正常に動作しないという問題がある。
このような問題を鑑み、アプリケーションの動作に必要なソフトウェアがインストールされていない場合、該アプリケーションのインストーラのインストール処理中にアプリケーションの動作に必要なソフトウェアをインストールすることが一般的である。しかし、アプリケーションの動作に必要なソフトウェアが既にインストール済みの環境であっても、インストールされているソフトウェアの環境(ファイルの存在やレジストリ情報、環境変数)に不具合があった場合、正しくアプリケーションが動作しない懸念がある。
そこで、従来、アプリケーションをインストールする前に、インストール対象のアプリケーションが正常に動作するか否かをインストール処理中に判別し、アプリケーションをインストールするか否かを決定する技術が提案されている(例えば、特許文献1)。この技術によれば、インストール処理中にアプリケーションが正常に動作するか否かを判断できるため、インストール対象のアプリケーションが正常に動作しない等の問題を未然に防ぐことが可能である。この判定には、プロダクトID、ベンダー名、アプリ名、バージョン、必要リソースといったプロダクト情報が利用されるといった開示があります。
特開2004−129246号公報
上記の従来技術ではアプリケーションをインストールする前に、対象のアプリケーションのプロダクト情報から使用可能かどうかを判断し、アプリケーションをインストールするか否かを決定する。ここで、インストーラによってアプリケーションが使用不可と判断された場合、結果的にアプリケーションをインストール出来ない。
また、上記した従来技術の観点以外にも、ハードウェアに関する問題で、アプリケーションのインストールによりOSの動作に不具合が発生することも考慮する必要がある。例えば、チップセットとドライバによる不具合により、WPFアプリケーションを起動するとOSが、ブルースクリーン状態になる場合がある。このような状況に陥ったユーザがソフトウェアやハードウェアについて熟知していない場合、正常にアプリケーションを動作させるための解決手段を講じることが出来ないことがある。
本発明は、これら課題を鑑み、インストーラの処理中に環境に問題があると判断された際に、該環境を修復するなど、正常にアプリケーションが動作する環境を構築することが可能な手法を提供することを目的とする。
上記した課題を解決するために、本発明は、オペレーティングシステムが動作する情報処理装置であって、アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする。
本発明によれば、インストーラの処理中に環境に問題があると判断された場合、環境を修復するなどして、正常にアプリケーションが動作する環境を構築することが可能になる。
情報処理装置のハードウェア構成を示す図である。 ソフトウェアの構成を説明するソフトウェア構成図である。 アプリケーションのレンダリングモードの設定値の一例を示す図である。 インストーラ画面のユーザインタフェースのUIの一例を示す図である。 環境修復アプリケーションのUIの一例を示す図である。 環境チェックアプリケーションのUIの一例を示す図である。 環境修復アプリケーションのUIの一例を示す図である。 レジストリ情報、および、インストーラ情報の一例を示す図である。 インストーラによるインストール処理のフローチャートである。 環境修復アプリケーションによる環境修復処理のフローチャートである。 環境チェックアプリケーションによる環境修復処理のフローチャートである。 アプリケーションによるアプリケーション起動処理のフローチャートである。 インストーラによるインストール処理のフローチャートである。 環境チェックアプリケーションのUIの一例を示す図である。
以下、本発明の実施の形態を図面に基づいて説明する。
(実施例1)
図1は、本発明の一実施形態において適用される情報処理装置100のハードウェア構成を示す図である。図1において、情報処理装置100は、ユーザが使用するコンピュータである。なお、情報処理装置100には、所定のオペレーティングシステム(OS)がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーションもインストールされている。
また、情報処理装置100はユーザ操作入力を受信する入力デバイスであるキーボード105とポインティングデバイス106が設けられている。さらに、情報処理装置100は、ユーザに視覚的な出力情報フィードバックを与える表示部102を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスRAM103、ROM104、HDD107が設けられる。また、CD/DVD110に記録されたデータを読み出すためのCD−ROM/DVD−ROMドライブ108も設ける。RAM103は、CPU101によりOSや本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。ROM104は、CPU101の各種制御を実行する各種制御プログラムを記憶している。さらに、外部機器との通信を行うインターフェイスデバイスI/O109を備え、プログラム実行を行うCPU101を備える。なお、周辺機器との接続形態は有線/無線を問わない。
図2は、情報処理装置100のソフトウェアの構成を説明するソフトウェア構成図である。
インストーラ200は、アプリケーションのインストール処理を実行するための各種のユーザインタフェースを備え、情報処理装置100のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、インストーラ200は、HDD107、または、CD/DVD110に保持され、プログラム実行をCPU101で行い、実行情報や一時データをRAM103に記憶する。後述する環境修復アプリケーション210、環境チェックアプリケーション220も同様である。
インストーラ200を構成するコンポーネントを201〜203で示す。
インストーラUI部201は、インストーラ200において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。インストーラ実行部202は、インストーラ200において、アプリケーションのインストール、アンインストール、修復インストールやアプリケーションの設定構築機能を担う。また、環境解析部203で解析した情報を元にインストール処理を変更する(後述)。環境解析部203は、インストーラ200で情報処理装置100の環境情報を解析する機能を担う。前記環境情報とは、例えば、OSのアーキテクチャ情報、OSのバージョン情報、レジストリ情報、環境変数、既にインストールされているソフトウェアのソフトウェア情報、インストール対象のアプリケーションの各種設定等を示す。
環境修復アプリケーション210は、情報処理装置100の環境を修復するための各種のユーザインタフェースを備え、情報処理装置100のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。
環境修復アプリケーションUI部211は、環境修復アプリケーション210において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。また、環境修復アプリケーションUI部211は、インストーラUI部201、および、環境チェックアプリケーションUI部221の応答によって、処理を実行する。環境修復部212は、環境修復アプリケーション210で情報処理装置100の環境を修復する機能を担う。前記環境とは、例えば、「.NetFramework」や「Visual C++ Redistributable」に関するレジストリ情報やファイル、情報処理装置100に登録されている環境変数等を示す。
環境チェックアプリケーション220は、情報処理装置100の環境をチェックするための各種のユーザインタフェースを備え、情報処理装置100のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、環境チェックアプリケーション220は、インストーラ200のインストール対象のアプリケーション230と同タイプのテスト用のアプリケーションである。用途としては、アプリケーション230を実際にインストールする前に、正常にアプリケーション230が動作するかチェックするために実行され、動作確認が行われることになる。機能としては、後述する図6で示す画面を提供するための表示機能などが用意される程度である。
環境チェックアプリケーションUI部221は、環境チェックアプリケーション220において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。また、環境チェックアプリケーションUI部221は、環境修復アプリケーションUI部211の応答によって、処理を実行する。環境チェック部222は、環境チェックアプリケーション220で情報処理装置100の環境に不具合がないかをチェックする機能を担う。
アプリケーション230は、アプリケーションを実行するための各種のユーザインタフェースを備え、情報処理装置100のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、アプリケーション230は、インストーラ200によって、HDD107にインストールされ、プログラム実行をCPU101で行い、実行情報や一時データをRAM103に記憶する。
アプリケーションUI部231は、アプリケーション230において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。環境解析部232は、アプリケーション230で情報処理装置100の環境情報を解析する機能を担う。
図3は、アプリケーションのレンダリングモードの設定値の一例を示した図である。ここで、本図を説明する前に、レンダリングモードについて説明をする。
WPFアプリケーションの内部アーキテクチャには、ハードウェアとソフトウェアの2つのレンダリング方法があり、ハードウェアレンダリングは一般的にソフトウェアレンダリングより高速に処理が行える。また、レンダリングモードの設定を明示的に設定しなかった場合、ハードウェアレンダリングモードでアプリケーションが起動することも一般的である。しかし、ハードウェアレンダリングモードでWPFアプリケーションを起動した際に、ビデオカードのドライバとマザーボードに不具合がある場合、ブルースクリーンが発生することがある。そのため、前記状況で不具合が発生しそうな場合は、WPFアプリケーションをソフトウェアレンダリングモードで起動することが望ましい。また、ハードウェアレンダリングはGraphics Processing Unit(GPU)、ソフトウェアレンダリングはCentral Processing Unit(CPU)でそれぞれ処理を行う。
レンダリングモード設定情報300は、WPFアプリケーションのレンダリングモード設定値301を含む。レンダリングモード設定値301は、WPFアプリケーションをハードウェアレンダリング、ソフトウェアレンダリングのいずれかのレンダリングモードで起動するための設定値を保持する。環境チェックアプリケーション220とアプリケーション230は、レンダリングモード設定値301を読み込みアプリケーションのレンダリングモードを決定する。この決定処理の詳細は後述する。
図4は、インストーラ画面のユーザインタフェースの一例を示している。インストーラメインウインドウ400は、インストーラUI部201のユーザインタフェースを示している。
ソフトウェア一覧401は、アプリケーションをインストールする前に、情報処理装置でインストールする必要があるソフトウェア一覧を示す。ソフトウェアインストール状況402は、ソフトウェア一覧401に列挙されているソフトウェアのインストール状況を示す。ここでは、インストール済み、未インストール等のインストール状況情報を持つ。また、環境解析部203がインストーラ画面400表示直前にインストール済みか否かを判別し、既にインストール済みであればインストーラ画面400表示時にインストール済みと表示される。
インストールStartボタン403は、前記ボタンが押下されたことによって、ソフトウェア一覧401に列挙されているソフトウェアを上から順にインストールする。全てのインストール処理が終了すると、インストールStartボタン403に表示されている文言が「Start」から「Next」に変化する。また、必要なソフトウェアが全てインストール済みであった場合にも、Nextボタン(不図示)が表示される。このNextボタン(不図示)を押下することで、インストール処理を次の処理に遷移する。インストールCancelボタン404は、前記ボタンが押下されたことによってインストール処理を中断し、インストール処理を終了する。
図5は、環境修復アプリケーション210のユーザインタフェースの一例を示している。
環境修復アプリケーションウインドウ500は、環境修復アプリケーションUI部211のユーザインタフェースを示している。また、環境修復アプリケーションウインドウ500は、環境チェックを行うか否かの選択ボタン501、502を設けている。選択ボタン501が押下された場合、環境チェックアプリケーション220を起動する。一方、選択ボタン502を押下された場合、環境チェックアプリケーション220を起動せずに、次のインストール処理に遷移する。
図6は、環境チェックアプリケーション220のユーザインタフェースの一例を示している。
環境チェックアプリケーションウインドウ600は、環境チェックアプリケーションUI部221のユーザインタフェースを示している。環境チェックをしている状態に表示され、環境チェックが終了したことによって、環境チェックアプリケーションウインドウ600を閉じ、次のインストール処理に遷移する。また、この環境チェックで不具合を発見した場合、環境チェックアプリケーションウインドウ600を閉じ、環境修復アプリケーション210を起動する。また、本例では「.NetFramework」やブルースクリーンの不具合を解析するためにWPFアプリケーションを採用しているが、アプリケーションの種類は限定しないものとする。
図7は、環境修復アプリケーション210のユーザインタフェースの一例を示している。環境修復アプリケーションウインドウ700は、環境修復アプリケーションUI部211のユーザインタフェースを示している。環境修復をしている状態に表示され、環境修復が終了したことによって、環境修復アプリケーションウインドウ700を閉じ、次のインストール処理に遷移する。
図8は、情報処理装置100のレジストリ情報800、および、インストーラ200のインストーラ情報810の例をそれぞれ示す。これら情報は、インストーラ200のインストール処理で利用される。
レジストリ情報800は、情報処理装置100のレジストリ情報一覧を示し、情報処理装置100にインストールされているソフトウェアの情報を保持する。例えば、レジストリ情報800は、アプリケーションのバージョン情報やUpgradeCode、ProductCode、インストールパス等を保持する。
インストーラ情報810は、インストーラ200のインストール処理に必要な情報を保持する。例えば、インストーラ情報810は、インストーラのバージョンやインストール対象のアプリケーションのインストールに必要なソフトウェア情報を保持する。この情報から、前述したソフトウェア一覧401のユーザインタフェースが生成される。
図9は、インストーラ200によるインストール処理のフローチャートを示している。本フローチャートを開始するトリガーは、インストーラUI部201がインストール実行を示す操作を受け付けたことにより開始される。
ステップ900において、インストーラ実行部202は、環境解析部203を介し、レジストリ情報800とインストーラ情報810を元にインストーラ200がアップデートインストールで実行されているか否かを判断する。レジストリ情報800が保持しているアプリケーションのバージョンとインストーラ情報810が保持するインストーラのバージョンを比較し、インストーラ200のバージョンの方が高い場合、アップデートインストールと判断し、ステップ903へ進む。一方、レジストリ情報800にアップデートインストールが可能なアプリケーションが存在しない場合、アップデートインストールでないと判断し、ステップ901へ進む。
ステップ901において、インストーラ実行部202は、環境解析部203を介し、情報処理装置100のOSのバージョンが所定のバージョンであるかを判定する。具体的には、情報処理装置100のOSのバージョンがWindowsXPまたはWindowsVistaか否かを判断する。情報処理装置100のOS判別処理の結果、情報処理装置100のOSがWindowsXPまたはWindowsVistaと判定された場合、ステップ902へ進む。一方、WindowsXPまたはWindowsVistaと判定されなかった場合、ステップ903へ進む。ここでOSのバージョンを判断基準とした理由は、過去の事例からWindowsXPまたはWindowsVistaでブルースクリーンになる不具合が発生する懸念があったためである。上記したOSバージョン以外にも不具合が起きるケースが想定される場合、他のバージョンも判断処理に加えることが可能なものとする。
ステップ902において、インストーラ実行部202は、図3で示したように、インストーラのインストール対象となるWPFアプリケーションがソフトウェアレンダリングモードで起動する設定値を、レンダリングモード設定情報300に保存する。
ステップ903において、インストーラ実行部202は、WPFアプリケーションがソフトウェアレンダリングモードで起動しない設定値をレンダリングモード設定情報300に保存する。具体的には、WPFアプリケーションはハードウェアレンダリングモードで起動する。ここで、アップデートインストールの場合には、今回アプリケーションをインストールする前から、ユーザは更新前のWPFアプリケーションを正常に利用できていたことが想定される。そのため、ここでは、WPFアプリケーションがハードウェアレンダリングモードで起動するよう設定が行われる。
ステップ904において、インストーラ実行部202は、環境解析部203を介し、レジストリ情報800とインストーラ情報810に基づき、インストール対象となるアプリケーションの動作に必要なソフトウェアのインストール状況を判定する。たとえば、インストール状況判定ロジックは、インストーラ情報810で保持されているソフトウェアの情報がレジストリ情報800に保持されていない場合、必要なソフトウェアが未インストールと判断する。一方、レジストリ情報800に保持されている場合には、必要なソフトウェアがインストール済みとする。この判定処理により、ソフトウェア一覧401とソフトウェアインストール状況402をインストーラメインウインドウ400に表示する。インストーラUI部201がインストールStartボタン403、またはNextボタン(不図示)を押下されたことを示す操作を受け付けたことにより、ステップ905へ進む。
ステップ905において、インストーラ実行部202は、環境解析部203を介し、インストール対象となるアプリケーションの動作に必要なソフトウェアとしての「.NetFramework(dotNet4CP)」が、既にインストールされていたかを判断する。具体的には、ステップ904のインストール状況判定ロジックにおいて、「.NetFramework」がインストール済みであったと判定された場合、ステップ906に進む。一方、ステップ904のインストール状況判定ロジックにおいて、「.NetFramework」が未インストールと判定された場合には、ステップ907に進む。
ステップ906において、情報処理装置100の環境を修復するための修復アプリケーション210を起動する。詳細は、図10を用いて後述する。一方で、ステップ907において、インストーラ実行部202は、「.NetFramework」をインストールする。
ステップ908において、インストーラ実行部202は、インストールの対象となるアプリケーション230をインストールする。
ステップ909において、インストーラ実行部202は、ソフトウェアのインストールからアプリケーションのインストールを含む、全てのインストール処理が正常に行われたか否かを判断する。インストーラ実行中にインストール処理が正常に行われた場合、アプリケーションのインストールに成功したと判断し、本フローチャートの処理を終了する。一方、インストーラ実行中にインストール処理が正常に行われなかった場合、アプリケーションのインストールに失敗したと判断し、ステップ910へ進む。
ステップ910において、インストーラ実行部は、インストールの処理で使用した情報をインストール処理前に戻すロールバック処理を行う。インストールの処理で使用した情報とは、例えば、インストールしたファイルや一時ファイル、レジストリなどを指す。また、アプリケーションのインストールに失敗した場合、必要となったソフトウェアのロールバック処理は行わない。ただし、それらソフトウェアインストール中にインストール処理が失敗した場合にはそのソフトウェアの仕様に従い、ロールバック処理を行う。ロールバック処理後、本フローチャートの処理を終了する。
図10は、前述したステップ906に係る環境修復アプリケーション210による環境修復処理のフローチャートを示している。本フローチャートを開始するトリガーは、環境修復アプリケーションUI部211がインストーラUI部201より環境修復実行を示す処理を受け付けたことにより開始される。
ステップ1000において、環境チェックアプリケーションUI部211は、情報処理装置100の環境チェックを行うか否かを判断する。環境チェックを行う選択ボタン501が押下されたことを示す操作を受け付けた場合、環境チェックを行うと判断し、ステップ1001へ進む。一方、環境チェックを行わない選択ボタン501が押下されたことを示す操作を受け付けた場合、環境チェックを行わないと判断し、本フローチャートの処理を終了する。ステップ1001において、環境修復アプリケーション210は、情報処理装置100の環境に不具合がないかをチェックするための環境チェックアプリケーション220を起動する。詳細は、図11を用いて後述する。
ステップ1002において、環境チェックアプリケーション220による環境チェックの結果に問題がないか否かを判断する。環境チェックに問題があった場合、環境修復を行うと判断し、ステップ1003へ進む。一方、環境チェックに問題がなかった場合、環境修復を行わないと判断し、本フローチャートの処理を終了する。
ステップ1003において、環境修復部212部は、情報処理装置100の環境修復のためのソフトウェアのインストール処理を行う。たとえば、ステップ1002の環境チェックの結果に「.NetFramework」の不具合があった場合、ステップ1003で「.NetFramework」の修復処理を行う。ここでは、必要に応じて更新、新規インストールを行うことで「.NetFramework」の修復処理を行う。また、環境修復中は、環境修復アプリケーションウインドウ700を表示する。修復処理後、環境修復アプリケーションウインドウ700を閉じ、本フローチャートの処理を終了する。
図11は、環境チェックアプリケーション220による環境チェック処理のフローチャートを示している。本フローチャートを開始するトリガーは、環境チェックアプリケーションUI部221が環境修復アプリケーションUI部211より環境チェック実行を示す処理を受け付けたことにより開始される。
ステップ1100において、環境チェック部222は、ステップ902、903で生成したレンダリングモード設定情報300を解析し、WPFアプリケーションの起動方法を解析する。ここで、環境チェックアプリケーション220は、インストーラ200のインストール対象のアプリケーション230と同タイプとなるWPFアプリケーションである。
レンダリングモード設定情報300の設定がソフトウェアレンダリングモードになっていた場合、ソフトウェアレンダリングモードで環境チェックアプリケーション220を起動すると判断し、ステップ1101へ進む。一方、レンダリングモード設定情報300の設定がハードウェアレンダリングモードになっていた場合、ハードウェアレンダリングモードで環境チェックアプリケーション220を起動すると判断し、ステップ1102へ進む。
ステップ1101において、環境修復アプリケーションUI部211は、環境チェックアプリケーション220のUIをソフトウェアレンダリングモードで行う設定をする。ステップ1102において、環境修復アプリケーションUI部211は、環境チェックアプリケーション220のUIをハードウェアレンダリングモードで行う設定をする。
ステップ1103において、環境修復アプリケーションUI部211は、ステップ1101、1102の設定に従うレンダリングモードにおいて、環境チェックアプリケーションウインドウ600を表示する。また、ステップ1103では、情報処理装置100の環境チェックを行う。例えば、環境チェックとは、「.NetFramework」のファイルの存在の有無やレジストリ情報をチェックする。前記チェックで問題があった場合、環境チェックアプリケーション220は環境修復アプリケーション210に問題があったことを通知する。
図12は、インストーラ200によってインストールされたアプリケーション230による起動処理のフローチャートを示している。本フローチャートを開始するトリガーは、アプリケーション230がアプリケーションの起動を示す操作を受け付けたことにより開始される。
ステップ1200において、環境解析部232は、ステップ902、903で生成したレンダリングモード設定情報300を解析し、WPFアプリケーションの起動方法を決定する。ここではWPFアプリケーションは、アプリケーション230を指す(以後、アプリケーション230)。レンダリングモード設定情報300の設定がソフトウェアレンダリングモードになっていた場合、ソフトウェアレンダリングモードでプリケーション230を起動すると判断し、ステップ1201へ進む。一方、レンダリングモード設定情報300の設定がハードウェアレンダリングモードになっていた場合、ハードウェアレンダリングモードでプリケーション230を起動すると判断し、ステップ1202へ進む。
ステップ1201において、環境修復アプリケーションUI部211は、プリケーション230のUIをソフトウェアレンダリングモードで行う設定をする。ステップ1202において、環境修復アプリケーションUI部211は、プリケーション230のUIをハードウェアレンダリングモードで行う設定をする。ステップ1201、1202のレンダリングモードの設定決定後、アプリケーション230のUIを表示し、本フローチャートの処理を終了する。
本実施例1では、図9〜11において、インストール処理に従い、環境修復、および、環境チェックといった処理を行う例を説明した。しかしながら、インストール処理のタイミング以外にも、情報処理装置100の環境修復、および、環境チェックのみを目的として実行するケースも存在する。このような目的を鑑み、本構成では、図10の環境修復の処理、図11の環境チェックの処理を、図9のインストーラの処理から切り離しても、環境修復アプリケーションを起動することで環境修復、および、環境チェックが可能になっている。具体的には、インストーラからの起動がかからなくても、単独でユーザから環境修復、チェックアプリケーションの実行指示を受けたことに応じて、図10、11に記載の処理を実行することが可能である。
(実施例2)
本実施例においては、図9のインストーラの処理に、図10の環境修復アプリケーションの処理を加え、環境修復アプリケーション210の機能をインストーラ200が担う場合の処理を、図13のフローチャートで示している。本フローチャートを開始するトリガーは、インストーラUI部201がインストール実行を示す操作を受け付けたことにより開始される。
ステップ1300において、インストーラ実行部202は、環境解析部203を介し、レジストリ情報800とインストーラ情報810を元にインストーラ200がアップデートインストールで実行されているか否かを判断する。レジストリ情報800が保持しているアプリケーションのバージョンとインストーラ情報810が保持するインストーラのバージョンを比較し、インストーラ200のバージョンの方が高い場合、アップデートインストールと判断し、ステップ1303へ進む。一方、レジストリ情報800にアップデートインストールが可能なアプリケーションが存在しない場合、アップデートインストールでないと判断し、ステップ1301へ進む。
ステップ1301において、インストーラ実行部202は、環境解析部203を介し、情報処理装置100のOSのバージョンが所定のバージョンであるかを判定する。ここでは、情報処理装置100のOS判別処理の結果、情報処理装置100のOSがWindowsXPまたはWindowsVistaと判定された場合、ステップ1302へ進む。一方、WindowsXPまたはWindowsVistaと判定されなかった場合、ステップ1303へ進む。
ステップ1302において、インストーラ実行部202は、WPFアプリケーションがソフトウェアレンダリングモードで起動する設定値をレンダリングモード設定情報300に保存する。ステップ1303において、インストーラ実行部202は、WPFアプリケーションがソフトウェアレンダリングモードで起動しない設定値をレンダリングモード設定情報300に保存する。
ステップ1304において、インストーラ実行部202は、環境解析部203を介し、レジストリ情報800とインストーラ情報810を元にアプリケーションの動作に必要なソフトウェアのインストール状況を判定する。たとえば、インストール状況判定ロジックは、インストーラ情報810で保持されているソフトウェアの情報がレジストリ情報800に保持されていない場合、必要なソフトウェアが未インストールと判断する。この判定処理により、ソフトウェア一覧401とソフトウェアインストール状況402をインストーラメインウインドウ400に表示する。インストーラUI部201がインストールStartボタン403、またはNextボタン(不図示)を押下されたことを示す操作を受け付けたことにより、ステップ1305へ進む。
ステップ1305において、インストーラ実行部202は、環境解析部203を介し、インストール対象となるアプリケーションの動作に必要なソフトウェアの1つである「.NetFramework(dotNet4CP)」が、既にインストールされていたかを判断する。ステップ1304のインストール状況判定ロジックにおいて、「.NetFramework」がインストール済みと判断された場合にはステップ1306に進む。一方、「.NetFramework」が未インストールと判断された場合にはステップ1307に進み、インストーラ実行部202は「.NetFramework」をインストールする。
ステップ1306において、インストーラUI部211は、情報処理装置100の環境チェックを行うか否かを判断する。インストーラUI部211により提供される画面(図5)を介して、環境チェックを行う選択ボタン501が押下されたことを示す操作を受け付けた場合、環境チェックを行うと判断し、ステップ1308へ進む。一方、環境チェックを行わない選択ボタン501が押下されたことを示す操作を受け付けた場合、環境チェックを行わないと判断し、ステップ1311へ進む。
ステップ1308において、インストーラ200は、情報処理装置100の環境に不具合がないかをチェックするための環境チェックアプリケーション220を起動する。この処理に関しては、図11で説明した処理と同様である。
ステップ1309において、環境チェックアプリケーション220による環境チェックの結果に問題がないか否かを判断する。環境チェックに問題があった場合、環境修復を行うと判断し、ステップ1310へ進む。一方、環境チェックに問題がなかった場合、環境修復を行わないと判断し、ステップ1311へ進む。
ステップ1310において、インストーラ実行部202部は、情報処理装置100の環境修復処理を行う。ここでは、ステップ1309の環境チェックの結果に「.NetFramework」の不具合があったことを想定し、ステップ1310で「.NetFramework」の修復処理を行う。また、環境修復中は、環境修復アプリケーションウインドウ700を表示する。修復処理後、環境修復アプリケーションウインドウ700を閉じ、ステップ1311へ進む。
ステップ1311において、インストーラ実行部202は、インストールの対象となるアプリケーション230をインストールする。
ステップ1312において、インストーラ実行部202は、対象のアプリケーションのインストールに必要なソフトウェア、及び対象のアプリケーション自体のインストールを含む、全てのインストール処理が正常に行われたか否かを判断する。インストーラ実行中にインストール処理が正常に行われた場合、アプリケーションのインストールに成功したと判断し、本フローチャートの処理を終了する。一方、インストーラ実行中にインストール処理が正常に行われなかった場合、アプリケーションのインストールに失敗したと判断し、ステップ1313へ進む。
ステップ1313において、インストーラ実行部は、インストールの処理で使用した情報をインストール処理前に戻すロールバック処理を行う。インストールの処理で使用した情報とは、たとえば、インストールしたファイルや一時ファイル、レジストリなどを指す。また、アプリケーションのインストールに失敗した場合、そのインストールに必要となったソフトウェアのロールバック処理は行わない。ただし、それらソフトウェアインストール中にインストール処理が失敗した場合、該ソフトウェアの仕様に従い、ロールバック処理を行う。ロールバック処理後、本フローチャートの処理を終了する。
(実施例3)
前述した実施例1〜2では、環境チェックを行う際の対象とするソフトウェアの選択は出来なかった。本実施例では、図14で示すように、環境修復アプリケーション210のユーザインタフェース上で、環境チェックの対象となる関連ソフトウェアの選択が可能な拡張機能を備えた一例を示している。これは、前述の実施例1〜2に対しても適用可能である。
環境修復アプリケーションウインドウ1400は、環境修復アプリケーションUI部211のユーザインタフェースを示している。環境チェックソフトウェア一覧1401は、環境チェックアプリケーション220が環境チェックを行うソフトウェアの一覧を示している。
チェックボックス1402は、ソフトウェアの環境チェックを行うか否かを切り替えが可能なチェックボックスを示す。また、環境修復アプリケーションウインドウ500は、環境チェックを行うか否かの選択ボタン1403、1404を設けている。開始ボタン1403が押下された場合、環境チェックアプリケーション220を起動する。一方、選択ボタン502を押下された場合、環境チェックアプリケーション220を起動せずに、環境修復アプリケーション201の処理を終了する。
本実施例により、ユーザがチェックが不要なソフトウェアを意図的にインストール時などのチェック対象から除外することが可能となる。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
さらに、本発明には、上述した実施形態の適宜組み合わせることにより構成されたシステムやその機能も含まれるものとする。

Claims (9)

  1. オペレーティングシステムが動作する情報処理装置であって、
    アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、
    前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、
    前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、
    当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理装置。
  2. 前記設定手段は、前記インストールの対象となるアプリケーションがアップデートによるインストールではなく、かつ、前記オペレーティングシステムが所定のバージョンであった際に、当該インストールの対象となるアプリケーションをソフトウェアレンダリングモードで起動するよう設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアが既にインストールされていた際に、前記設定手段による設定に従い、前記インストールの対象となるアプリケーションと同じタイプのテスト用のアプリケーションを起動して問題が検出した場合に、前記必要となるソフトウェアの修復インストールを行い、
    当該修復インストールの後に、前記インストールの対象となるアプリケーションをインストールすることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記制御手段により前記インストールの対象となるアプリケーションをインストールする前に確認される前記必要となるソフトウェアを選択するため表示手段を有することを特徴する請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. オペレーティングシステムが動作する情報処理装置における情報処理方法であって、
    アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定工程と、
    前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御工程と、を有し、
    前記制御工程では、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションがインストールされ、
    当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理方法。
  6. 請求項1乃至4のいずれか1項に記載の手段としてコンピュータを機能させるためのプログラム。
  7. アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、
    前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、
    前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、
    当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理装置。
  8. 前記設定手段は、前記インストールの対象となるアプリケーションがアップデートによるインストールである際には、前記情報処理装置で動作するオペレーティングシステムのバージョンに関する判定を行うことなく、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定することを特徴とする請求項7に記載の情報処理装置。
  9. 請求項7または8に記載の手段としてコンピュータを機能させるためのプログラム。
JP2012085499A 2012-04-04 2012-04-04 情報処理装置、その方法及びプログラム Active JP5875448B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012085499A JP5875448B2 (ja) 2012-04-04 2012-04-04 情報処理装置、その方法及びプログラム
US13/853,875 US9158524B2 (en) 2012-04-04 2013-03-29 Information processing apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012085499A JP5875448B2 (ja) 2012-04-04 2012-04-04 情報処理装置、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013218361A JP2013218361A (ja) 2013-10-24
JP5875448B2 true JP5875448B2 (ja) 2016-03-02

Family

ID=49293340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012085499A Active JP5875448B2 (ja) 2012-04-04 2012-04-04 情報処理装置、その方法及びプログラム

Country Status (2)

Country Link
US (1) US9158524B2 (ja)
JP (1) JP5875448B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5991104B2 (ja) * 2012-09-18 2016-09-14 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
US9904606B1 (en) 2013-06-26 2018-02-27 EMC IP Holding Company LLC Scheduled recovery in a data protection system
US10235392B1 (en) 2013-06-26 2019-03-19 EMC IP Holding Company LLC User selectable data source for data recovery
US10353783B1 (en) 2013-06-26 2019-07-16 EMC IP Holding Company LLC Pluggable recovery in a data protection system
US9641486B1 (en) 2013-06-28 2017-05-02 EMC IP Holding Company LLC Data transfer in a data protection system
JP6938912B2 (ja) * 2016-12-29 2021-09-22 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
US11675578B2 (en) * 2021-03-10 2023-06-13 Red Hat, Inc. Meta-operators for managing operator groups

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654759B1 (en) * 1993-11-19 1999-10-27 Canon Kabushiki Kaisha Printing apparatus
US6363499B1 (en) * 1998-09-21 2002-03-26 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful installation attempt
JP3578266B2 (ja) * 2000-01-06 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト
US6825844B2 (en) * 2001-01-16 2004-11-30 Microsoft Corp System and method for optimizing a graphics intensive software program for the user's graphics hardware
US7162716B2 (en) * 2001-06-08 2007-01-09 Nvidia Corporation Software emulator for optimizing application-programmable vertex processing
US7823148B2 (en) * 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US20040153778A1 (en) * 2002-06-12 2004-08-05 Ati Technologies, Inc. Method, system and software for configuring a graphics processing communication mode
JP4128506B2 (ja) 2002-09-14 2008-07-30 株式会社リコー 画像形成装置およびアプリケーション情報取得方法
US20040109188A1 (en) * 2002-09-13 2004-06-10 Kunihiro Akiyoshi Image forming apparatus and methods used in the image forming apparatus
US7987065B1 (en) * 2007-04-17 2011-07-26 Nvidia Corporation Automatic quality testing of multimedia rendering by software drivers
US8432405B2 (en) * 2008-06-26 2013-04-30 Microsoft Corporation Dynamically transitioning between hardware-accelerated and software rendering
US9292272B2 (en) * 2010-12-17 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Differential flash archive installation

Also Published As

Publication number Publication date
JP2013218361A (ja) 2013-10-24
US20130268925A1 (en) 2013-10-10
US9158524B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
JP5875448B2 (ja) 情報処理装置、その方法及びプログラム
AU2019203361A1 (en) Application management platform
KR101153028B1 (ko) 재생가능한 테스트 자동화를 위한 테스트 케이스 실행비해비어 선택 시스템 및 방법
US20150358392A1 (en) Method and system of virtual desktop infrastructure deployment studio
US20180046569A1 (en) Association between a test case and source code
GB2541251A (en) Method of, and apparatus for, an improved automated test of software with a graphical user interface
US9195562B2 (en) Recording external processes
US9417861B2 (en) Information processing apparatus, method for controlling the same, and storage medium
US8176309B2 (en) Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk
TWI517020B (zh) 判斷控制項狀態的方法
TWI656453B (zh) 檢測系統及檢測方法
US9122551B2 (en) Methods and systems for generating read-only operating systems
JP2013167593A (ja) 分析装置制御システム及びプログラム
US8918630B1 (en) System, apparatus, and method for initiating a reboot of a personal computer system by pressing a button on an attached storage device and causing the operating system on the attached storage device to be booted
Headrick et al. Automated configuration of modern ATE
WO2022239549A1 (ja) バージョン管理方法、バージョン管理のプログラム、および、バージョン管理のシステム
JP5277217B2 (ja) 情報処理装置およびコンピュータープログラム
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム
JP7289940B2 (ja) プログラムのセット、記憶媒体、及び情報処理方法
US9058232B2 (en) Systems and methods to create a clean install of an application
KR100621094B1 (ko) 컴퓨터 관리 장치 및 방법
JP5732726B2 (ja) 情報処理システム、情報処理システムの動作方法、および、プログラム
TWI436279B (zh) 電腦系統及其系統開機之管理方法
JP5822870B2 (ja) 情報処理装置
Halsey et al. Troubleshooting Startup

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160119

R151 Written notification of patent or utility model registration

Ref document number: 5875448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151