説明

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

【課題】OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすること。
【解決手段】オペレーティングシステムを格納する第1格納領域を含む複数の格納領域31を有する格納手段と、第1格納領域への書き込みを禁止し、第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段32と、書き込み禁止手段により第2格納領域に書き込まれたアプリ情報を第3格納領域に退避する第1退避手段34と、アプリケーションの設定情報が記憶された記憶手段を監視する監視手段33と、監視手段により設定情報が追加及び/又は修正されたと判断された場合、設定情報を第3格納領域に退避する第2退避手段35と、情報処理装置を次に起動する時に、退避されたアプリ情報及び設定情報を第2格納手段に復元する復元手段36とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、追加したアプリケーションを実行する情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【0002】
従来、情報処理装置のオペレーティングシステム(OS)にアプリケーションを追加する際、OSの格納領域に対して、アプリケーションのセットアップファイルなどが直接書き込まれていた。このとき、インストールするアプリケーションソフトウェアの数が増えたりすると、OSの格納領域に様々なアプリケーションのファイルやデータが格納されることで、OSの動作が遅くなったり、OSのオリジナルデータが壊れてしまう可能性があった。
【0003】
一方、近年では組み込みデバイス向けのOSであるWindows XP(登録商標) Embedded(以下、XP Embeddedという)が開発され、このOSには、Enhanced Write Filter(EWF)という機能がある。XP Embeddedは、ハードディスク以外のフラッシュ媒体(CF)などに格納することが多く、EWFは、そのディスクの保護を目的とした機能である。
【0004】
EWFは、書き込みの処理を「EWFオーバーレイ」と呼ばれる領域にリダイレクトすることでオリジナルデータの変更を抑止するとともに、書き込み回数に制限があるストレージの寿命を延ばすのにも役立つ。このEWFオーバーレイに書き込まれたデータは、再起動後に削除される。
【0005】
ここで、このEWF機能をOSの格納領域に適用することで、OSのオリジナルデータの変更を抑止することができ、OSのオリジナルデータを常にクリーンな状態に保つことができるシステムが実用化されている。
【非特許文献1】「Windows Embedded Developer Center Enhanced Write Filter」、[online]、インターネット<URL: http://msdn.microsoft.com/en-us/library/ms912906.aspx>
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来技術において、追加したアプリケーションを実行するのに必要なファイルはEWFオーバーレイに格納されていたため、一度情報処理装置を終了すると、追加したアプリケーションのファイルも削除されることになってしまう。つまり、OSのオリジナルデータを常にクリーンな状態に保つことはできるが、再起動するたびにアプリケーションのファイルは削除されるため、アプリケーションソフトウェアを再度インストールする必要があり、ユーザに再度のインストール処理を行わせるという問題があった。
【0007】
そこで、本発明は上記問題に鑑みてなされたものであり、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一局面の情報処理装置は、オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段と、前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段と、前記書き込み禁止手段により前記第2格納領域に書き込まれた、新規にインストールしたアプリケーションを実行するのに必要なファイルであるアプリ情報を第3格納領域に退避する第1退避手段と、前記アプリケーションの設定情報が記憶された記憶手段を監視する監視手段と、前記監視手段により前記設定情報が追加及び/又は修正されたと判断された場合、該設定情報を前記第3格納領域に退避する第2退避手段と、当該情報処理装置を次に起動する時に、退避された前記アプリ情報及び設定情報を前記第2格納手段に復元する復元手段とを備える。
【0009】
また、本発明は、前述した情報処理装置を、情報処理方法としても実現することができ、コンピュータに実行させるためのプログラムとしても実現することができ、このプログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
【発明の効果】
【0010】
本発明によれば、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とする情報処理装置、情報処理方法、及び、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施例を図面に基づいて説明する。
【実施例1】
【0012】
<ハードウェア構成>
図1は、実施例1に係る情報処理装置1の主要なハードウェア構成を示すブロック図である。ここで、本発明の情報処理装置1は、画像処理装置でもPC(Personal Computer)でも組み込み機器でもよく、ここでは、画像処理装置を想定する。図1に示す情報処理装置1は、制御部11、主記憶部12、補助記憶部13、印字部14、通信制御部15、操作部16、ネットワークI/F部17、外部記憶装置I/F部18を含む。
【0013】
制御部11は、情報処理装置1の中で、各装置の制御やデータの演算、加工を行うCPUである。制御部11は、主記憶部12に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【0014】
主記憶部12は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部11が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【0015】
補助記憶部13は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部13には、情報処理装置が管理する各種情報(例えば、ユーザ情報など)が格納され、データベース(DB:DataBase)、ファイルシステム(FS:File System)などの機能により管理される。
【0016】
印字部14は、画像データを受け取ると、レーザービームを用いたレーザープリントユニットや熱によって専用紙に印字を行なうサーマルプリントユニットなどを用いて、受け取った画像データを転写紙(印刷用紙)に出力(印刷)する。
【0017】
通信制御部15は、制御部11と連携して、LAN接続やFAXなどの通信制御を行なう。
【0018】
操作部16は、LCD、スイッチ、ランプやLED、キーなどで構成され、情報処理装置1の状況、警告などを表示する。
【0019】
ネットワークI/F部17は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)、FAXなどのネットワークを介して接続された通信機能を有する周辺機器及び情報処理装置などのインタフェースである。
【0020】
外部記憶装置I/F部18は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記憶媒体19(例えば、フラッシュメモリなど)と当該情報処理装置1とのインタフェースである。
【0021】
また、記憶媒体19としてSD(Secure Digital)カードを使用する場合は、外部記憶装置I/F部18は、SDカードスロットとなり、このSDカードスロットにSDカードを装着することで、SDカード内のデータの読み書きが可能となる。
【0022】
<ソフトウェア構成>
図2は、実施例1に係る情報処理装置1の主要なソフトウェア構成を示すブロック図である。図2に示すように、情報処理装置1は、操作管理モジュール(例えばSDKManager
)21、ファイル管理モジュール(例えばDocItem)22、アプリ導入管理モジュール(例えばSIサービス)23、アプリ実行管理モジュール(例えばWindowManager)24を含む。
【0023】
操作管理モジュール21は、操作部16におけるユーザの操作を管理するモジュールであり、例えば、アプリケーションのインストール指示、設定変更の指示、又は削除指示などを管理する。
【0024】
ファイル管理モジュール22は、ファイルを管理するモジュールであり、例えば、情報処理装置1に接続された記録媒体19に記憶されているファイルをコピーして、情報処理装置内に記憶したりすることを管理する。
【0025】
アプリ導入管理モジュール23は、アプリケーションの導入(インストール)を管理するモジュールであり、例えば、セットアップファイル(setup.exe)を実行したり、アプリケーションの設定情報が記憶された記憶手段の一例であるレジストリを監視したり、Windows(登録商標)の標準ツールを用いて新規作成されたファイルなどを抽出することを管理する。また、アプリ導入管理モジュール23は、後述する書き込み禁止手段32の設定も制御する。また、アプリ導入管理モジュール23は、追加や変更のあったファイルやレジストリの退避や復元も制御する。
【0026】
なお、退避されたファイルやレジストリの情報は、格納領域に作成された差分ファイルに保存される。ファイル用の差分ファイルをバックアップ差分ファイル(BKF)といい、レジストリ用の差分ファイルをレジストリ差分ファイル(REG)とする。また、差分ファイルは圧縮された状態で格納領域に保存されていてもよい。
【0027】
アプリ実行管理モジュール24は、情報処理装置1のアプリケーションの実行を管理するモジュールであり、例えば、後述するアプリ情報リストの起動条件に従って、アプリを起動したりする。
【0028】
<機能構成>
図3は、実施例1に係る情報処理装置1の主要機能構成を示すブロック図である。図3に示すように、実施例1の情報処理装置1は、格納手段31、書き込み禁止手段32、監視手段33、第1退避手段34、第2退避手段35、復元手段36、ファイル管理手段37、設定変更手段38、削除手段39を含む。
【0029】
格納手段31は、例えばHDDなどであり、パーティションで区切られた複数の格納領域を有する。ここでは、OSや画像形成に関するアプリケーションを格納するシステム領域、ユーザのデータを格納する作業領域、一時保存領域などの領域を有する。また、OSについては、XP Embeddedを用いることにするが、XP Embeddedと同等もしくは同等以上の機能を有するOSでもよい。また、格納手段31は、アプリケーションの基本情報などが記憶されるレジストリも含む。
【0030】
また、格納手段31は、アプリ情報リストを、いずれのアプリケーションからもアクセス可能な格納領域に格納する。アプリ情報リストは、アプリの固有情報、アプリの起動条件、復元フラグなどを含み、差分ファイルの退避が正常に行われた場合に、アプリの名称が登録される。
【0031】
書き込み禁止手段32は、格納領域に格納されたデータを保護する機能を有し、例えばXP Embedded特有のEWF機能である。ここでは、OSが格納されるシステム領域を書き込み禁止手段32により常に保護するものとし、書込み禁止手段32の有効化、無効化の設定変更は再起動しないと反映されない。
【0032】
監視手段33は、レジストリをモニタする機能を備え、例えば、Windows(登録商標)に標準で備わっているツールを用いることで容易に実現可能である。
【0033】
第1退避手段34は、システム領域上(EWFオーバーレイ)に追加されるアプリケーションに対して、新規に作成されたり変更されたりしたファイルを別の格納領域(一時保存領域)に退避する。新規に作成されたり変更されたりしたファイルは、一般的なファイルシステム(例えば、FATやNTFSなど)で用いられるアーカイブビットにより判断することができる。このアーカイブビットは、ファイルの新規作成や変更があった場合、または専用のAPIを実行することでフラグが設定されるが、ファイルシステムを使用しない場合でも、独自のアプリケーションで全てのファイルのアクセス状況を監視する機能を持つことで、アーカイブビットと同等の情報を作成することが出来る。また、退避対象のファイルはディレクトリ構成を維持したまま退避される。
【0034】
第2退避手段35は、監視手段33によりモニタされた結果、レジストリアクセスのあったレジストリキーを一時保存領域に退避する。レジストリキーを用いることで、レジストリキー以下の情報を保存することができる。ここで、第1退避手段34及び第2退避手段35は、Windows(登録商標)に標準で備わっているツールや所定のプログラムを用いることで容易に実現可能である。
【0035】
復元手段36は、第1退避手段34及び第2退避手段35により、一時保存領域に格納されたファイルとレジストリキーを元の格納領域に復元する。このとき、ファイルは元のディレクトリ構成を維持したまま復元され、同名のファイルが存在する場合は、新しいファイルで上書きする。
【0036】
ファイル管理手段37は、格納領域に格納されているファイルを管理し、例えばFAT(File Allocation Tables)やNTFS(NT File System)である。また、ファイル管理手段37は、ファイルに対してアーカイブビットの設定を行う。新規に追加されたファイルや変更されたファイルには、アーカイブビットにフラグが立てられる。
【0037】
設定変更手段38は、ユーザによる操作部16の操作において設定変更が要求された場合に、レジストリに記憶されているアプリケーションの基本情報などを変更する。また、アプリケーションを実行した後に、アプリケーションの設定変更がユーザにより要求された場合にアプリケーションの設定内容を変更する。
【0038】
削除手段39は、アプリ情報リストのアプリ一覧から、操作部16においてユーザにより任意のアプリを選択されて削除要求が行われた場合、削除要求が行われたアプリを削除する。具体的には、アプリ情報リストに含まれる復元フラグをクリアすることで、次回の再起動時には、このアプリケーションの差分ファイルが復元されないため、事実上アプリケーションが削除されたことと同じになる。また、復元フラグをクリアするだけでなく、実際に選択されたアプリケーションに関するファイルやレジストリを削除してもよい。
【0039】
なお、復元フラグとは、復元を行う際に復元を行うか否かの判定に用いられるものであり、復元フラグが立っているものを復元対象とする。また、この復元フラグは、デフォルトで立っているものとする。
【0040】
ここで、書き込み禁止手段32、監視手段33、第1退避手段34、第2退避手段33は、アプリ導入管理モジュール23により、Windows(登録商標)のツールを用いて制御される。また、ファイル管理手段37は、ファイル管理モジュール22により制御され、設定変更手段38はアプリ実行管理モジュール24等に制御され、削除手段39は、操作管理モジュール21により制御される。
【0041】
次に、前述したように情報処理装置1のシステム領域が保護された状態で、アプリケーションを追加したり、ファイルを変更したり、アプリケーションを削除したりする処理について説明する。
【0042】
(初回導入時)
まずは、アプリケーションを導入するときの処理について説明する。図4〜図7は、アプリケーションを初回導入するときの一例を示す処理概念図である。図4は、初回導入時の導入開始における処理の一例を示す概念図である。
【0043】
ユーザは、情報処理装置1の操作部16からアプリケーションの導入を実施する。具体的には、操作パネルのアプリ導入ボタンを押下することで実施される。このとき、ファイル管理モジュール22により記録媒体19(この例ではSD)に記憶されているアプリケーションのインストーラ圧縮ファイルをコピーして格納領域(この例ではドライブE)に格納する。
【0044】
次に、操作管理モジュール21は、インストール圧縮ファイルの一部解凍を行い、アプリの情報が格納されたアプリ設定ファイル(Confファイルとも称する)の内容をチェックし、チェック後問題がなければ、インストール圧縮ファイルの全解凍を行う。
【0045】
ここで、itSDKconf.xmlには、セットアップファイル(例えばSetup.exe)の名前やアプリケーションの名前が記述されている。また、Confファイルには、処理をするアプリケーションの実行条件等が記憶されている。また、Binファイルには、Setupするためのファイル等が記憶されている。
【0046】
ここで、図5は、環境設定ファイル(itSDKconf.xml)の一例を示す図である。図5に示すように、環境設定ファイルには、インストールしたアプリケーションの名称が設定され、また、インストールに関する条件が設定されている。インストールに関する条件については、項目「DriverInstallEnable」はドライバーのインストールに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、全てのドライバーのインストールを許可することを表し、「False」は、ドライバーのインストールを禁止することを表す。
【0047】
また、項目「RegisterWriteEnable」はインストール時のレジストリの書き込みに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、ユーザ権限のレジストリのみ書き込み可を表し、「False」は、レジストリの書き込み禁止を表す。
【0048】
実際のアプリケーションのインストール時には、環境設定ファイルの条件に従ってインストールが行われる。
【0049】
図4に戻り、操作管理モジュール21により、解凍されたファイルが参照されて、アプリケーションに関する情報がアプリ情報リストに追加される。
【0050】
次に、インストール圧縮ファイルの全解凍が行われた場合、解凍されたファイルを格納する格納領域にEWFが設定されるようにコマンドが発行されて、再起動が行われる。
【0051】
次に、図6は、初回導入時の再起動後における処理の一例を示す概念図である。まず、再起動した際に、発行されていたEWF設定のコマンドが実行され、ドライブEにEWFが設定される。
【0052】
ここで、ドライブE及びシステム領域(この例ではドライブC)の各ファイルのアーカイブビットを全てクリアしておく。これは、アプリケーションをインストールすることで追加、変更されたファイルを特定するためである。
【0053】
また、アプリ導入管理モジュール23により、Windows(登録商標)のツールであるレジストリのモニタ機能を有効にする。これは、アプリケーションをインストールすることでアクセスされたレジストリを特定するためである。
【0054】
また、アプリ導入管理モジュール23は、ドライブEに対してEWFが解除されるようにコマンドを発行しておく。インストール時に何か問題があり、強制シャットダウンした場合でも、次回の起動時にはドライブEのEWFを必ず解除しておく為である。
【0055】
次に、アプリ導入管理モジュール23により、Setup.exeが実行される。このセットアップに関しては、完全自動化してサイレントインストールすることも可能である。
【0056】
Setup.exeが実行された場合、EWFが設定されている格納領域(ドライブC)上に、インストールされたファイルやレジストリが展開される。インストールが終了すると情報処理装置1はインストール終了を検知し、アプリ導入管理モジュール23は、Windows(登録商標)のツールを用いて、差分ファイルのバックアップ処理を実行する。このとき、差分ファイルについて、アーカイブビットのフラグが立っているファイルのみをBKFファイルに保存し、レジストリアクセスのあったレジストリキーのみをREGファイルに保存する。差分ファイルは一時保存される格納領域(この例ではドライブF)に保存される。前述した通り、差分ファイルは圧縮された保存されてもよい。
【0057】
差分ファイルの作成が完了した場合は、アプリ情報にアプリ名を登録する。これは、アプリケーションの差分ファイルを復元する際に、アプリ情報に登録されている復元順番に従って復元するためである。
【0058】
ここで、再度、アプリ導入管理モジュール23は、ドライブEに対してEWFが解除されるようにコマンドを発行しておく。これは、アプリケーションの導入途中で、EWFコマンドを操作される可能性があるため、再起動を行う直前でもう一度、EWFを解除するためのコマンドを発行しておく。
【0059】
次に、情報処理装置1を再起動する。情報処理装置1が起動する際、まず、OSのみを起動し、ドライブFに保存されていた差分ファイルをドライブEに移動する。これより、差分ファイルの復元準備が整った状態となる。
【0060】
なお、複数のアプリケーションをインストールする場合は、1つアプリケーションをインストールする毎に退避処理を行い、再起動を行うようにする。これより、アプリケーションを1つ1つ復元することができる。また、1つ1つのアプリケーションに関する情報(ファイルやレジストリの情報)をクリーンな状態に保つことができる。
【0061】
図7は、初回導入時の導入後における処理の一例を示す概念図である。ドライブEに差分ファイルが保存されると、アプリ導入管理モジュール23により、Windows(登録商標)のツールを用いて差分ファイルの復元が行われる。
【0062】
このとき、アプリ情報リストを参照して復元されるファイルが存在すれば、差分ファイルの復元が行われる。アプリ情報リストに復元されるファイルがなければ、画像処理に関するアプリケーションが起動される。
【0063】
アプリ導入管理モジュール23は、アプリ情報リストに記載されている順番で、アプリケーションを復元する。アプリケーションを復元する手順としては、アプリ導入管理モジュール23はWindows(登録商標)のツールを用いて、ドライブEに保存されているBKFファイルを、退避される前のディレクトリ状態を維持したままドライブCに復元する。このとき、差分ファイルに含まれるファイル名と同名のファイルが存在するときは、新しいファイルで上書きする。
【0064】
また、アプリ導入管理モジュール23はWindows(登録商標)のツールを用いて、REGファイルに保存されているレジストリキーを、ドライブCのレジストリに追加、上書きする。
【0065】
アプリ情報リストに複数の復元されるアプリケーションが記載されている場合は、リストの順番どおりに前述した復元作業が行われる。この復元作業が全て行われると、画像処理に関するアプリケーションが起動される。
【0066】
次に、アプリ導入管理モジュール23は、全てのファイルに対してアーカイブビットをクリアする指示を行う。これは、情報処理装置1が次に終了されるまでに追加及び/又は変更されたファイルを特定できるようにするためである。例えば、アプリケーションを実行した際、アプリケーションの設定変更などが行われた場合、設定情報を格納しているファイルを修正するため、このファイルにアーカイブビットのフラグが立ち、追加及び/又は変更されたファイルが特定できる。
【0067】
次に、アプリ実行管理モジュール24により、アプリケーションの実行が制御される。このとき、操作管理モジュール21により、プロダクトIDのフォルダ名が変更される。
【0068】
(設定変更時)
図8は、アプリケーションの設定を変更する処理の一例を示す概念図である。図8に示すように、情報処理装置1が起動すると、アプリを復元した後に、各ファイルのアーカイブビットはクリアされる。
【0069】
次に、アプリ実行管理モジュール24により任意のアプリケーションが実行される。次に、アプリケーションの設定が変更されると、設定が変更されたファイルにはアーカイブビットのフラグが立つ。また、監視手段33によりレジストリが監視されており、起動後にアクセスがあったレジストリを抽出する。また、どのファイルに対応するレジストリに変更があったかの判断は、プロセスIDで判断することができる。
【0070】
次に、アプリ導入管理モジュール23は、情報処理装置1が終了するときに、アーカイブビットのフラグが立っているファイルのみを例えばドライブEに保存する。また、アプリ導入管理モジュール23は、アクセスがあったレジストリのレジストリキーのみを例えばドライブEに保存する。
【0071】
なお、図8に示すように、設定変更用の差分ファイルは、アプリ本体用の差分ファイルと別のフォルダに保存するようにしてもよい。
【0072】
(導入後、通常起動時)
図9は、アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図である。図9に示す例では、ドライブEにアプリ本体用の差分ファイルとアプリ起動後の設定用差分ファイルが保存されているとする。
【0073】
情報処理装置1が起動すると、アプリ導入管理モジュール23は、アプリ本体用の差分ファイルを復元する。アプリ本体用の差分ファイルの復元が終わると、次に、アプリ導入管理モジュール23は、設定用の差分ファイルを復元し、情報処理装置1が終了する際の最新の状態に戻ることができる。その後、アプリケーションのファイルやレジストリの復元が全て行われると、各ファイルのアーカイブビットが全てクリアされる。
【0074】
次に、アプリケーションが実行され、設定変更された場合は、図8で説明したとおり、設定変更されたファイルやレジストリを抽出した差分ファイルを、例えばドライブEに保存する。
【0075】
(アプリ削除時)
図10は、アプリケーションの削除処理の一例を示す概念図である。図10に示すように、操作管理モジュール21は、アプリの削除が指示された場合、アプリ情報リストに含まれる復元フラグをクリアする。これより、次に、情報処理装置1が起動するときには、アプリ削除が指示されたアプリケーションは復元されないことになり、実質的にアプリケーションが削除されることになる。この場合、再度復元フラグを立てれば、このアプリケーションを再度実行可能なように復元することができる。
【0076】
また、削除指示されたアプリケーションを実際に削除してもよい。この場合は、アプリ管理導入モジュール23は、ドライブEに保存されているSIファイルを削除し、操作管理モジュール21は、ドライブEのプロダクトIDファイルを削除する。これより実際にアプリ削除が要求されたアプリケーションに関する情報は削除されたことになる。
【0077】
なお、アプリ情報リストには、起動フラグ(図示せず)も含まれており、この起動フラグをクリアすることでも、見かけ上、アプリを削除したことにすることができる。この場合、アプリケーションの差分ファイルは復元されることになるが、その後の起動を行わないことで、アプリケーションの実行を防ぐことができる。この起動フラグは、アプリケーションの実行中にエラーが発生したときなど、自動で起動フラグがクリアされるようになっている。
【0078】
<動作>
次に、情報処理装置1の動作について説明する。以下、アプリケーション導入時、アプリケーションの設定変更時、通常起動時、アプリケーションの削除時のフローを順に説明する。
【0079】
(導入時)
図11は、アプリケーションの導入時の処理の一例を示すフローチャートである。図11に示すように、ステップS1において、Windows(登録商標)のアプリケーションの導入は操作部16を用いて初期設定画面などからユーザにより選択される。導入が選択されると、情報処理装置1は、OSのみを起動する導入起動モードの準備を行う。
【0080】
ステップS2において、アプリ導入管理モジュール23は、一時保存格納領域(例えばFドライブ)以外の格納領域に対してEWFをEnableにするようコマンド発行する。これは、導入起動モード中に誤ってユーザデータ(例えばEドライブのデータ)が削除されないように、Fドライブ以外のパーティションについてEWFをEnableにするためである。
【0081】
ステップS3において、コマンド発行後にWindows(登録商標)を再起動する。これは、コマンド発行を有効にするためである。
【0082】
ステップS4において、アプリ導入管理モジュール23は、ステップS2においてEWFをEnableにしたパーティションについて、Disableにするコマンドを発行する。これは、導入最中に何らかの理由で強制シャットダウンされた場合に、次回起動時はEドライブのEWFを必ず解除して起動するためである。
【0083】
ステップS5において、アプリケーション導入用の起動が行われると、ユーザは、アプリケーションの導入を行う。これは、自動で行われても、半自動でも、手動で行われてもよい。
【0084】
ステップS6において、検知手段(図示せず)によりアプリケーション導入の終了が検知される。
【0085】
ステップS7において、操作管理モジュール21は、アプリケーションの導入にエラーがなかったか判定を行なう。例えば、図5に示すような環境設定ファイルに設定された条件を満たさない場合はエラーとなる。ステップS7の判定結果がNO(エラーなし)であればステップS8に進み、ステップS7の判定結果がYES(エラーあり)であればステップS12に進む。
【0086】
ステップS8において、アプリ導入管理モジュール23は、Windows(登録商標)のツール(第1退避手段34)を用いてアプリケーションに関するファイルの差分バックアップの処理を行う。
【0087】
ステップS9において、アプリ導入管理モジュール23は、Windows(登録商標)のツール(第2退避手段35)を用いて、ステップS5において変更されたレジストリの差分バックアップ処理を行う。
【0088】
ステップS10において、アプリ導入管理モジュール23は、バックアップにエラーがなかったか否かを判定する。ステップS10の判定結果がNO(エラーなし)であれば、ステップS11に進み、判定結果がYES(エラーあり)であれば、ステップS12に進む。
【0089】
ステップS11において、アプリ導入管理モジュール23は、バックアップが正常に終了した場合は、導入されたアプリケーションをアプリ情報リストに追加する。ステップS12において、操作部16は、表示画面にエラーダイアログを表示する。
【0090】
ステップS13において、アプリ導入管理モジュール23は、再度EWFをDisableにするコマンドを発行する。これは、導入途中でEWFコマンドを操作される可能性があるので、再起動を行う直前で再度コマンドを発行するためである。
【0091】
ステップS14において、Windows(登録商標)のみ再起動を行う。ステップS15において、格納領域(Fドライブ)のバックアップ用の差分ファイルを他の格納領域(例えばEドライブ)に移動する。
【0092】
ステップS16において、アプリ導入管理モジュール23(復元手段36)は、アプリ情報リストのアプリケーションを復元する。ステップS17において、操作部16は、アプリケーション導入前の初期設定画面を表示する。これより、Windows(登録商標)のアプリケーション導入処理を終了する。
【0093】
(設定変更時)
図12は、アプリケーションの設定変更時の処理の一例を示すフローチャートである。図12に示す処理において、図11に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。図12に示すように、ステップS21において、操作部16は、Windows(登録商標)の画面を表示する。設定変更は初期設定から実行できるからである。
【0094】
ステップS22において、設定変更手段38は、ユーザによりS21で表示した画面から設定変更の指示が行われると、アプリケーションの設定変更を行う。ステップS23において、設定変更手段38により設定変更が終了すると、操作部16における表示画面は初期設定画面に戻る。
【0095】
ステップS24において、ユーザにより終了ボタンを押下されるなどした場合、情報処理機能が終了する。次に、ステップS8、S9において、差分バックアップ処理が行われ、変更されたファイルやレジストリの情報をバックアップすることができる。このとき、設定変更用の差分ファイルは、アプリ本体用の差分ファイルと別のファイルに保存するようにしてもよい。
【0096】
これより、バックアップされた設定用の差分ファイルは起動時に毎回復元することができ、設定変更した内容は次回の起動時に反映されることになる。
【0097】
(通常起動時)
図13は、情報処理装置1の通常起動時の処理の一例を示すフローチャートである。図13に示すように、ステップS31において、アプリ導入管理モジュール23は、Windows(登録商標)のアプリケーションの復元が必要か否かを判定する。ステップS31の判定結果がYES(復元あり)であればステップS32に進み、判定結果がNO(復元なし)であればステップS40に進む。
【0098】
ステップS32において、アプリ導入管理モジュール23は、Windows(登録商標)のツール(復元手段36)を用いて、アプリケーションの復元処理を行う。アプリケーションの復元処理は、アプリ情報リストに登録された順に行われる。
【0099】
ステップS33において、アプリ導入管理モジュール23は、プログラムを実行することで、レジストリの復元処理を行う。なお、ステップS32、S33はアプリケーション単位で行われる。
【0100】
ステップS34において、アプリ導入管理モジュール23は、復元が成功したか否かを判定する。ステップS34の判定結果がYES(成功)であれば、ステップS35に進み、判定結果がNO(失敗)であれば、ステップS39に進む。
【0101】
ステップS35において、アプリ導入管理モジュール23は、復元するWindows(登録商標)のアプリケーションがまだ存在するか否かを、アプリ情報リストを参照して判定する。ステップS35の判定結果がYES(存在する)であればステップS32に戻り、判定結果がNO(存在しない)であればステップS36に進む。
【0102】
ステップS36において、アプリ導入管理モジュール23は、設定変更用の差分ファイルがある場合は、設定変更のファイルの復元処理を行う。ステップS37において、アプリ導入管理モジュール23は、設定変更用の差分ファイルがある場合は、レジストリの復元処理を行う。
【0103】
ステップS38において、アプリ導入管理モジュール23は、設定変更差分ファイルの復元処理が成功したか否かを判定する。ステップS38の判定結果がYES(成功)であればステップS40に進み、判定結果がNO(失敗)であればステップS39に進む。
【0104】
ステップS39において、操作部16は、表示画面にエラーダイアログを表示する。ステップS40において、アプリ導入管理モジュール23は、格納手段31内のファイルとフォルダのアーカイブビットをクリアするために、アーカイブビットのクリアコマンドを発行する。
【0105】
これより、情報処理装置の起動直後に図13に示すような処理を行うことで、情報処理装置の終了時にアーカイブビットのフラグにより、設定変更されたファイルを特定することができる。
【0106】
(アプリ削除時)
図14は、アプリケーションの削除時の処理の一例を示すフローチャートである。図14に示すように、ステップS41において、操作部16は、Windows(登録商標)の初期設定画面を表示する。アプリケーションの削除は初期設定から実行できるからである。
【0107】
ステップS42において、ユーザが、表示画面に表示されたインストールアプリ一覧から削除したいアプリケーションを選択する。
【0108】
ステップS43において、操作管理モジュール21は、アプリ情報リストから選択されたアプリケーションを削除して更新する。このとき、操作管理モジュール21は、アプリ情報リストに含まれる復元フラグをクリアしたり、アプリケーション自体の情報を削除したりする。
【0109】
ステップS44において、操作部16は、再起動後にアプリケーションは削除される旨のダイアログを表示する。ステップS45において、ユーザは、初期設定を終了する。このとき、選択されたアプリケーションがすぐにアンインストールされた状態にしたいときは再起動すればよい。
【0110】
これより、削除するアプリケーションが選択されると、情報処理装置内部では保持しているアプリ情報リストから、選択されたアプリケーションを削除し、次回の起動時から復元せずに起動することで、アプリケーションの削除を行う。また、情報処理装置1が起動中にアンインストールを実行しない理由は、情報処理装置1が不安定になる事を防ぐのと、アンインストール処理を必要とせず、再起動するだけでアンインストールを実現することができるためである。よって、安全なアンインストールを実現することができる。このとき、選択されてもすぐにアンインストールを実行しないため、ダイアログを表示画面に表示して、再起動後からアンインストールされた状態になることを通知する。
【0111】
以上、実施例1によれば、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる。
【0112】
なお、上記実施例1では情報処理装置1を画像処理装置として説明したが、PCであっても同様の目的を達成することができることは言うまでもない。
【0113】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記変形例以外にも種々の変形・変更が可能である。
【0114】
なお、実施例において説明した処理内容をコンピュータに実行させるためのプログラムとし、このプログラムをコンピュータに実行させて前述した処理を情報処理装置に実現させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理を情報処理装置に実現させることも可能である。
【図面の簡単な説明】
【0115】
【図1】実施例1に係る情報処理装置1の主要なハードウェア構成を示すブロック図。
【図2】実施例1に係る情報処理装置1の主要なソフトウェア構成を示すブロック図。
【図3】実施例1に係る情報処理装置1の主要機能構成を示すブロック図。
【図4】初回導入時の導入開始における処理の一例を示す概念図。
【図5】環境設定ファイル(itSDKconf.xml)の一例を示す図。
【図6】初回導入時の再起動後における処理の一例を示す概念図。
【図7】初回導入時の導入後における処理の一例を示す概念図。
【図8】アプリケーションの設定を変更する処理の一例を示す概念図。
【図9】アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図。
【図10】アプリケーションの削除処理の一例を示す概念図。
【図11】アプリケーションの導入時の処理の一例を示すフローチャート。
【図12】アプリケーションの設定変更時の処理の一例を示すフローチャート。
【図13】情報処理装置1の通常起動時の処理の一例を示すフローチャート。
【図14】アプリケーションの削除時の処理の一例を示すフローチャート。
【符号の説明】
【0116】
1 情報処理装置
11 制御部
12 主記憶部
13 補助記憶部
14 印字部
15 通信制御部
16 操作部
17 ネットワークI/F部
18 外部記憶装置I/F部
19 記憶媒体
21 操作管理モジュール
22 ファイル管理モジュール
23 アプリ導入管理モジュール
24 アプリ実行管理モジュール
31 格納手段
32 書込み禁止手段
33 監視手段
34 第1退避手段
35 第2退避手段
36 復元手段
37 ファイル管理手段
38 設定変更手段
39 削除手段

