(57)【特許請求の範囲】
【請求項１】
オペレーティングシステムが動作する情報処理装置であって、
アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、
前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、
前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、
当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理装置。
【請求項２】
前記設定手段は、前記インストールの対象となるアプリケーションがアップデートによるインストールではなく、かつ、前記オペレーティングシステムが所定のバージョンであった際に、当該インストールの対象となるアプリケーションをソフトウェアレンダリングモードで起動するよう設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアが既にインストールされていた際に、前記設定手段による設定に従い、前記インストールの対象となるアプリケーションと同じタイプのテスト用のアプリケーションを起動して問題が検出した場合に、前記必要となるソフトウェアの修復インストールを行い、
当該修復インストールの後に、前記インストールの対象となるアプリケーションをインストールすることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段により前記インストールの対象となるアプリケーションをインストールする前に確認される前記必要となるソフトウェアを選択するため表示手段を有することを特徴する請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
オペレーティングシステムが動作する情報処理装置における情報処理方法であって、
アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定工程と、
前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御工程と、を有し、
前記制御工程では、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションがインストールされ、
当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理方法。
【請求項６】
請求項１乃至４のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【請求項７】
アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、
前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、
前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、
当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする情報処理装置。
【請求項８】
前記設定手段は、前記インストールの対象となるアプリケーションがアップデートによるインストールである際には、前記情報処理装置で動作するオペレーティングシステムのバージョンに関する判定を行うことなく、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
請求項７または８に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのインストールおよび環境チェック、修復する処理手順に関する。
【背景技術】
【０００２】
アプリケーションの高機能化に伴い、ソフトウェアを使用するために必要なシステムへの変更も年々増大してきた。システムに配置するモジュール数の増加、モジュールを動作させるために必要なレジストリへの記述、オペレーティングシステム（ＯＳ）のセキュリティ設定の変更など、システムへの変更項目は枚挙にいとまがない。それに加えて、アプリケーションによっては、他社製ソフトウェアを利用して動作する場合もあり、その他社製ソフトウェアを予めインストールする必要がある。例えば、Ｗｉｎｄｏｗｓ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎアプリケーション（以下、ＷＰＦアプリケーション）はアプリケーションと対応したバージョンの．ＮｅｔＦｒａｍｅｗｏｒｋ（他社製ソフトウェア）がシステム環境（以下、環境）にインストールされていなければ、アプリケーションが正常に動作しないという問題がある。
【０００３】
このような問題を鑑み、アプリケーションの動作に必要なソフトウェアがインストールされていない場合、該アプリケーションのインストーラのインストール処理中にアプリケーションの動作に必要なソフトウェアをインストールすることが一般的である。しかし、アプリケーションの動作に必要なソフトウェアが既にインストール済みの環境であっても、インストールされているソフトウェアの環境（ファイルの存在やレジストリ情報、環境変数）に不具合があった場合、正しくアプリケーションが動作しない懸念がある。
【０００４】
そこで、従来、アプリケーションをインストールする前に、インストール対象のアプリケーションが正常に動作するか否かをインストール処理中に判別し、アプリケーションをインストールするか否かを決定する技術が提案されている（例えば、特許文献１）。この技術によれば、インストール処理中にアプリケーションが正常に動作するか否かを判断できるため、インストール対象のアプリケーションが正常に動作しない等の問題を未然に防ぐことが可能である。この判定には、プロダクトＩＤ、ベンダー名、アプリ名、バージョン、必要リソースといったプロダクト情報が利用されるといった開示があります。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１２９２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の従来技術ではアプリケーションをインストールする前に、対象のアプリケーションのプロダクト情報から使用可能かどうかを判断し、アプリケーションをインストールするか否かを決定する。ここで、インストーラによってアプリケーションが使用不可と判断された場合、結果的にアプリケーションをインストール出来ない。
【０００７】
また、上記した従来技術の観点以外にも、ハードウェアに関する問題で、アプリケーションのインストールによりＯＳの動作に不具合が発生することも考慮する必要がある。例えば、チップセットとドライバによる不具合により、ＷＰＦアプリケーションを起動するとＯＳが、ブルースクリーン状態になる場合がある。このような状況に陥ったユーザがソフトウェアやハードウェアについて熟知していない場合、正常にアプリケーションを動作させるための解決手段を講じることが出来ないことがある。
【０００８】
本発明は、これら課題を鑑み、インストーラの処理中に環境に問題があると判断された際に、該環境を修復するなど、正常にアプリケーションが動作する環境を構築することが可能な手法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明は、オペレーティングシステムが動作する情報処理装置であって、アプリケーションをインストールする際に、当該インストールの対象となるアプリケーションがアップデートによるインストールである、または、前記オペレーティングシステムが所定のバージョンではない際に、当該インストールの対象となるアプリケーションをハードウェアレンダリングモードで起動するよう設定する設定手段と、前記インストールの対象となるアプリケーションをインストールする際に必要となるソフトウェアがインストールされていない場合に、前記必要となるソフトウェアをインストールする制御手段と、を有し、前記制御手段は、前記必要となるソフトウェアのインストールの後に、前記インストールの対象となるアプリケーションをインストールし、当該インストールされたアプリケーションは、前記設定手段による設定に従い起動することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、インストーラの処理中に環境に問題があると判断された場合、環境を修復するなどして、正常にアプリケーションが動作する環境を構築することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】ソフトウェアの構成を説明するソフトウェア構成図である。
【図３】アプリケーションのレンダリングモードの設定値の一例を示す図である。
【図４】インストーラ画面のユーザインタフェースのＵＩの一例を示す図である。
【図５】環境修復アプリケーションのＵＩの一例を示す図である。
【図６】環境チェックアプリケーションのＵＩの一例を示す図である。
【図７】環境修復アプリケーションのＵＩの一例を示す図である。
【図８】レジストリ情報、および、インストーラ情報の一例を示す図である。
【図９】インストーラによるインストール処理のフローチャートである。
【図１０】環境修復アプリケーションによる環境修復処理のフローチャートである。
【図１１】環境チェックアプリケーションによる環境修復処理のフローチャートである。
【図１２】アプリケーションによるアプリケーション起動処理のフローチャートである。
【図１３】インストーラによるインストール処理のフローチャートである。
【図１４】環境チェックアプリケーションのＵＩの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１３】
（実施例１）
図１は、本発明の一実施形態において適用される情報処理装置１００のハードウェア構成を示す図である。図１において、情報処理装置１００は、ユーザが使用するコンピュータである。なお、情報処理装置１００には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーションもインストールされている。
【００１４】
また、情報処理装置１００はユーザ操作入力を受信する入力デバイスであるキーボード１０５とポインティングデバイス１０６が設けられている。さらに、情報処理装置１００は、ユーザに視覚的な出力情報フィードバックを与える表示部１０２を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０７が設けられる。また、ＣＤ／ＤＶＤ１１０に記録されたデータを読み出すためのＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ１０８も設ける。ＲＡＭ１０３は、ＣＰＵ１０１によりＯＳや本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。ＲＯＭ１０４は、ＣＰＵ１０１の各種制御を実行する各種制御プログラムを記憶している。さらに、外部機器との通信を行うインターフェイスデバイスＩ／Ｏ１０９を備え、プログラム実行を行うＣＰＵ１０１を備える。なお、周辺機器との接続形態は有線／無線を問わない。
【００１５】
図２は、情報処理装置１００のソフトウェアの構成を説明するソフトウェア構成図である。
【００１６】
インストーラ２００は、アプリケーションのインストール処理を実行するための各種のユーザインタフェースを備え、情報処理装置１００のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、インストーラ２００は、ＨＤＤ１０７、または、ＣＤ／ＤＶＤ１１０に保持され、プログラム実行をＣＰＵ１０１で行い、実行情報や一時データをＲＡＭ１０３に記憶する。後述する環境修復アプリケーション２１０、環境チェックアプリケーション２２０も同様である。
【００１７】
インストーラ２００を構成するコンポーネントを２０１〜２０３で示す。
【００１８】
インストーラＵＩ部２０１は、インストーラ２００において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。インストーラ実行部２０２は、インストーラ２００において、アプリケーションのインストール、アンインストール、修復インストールやアプリケーションの設定構築機能を担う。また、環境解析部２０３で解析した情報を元にインストール処理を変更する（後述）。環境解析部２０３は、インストーラ２００で情報処理装置１００の環境情報を解析する機能を担う。前記環境情報とは、例えば、ＯＳのアーキテクチャ情報、ＯＳのバージョン情報、レジストリ情報、環境変数、既にインストールされているソフトウェアのソフトウェア情報、インストール対象のアプリケーションの各種設定等を示す。
【００１９】
環境修復アプリケーション２１０は、情報処理装置１００の環境を修復するための各種のユーザインタフェースを備え、情報処理装置１００のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。
【００２０】
環境修復アプリケーションＵＩ部２１１は、環境修復アプリケーション２１０において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。また、環境修復アプリケーションＵＩ部２１１は、インストーラＵＩ部２０１、および、環境チェックアプリケーションＵＩ部２２１の応答によって、処理を実行する。環境修復部２１２は、環境修復アプリケーション２１０で情報処理装置１００の環境を修復する機能を担う。前記環境とは、例えば、「．ＮｅｔＦｒａｍｅｗｏｒｋ」や「Ｖｉｓｕａｌ  Ｃ＋＋  Ｒｅｄｉｓｔｒｉｂｕｔａｂｌｅ」に関するレジストリ情報やファイル、情報処理装置１００に登録されている環境変数等を示す。
【００２１】
環境チェックアプリケーション２２０は、情報処理装置１００の環境をチェックするための各種のユーザインタフェースを備え、情報処理装置１００のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、環境チェックアプリケーション２２０は、インストーラ２００のインストール対象のアプリケーション２３０と同タイプのテスト用のアプリケーションである。用途としては、アプリケーション２３０を実際にインストールする前に、正常にアプリケーション２３０が動作するかチェックするために実行され、動作確認が行われることになる。機能としては、後述する図６で示す画面を提供するための表示機能などが用意される程度である。
【００２２】
環境チェックアプリケーションＵＩ部２２１は、環境チェックアプリケーション２２０において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。また、環境チェックアプリケーションＵＩ部２２１は、環境修復アプリケーションＵＩ部２１１の応答によって、処理を実行する。環境チェック部２２２は、環境チェックアプリケーション２２０で情報処理装置１００の環境に不具合がないかをチェックする機能を担う。
【００２３】
アプリケーション２３０は、アプリケーションを実行するための各種のユーザインタフェースを備え、情報処理装置１００のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。また、アプリケーション２３０は、インストーラ２００によって、ＨＤＤ１０７にインストールされ、プログラム実行をＣＰＵ１０１で行い、実行情報や一時データをＲＡＭ１０３に記憶する。
【００２４】
アプリケーションＵＩ部２３１は、アプリケーション２３０において、ユーザインタフェースの構築やユーザからの各種入力操作の受け付けを処理する。環境解析部２３２は、アプリケーション２３０で情報処理装置１００の環境情報を解析する機能を担う。
【００２５】
図３は、アプリケーションのレンダリングモードの設定値の一例を示した図である。ここで、本図を説明する前に、レンダリングモードについて説明をする。
【００２６】
ＷＰＦアプリケーションの内部アーキテクチャには、ハードウェアとソフトウェアの２つのレンダリング方法があり、ハードウェアレンダリングは一般的にソフトウェアレンダリングより高速に処理が行える。また、レンダリングモードの設定を明示的に設定しなかった場合、ハードウェアレンダリングモードでアプリケーションが起動することも一般的である。しかし、ハードウェアレンダリングモードでＷＰＦアプリケーションを起動した際に、ビデオカードのドライバとマザーボードに不具合がある場合、ブルースクリーンが発生することがある。そのため、前記状況で不具合が発生しそうな場合は、ＷＰＦアプリケーションをソフトウェアレンダリングモードで起動することが望ましい。また、ハードウェアレンダリングはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＧＰＵ）、ソフトウェアレンダリングはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）でそれぞれ処理を行う。
【００２７】
レンダリングモード設定情報３００は、ＷＰＦアプリケーションのレンダリングモード設定値３０１を含む。レンダリングモード設定値３０１は、ＷＰＦアプリケーションをハードウェアレンダリング、ソフトウェアレンダリングのいずれかのレンダリングモードで起動するための設定値を保持する。環境チェックアプリケーション２２０とアプリケーション２３０は、レンダリングモード設定値３０１を読み込みアプリケーションのレンダリングモードを決定する。この決定処理の詳細は後述する。
【００２８】
図４は、インストーラ画面のユーザインタフェースの一例を示している。インストーラメインウインドウ４００は、インストーラＵＩ部２０１のユーザインタフェースを示している。
【００２９】
ソフトウェア一覧４０１は、アプリケーションをインストールする前に、情報処理装置でインストールする必要があるソフトウェア一覧を示す。ソフトウェアインストール状況４０２は、ソフトウェア一覧４０１に列挙されているソフトウェアのインストール状況を示す。ここでは、インストール済み、未インストール等のインストール状況情報を持つ。また、環境解析部２０３がインストーラ画面４００表示直前にインストール済みか否かを判別し、既にインストール済みであればインストーラ画面４００表示時にインストール済みと表示される。
【００３０】
インストールＳｔａｒｔボタン４０３は、前記ボタンが押下されたことによって、ソフトウェア一覧４０１に列挙されているソフトウェアを上から順にインストールする。全てのインストール処理が終了すると、インストールＳｔａｒｔボタン４０３に表示されている文言が「Ｓｔａｒｔ」から「Ｎｅｘｔ」に変化する。また、必要なソフトウェアが全てインストール済みであった場合にも、Ｎｅｘｔボタン（不図示）が表示される。このＮｅｘｔボタン（不図示）を押下することで、インストール処理を次の処理に遷移する。インストールＣａｎｃｅｌボタン４０４は、前記ボタンが押下されたことによってインストール処理を中断し、インストール処理を終了する。
【００３１】
図５は、環境修復アプリケーション２１０のユーザインタフェースの一例を示している。
【００３２】
環境修復アプリケーションウインドウ５００は、環境修復アプリケーションＵＩ部２１１のユーザインタフェースを示している。また、環境修復アプリケーションウインドウ５００は、環境チェックを行うか否かの選択ボタン５０１、５０２を設けている。選択ボタン５０１が押下された場合、環境チェックアプリケーション２２０を起動する。一方、選択ボタン５０２を押下された場合、環境チェックアプリケーション２２０を起動せずに、次のインストール処理に遷移する。
【００３３】
図６は、環境チェックアプリケーション２２０のユーザインタフェースの一例を示している。
【００３４】
環境チェックアプリケーションウインドウ６００は、環境チェックアプリケーションＵＩ部２２１のユーザインタフェースを示している。環境チェックをしている状態に表示され、環境チェックが終了したことによって、環境チェックアプリケーションウインドウ６００を閉じ、次のインストール処理に遷移する。また、この環境チェックで不具合を発見した場合、環境チェックアプリケーションウインドウ６００を閉じ、環境修復アプリケーション２１０を起動する。また、本例では「．ＮｅｔＦｒａｍｅｗｏｒｋ」やブルースクリーンの不具合を解析するためにＷＰＦアプリケーションを採用しているが、アプリケーションの種類は限定しないものとする。
【００３５】
図７は、環境修復アプリケーション２１０のユーザインタフェースの一例を示している。環境修復アプリケーションウインドウ７００は、環境修復アプリケーションＵＩ部２１１のユーザインタフェースを示している。環境修復をしている状態に表示され、環境修復が終了したことによって、環境修復アプリケーションウインドウ７００を閉じ、次のインストール処理に遷移する。
【００３６】
図８は、情報処理装置１００のレジストリ情報８００、および、インストーラ２００のインストーラ情報８１０の例をそれぞれ示す。これら情報は、インストーラ２００のインストール処理で利用される。
【００３７】
レジストリ情報８００は、情報処理装置１００のレジストリ情報一覧を示し、情報処理装置１００にインストールされているソフトウェアの情報を保持する。例えば、レジストリ情報８００は、アプリケーションのバージョン情報やＵｐｇｒａｄｅＣｏｄｅ、ＰｒｏｄｕｃｔＣｏｄｅ、インストールパス等を保持する。
【００３８】
インストーラ情報８１０は、インストーラ２００のインストール処理に必要な情報を保持する。例えば、インストーラ情報８１０は、インストーラのバージョンやインストール対象のアプリケーションのインストールに必要なソフトウェア情報を保持する。この情報から、前述したソフトウェア一覧４０１のユーザインタフェースが生成される。
【００３９】
図９は、インストーラ２００によるインストール処理のフローチャートを示している。本フローチャートを開始するトリガーは、インストーラＵＩ部２０１がインストール実行を示す操作を受け付けたことにより開始される。
【００４０】
ステップ９００において、インストーラ実行部２０２は、環境解析部２０３を介し、レジストリ情報８００とインストーラ情報８１０を元にインストーラ２００がアップデートインストールで実行されているか否かを判断する。レジストリ情報８００が保持しているアプリケーションのバージョンとインストーラ情報８１０が保持するインストーラのバージョンを比較し、インストーラ２００のバージョンの方が高い場合、アップデートインストールと判断し、ステップ９０３へ進む。一方、レジストリ情報８００にアップデートインストールが可能なアプリケーションが存在しない場合、アップデートインストールでないと判断し、ステップ９０１へ進む。
【００４１】
ステップ９０１において、インストーラ実行部２０２は、環境解析部２０３を介し、情報処理装置１００のＯＳのバージョンが所定のバージョンであるかを判定する。具体的には、情報処理装置１００のＯＳのバージョンがＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａか否かを判断する。情報処理装置１００のＯＳ判別処理の結果、情報処理装置１００のＯＳがＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａと判定された場合、ステップ９０２へ進む。一方、ＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａと判定されなかった場合、ステップ９０３へ進む。ここでＯＳのバージョンを判断基準とした理由は、過去の事例からＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａでブルースクリーンになる不具合が発生する懸念があったためである。上記したＯＳバージョン以外にも不具合が起きるケースが想定される場合、他のバージョンも判断処理に加えることが可能なものとする。
【００４２】
ステップ９０２において、インストーラ実行部２０２は、図３で示したように、インストーラのインストール対象となるＷＰＦアプリケーションがソフトウェアレンダリングモードで起動する設定値を、レンダリングモード設定情報３００に保存する。
【００４３】
ステップ９０３において、インストーラ実行部２０２は、ＷＰＦアプリケーションがソフトウェアレンダリングモードで起動しない設定値をレンダリングモード設定情報３００に保存する。具体的には、ＷＰＦアプリケーションはハードウェアレンダリングモードで起動する。ここで、アップデートインストールの場合には、今回アプリケーションをインストールする前から、ユーザは更新前のＷＰＦアプリケーションを正常に利用できていたことが想定される。そのため、ここでは、ＷＰＦアプリケーションがハードウェアレンダリングモードで起動するよう設定が行われる。
【００４４】
ステップ９０４において、インストーラ実行部２０２は、環境解析部２０３を介し、レジストリ情報８００とインストーラ情報８１０に基づき、インストール対象となるアプリケーションの動作に必要なソフトウェアのインストール状況を判定する。たとえば、インストール状況判定ロジックは、インストーラ情報８１０で保持されているソフトウェアの情報がレジストリ情報８００に保持されていない場合、必要なソフトウェアが未インストールと判断する。一方、レジストリ情報８００に保持されている場合には、必要なソフトウェアがインストール済みとする。この判定処理により、ソフトウェア一覧４０１とソフトウェアインストール状況４０２をインストーラメインウインドウ４００に表示する。インストーラＵＩ部２０１がインストールＳｔａｒｔボタン４０３、またはＮｅｘｔボタン（不図示）を押下されたことを示す操作を受け付けたことにより、ステップ９０５へ進む。
【００４５】
ステップ９０５において、インストーラ実行部２０２は、環境解析部２０３を介し、インストール対象となるアプリケーションの動作に必要なソフトウェアとしての「．ＮｅｔＦｒａｍｅｗｏｒｋ（ｄｏｔＮｅｔ４ＣＰ）」が、既にインストールされていたかを判断する。具体的には、ステップ９０４のインストール状況判定ロジックにおいて、「．ＮｅｔＦｒａｍｅｗｏｒｋ」がインストール済みであったと判定された場合、ステップ９０６に進む。一方、ステップ９０４のインストール状況判定ロジックにおいて、「．ＮｅｔＦｒａｍｅｗｏｒｋ」が未インストールと判定された場合には、ステップ９０７に進む。
【００４６】
ステップ９０６において、情報処理装置１００の環境を修復するための修復アプリケーション２１０を起動する。詳細は、図１０を用いて後述する。一方で、ステップ９０７において、インストーラ実行部２０２は、「．ＮｅｔＦｒａｍｅｗｏｒｋ」をインストールする。
【００４７】
ステップ９０８において、インストーラ実行部２０２は、インストールの対象となるアプリケーション２３０をインストールする。
【００４８】
ステップ９０９において、インストーラ実行部２０２は、ソフトウェアのインストールからアプリケーションのインストールを含む、全てのインストール処理が正常に行われたか否かを判断する。インストーラ実行中にインストール処理が正常に行われた場合、アプリケーションのインストールに成功したと判断し、本フローチャートの処理を終了する。一方、インストーラ実行中にインストール処理が正常に行われなかった場合、アプリケーションのインストールに失敗したと判断し、ステップ９１０へ進む。
【００４９】
ステップ９１０において、インストーラ実行部は、インストールの処理で使用した情報をインストール処理前に戻すロールバック処理を行う。インストールの処理で使用した情報とは、例えば、インストールしたファイルや一時ファイル、レジストリなどを指す。また、アプリケーションのインストールに失敗した場合、必要となったソフトウェアのロールバック処理は行わない。ただし、それらソフトウェアインストール中にインストール処理が失敗した場合にはそのソフトウェアの仕様に従い、ロールバック処理を行う。ロールバック処理後、本フローチャートの処理を終了する。
【００５０】
図１０は、前述したステップ９０６に係る環境修復アプリケーション２１０による環境修復処理のフローチャートを示している。本フローチャートを開始するトリガーは、環境修復アプリケーションＵＩ部２１１がインストーラＵＩ部２０１より環境修復実行を示す処理を受け付けたことにより開始される。
【００５１】
ステップ１０００において、環境チェックアプリケーションＵＩ部２１１は、情報処理装置１００の環境チェックを行うか否かを判断する。環境チェックを行う選択ボタン５０１が押下されたことを示す操作を受け付けた場合、環境チェックを行うと判断し、ステップ１００１へ進む。一方、環境チェックを行わない選択ボタン５０１が押下されたことを示す操作を受け付けた場合、環境チェックを行わないと判断し、本フローチャートの処理を終了する。ステップ１００１において、環境修復アプリケーション２１０は、情報処理装置１００の環境に不具合がないかをチェックするための環境チェックアプリケーション２２０を起動する。詳細は、図１１を用いて後述する。
【００５２】
ステップ１００２において、環境チェックアプリケーション２２０による環境チェックの結果に問題がないか否かを判断する。環境チェックに問題があった場合、環境修復を行うと判断し、ステップ１００３へ進む。一方、環境チェックに問題がなかった場合、環境修復を行わないと判断し、本フローチャートの処理を終了する。
【００５３】
ステップ１００３において、環境修復部２１２部は、情報処理装置１００の環境修復のためのソフトウェアのインストール処理を行う。たとえば、ステップ１００２の環境チェックの結果に「．ＮｅｔＦｒａｍｅｗｏｒｋ」の不具合があった場合、ステップ１００３で「．ＮｅｔＦｒａｍｅｗｏｒｋ」の修復処理を行う。ここでは、必要に応じて更新、新規インストールを行うことで「．ＮｅｔＦｒａｍｅｗｏｒｋ」の修復処理を行う。また、環境修復中は、環境修復アプリケーションウインドウ７００を表示する。修復処理後、環境修復アプリケーションウインドウ７００を閉じ、本フローチャートの処理を終了する。
【００５４】
図１１は、環境チェックアプリケーション２２０による環境チェック処理のフローチャートを示している。本フローチャートを開始するトリガーは、環境チェックアプリケーションＵＩ部２２１が環境修復アプリケーションＵＩ部２１１より環境チェック実行を示す処理を受け付けたことにより開始される。
【００５５】
ステップ１１００において、環境チェック部２２２は、ステップ９０２、９０３で生成したレンダリングモード設定情報３００を解析し、ＷＰＦアプリケーションの起動方法を解析する。ここで、環境チェックアプリケーション２２０は、インストーラ２００のインストール対象のアプリケーション２３０と同タイプとなるＷＰＦアプリケーションである。
【００５６】
レンダリングモード設定情報３００の設定がソフトウェアレンダリングモードになっていた場合、ソフトウェアレンダリングモードで環境チェックアプリケーション２２０を起動すると判断し、ステップ１１０１へ進む。一方、レンダリングモード設定情報３００の設定がハードウェアレンダリングモードになっていた場合、ハードウェアレンダリングモードで環境チェックアプリケーション２２０を起動すると判断し、ステップ１１０２へ進む。
【００５７】
ステップ１１０１において、環境修復アプリケーションＵＩ部２１１は、環境チェックアプリケーション２２０のＵＩをソフトウェアレンダリングモードで行う設定をする。ステップ１１０２において、環境修復アプリケーションＵＩ部２１１は、環境チェックアプリケーション２２０のＵＩをハードウェアレンダリングモードで行う設定をする。
【００５８】
ステップ１１０３において、環境修復アプリケーションＵＩ部２１１は、ステップ１１０１、１１０２の設定に従うレンダリングモードにおいて、環境チェックアプリケーションウインドウ６００を表示する。また、ステップ１１０３では、情報処理装置１００の環境チェックを行う。例えば、環境チェックとは、「．ＮｅｔＦｒａｍｅｗｏｒｋ」のファイルの存在の有無やレジストリ情報をチェックする。前記チェックで問題があった場合、環境チェックアプリケーション２２０は環境修復アプリケーション２１０に問題があったことを通知する。
【００５９】
図１２は、インストーラ２００によってインストールされたアプリケーション２３０による起動処理のフローチャートを示している。本フローチャートを開始するトリガーは、アプリケーション２３０がアプリケーションの起動を示す操作を受け付けたことにより開始される。
【００６０】
ステップ１２００において、環境解析部２３２は、ステップ９０２、９０３で生成したレンダリングモード設定情報３００を解析し、ＷＰＦアプリケーションの起動方法を決定する。ここではＷＰＦアプリケーションは、アプリケーション２３０を指す（以後、アプリケーション２３０）。レンダリングモード設定情報３００の設定がソフトウェアレンダリングモードになっていた場合、ソフトウェアレンダリングモードでプリケーション２３０を起動すると判断し、ステップ１２０１へ進む。一方、レンダリングモード設定情報３００の設定がハードウェアレンダリングモードになっていた場合、ハードウェアレンダリングモードでプリケーション２３０を起動すると判断し、ステップ１２０２へ進む。
【００６１】
ステップ１２０１において、環境修復アプリケーションＵＩ部２１１は、プリケーション２３０のＵＩをソフトウェアレンダリングモードで行う設定をする。ステップ１２０２において、環境修復アプリケーションＵＩ部２１１は、プリケーション２３０のＵＩをハードウェアレンダリングモードで行う設定をする。ステップ１２０１、１２０２のレンダリングモードの設定決定後、アプリケーション２３０のＵＩを表示し、本フローチャートの処理を終了する。
【００６２】
本実施例１では、図９〜１１において、インストール処理に従い、環境修復、および、環境チェックといった処理を行う例を説明した。しかしながら、インストール処理のタイミング以外にも、情報処理装置１００の環境修復、および、環境チェックのみを目的として実行するケースも存在する。このような目的を鑑み、本構成では、図１０の環境修復の処理、図１１の環境チェックの処理を、図９のインストーラの処理から切り離しても、環境修復アプリケーションを起動することで環境修復、および、環境チェックが可能になっている。具体的には、インストーラからの起動がかからなくても、単独でユーザから環境修復、チェックアプリケーションの実行指示を受けたことに応じて、図１０、１１に記載の処理を実行することが可能である。
【００６３】
（実施例２）
本実施例においては、図９のインストーラの処理に、図１０の環境修復アプリケーションの処理を加え、環境修復アプリケーション２１０の機能をインストーラ２００が担う場合の処理を、図１３のフローチャートで示している。本フローチャートを開始するトリガーは、インストーラＵＩ部２０１がインストール実行を示す操作を受け付けたことにより開始される。
【００６４】
ステップ１３００において、インストーラ実行部２０２は、環境解析部２０３を介し、レジストリ情報８００とインストーラ情報８１０を元にインストーラ２００がアップデートインストールで実行されているか否かを判断する。レジストリ情報８００が保持しているアプリケーションのバージョンとインストーラ情報８１０が保持するインストーラのバージョンを比較し、インストーラ２００のバージョンの方が高い場合、アップデートインストールと判断し、ステップ１３０３へ進む。一方、レジストリ情報８００にアップデートインストールが可能なアプリケーションが存在しない場合、アップデートインストールでないと判断し、ステップ１３０１へ進む。
【００６５】
ステップ１３０１において、インストーラ実行部２０２は、環境解析部２０３を介し、情報処理装置１００のＯＳのバージョンが所定のバージョンであるかを判定する。ここでは、情報処理装置１００のＯＳ判別処理の結果、情報処理装置１００のＯＳがＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａと判定された場合、ステップ１３０２へ進む。一方、ＷｉｎｄｏｗｓＸＰまたはＷｉｎｄｏｗｓＶｉｓｔａと判定されなかった場合、ステップ１３０３へ進む。
【００６６】
ステップ１３０２において、インストーラ実行部２０２は、ＷＰＦアプリケーションがソフトウェアレンダリングモードで起動する設定値をレンダリングモード設定情報３００に保存する。ステップ１３０３において、インストーラ実行部２０２は、ＷＰＦアプリケーションがソフトウェアレンダリングモードで起動しない設定値をレンダリングモード設定情報３００に保存する。
【００６７】
ステップ１３０４において、インストーラ実行部２０２は、環境解析部２０３を介し、レジストリ情報８００とインストーラ情報８１０を元にアプリケーションの動作に必要なソフトウェアのインストール状況を判定する。たとえば、インストール状況判定ロジックは、インストーラ情報８１０で保持されているソフトウェアの情報がレジストリ情報８００に保持されていない場合、必要なソフトウェアが未インストールと判断する。この判定処理により、ソフトウェア一覧４０１とソフトウェアインストール状況４０２をインストーラメインウインドウ４００に表示する。インストーラＵＩ部２０１がインストールＳｔａｒｔボタン４０３、またはＮｅｘｔボタン（不図示）を押下されたことを示す操作を受け付けたことにより、ステップ１３０５へ進む。
【００６８】
ステップ１３０５において、インストーラ実行部２０２は、環境解析部２０３を介し、インストール対象となるアプリケーションの動作に必要なソフトウェアの１つである「．ＮｅｔＦｒａｍｅｗｏｒｋ（ｄｏｔＮｅｔ４ＣＰ）」が、既にインストールされていたかを判断する。ステップ１３０４のインストール状況判定ロジックにおいて、「．ＮｅｔＦｒａｍｅｗｏｒｋ」がインストール済みと判断された場合にはステップ１３０６に進む。一方、「．ＮｅｔＦｒａｍｅｗｏｒｋ」が未インストールと判断された場合にはステップ１３０７に進み、インストーラ実行部２０２は「．ＮｅｔＦｒａｍｅｗｏｒｋ」をインストールする。
【００６９】
ステップ１３０６において、インストーラＵＩ部２１１は、情報処理装置１００の環境チェックを行うか否かを判断する。インストーラＵＩ部２１１により提供される画面（図５）を介して、環境チェックを行う選択ボタン５０１が押下されたことを示す操作を受け付けた場合、環境チェックを行うと判断し、ステップ１３０８へ進む。一方、環境チェックを行わない選択ボタン５０１が押下されたことを示す操作を受け付けた場合、環境チェックを行わないと判断し、ステップ１３１１へ進む。
【００７０】
ステップ１３０８において、インストーラ２００は、情報処理装置１００の環境に不具合がないかをチェックするための環境チェックアプリケーション２２０を起動する。この処理に関しては、図１１で説明した処理と同様である。
【００７１】
ステップ１３０９において、環境チェックアプリケーション２２０による環境チェックの結果に問題がないか否かを判断する。環境チェックに問題があった場合、環境修復を行うと判断し、ステップ１３１０へ進む。一方、環境チェックに問題がなかった場合、環境修復を行わないと判断し、ステップ１３１１へ進む。
【００７２】
ステップ１３１０において、インストーラ実行部２０２部は、情報処理装置１００の環境修復処理を行う。ここでは、ステップ１３０９の環境チェックの結果に「．ＮｅｔＦｒａｍｅｗｏｒｋ」の不具合があったことを想定し、ステップ１３１０で「．ＮｅｔＦｒａｍｅｗｏｒｋ」の修復処理を行う。また、環境修復中は、環境修復アプリケーションウインドウ７００を表示する。修復処理後、環境修復アプリケーションウインドウ７００を閉じ、ステップ１３１１へ進む。
【００７３】
ステップ１３１１において、インストーラ実行部２０２は、インストールの対象となるアプリケーション２３０をインストールする。
【００７４】
ステップ１３１２において、インストーラ実行部２０２は、対象のアプリケーションのインストールに必要なソフトウェア、及び対象のアプリケーション自体のインストールを含む、全てのインストール処理が正常に行われたか否かを判断する。インストーラ実行中にインストール処理が正常に行われた場合、アプリケーションのインストールに成功したと判断し、本フローチャートの処理を終了する。一方、インストーラ実行中にインストール処理が正常に行われなかった場合、アプリケーションのインストールに失敗したと判断し、ステップ１３１３へ進む。
【００７５】
ステップ１３１３において、インストーラ実行部は、インストールの処理で使用した情報をインストール処理前に戻すロールバック処理を行う。インストールの処理で使用した情報とは、たとえば、インストールしたファイルや一時ファイル、レジストリなどを指す。また、アプリケーションのインストールに失敗した場合、そのインストールに必要となったソフトウェアのロールバック処理は行わない。ただし、それらソフトウェアインストール中にインストール処理が失敗した場合、該ソフトウェアの仕様に従い、ロールバック処理を行う。ロールバック処理後、本フローチャートの処理を終了する。
【００７６】
（実施例３）
前述した実施例１〜２では、環境チェックを行う際の対象とするソフトウェアの選択は出来なかった。本実施例では、図１４で示すように、環境修復アプリケーション２１０のユーザインタフェース上で、環境チェックの対象となる関連ソフトウェアの選択が可能な拡張機能を備えた一例を示している。これは、前述の実施例１〜２に対しても適用可能である。
【００７７】
環境修復アプリケーションウインドウ１４００は、環境修復アプリケーションＵＩ部２１１のユーザインタフェースを示している。環境チェックソフトウェア一覧１４０１は、環境チェックアプリケーション２２０が環境チェックを行うソフトウェアの一覧を示している。
【００７８】
チェックボックス１４０２は、ソフトウェアの環境チェックを行うか否かを切り替えが可能なチェックボックスを示す。また、環境修復アプリケーションウインドウ５００は、環境チェックを行うか否かの選択ボタン１４０３、１４０４を設けている。開始ボタン１４０３が押下された場合、環境チェックアプリケーション２２０を起動する。一方、選択ボタン５０２を押下された場合、環境チェックアプリケーション２２０を起動せずに、環境修復アプリケーション２０１の処理を終了する。
【００７９】
本実施例により、ユーザがチェックが不要なソフトウェアを意図的にインストール時などのチェック対象から除外することが可能となる。
【００８０】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８１】
さらに、本発明には、上述した実施形態の適宜組み合わせることにより構成されたシステムやその機能も含まれるものとする。
【図１】
0005875448.tif 000002
【図２】
0005875448.tif 000003
【図３】
0005875448.tif 000004
【図４】
0005875448.tif 000005
【図５】
0005875448.tif 000006
【図６】
0005875448.tif 000007
【図７】
0005875448.tif 000008
【図８】
0005875448.tif 000009
【図９】
0005875448.tif 000010
【図１０】
0005875448.tif 000011
【図１１】
0005875448.tif 000012
【図１２】
0005875448.tif 000013
【図１３】
0005875448.tif 000014
【図１４】
0005875448.tif 000015