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