【特許請求の範囲】
【請求項1】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、
前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段と、
前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段と、
前記書き込み禁止手段により前記第2格納領域に書き込まれた、新規にインストールしたアプリケーションを実行するのに必要なファイルであるアプリ情報を第3格納領域に退避する第1退避手段と、
前記アプリケーションの設定情報が記憶された記憶手段を監視する監視手段と、
前記監視手段により前記設定情報が追加及び/又は修正されたと判断された場合、該設定情報を前記第3格納領域に退避する第2退避手段と、
当該情報処理装置を次に起動する時に、退避された前記アプリ情報及び設定情報を前記第2格納手段に復元する復元手段と
を備える情報処理装置。
【請求項2】
前記アプリ情報のファイルの新規作成又は変更が行われた場合、該ファイルに識別子を付与するファイル管理手段を備え、
当該情報処理装置を次に起動した時に、付与された前記識別子を全てクリアする請求項1記載の情報処理装置。
【請求項3】
前記復元手段により復元が行われる場合、前記復元が行われた後に前記識別子を全て
クリアする請求項2記載の情報処理装置。
【請求項4】
前記第1及び第2退避手段による退避が終了した後に、当該情報処理装置の再起動を行う請求項1乃至3何れか一項に記載の情報処理装置。
【請求項5】
前記アプリケーションを1つインストールする毎に、前記第1及び第2退避手段は退避を行う請求項1乃至4何れか一項に記載の情報処理装置。
【請求項6】
前記アプリ情報及び/又は前記設定情報を設定変更する設定変更手段を備え、
前記第1退避手段は、前記設定変更手段により設定変更されたアプリ情報のみを退避し、
前記第2退避手段は、前記設定変更手段により設定情報された設定情報のみを退避する請求項1乃至5いずれか一項に記載の情報処理装置。
【請求項7】
インストールされたアプリケーションの一覧から任意のアプリケーションを選択させる選択手段と、
当該情報処理装置を次に起動する時に、前記選択手段により選択されたアプリケーションを前記復元手段により復元させない削除手段を備える請求項1乃至6いずれか一項に記載の情報処理装置。
【請求項8】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能であり、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段を備える情報処理装置における情報処理方法であって、
前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止段階と、
前記書き込み禁止段階により前記第2格納領域に書き込まれた、新規にインストールしたアプリケーションを実行するのに必要なファイルであるアプリ情報を第3格納領域に退避する第1退避段階と、
前記アプリケーションの設定情報が記憶された記憶手段を監視する監視段階と、
前記監視段階により前記設定情報が追加及び/又は修正されたと判断された場合、該設定情報を前記第3格納領域に退避する第2退避段階と、
当該情報処理装置を次に起動する時に、退避された前記アプリ情報及び設定情報を前記第2格納手段に復元する復元段階と
を有する情報処理方法。
【請求項9】
オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行し、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段を含む情報処理装置を制御するコンピュータを、
前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段と、
前記書き込み禁止手段により前記第2格納領域に書き込まれた、新規にインストールしたアプリケーションを実行するのに必要なファイルであるアプリ情報を第3格納領域に退避する第1退避手段と、
前記アプリケーションの設定情報が記憶された記憶手段を監視する監視手段と、
前記監視手段により前記設定情報が追加及び/又は修正されたと判断された場合、該設定情報を前記第3格納領域に退避する第2退避手段と、
当該情報処理装置を次に起動する時に、退避された前記アプリ情報及び設定情報を前記第2格納手段に復元する復元手段として機能させるためのコンピュータにより実行可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate