(57)【要約】【課題】ＯＳのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とする。【解決手段】オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段３１と、第１格納領域への書き込みを禁止し、第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止手段３２と、書き込み禁止手段により第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対し情報処理装置が再度起動した後に保護されるよう要求する要求手段３７と、情報処理装置が再度起動した場合、前記要求手段により要求された設定情報を保護する保護手段３９とを備える。【選択図】図３
2011086247.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、
前記オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段と、
前記第１格納領域への書き込みを禁止し、前記第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止手段と、
前記書き込み禁止手段により前記第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求手段と、
当該情報処理装置が再度起動した場合、前記要求手段により保護要求された前記設定情報を保護する保護手段と
を備える情報処理装置。
【請求項２】
前記アプリケーションにより新規に追加又は変更された変更情報を第３格納領域に退避する第１退避手段と、
前記設定情報が記憶された記憶手段を監視する第１監視手段と、
前記第１監視手段により前記設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを前記第３格納領域に退避する第２退避手段と、
当該情報処理装置が再度起動した場合、前記第３格納領域に退避された変更情報及び設定情報を前記保護手段により保護されない領域に復元する復元手段とをさらに備える請求項１記載の情報処理装置。
【請求項３】
前記保護手段による保護を解除した後に、前記アプリケーションのアンインストールを行なう削除手段をさらに備える請求項２記載の情報処理装置。
【請求項４】
前記削除手段によりアンインストールするアプリケーションが選択された場合、前記第１退避手段及び前記第２退避手段は退避処理を行う請求項３記載の情報処理装置。
【請求項５】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能であり、前記オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段を備える情報処理装置における情報処理方法であって、
前記第１格納領域への書き込みを禁止し、前記第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止段階と、
前記書き込み禁止段階により前記第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、
当該情報処理装置が再度起動した場合、前記要求段階により保護要求された前記設定情報を保護する保護段階と
を有する情報処理方法。
【請求項６】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行し、前記オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段を含む情報処理装置に実行可能なプログラムであって、
前記第１格納領域への書き込みを禁止し、前記第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止段階と、
前記書き込み禁止段階により前記第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、
当該情報処理装置が再度起動した場合、前記要求段階により保護要求された前記設定情報を保護する保護段階とを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、追加したアプリケーションを実行する情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置のオペレーティングシステム（ＯＳ）にアプリケーションを追加する際、ＯＳの格納領域に対して、アプリケーションのセットアップファイルなどが直接書き込まれていた。このとき、インストールするアプリケーションソフトウェアの数が増えたりすると、ＯＳの格納領域に様々なアプリケーションのファイルやデータが格納されることで、ＯＳの動作が遅くなったり、ＯＳのオリジナルデータが壊れてしまう可能性があった。
【０００３】
一方、近年では組み込みデバイス向けのＯＳであるＷｉｎｄｏｗｓ  ＸＰ（登録商標）  Ｅｍｂｅｄｄｅｄ（以下、XP Embeddedという）が開発され、このＯＳには、Ｅｎｈａｎｃｅｄ  Ｗｒｉｔｅ  Ｆｉｌｔｅｒ（EWF）という機能がある。ＸＰ  Ｅｍｂｅｄｄｅｄは、ハードディスク以外のフラッシュ媒体（ＣＦ）などに格納することが多く、ＥＷＦは、そのディスクの保護を目的とした機能である。
【０００４】
ＥＷＦは、書き込みの処理を「ＥＷＦオーバーレイ」と呼ばれる領域にリダイレクトすることでオリジナルデータの変更を抑止するとともに、書き込み回数に制限があるストレージの寿命を延ばすのにも役立つ。このＥＷＦオーバーレイに書き込まれたデータは、再起動後に削除される。
【０００５】
ここで、このＥＷＦ機能をＯＳの格納領域に適用することで、ＯＳのオリジナルデータの変更を抑止することができ、ＯＳのオリジナルデータを常にクリーンな状態に保つことができるシステムが実用化されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術において、追加したアプリケーションを実行するのに必要なファイルはＥＷＦオーバーレイに格納されていたため、一度情報処理装置を終了すると、追加したアプリケーションのファイルなども削除されることになってしまう。つまり、ＯＳのオリジナルデータを常にクリーンな状態に保つことはできるが、再起動するたびにアプリケーションのファイルは削除されるため、アプリケーションソフトウェアを再度インストールする必要があり、ユーザに再度のインストール処理を行わせるという問題があった。
【０００７】
そこで、本発明は上記問題に鑑みてなされたものであり、ＯＳのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明における一観点の情報処理装置は、オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、前記オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段と、前記第１格納領域への書き込みを禁止し、前記第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止手段と、前記書き込み禁止手段により前記第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求手段と、当該情報処理装置が再度起動した場合、前記要求手段により要求された前記設定情報を保護する保護手段とを備える。
【０００９】
また、本発明における他の局面の情報処理方法は、オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能であり、前記オペレーティングシステムを格納する第１格納領域を含む複数の格納領域を有する格納手段を備える情報処理装置における情報処理方法であって、前記第１格納領域への書き込みを禁止し、前記第１格納領域への書き込みが要求された場合は第２格納領域に書き込む書き込み禁止段階と、前記書き込み禁止段階により前記第２格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、当該情報処理装置が再度起動した場合、前記要求段階により要求された前記設定情報を保護する保護段階とを有する。
【００１０】
また、本発明の情報処理装置、及び情報処理方法は、コンピュータにより実行可能なプログラムにより実現することができ、また、プログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
【発明の効果】
【００１１】
本発明によれば、ＯＳのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とする情報処理装置、情報処理方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例１に係る情報処理装置１の主要なハードウェア構成を示すブロック図。
【図２】実施例１に係る情報処理装置１の主要なソフトウェア構成を示すブロック図。
【図３】実施例１に係る情報処理装置１の主要機能構成を示すブロック図。
【図４】格納手段の一例を示す図。
【図５】初回導入時の導入開始における処理の一例を示す概念図。
【図６】環境設定ファイル（ｉｔＳＤＫｃｏｎｆ．ｘｍｌ）の一例を示す図。
【図７】初回導入時の再起動後における処理の一例を示す概念図。
【図８】初回導入時の導入後における処理の一例を示す概念図。
【図９】アプリケーションの設定を変更する処理の一例を示す概念図。
【図１０】アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図。
【図１１】アプリケーションの削除処理の一例を示す概念図。
【図１２】アプリケーションの導入時の処理の一例を示すフローチャート。
【図１３】アプリケーションの設定変更時の処理の一例を示すフローチャート。
【図１４】情報処理装置１の通常起動時の処理の一例を示すフローチャート。
【図１５】アプリケーションの削除時の処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例を図面に基づいて説明する。
［実施例１］
＜ハードウェア構成＞
図１は、実施例１に係る情報処理装置１の主要なハードウェア構成を示すブロック図である。ここで、本発明の情報処理装置１としては、画像処理装置でもＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）でもＯＳ（オペレーティングシステム）組み込み機器でもよく、ここでは、画像処理装置を想定する。図１に示す情報処理装置１は、制御部１１、主記憶部１２、補助記憶部１３、印字部１４、通信制御部１５、操作部１６、ネットワークＩ／Ｆ部１７、外部記憶装置Ｉ／Ｆ部１８を含む。
【００１４】
制御部１１は、情報処理装置１の中で、各装置の制御やデータの演算、加工を行うＣＰＵである。制御部１１は、主記憶部１２に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００１５】
主記憶部１２は、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などであり、制御部１１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００１６】
補助記憶部１３は、ＨＤD（Hard  Disk  Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部１３には、情報処理装置が管理する各種情報（例えば、ユーザ情報など）が格納され、データベース（ＤＢ：DataBase）、ファイルシステム（ＦＳ：File  System）などの機能により管理される。
【００１７】
印字部１４は、画像データを受け取ると、レーザービームを用いたレーザープリントユニットや熱によって専用紙に印字を行なうサーマルプリントユニットなどを用いて、受け取った画像データを転写紙（印刷用紙）に出力（印刷）する。
【００１８】
通信制御部１５は、制御部１１と連携して、ＬＡＮ接続やＦＡＸなどの通信制御を行なう。
【００１９】
操作部１６は、ＬＣＤ、スイッチ、ランプやＬＥＤ、キーなどで構成され、情報処理装置１の状況、警告などを表示する。
【００２０】
ネットワークＩ／Ｆ部１７は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）、ＦＡＸなどのネットワークを介して接続された通信機能を有する周辺機器及びＰＣなどのインタフェースである。
【００２１】
外部記憶装置Ｉ／Ｆ部１８は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記憶媒体１９（例えば、フラッシュメモリやなど）と当該情報処理装置１とのインタフェースである。
【００２２】
また、記憶媒体１９としてＳＤ（Secure Digital）カードを使用する場合は、外部記憶装置Ｉ／Ｆ部１８は、ＳＤカードスロットとなり、このＳＤカードスロットにＳＤカードを装着することで、ＳＤカード内のデータの読み書きが可能となる。
【００２３】
＜ソフトウェア構成＞
図２は、実施例１に係る情報処理装置１の主要なソフトウェア構成を示すブロック図である。図２に示すように、情報処理装置１は、操作管理モジュール２１（例えばSDK Manager）、ファイル管理モジュール２２（例えばDocItem）、アプリ導入管理モジュール２３（例えばSIサービス）、アプリ実行管理モジュール２４（例えばWindow Manager）を含む。
【００２４】
操作管理モジュール２１は、操作部１６におけるユーザの操作を管理するモジュールであり、例えば、アプリケーションのインストール指示、設定変更の指示、又は削除指示などを管理する。
【００２５】
ファイル管理モジュール２２は、ファイルを管理するモジュールであり、例えば、情報処理装置１に接続された記録媒体１９に記憶されているファイルをコピーして、情報処理装置内にファイルを記憶したりすることを管理する。
【００２６】
アプリ導入管理モジュール２３は、アプリケーションの導入（インストール）、削除（アンインストール）を管理するモジュールであり、例えば、セットアップファイル（ｓｅｔｕｐ．ｅｘｅ）を実行したり、レジストリを監視したり、Ｗｉｎｄｏｗｓ（登録商標）の標準ツールを用いて新規作成、変更されたファイルなどを抽出することを管理する。また、アプリ導入管理モジュール２３は、後述する書き込み禁止手段３２の設定も制御する。また、アプリ導入管理モジュール２３は、追加や変更のあったファイルやレジストリの退避や復元も制御する。
【００２７】
なお、退避されたファイルやレジストリの情報は、格納領域に作成された差分ファイルに保存される。ファイル用の差分ファイルをバックアップ差分ファイル（ＢＫＦ）といい、レジストリ用の差分ファイルをレジストリ差分ファイル（ＲＥＧ）とする。また、差分ファイルは圧縮された状態で格納領域に保存されていてもよい。
【００２８】
アプリ実行管理モジュール２４は、情報処理装置１のアプリケーションの実行を管理するモジュールであり、例えば、後述するアプリ情報リストの起動条件に従って、アプリを起動したりする。
【００２９】
＜機能構成＞
図３は、実施例１に係る情報処理装置１の主要機能構成を示すブロック図である。図３に示すように、実施例１の情報処理装置１は、格納手段３１、書き込み禁止手段３２、第１監視手段３３、第２監視手段３４、第１退避手段３５、第２退避手段３６、設定手段３７、復元手段３８、保護手段３９、設定変更手段４０、ファイル管理手段４１、削除手段４２を含む。
【００３０】
格納手段３１は、例えばＨＤＤなどであり、パーティションで区切られた複数の格納領域を有する。ここでは、ＯＳや画像形成などに関するアプリケーションを格納するシステム領域、ユーザのデータを格納する作業領域、一時保存領域などの領域を有する。
【００３１】
図４は、格納手段の一例を示す図である。図４に示す第１格納領域３１１は、例えば、Ｃドライブとし、アプリケーション本体の情報やシステム情報やレジストリなどを格納する。第２格納領域３１２は、例えば、ＥＷＦレイヤであり、ＥＷＦレイヤに書き込まれたデータを格納する。第３格納領域３１３は、例えば、Ｄドライブとし、後述するアプリ情報、ＢＫＦファイル、ＲＥＧファイルを格納する。
【００３２】
なお、ＯＳについては、ＸＰ  Ｅｍｂｅｄｄｅｄを用いることにするが、ＸＰ  Ｅｍｂｅｄｄｅｄと同等もしくは同等以上の機能を有するＯＳでもよい。また、レジストリは、アプリケーションの基本情報などが記憶される。
【００３３】
また、図３に戻り、格納手段３１は、アプリ情報リストを、いずれのアプリケーションからもアクセス可能な格納領域に格納する。アプリ情報リストは、アプリの固有情報、アプリの起動条件、復元フラグなどを含み、差分ファイルの退避が正常に行われた場合に、アプリの名称が登録される。
【００３４】
書き込み禁止手段３２は、格納領域に格納されたデータを保護する機能を有し、例えばＸＰ  Ｅｍｂｅｄｄｅｄ特有のＥＷＦ機能である。ここでは、ＯＳが格納されるシステム領域を書き込み禁止手段３２により常に保護するものとし、書込み禁止手段３２の有効化、無効化の設定変更は再起動しないと反映されない。
【００３５】
第１監視手段３３は、レジストリをモニタする機能を備え、例えば、Ｗｉｎｄｏｗｓ（登録商標）に標準で備わっているツールを用いることで容易に実現可能である。
【００３６】
第２監視手段３４は、アプリケーションのセットアップファイル（Ｓｅｔｕｐ．ｅｘｅ）を実行した場合に、要求手段３７によるシステムへの再起動要求を監視する。ここでは、第２監視手段３４は、ＯＳに対するイベント要求を監視するイベントハンドラとする。アプリケーションのセットアップファイルを実行すると、アプリケーションのインストールが開始される。
【００３７】
このとき、インストール中に更新されるファイルやレジストリ情報がその時点で他のアプリケーションに使用されている場合、システムを再起動させて再起動直後にファイルやレジストリ情報を更新しようとする。システムの再起動は、ＯＳに対し再起動のイベント要求を出力することで実行されるため、第２監視手段３４はイベント要求をハンドリングする機能を有する。再起動要求は、ＯＳに対するメッセージ（例えば、ＷＭ＿ＱＵＥＲＹＥＮＤＳＥＳＳＩＯＮ）を監視することで実現できる。
【００３８】
第１退避手段３５は、システム領域上（ＥＷＦオーバーレイ）に追加されるアプリケーションに対して、新規に作成されたり変更されたりしたファイルを別の格納領域（一時保存領域）に退避する。新規に作成されたり変更されたりしたファイルは、一般的なファイルシステム（例えば、ＦＡＴやＮＴＦＳなど）で用いられるアーカイブビットにより判断することができる。このアーカイブビットは、ファイルの新規作成や変更があった場合、または専用のＡＰＩを実行することでフラグが設定される。また、ファイルシステムを使用しない場合でも、独自のアプリケーションで全てのファイルのアクセス状況を監視する機能を持つことで、アーカイブビットと同等の情報を作成することができる。また、退避対象のファイルはディレクトリ構成を維持したまま退避される。
【００３９】
第２退避手段３６は、第１監視手段３３によりモニタされた結果、レジストリアクセスのあったレジストリキーを一時保存領域に退避する。レジストリキーを用いることで、レジストリキー以下の情報を保存することができる。ここで、第１退避手段３５及び第２退避手段３６は、Ｗｉｎｄｏｗｓ（登録商標）に標準で備わっているツールや所定のプログラムを用いることで容易に実現可能である。
【００４０】
要求手段３７は、ＥＷＦによるデータ保護を図る場合には、ＥＷＦ設定コマンドを発行し、ＥＷＦによるデータ保護の解除を図る場合は、ＥＷＦ設定解除コマンドを発行する。要求手段３７は、状況に応じて適宜ＥＷＦ設定コマンド又はＥＷＦ設定解除コマンドを発行する。
【００４１】
復元手段３８は、第１退避手段３５及び第２退避手段３６により、一時保存領域に格納されたファイルとレジストリキーを元の格納領域に復元する。このとき、ファイルは元のディレクトリ構成を維持したまま復元され、同名のファイルが存在する場合は、新しいファイルで上書きする。
【００４２】
保護手段３９は、書き込み禁止手段３２により第２格納領域に格納されたアプリのインストールに必要なデータを保護しつつ、更に別のデータで上書きする機能を有する。例えば、この機能は、ＥＷＦのＤｉｓｋモードである。このＤｉｓｋモードを使用すると、第２格納領域のデータを複数のレイヤ（レベル）に分けて保存することが可能になる。また、Ｄｉｓｋモードは、過去に保存したデータの上に、新規のデータを保存させることができる。保護手段３９は、このＥＷＦレイヤを最大９つまで作ることが可能となる。ＥＷＦの設定に関しては、ＥＷＦの保護レベルの変更やＥＷＦ保護レベルの設定、保護の解除などＥＷＦのＡＰＩを用いれば実行可能である。また、保護手段３８によるデータの保護は再起動しないと反映されない。
【００４３】
設定変更手段４０は、ユーザによる操作部１６の操作において設定変更が要求された場合に、レジストリに記憶されているアプリケーションの基本情報などを変更する。また、アプリケーションを実行した後に、アプリケーションの設定変更がユーザにより要求された場合にアプリケーションの設定内容を変更する。
【００４４】
ファイル管理手段４１は、格納領域に格納されているファイルを管理し、例えばＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅｓ）やＮＴＦＳ（ＮＴ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）である。また、ファイル管理手段３７は、ファイルに対してアーカイブビットの設定を行う。新規に追加されたファイルや変更されたファイルには、アーカイブビットにフラグが立てられる。
【００４５】
削除手段４２は、アプリ情報リストのアプリ一覧から、操作部１６においてユーザにより任意のアプリを選択されて削除要求が行われた場合、削除要求が行われたアプリを削除する。具体的には、第３格納領域３１３に格納されているアプリケーションをインストールするのに必要なアプリ情報をアンインストールモードで起動し、アプリケーションの設定情報を削除することで、ＯＳにインストールされたアプリケーションを削除できる。
【００４６】
ここで、書込み禁止手段３２、第１監視手段３３、第２監視手段３４、第１退避手段３５、第２退避手段３６、要求手段３７、復元手段３８、保護手段３９は、アプリ導入管理モジュール２３により、Ｗｉｎｄｏｗｓ（登録商標）のツールを用いて制御される。また、ファイル管理手段４１は、ファイル管理モジュール２２により制御され、設定変更手段４０はアプリ実行管理モジュール２４等に制御され、削除手段４２は、操作管理モジュール２１により制御される。
【００４７】
次に、前述したように情報処理装置１のシステム領域が保護された状態で、アプリケーションを追加したり、ファイルを変更したり、アプリケーションを削除したりする処理について説明する。
【００４８】
（初回導入時）
まずは、アプリケーションを導入するときの処理について説明する。図５〜図８は、アプリケーションを初回導入するときの一例を示す処理概念図である。図５は、初回導入時の導入開始における処理の一例を示す概念図である。
【００４９】
ユーザは、情報処理装置１の操作部１６からアプリケーションの導入を実施する。具体的には、操作パネルのアプリ導入ボタンを押下することで実施される。このとき、ファイル管理モジュール２２により記録媒体１９（この例ではＳＤ）に記憶されているアプリケーションのインストーラ圧縮ファイルをコピーして格納領域（この例ではドライブＥ）に格納する。
【００５０】
次に、操作管理モジュール２１は、インストール圧縮ファイルの一部解凍を行い、アプリの情報が格納されたアプリ設定ファイル（Ｃｏｎｆファイルとも称する）の内容をチェックし、チェック後問題がなければ、インストール圧縮ファイルの全解凍を行う。
【００５１】
ここで、ｉｔＳＤＫｃｏｎｆ．ｘｍｌには、セットアップファイル（例えばＳｅｔｕｐ．ｅｘｅ）の名前やアプリケーションの名前が記述されている。また、Ｃｏｎｆファイルには、処理をするアプリケーションの実行条件等が記憶されている。また、Ｂｉｎファイルには、Ｓｅｔｕｐするためのファイル等が記憶されている。
【００５２】
ここで、図６は、環境設定ファイル（ｉｔＳＤＫｃｏｎｆ．ｘｍｌ）の一例を示す図である。図６に示すように、環境設定ファイルには、インストールしたアプリケーションの名称が設定され、また、インストールに関する条件が設定されている。インストールに関する条件については、項目「DriverInstallEnable」はドライバーのインストールに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、全てのドライバーのインストールを許可することを表し、「False」は、ドライバーのインストールを禁止することを表す。
【００５３】
また、項目「RegisterWriteEnable」はインストール時のレジストリの書き込みに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、ユーザ権限のレジストリのみ書き込み可を表し、「False」は、レジストリの書き込み禁止を表す。
【００５４】
実際のアプリケーションのインストール時には、環境設定ファイルの条件に従ってインストールが行われる。
【００５５】
図５に戻り、操作管理モジュール２１により、解凍されたファイルが参照されて、アプリケーションに関する情報がアプリ情報リストに追加される。
【００５６】
次に、インストール圧縮ファイルの全解凍が行われた場合、解凍されたファイルを格納する格納領域にＥＷＦが設定されるようにコマンドが発行されて、再起動が行われる。
【００５７】
次に、図７は、初回導入時の再起動後における処理の一例を示す概念図である。まず、再起動した際に、発行されていたＥＷＦ設定のコマンドが実行され、ドライブＥにＥＷＦが設定される。
【００５８】
アプリ導入管理モジュール２３は、ドライブＥに対してＥＷＦが解除されるようにコマンドを発行しておく。アプリケーションのインストール時に何か問題があり、強制シャットダウンした場合でも、次回の起動時にはドライブＥのＥＷＦを必ず解除しておく為である。
【００５９】
次に、アプリ導入管理モジュール２３により、Ｓｅｔｕｐ．ｅｘｅが実行される。このセットアップに関しては、完全自動化してサイレントインストールすることも可能である。
【００６０】
Ｓｅｔｕｐ．ｅｘｅが実行されると、ＥＷＦが設定されている格納領域（ドライブＣ）上に、インストールされたファイルやレジストリが展開される。インストールが終了すると情報処理装置１はインストール終了を検知するが、第２監視手段３４によりアプリケーションによる再起動要求を検出した場合は再起動を無効にする。
【００６１】
ここでは、再起動要求の検出するためと再起動を無効にするために、後述するイベントハンドラを用いることとする。再起動の無効を通知する方法としては、WM_QUERYENDSESSIONメッセージが発行された際の戻り値にFalseを返すことで実現できる。
【００６２】
このとき、更にインストールしたいアプリケーションがある場合は、ここで残りのアプリケーションをインストールする。
【００６３】
アプリ導入管理モジュール２３は、ドライブＥに対してＥＷＦが解除されるように再度解除設定コマンドを発行しておく。これは、アプリケーションの導入途中で、ＥＷＦコマンドを操作される可能性があるため、再起動を行う直前でもう一度、ＥＷＦを解除するためのコマンドを発行しておく。
【００６４】
次に、全てのアプリケーションのインストールが終了し、ユーザにより再起動が要求されると、情報処理装置１は再起動する。情報処理装置１が起動する際、まず、ＯＳのみを起動し、再起動前に更新できなかったアプリケーションのファイルやレジストリがある場合は、再起動後に更新され、全てのアプリケーションのインストールが完了する。
【００６５】
全てのアプリケーションのインストールが完了すると、アプリ導入管理モジュール２３は、システム領域にＥＷＦの設定コマンドを発行し、システムを再起動する。これより、再起動後にアプリケーションのファイルやレジストリが更新された状態でアプリケーションの設定情報に保護をかけることができるので、アプリ導入直後の状態を保つことが可能となり、クリーンな状態を維持できる。
【００６６】
図８は、初回導入時の導入後における処理の一例を示す概念図である。情報処理装置１が起動すると、アプリ導入管理モジュール２３は、全てのファイルに対してアーカイブビットをクリアする指示を行う。これは、情報処理装置１が次に終了されるまでに追加／変更又はその両方のファイルを特定できるようにするためである。例えば、アプリケーションを実行した際、アプリケーションの設定変更などが行われた場合、設定情報を格納しているファイルを修正するため、このファイルにアーカイブビットのフラグが立ち、追加／変更又はその両方のファイルを特定することができる。
【００６７】
次に、アプリ実行管理モジュール２４により、アプリケーションの実行が制御される。このとき、操作管理モジュール２１により、プロダクトＩＤのフォルダ名が変更される。
【００６８】
（設定変更時）
図９は、アプリケーションの設定を変更する処理の一例を示す概念図である。図９に示すように、情報処理装置１が起動すると、アプリを起動した後に、全てのファイルのアーカイブビットはクリアされる。
【００６９】
次に、アプリ実行管理モジュール２４により任意のアプリケーションが実行される。次に、アプリケーションの設定が変更されると、設定が変更されたファイルにはアーカイブビットのフラグが立つ。また、第１監視手段３３によりレジストリが監視されており、起動後にアクセスがあったレジストリを抽出する。また、どのファイルに対応するレジストリに変更があったかの判断は、レジストリへアクセスしたプロセスＩＤから判断することができる。
【００７０】
次に、アプリ導入管理モジュール２３は、情報処理装置１が終了するときに、アーカイブビットのフラグが立っているファイルのみを例えばドライブＥに保存する。また、アプリ導入管理モジュール２３は、アクセスがあったレジストリのレジストリキーのみを例えばドライブＥに保存する。
【００７１】
（導入後、通常起動時）
図１０は、アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図である。図１０に示す例では、ドライブＥに設定用差分ファイルが保存されているとする。
【００７２】
情報処理装置１が起動すると、アプリ導入管理モジュール２３によりアーカイブビットが全てクリアされる。
【００７３】
次に、復元手段３８により、起動前に退避された設定用差分ファイルを復元する。これにより、アプリケーションを起動前の最新の状態に戻すことができる。なお、復元手段３８により復元を行わなければ、アプリケーションの設定は初期設定に戻る。復元手段３８による復元を行うか否かは事前に設定しておけばよい。
【００７４】
（アプリ削除時）
図１１は、アプリケーションの削除処理の一例を示す概念図である。図１１に示す例では、ドライブＥに設定用差分ファイルが保存されているとする。
【００７５】
図１１に示すように、アプリ導入管理モジュール２３は、アプリの削除が指示された場合、システム領域のＥＷＦのレイヤのレベル２を解除するコマンドを発行する。この状態で再起動すると、システム領域にインストールしたアプリケーションは導入直後の状態に戻っており、導入後にアプリケーションにより新規に作成または変更したファイルやレジストリ（図１１に示すアプリの設定）は削除されていることになる。
【００７６】
ＥＷＦのレイヤ２が解除された状態で、アプリ導入管理モジュール２３は、アプリケーションの導入に使用したＳｅｔｕｐ．ｅｘｅをアンインストールモードで起動する。これより、アンインストールしたアプリケーションに関連する情報が全て削除される。次に、操作管理モジュール２１は、削除したアプリケーションの情報をアプリ情報リストから削除する。
【００７７】
次に、更に削除したいアプリケーションがある場合は、この段階でアンインストールを必要な回数だけ繰り返す。削除したいアプリケーションを全て削除すると、アプリ導入管理モジュール２３は、システム領域にＥＷＦを設定するコマンドを発行し再起動する。
【００７８】
次に、情報処理装置１が起動すると、システム領域にインストールされている残りのアプリケーションに対して、退避していた設定用差分ファイルが復元される。これより、削除したアプリケーション以外のアプリケーションは、起動前の最新の状態に復元することが出来る。
【００７９】
＜動作＞
次に、情報処理装置１の動作について説明する。以下、アプリケーション導入時、アプリケーションの設定変更時、通常起動時、アプリケーションの削除時のフローを順に説明する。
【００８０】
（アプリ導入時）
図１２は、アプリケーションの導入時の処理の一例を示すフローチャートである。図１２に示すように、ステップＳ１において、Ｗｉｎｄｏｗｓ（登録商標）のアプリケーションの導入は操作部１６を用いて初期設定画面などからユーザにより選択される。アプリ導入が選択されると、情報処理装置１は、ＯＳのみを起動する導入起動モードの準備を行う。
【００８１】
ステップＳ２において、アプリ導入管理モジュール２３は、格納領域（例えば、Ｅドライブ）に対してＥＷＦを設定するよう設定コマンド発行する。これは、導入起動モード中に誤ってユーザデータ（例えばＥドライブのデータ）が削除されないように、ＥドライブのパーティションについてＥＷＦを設定するためである。
【００８２】
ステップＳ３において、設定コマンド発行後にＷｉｎｄｏｗｓ（登録商標）を再起動する。これは、設定コマンドを有効にするためである。
【００８３】
ステップＳ４において、アプリ導入管理モジュール２３は、ステップＳ２においてＥＷＦを設定したパーティションについて、解除する解除コマンドを発行する。これは、導入最中に何らかの理由で強制シャットダウンされた場合に、次回起動時はＥドライブのＥＷＦを必ず解除して起動するためである。
【００８４】
ステップＳ５において、アプリケーションのインストールモードで起動が行われると、ユーザは、アプリケーションの導入を行う。これは、自動で行われても、半自動でも、手動で行われてもよい。
【００８５】
ステップＳ６において、検知手段（図示せず）によりアプリケーション導入の終了が検知される。
【００８６】
ステップＳ７において、操作管理モジュール２１は、アプリケーションの導入にエラーがなかったか判定を行なう。例えば、図６に示すような環境設定ファイルに設定された条件を満たさない場合はエラーとなる。ステップＳ７の判定結果がＮＯ（エラーなし）であればステップＳ８に進み、ステップＳ７の判定結果がＹＥＳ（エラーあり）であればステップＳ１０に進む。
【００８７】
ステップＳ８において、第２監視手段３４はアプリケーションのセットアップファイルからの再起動要求を監視しており、再起動のメッセージが発行されたか否かを判定する。判定結果がＹＥＳであればステップＳ９へ進み、判定結果がＮＯであればステップＳ１１に進む。アプリケーションが再起動要求のイベントを発行すると、ＯＳに対するメッセージとして通知されるが、所定のプログラムを作ることでＯＳに対するメッセージをハンドリングすることが可能となる。そのようなプログラムをイベントハンドラと呼ぶ。再起動に関わるメッセージとして代表的なものにWM_QUERYENDSESSIONが存在するが、メッセージは他の種類のものでも構わない。
【００８８】
ステップＳ９において、例えばWM_QUERYENDSESSIONメッセージが通知され、イベントハンドラがメッセージをハンドリングした場合は、ＯＳに対し再起動の無効を通知する。ステップＳ１０において、表示画面にエラーが通知される。
【００８９】
ステップＳ１１において、アプリ導入管理モジュール２３は、導入されたアプリケーションをアプリ情報リストに追加する。
【００９０】
ステップＳ１２において、導入するアプリが残っている場合はステップＳ５へ戻り再びアプリの導入を開始する。導入するアプリが残っていない場合はステップＳ１３へ進む。
【００９１】
ステップＳ１３において、アプリ導入管理モジュール２３は、再度ＥドライブのＥＷＦの設定を解除する解除コマンドを発行する。これは、導入途中でＥＷＦコマンドを操作される可能性があるので、再起動を行う直前で再度解除コマンドを発行するためである。
【００９２】
ステップＳ１４において、ユーザの指示によりＷｉｎｄｏｗｓ（登録商標）のみ再起動を行い、解除コマンドを有効にする。
【００９３】
ステップＳ１５において、アプリ導入管理モジュール２３は、再起動前に更新できなかったファイルとレジストリの更新を行う。
【００９４】
ステップＳ１６において、アプリ導入管理モジュール２３は、ＯＳの起動直後にシステム領域（例えばＣドライブ）に対しＥＷＦ（レイヤ２）を設定する設定コマンドを発行する。これは、システム領域へ導入したアプリをインストールした直後の状態で保護させるためである。これにより、システムに何らかの不具合が生じた場合にアプリ導入直後の状態まで戻すことが可能となる。
【００９５】
ステップＳ１７において、Ｗｉｎｄｏｗｓ（登録商標）のみ再起動を行う。これは、設定コマンドを有効にするためである。
【００９６】
ステップＳ１８において、操作部１６は、アプリケーション導入前の初期設定画面を表示する。これより、Ｗｉｎｄｏｗｓ（登録商標）のアプリケーション導入処理を終了する。
【００９７】
（設定変更時）
図１３は、アプリケーションの設定変更時の処理の一例を示すフローチャートである。図１３に示すように、ステップＳ２１において、操作部１６は、Ｗｉｎｄｏｗｓ（登録商標）の画面を表示する。設定変更は初期設定から実行できるからである。
【００９８】
ステップＳ２２において、設定変更手段３８は、ステップＳ２１で表示した画面からユーザにより設定変更の指示が行われると、アプリケーションの設定変更を行う。ステップＳ２３において、設定変更手段３８により設定変更が終了すると、操作部１６における表示画面は初期設定画面に戻る。
【００９９】
ステップＳ２４において、ユーザにより終了ボタンを押下されるなどした場合、情報処理機能が終了する。次に、ステップＳ２５、Ｓ２６（順不同）において、差分バックアップ処理が行われ、変更されたファイルやレジストリの情報をバックアップすることができる。
【０１００】
これより、システム領域のＥＷＦのオーバーレイに記憶された設定ファイルやレジストリの情報が削除された場合でも、バックアップされた設定用の差分ファイルを復元することで、設定変更した内容を復元することが出来る。
【０１０１】
（通常起動時）
図１４は、情報処理装置１の通常起動時の処理の一例を示すフローチャートである。図１４に示すように、ステップＳ３１において、アプリ導入管理モジュール２３は、格納手段３１内のファイルとフォルダのアーカイブビットをクリアするために、アーカイブビットのクリアコマンドを発行する。このクリアコマンドによって、ファイル管理手段４１は、各ファイルと各フォルダのアーカイブビットをクリアする。
【０１０２】
これより、情報処理装置１の起動直後に図１４に示すような処理を行うことで、情報処理装置１の終了時にアーカイブビットのフラグにより、設定変更されたファイルを特定することができる。
【０１０３】
（アプリ削除時）
図１５は、アプリケーションの削除時の処理の一例を示すフローチャートである。図１５に示すように、ステップＳ４１において、操作部１６は、Ｗｉｎｄｏｗｓ（登録商標）の初期設定画面を表示する。アプリケーションの削除は初期設定から実行できるからである。
【０１０４】
ステップＳ４２において、ユーザが、表示画面に表示されたインストールアプリ一覧から削除したいアプリケーションを選択する。
【０１０５】
ステップＳ４３において、アプリ導入管理モジュール２３は、アプリケーションの設定ファイルでアーカイブビットのフラグが立っているファイル、レジストリで設定変更されたデータについて第１及び第２退避手段によるバックアップをとる。
【０１０６】
ステップＳ４４において、操作管理モジュール２１は、システム領域（Ｃドライブ）のＥＷＦのレイヤのレベル２とＥドライブのＥＷＦのレイヤを解除する解除コマンドを発行する。これは、次に再起動するときにアプリケーションを削除できる状態にするためである。
【０１０７】
ステップＳ４５において、Ｗｉｎｄｏｗｓ（登録商標）のみ再起動を行う。これは、コマンド発行を有効にするためである。
【０１０８】
ステップＳ４６において、アプリ導入管理モジュール２３は、アプリケーションのセットアップファイルをアンインストールモードで起動すると、ユーザは、アプリケーションの削除を行う。これは、自動で行われても、半自動でも、手動で行われてもよい。
【０１０９】
ステップＳ４７において、検知手段（図示せず）によりアプリケーション削除の終了が検知される。
【０１１０】
ステップＳ４８において、操作管理モジュール２１は、アプリケーションの削除にエラーがなかったか判定を行なう。ステップＳ４８の判定結果がＮＯ（エラーなし）であればステップＳ４９に進み、ステップＳ４８の判定結果がＹＥＳ（エラーあり）であればステップＳ５１に進む。
【０１１１】
ステップＳ４９において、第２監視手段３４は、アプリケーションのセットアップファイルからの再起動要求を監視しており、再起動のメッセージが発行されたか否かを判定する。判定結果がＹＥＳであればステップＳ５０へ進み、判定結果がＮＯであればステップＳ５２で進む。
【０１１２】
ステップＳ５０において、例えばWM_QUERYENDSESSIONメッセージが通知され、イベントハンドラがメッセージをハンドリングした場合は、ＯＳに対し再起動の無効を通知する。ステップＳ５１において、表示画面にエラーが通知される。
【０１１３】
ステップＳ５２において、アプリ導入管理モジュール２３は、削除されたアプリケーションをアプリ情報リストから削除する。
【０１１４】
ステップＳ５３において、削除するアプリが残っている場合はステップＳ４６へ戻り再びアプリの削除を開始する。削除するアプリが残っていない場合はステップＳ５４へ進む。
【０１１５】
ステップＳ５４において、Ｗｉｎｄｏｗｓ（登録商標）のみ再起動を行う。これは、再起動後に削除されるファイルやレジストリがある場合に対応するためである。
【０１１６】
ステップＳ５５において、アプリ導入管理モジュール２３は、再起動後にアンインストールされたアプリケーションのファイルとレジストリを削除する。
【０１１７】
ステップＳ５６において、アプリ導入管理モジュール２３は、ＯＳの起動直後にシステム領域（Ｃドライブ）とＥドライブに対しＥＷＦを設定する設定コマンドを発行する。これは、システム領域から削除したアプリ以外のアプリを、アンインストール処理の直後の状態で保護させるためである。
【０１１８】
ステップＳ５７において、Ｗｉｎｄｏｗｓ（登録商標）のみ再起動を行う。これは、設定コマンドを有効にするためである。
【０１１９】
ステップＳ５８において、アプリ導入管理モジュール２３は、システム領域にインストールされている残りのアプリケーションに対し、退避していた設定用差分ファイルを復元する。これより、システム領域にインストールしてあるアプリケーションは、最新の設定に復元することが出来る。
【０１２０】
ステップＳ５９において、操作部１６は、アプリケーション削除前の初期設定画面を表示する。これより、Ｗｉｎｄｏｗｓ（登録商標）のアプリケーション削除処理を終了する。
【０１２１】
以上、実施例１によれば、ＯＳのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる。これは、アプリケーションのインストール完了に必要な情報をＥＷＦ機能により保護するからである。アプリケーションをシステムに展開（インストール完了）するのに必要な情報が、再起動後に削除されずに保護されているため、再起動後にアプリを実行可能な状態にすることができる。よって、実施例１によれば、インストールの完了に再起動を必要とするアプリケーションであっても、適切にインストールを行うことができ、再起動からインストールが完了するのに時間を要しない。
【０１２２】
なお、上記実施例１では情報処理装置１を画像処理装置として説明したが、ＰＣであっても同様の目的を達成することができることは言うまでもない。
【０１２３】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記変形例以外にも種々の変形・変更が可能である。
【０１２４】
なお、実施例において説明した処理内容をコンピュータに実行させるためのプログラムとし、このプログラムをコンピュータに実行させて前述した処理を情報処理装置に実現させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理を情報処理装置に実現させることも可能である。
【符号の説明】
【０１２５】
１  情報処理装置
１１  制御部
１２  主記憶部
１３  補助記憶部
１４  印字部
１５  通信制御部
１６  操作部
１７  ネットワークＩ／Ｆ部
１８  外部記憶装置Ｉ／Ｆ部
１９  記憶媒体
２１  操作管理モジュール
２２  ファイル管理モジュール
２３  アプリ導入管理モジュール
２４  アプリ実行管理モジュール
３１  格納手段
３２  書込み禁止手段
３３  第１監視手段
３４  第２監視手段
３５  第１退避手段
３６  第２退避手段
３７  要求手段
３８  復元手段
３９  保護手段
４０  設定変更手段
４１  ファイル管理手段
４２  削除手段
【先行技術文献】
【非特許文献】
【０１２６】
【非特許文献１】「Windows Embedded Developer Center  Enhanced Write Filter」、［online］、インターネット＜URL: http://msdn.microsoft.com/en-us/library/ms912906.aspx＞
【図１】
2011086247.tif 000003
【図２】
2011086247.tif 000004
【図３】
2011086247.tif 000005
【図４】
2011086247.tif 000006
【図５】
2011086247.tif 000007
【図６】
2011086247.tif 000008
【図７】
2011086247.tif 000009
【図８】
2011086247.tif 000010
【図９】
2011086247.tif 000011
【図１０】
2011086247.tif 000012
【図１１】
2011086247.tif 000013
【図１２】
2011086247.tif 000014
【図１３】
2011086247.tif 000015
【図１４】
2011086247.tif 000016
【図１５】
2011086247.tif 000017