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

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

Info

Publication number
JP5338610B2
JP5338610B2 JP2009240632A JP2009240632A JP5338610B2 JP 5338610 B2 JP5338610 B2 JP 5338610B2 JP 2009240632 A JP2009240632 A JP 2009240632A JP 2009240632 A JP2009240632 A JP 2009240632A JP 5338610 B2 JP5338610 B2 JP 5338610B2
Authority
JP
Japan
Prior art keywords
application
storage area
information processing
processing apparatus
information
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.)
Expired - Fee Related
Application number
JP2009240632A
Other languages
English (en)
Other versions
JP2011086247A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009240632A priority Critical patent/JP5338610B2/ja
Publication of JP2011086247A publication Critical patent/JP2011086247A/ja
Application granted granted Critical
Publication of JP5338610B2 publication Critical patent/JP5338610B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、追加したアプリケーションを実行する情報処理装置、情報処理方法、及び、プログラムに関する。
従来、情報処理装置のオペレーティングシステム(OS)にアプリケーションを追加する際、OSの格納領域に対して、アプリケーションのセットアップファイルなどが直接書き込まれていた。このとき、インストールするアプリケーションソフトウェアの数が増えたりすると、OSの格納領域に様々なアプリケーションのファイルやデータが格納されることで、OSの動作が遅くなったり、OSのオリジナルデータが壊れてしまう可能性があった。
一方、近年では組み込みデバイス向けのOSであるWindows XP(登録商標) Embedded(以下、XP Embeddedという)が開発され、このOSには、Enhanced Write Filter(EWF)という機能がある。XP Embeddedは、ハードディスク以外のフラッシュ媒体(CF)などに格納することが多く、EWFは、そのディスクの保護を目的とした機能である。
EWFは、書き込みの処理を「EWFオーバーレイ」と呼ばれる領域にリダイレクトすることでオリジナルデータの変更を抑止するとともに、書き込み回数に制限があるストレージの寿命を延ばすのにも役立つ。このEWFオーバーレイに書き込まれたデータは、再起動後に削除される。
ここで、このEWF機能をOSの格納領域に適用することで、OSのオリジナルデータの変更を抑止することができ、OSのオリジナルデータを常にクリーンな状態に保つことができるシステムが実用化されている。
従来技術において、追加したアプリケーションを実行するのに必要なファイルはEWFオーバーレイに格納されていたため、一度情報処理装置を終了すると、追加したアプリケーションのファイルなども削除されることになってしまう。つまり、OSのオリジナルデータを常にクリーンな状態に保つことはできるが、再起動するたびにアプリケーションのファイルは削除されるため、アプリケーションソフトウェアを再度インストールする必要があり、ユーザに再度のインストール処理を行わせるという問題があった。
そこで、本発明は上記問題に鑑みてなされたものであり、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
本発明における一観点の情報処理装置は、オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段と、前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段と、前記書き込み禁止手段により前記第2格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求手段と、当該情報処理装置が再度起動した場合、前記要求手段により要求された前記設定情報を保護する保護手段と、アプリケーションにより新規に追加又は変更された変更情報を第3格納領域に退避する第1退避手段と、設定情報が記憶された記憶手段を監視する第1監視手段と、第1監視手段により設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを第3格納領域に退避する第2退避手段と、当該情報処理装置が再度起動した場合、第3格納領域に退避された変更情報及び設定情報を保護手段により保護されない領域に復元する復元手段を備える。
また、本発明における他の局面の情報処理方法は、オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能であり、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段を備える情報処理装置における情報処理方法であって、前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止段階と、前記書き込み禁止段階により前記第2格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、当該情報処理装置が再度起動した場合、前記要求段階により要求された前記設定情報を保護する保護段階と、アプリケーションにより新規に追加又は変更された変更情報を第3格納領域に退避する第1退避段階と、設定情報が記憶された記憶手段を監視する第1監視段階と、第1監視段階により設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを第3格納領域に退避する第2退避段階と、当該情報処理装置が再度起動した場合、第3格納領域に退避された変更情報及び設定情報を保護段階により保護されない領域に復元する復元段階とを有する。
また、本発明の情報処理装置、及び情報処理方法は、コンピュータにより実行可能なプログラムにより実現することができ、また、プログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
本発明によれば、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とする情報処理装置、情報処理方法、及び、プログラムを提供することができる。
実施例1に係る情報処理装置1の主要なハードウェア構成を示すブロック図。 実施例1に係る情報処理装置1の主要なソフトウェア構成を示すブロック図。 実施例1に係る情報処理装置1の主要機能構成を示すブロック図。 格納手段の一例を示す図。 初回導入時の導入開始における処理の一例を示す概念図。 環境設定ファイル(itSDKconf.xml)の一例を示す図。 初回導入時の再起動後における処理の一例を示す概念図。 初回導入時の導入後における処理の一例を示す概念図。 アプリケーションの設定を変更する処理の一例を示す概念図。 アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図。 アプリケーションの削除処理の一例を示す概念図。 アプリケーションの導入時の処理の一例を示すフローチャート。 アプリケーションの設定変更時の処理の一例を示すフローチャート。 情報処理装置1の通常起動時の処理の一例を示すフローチャート。 アプリケーションの削除時の処理の一例を示すフローチャート。
以下、本発明の実施例を図面に基づいて説明する。
[実施例1]
<ハードウェア構成>
図1は、実施例1に係る情報処理装置1の主要なハードウェア構成を示すブロック図である。ここで、本発明の情報処理装置1としては、画像処理装置でもPC(Personal Computer)でもOS(オペレーティングシステム)組み込み機器でもよく、ここでは、画像処理装置を想定する。図1に示す情報処理装置1は、制御部11、主記憶部12、補助記憶部13、印字部14、通信制御部15、操作部16、ネットワークI/F部17、外部記憶装置I/F部18を含む。
制御部11は、情報処理装置1の中で、各装置の制御やデータの演算、加工を行うCPUである。制御部11は、主記憶部12に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
主記憶部12は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部11が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部13は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部13には、情報処理装置が管理する各種情報(例えば、ユーザ情報など)が格納され、データベース(DB:DataBase)、ファイルシステム(FS:File System)などの機能により管理される。
印字部14は、画像データを受け取ると、レーザービームを用いたレーザープリントユニットや熱によって専用紙に印字を行なうサーマルプリントユニットなどを用いて、受け取った画像データを転写紙(印刷用紙)に出力(印刷)する。
通信制御部15は、制御部11と連携して、LAN接続やFAXなどの通信制御を行なう。
操作部16は、LCD、スイッチ、ランプやLED、キーなどで構成され、情報処理装置1の状況、警告などを表示する。
ネットワークI/F部17は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)、FAXなどのネットワークを介して接続された通信機能を有する周辺機器及びPCなどのインタフェースである。
外部記憶装置I/F部18は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記憶媒体19(例えば、フラッシュメモリやなど)と当該情報処理装置1とのインタフェースである。
また、記憶媒体19としてSD(Secure Digital)カードを使用する場合は、外部記憶装置I/F部18は、SDカードスロットとなり、このSDカードスロットにSDカードを装着することで、SDカード内のデータの読み書きが可能となる。
<ソフトウェア構成>
図2は、実施例1に係る情報処理装置1の主要なソフトウェア構成を示すブロック図である。図2に示すように、情報処理装置1は、操作管理モジュール21(例えばSDK Manager)、ファイル管理モジュール22(例えばDocItem)、アプリ導入管理モジュール23(例えばSIサービス)、アプリ実行管理モジュール24(例えばWindow Manager)を含む。
操作管理モジュール21は、操作部16におけるユーザの操作を管理するモジュールであり、例えば、アプリケーションのインストール指示、設定変更の指示、又は削除指示などを管理する。
ファイル管理モジュール22は、ファイルを管理するモジュールであり、例えば、情報処理装置1に接続された記録媒体19に記憶されているファイルをコピーして、情報処理装置内にファイルを記憶したりすることを管理する。
アプリ導入管理モジュール23は、アプリケーションの導入(インストール)、削除(アンインストール)を管理するモジュールであり、例えば、セットアップファイル(setup.exe)を実行したり、レジストリを監視したり、Windows(登録商標)の標準ツールを用いて新規作成、変更されたファイルなどを抽出することを管理する。また、アプリ導入管理モジュール23は、後述する書き込み禁止手段32の設定も制御する。また、アプリ導入管理モジュール23は、追加や変更のあったファイルやレジストリの退避や復元も制御する。
なお、退避されたファイルやレジストリの情報は、格納領域に作成された差分ファイルに保存される。ファイル用の差分ファイルをバックアップ差分ファイル(BKF)といい、レジストリ用の差分ファイルをレジストリ差分ファイル(REG)とする。また、差分ファイルは圧縮された状態で格納領域に保存されていてもよい。
アプリ実行管理モジュール24は、情報処理装置1のアプリケーションの実行を管理するモジュールであり、例えば、後述するアプリ情報リストの起動条件に従って、アプリを起動したりする。
<機能構成>
図3は、実施例1に係る情報処理装置1の主要機能構成を示すブロック図である。図3に示すように、実施例1の情報処理装置1は、格納手段31、書き込み禁止手段32、第1監視手段33、第2監視手段34、第1退避手段35、第2退避手段36、設定手段37、復元手段38、保護手段39、設定変更手段40、ファイル管理手段41、削除手段42を含む。
格納手段31は、例えばHDDなどであり、パーティションで区切られた複数の格納領域を有する。ここでは、OSや画像形成などに関するアプリケーションを格納するシステム領域、ユーザのデータを格納する作業領域、一時保存領域などの領域を有する。
図4は、格納手段の一例を示す図である。図4に示す第1格納領域311は、例えば、Cドライブとし、アプリケーション本体の情報やシステム情報やレジストリなどを格納する。第2格納領域312は、例えば、EWFレイヤであり、EWFレイヤに書き込まれたデータを格納する。第3格納領域313は、例えば、Dドライブとし、後述するアプリ情報、BKFファイル、REGファイルを格納する。
なお、OSについては、XP Embeddedを用いることにするが、XP Embeddedと同等もしくは同等以上の機能を有するOSでもよい。また、レジストリは、アプリケーションの基本情報などが記憶される。
また、図3に戻り、格納手段31は、アプリ情報リストを、いずれのアプリケーションからもアクセス可能な格納領域に格納する。アプリ情報リストは、アプリの固有情報、アプリの起動条件、復元フラグなどを含み、差分ファイルの退避が正常に行われた場合に、アプリの名称が登録される。
書き込み禁止手段32は、格納領域に格納されたデータを保護する機能を有し、例えばXP Embedded特有のEWF機能である。ここでは、OSが格納されるシステム領域を書き込み禁止手段32により常に保護するものとし、書込み禁止手段32の有効化、無効化の設定変更は再起動しないと反映されない。
第1監視手段33は、レジストリをモニタする機能を備え、例えば、Windows(登録商標)に標準で備わっているツールを用いることで容易に実現可能である。
第2監視手段34は、アプリケーションのセットアップファイル(Setup.exe)を実行した場合に、要求手段37によるシステムへの再起動要求を監視する。ここでは、第2監視手段34は、OSに対するイベント要求を監視するイベントハンドラとする。アプリケーションのセットアップファイルを実行すると、アプリケーションのインストールが開始される。
このとき、インストール中に更新されるファイルやレジストリ情報がその時点で他のアプリケーションに使用されている場合、システムを再起動させて再起動直後にファイルやレジストリ情報を更新しようとする。システムの再起動は、OSに対し再起動のイベント要求を出力することで実行されるため、第2監視手段34はイベント要求をハンドリングする機能を有する。再起動要求は、OSに対するメッセージ(例えば、WM_QUERYENDSESSION)を監視することで実現できる。
第1退避手段35は、システム領域上(EWFオーバーレイ)に追加されるアプリケーションに対して、新規に作成されたり変更されたりしたファイルを別の格納領域(一時保存領域)に退避する。新規に作成されたり変更されたりしたファイルは、一般的なファイルシステム(例えば、FATやNTFSなど)で用いられるアーカイブビットにより判断することができる。このアーカイブビットは、ファイルの新規作成や変更があった場合、または専用のAPIを実行することでフラグが設定される。また、ファイルシステムを使用しない場合でも、独自のアプリケーションで全てのファイルのアクセス状況を監視する機能を持つことで、アーカイブビットと同等の情報を作成することができる。また、退避対象のファイルはディレクトリ構成を維持したまま退避される。
第2退避手段36は、第1監視手段33によりモニタされた結果、レジストリアクセスのあったレジストリキーを一時保存領域に退避する。レジストリキーを用いることで、レジストリキー以下の情報を保存することができる。ここで、第1退避手段35及び第2退避手段36は、Windows(登録商標)に標準で備わっているツールや所定のプログラムを用いることで容易に実現可能である。
要求手段37は、EWFによるデータ保護を図る場合には、EWF設定コマンドを発行し、EWFによるデータ保護の解除を図る場合は、EWF設定解除コマンドを発行する。要求手段37は、状況に応じて適宜EWF設定コマンド又はEWF設定解除コマンドを発行する。
復元手段38は、第1退避手段35及び第2退避手段36により、一時保存領域に格納されたファイルとレジストリキーを元の格納領域に復元する。このとき、ファイルは元のディレクトリ構成を維持したまま復元され、同名のファイルが存在する場合は、新しいファイルで上書きする。
保護手段39は、書き込み禁止手段32により第2格納領域に格納されたアプリのインストールに必要なデータを保護しつつ、更に別のデータで上書きする機能を有する。例えば、この機能は、EWFのDiskモードである。このDiskモードを使用すると、第2格納領域のデータを複数のレイヤ(レベル)に分けて保存することが可能になる。また、Diskモードは、過去に保存したデータの上に、新規のデータを保存させることができる。保護手段39は、このEWFレイヤを最大9つまで作ることが可能となる。EWFの設定に関しては、EWFの保護レベルの変更やEWF保護レベルの設定、保護の解除などEWFのAPIを用いれば実行可能である。また、保護手段38によるデータの保護は再起動しないと反映されない。
設定変更手段40は、ユーザによる操作部16の操作において設定変更が要求された場合に、レジストリに記憶されているアプリケーションの基本情報などを変更する。また、アプリケーションを実行した後に、アプリケーションの設定変更がユーザにより要求された場合にアプリケーションの設定内容を変更する。
ファイル管理手段41は、格納領域に格納されているファイルを管理し、例えばFAT(File Allocation Tables)やNTFS(NT File System)である。また、ファイル管理手段37は、ファイルに対してアーカイブビットの設定を行う。新規に追加されたファイルや変更されたファイルには、アーカイブビットにフラグが立てられる。
削除手段42は、アプリ情報リストのアプリ一覧から、操作部16においてユーザにより任意のアプリを選択されて削除要求が行われた場合、削除要求が行われたアプリを削除する。具体的には、第3格納領域313に格納されているアプリケーションをインストールするのに必要なアプリ情報をアンインストールモードで起動し、アプリケーションの設定情報を削除することで、OSにインストールされたアプリケーションを削除できる。
ここで、書込み禁止手段32、第1監視手段33、第2監視手段34、第1退避手段35、第2退避手段36、要求手段37、復元手段38、保護手段39は、アプリ導入管理モジュール23により、Windows(登録商標)のツールを用いて制御される。また、ファイル管理手段41は、ファイル管理モジュール22により制御され、設定変更手段40はアプリ実行管理モジュール24等に制御され、削除手段42は、操作管理モジュール21により制御される。
次に、前述したように情報処理装置1のシステム領域が保護された状態で、アプリケーションを追加したり、ファイルを変更したり、アプリケーションを削除したりする処理について説明する。
(初回導入時)
まずは、アプリケーションを導入するときの処理について説明する。図5〜図8は、アプリケーションを初回導入するときの一例を示す処理概念図である。図5は、初回導入時の導入開始における処理の一例を示す概念図である。
ユーザは、情報処理装置1の操作部16からアプリケーションの導入を実施する。具体的には、操作パネルのアプリ導入ボタンを押下することで実施される。このとき、ファイル管理モジュール22により記録媒体19(この例ではSD)に記憶されているアプリケーションのインストーラ圧縮ファイルをコピーして格納領域(この例ではドライブE)に格納する。
次に、操作管理モジュール21は、インストール圧縮ファイルの一部解凍を行い、アプリの情報が格納されたアプリ設定ファイル(Confファイルとも称する)の内容をチェックし、チェック後問題がなければ、インストール圧縮ファイルの全解凍を行う。
ここで、itSDKconf.xmlには、セットアップファイル(例えばSetup.exe)の名前やアプリケーションの名前が記述されている。また、Confファイルには、処理をするアプリケーションの実行条件等が記憶されている。また、Binファイルには、Setupするためのファイル等が記憶されている。
ここで、図6は、環境設定ファイル(itSDKconf.xml)の一例を示す図である。図6に示すように、環境設定ファイルには、インストールしたアプリケーションの名称が設定され、また、インストールに関する条件が設定されている。インストールに関する条件については、項目「DriverInstallEnable」はドライバーのインストールに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、全てのドライバーのインストールを許可することを表し、「False」は、ドライバーのインストールを禁止することを表す。
また、項目「RegisterWriteEnable」はインストール時のレジストリの書き込みに対し許可・禁止を指定し、「True」又は「False」が設定される。「True」は、ユーザ権限のレジストリのみ書き込み可を表し、「False」は、レジストリの書き込み禁止を表す。
実際のアプリケーションのインストール時には、環境設定ファイルの条件に従ってインストールが行われる。
図5に戻り、操作管理モジュール21により、解凍されたファイルが参照されて、アプリケーションに関する情報がアプリ情報リストに追加される。
次に、インストール圧縮ファイルの全解凍が行われた場合、解凍されたファイルを格納する格納領域にEWFが設定されるようにコマンドが発行されて、再起動が行われる。
次に、図7は、初回導入時の再起動後における処理の一例を示す概念図である。まず、再起動した際に、発行されていたEWF設定のコマンドが実行され、ドライブEにEWFが設定される。
アプリ導入管理モジュール23は、ドライブEに対してEWFが解除されるようにコマンドを発行しておく。アプリケーションのインストール時に何か問題があり、強制シャットダウンした場合でも、次回の起動時にはドライブEのEWFを必ず解除しておく為である。
次に、アプリ導入管理モジュール23により、Setup.exeが実行される。このセットアップに関しては、完全自動化してサイレントインストールすることも可能である。
Setup.exeが実行されると、EWFが設定されている格納領域(ドライブC)上に、インストールされたファイルやレジストリが展開される。インストールが終了すると情報処理装置1はインストール終了を検知するが、第2監視手段34によりアプリケーションによる再起動要求を検出した場合は再起動を無効にする。
ここでは、再起動要求の検出するためと再起動を無効にするために、後述するイベントハンドラを用いることとする。再起動の無効を通知する方法としては、WM_QUERYENDSESSIONメッセージが発行された際の戻り値にFalseを返すことで実現できる。
このとき、更にインストールしたいアプリケーションがある場合は、ここで残りのアプリケーションをインストールする。
アプリ導入管理モジュール23は、ドライブEに対してEWFが解除されるように再度解除設定コマンドを発行しておく。これは、アプリケーションの導入途中で、EWFコマンドを操作される可能性があるため、再起動を行う直前でもう一度、EWFを解除するためのコマンドを発行しておく。
次に、全てのアプリケーションのインストールが終了し、ユーザにより再起動が要求されると、情報処理装置1は再起動する。情報処理装置1が起動する際、まず、OSのみを起動し、再起動前に更新できなかったアプリケーションのファイルやレジストリがある場合は、再起動後に更新され、全てのアプリケーションのインストールが完了する。
全てのアプリケーションのインストールが完了すると、アプリ導入管理モジュール23は、システム領域にEWFの設定コマンドを発行し、システムを再起動する。これより、再起動後にアプリケーションのファイルやレジストリが更新された状態でアプリケーションの設定情報に保護をかけることができるので、アプリ導入直後の状態を保つことが可能となり、クリーンな状態を維持できる。
図8は、初回導入時の導入後における処理の一例を示す概念図である。情報処理装置1が起動すると、アプリ導入管理モジュール23は、全てのファイルに対してアーカイブビットをクリアする指示を行う。これは、情報処理装置1が次に終了されるまでに追加/変更又はその両方のファイルを特定できるようにするためである。例えば、アプリケーションを実行した際、アプリケーションの設定変更などが行われた場合、設定情報を格納しているファイルを修正するため、このファイルにアーカイブビットのフラグが立ち、追加/変更又はその両方のファイルを特定することができる。
次に、アプリ実行管理モジュール24により、アプリケーションの実行が制御される。このとき、操作管理モジュール21により、プロダクトIDのフォルダ名が変更される。
(設定変更時)
図9は、アプリケーションの設定を変更する処理の一例を示す概念図である。図9に示すように、情報処理装置1が起動すると、アプリを起動した後に、全てのファイルのアーカイブビットはクリアされる。
次に、アプリ実行管理モジュール24により任意のアプリケーションが実行される。次に、アプリケーションの設定が変更されると、設定が変更されたファイルにはアーカイブビットのフラグが立つ。また、第1監視手段33によりレジストリが監視されており、起動後にアクセスがあったレジストリを抽出する。また、どのファイルに対応するレジストリに変更があったかの判断は、レジストリへアクセスしたプロセスIDから判断することができる。
次に、アプリ導入管理モジュール23は、情報処理装置1が終了するときに、アーカイブビットのフラグが立っているファイルのみを例えばドライブEに保存する。また、アプリ導入管理モジュール23は、アクセスがあったレジストリのレジストリキーのみを例えばドライブEに保存する。
(導入後、通常起動時)
図10は、アプリケーションを導入後、通常に起動したときの処理の一例を示す概念図である。図10に示す例では、ドライブEに設定用差分ファイルが保存されているとする。
情報処理装置1が起動すると、アプリ導入管理モジュール23によりアーカイブビットが全てクリアされる。
次に、復元手段38により、起動前に退避された設定用差分ファイルを復元する。これにより、アプリケーションを起動前の最新の状態に戻すことができる。なお、復元手段38により復元を行わなければ、アプリケーションの設定は初期設定に戻る。復元手段38による復元を行うか否かは事前に設定しておけばよい。
(アプリ削除時)
図11は、アプリケーションの削除処理の一例を示す概念図である。図11に示す例では、ドライブEに設定用差分ファイルが保存されているとする。
図11に示すように、アプリ導入管理モジュール23は、アプリの削除が指示された場合、システム領域のEWFのレイヤのレベル2を解除するコマンドを発行する。この状態で再起動すると、システム領域にインストールしたアプリケーションは導入直後の状態に戻っており、導入後にアプリケーションにより新規に作成または変更したファイルやレジストリ(図11に示すアプリの設定)は削除されていることになる。
EWFのレイヤ2が解除された状態で、アプリ導入管理モジュール23は、アプリケーションの導入に使用したSetup.exeをアンインストールモードで起動する。これより、アンインストールしたアプリケーションに関連する情報が全て削除される。次に、操作管理モジュール21は、削除したアプリケーションの情報をアプリ情報リストから削除する。
次に、更に削除したいアプリケーションがある場合は、この段階でアンインストールを必要な回数だけ繰り返す。削除したいアプリケーションを全て削除すると、アプリ導入管理モジュール23は、システム領域にEWFを設定するコマンドを発行し再起動する。
次に、情報処理装置1が起動すると、システム領域にインストールされている残りのアプリケーションに対して、退避していた設定用差分ファイルが復元される。これより、削除したアプリケーション以外のアプリケーションは、起動前の最新の状態に復元することが出来る。
<動作>
次に、情報処理装置1の動作について説明する。以下、アプリケーション導入時、アプリケーションの設定変更時、通常起動時、アプリケーションの削除時のフローを順に説明する。
(アプリ導入時)
図12は、アプリケーションの導入時の処理の一例を示すフローチャートである。図12に示すように、ステップS1において、Windows(登録商標)のアプリケーションの導入は操作部16を用いて初期設定画面などからユーザにより選択される。アプリ導入が選択されると、情報処理装置1は、OSのみを起動する導入起動モードの準備を行う。
ステップS2において、アプリ導入管理モジュール23は、格納領域(例えば、Eドライブ)に対してEWFを設定するよう設定コマンド発行する。これは、導入起動モード中に誤ってユーザデータ(例えばEドライブのデータ)が削除されないように、EドライブのパーティションについてEWFを設定するためである。
ステップS3において、設定コマンド発行後にWindows(登録商標)を再起動する。これは、設定コマンドを有効にするためである。
ステップS4において、アプリ導入管理モジュール23は、ステップS2においてEWFを設定したパーティションについて、解除する解除コマンドを発行する。これは、導入最中に何らかの理由で強制シャットダウンされた場合に、次回起動時はEドライブのEWFを必ず解除して起動するためである。
ステップS5において、アプリケーションのインストールモードで起動が行われると、ユーザは、アプリケーションの導入を行う。これは、自動で行われても、半自動でも、手動で行われてもよい。
ステップS6において、検知手段(図示せず)によりアプリケーション導入の終了が検知される。
ステップS7において、操作管理モジュール21は、アプリケーションの導入にエラーがなかったか判定を行なう。例えば、図6に示すような環境設定ファイルに設定された条件を満たさない場合はエラーとなる。ステップS7の判定結果がNO(エラーなし)であればステップS8に進み、ステップS7の判定結果がYES(エラーあり)であればステップS10に進む。
ステップS8において、第2監視手段34はアプリケーションのセットアップファイルからの再起動要求を監視しており、再起動のメッセージが発行されたか否かを判定する。判定結果がYESであればステップS9へ進み、判定結果がNOであればステップS11に進む。アプリケーションが再起動要求のイベントを発行すると、OSに対するメッセージとして通知されるが、所定のプログラムを作ることでOSに対するメッセージをハンドリングすることが可能となる。そのようなプログラムをイベントハンドラと呼ぶ。再起動に関わるメッセージとして代表的なものにWM_QUERYENDSESSIONが存在するが、メッセージは他の種類のものでも構わない。
ステップS9において、例えばWM_QUERYENDSESSIONメッセージが通知され、イベントハンドラがメッセージをハンドリングした場合は、OSに対し再起動の無効を通知する。ステップS10において、表示画面にエラーが通知される。
ステップS11において、アプリ導入管理モジュール23は、導入されたアプリケーションをアプリ情報リストに追加する。
ステップS12において、導入するアプリが残っている場合はステップS5へ戻り再びアプリの導入を開始する。導入するアプリが残っていない場合はステップS13へ進む。
ステップS13において、アプリ導入管理モジュール23は、再度EドライブのEWFの設定を解除する解除コマンドを発行する。これは、導入途中でEWFコマンドを操作される可能性があるので、再起動を行う直前で再度解除コマンドを発行するためである。
ステップS14において、ユーザの指示によりWindows(登録商標)のみ再起動を行い、解除コマンドを有効にする。
ステップS15において、アプリ導入管理モジュール23は、再起動前に更新できなかったファイルとレジストリの更新を行う。
ステップS16において、アプリ導入管理モジュール23は、OSの起動直後にシステム領域(例えばCドライブ)に対しEWF(レイヤ2)を設定する設定コマンドを発行する。これは、システム領域へ導入したアプリをインストールした直後の状態で保護させるためである。これにより、システムに何らかの不具合が生じた場合にアプリ導入直後の状態まで戻すことが可能となる。
ステップS17において、Windows(登録商標)のみ再起動を行う。これは、設定コマンドを有効にするためである。
ステップS18において、操作部16は、アプリケーション導入前の初期設定画面を表示する。これより、Windows(登録商標)のアプリケーション導入処理を終了する。
(設定変更時)
図13は、アプリケーションの設定変更時の処理の一例を示すフローチャートである。図13に示すように、ステップS21において、操作部16は、Windows(登録商標)の画面を表示する。設定変更は初期設定から実行できるからである。
ステップS22において、設定変更手段38は、ステップS21で表示した画面からユーザにより設定変更の指示が行われると、アプリケーションの設定変更を行う。ステップS23において、設定変更手段38により設定変更が終了すると、操作部16における表示画面は初期設定画面に戻る。
ステップS24において、ユーザにより終了ボタンを押下されるなどした場合、情報処理機能が終了する。次に、ステップS25、S26(順不同)において、差分バックアップ処理が行われ、変更されたファイルやレジストリの情報をバックアップすることができる。
これより、システム領域のEWFのオーバーレイに記憶された設定ファイルやレジストリの情報が削除された場合でも、バックアップされた設定用の差分ファイルを復元することで、設定変更した内容を復元することが出来る。
(通常起動時)
図14は、情報処理装置1の通常起動時の処理の一例を示すフローチャートである。図14に示すように、ステップS31において、アプリ導入管理モジュール23は、格納手段31内のファイルとフォルダのアーカイブビットをクリアするために、アーカイブビットのクリアコマンドを発行する。このクリアコマンドによって、ファイル管理手段41は、各ファイルと各フォルダのアーカイブビットをクリアする。
これより、情報処理装置1の起動直後に図14に示すような処理を行うことで、情報処理装置1の終了時にアーカイブビットのフラグにより、設定変更されたファイルを特定することができる。
(アプリ削除時)
図15は、アプリケーションの削除時の処理の一例を示すフローチャートである。図15に示すように、ステップS41において、操作部16は、Windows(登録商標)の初期設定画面を表示する。アプリケーションの削除は初期設定から実行できるからである。
ステップS42において、ユーザが、表示画面に表示されたインストールアプリ一覧から削除したいアプリケーションを選択する。
ステップS43において、アプリ導入管理モジュール23は、アプリケーションの設定ファイルでアーカイブビットのフラグが立っているファイル、レジストリで設定変更されたデータについて第1及び第2退避手段によるバックアップをとる。
ステップS44において、操作管理モジュール21は、システム領域(Cドライブ)のEWFのレイヤのレベル2とEドライブのEWFのレイヤを解除する解除コマンドを発行する。これは、次に再起動するときにアプリケーションを削除できる状態にするためである。
ステップS45において、Windows(登録商標)のみ再起動を行う。これは、コマンド発行を有効にするためである。
ステップS46において、アプリ導入管理モジュール23は、アプリケーションのセットアップファイルをアンインストールモードで起動すると、ユーザは、アプリケーションの削除を行う。これは、自動で行われても、半自動でも、手動で行われてもよい。
ステップS47において、検知手段(図示せず)によりアプリケーション削除の終了が検知される。
ステップS48において、操作管理モジュール21は、アプリケーションの削除にエラーがなかったか判定を行なう。ステップS48の判定結果がNO(エラーなし)であればステップS49に進み、ステップS48の判定結果がYES(エラーあり)であればステップS51に進む。
ステップS49において、第2監視手段34は、アプリケーションのセットアップファイルからの再起動要求を監視しており、再起動のメッセージが発行されたか否かを判定する。判定結果がYESであればステップS50へ進み、判定結果がNOであればステップS52で進む。
ステップS50において、例えばWM_QUERYENDSESSIONメッセージが通知され、イベントハンドラがメッセージをハンドリングした場合は、OSに対し再起動の無効を通知する。ステップS51において、表示画面にエラーが通知される。
ステップS52において、アプリ導入管理モジュール23は、削除されたアプリケーションをアプリ情報リストから削除する。
ステップS53において、削除するアプリが残っている場合はステップS46へ戻り再びアプリの削除を開始する。削除するアプリが残っていない場合はステップS54へ進む。
ステップS54において、Windows(登録商標)のみ再起動を行う。これは、再起動後に削除されるファイルやレジストリがある場合に対応するためである。
ステップS55において、アプリ導入管理モジュール23は、再起動後にアンインストールされたアプリケーションのファイルとレジストリを削除する。
ステップS56において、アプリ導入管理モジュール23は、OSの起動直後にシステム領域(Cドライブ)とEドライブに対しEWFを設定する設定コマンドを発行する。これは、システム領域から削除したアプリ以外のアプリを、アンインストール処理の直後の状態で保護させるためである。
ステップS57において、Windows(登録商標)のみ再起動を行う。これは、設定コマンドを有効にするためである。
ステップS58において、アプリ導入管理モジュール23は、システム領域にインストールされている残りのアプリケーションに対し、退避していた設定用差分ファイルを復元する。これより、システム領域にインストールしてあるアプリケーションは、最新の設定に復元することが出来る。
ステップS59において、操作部16は、アプリケーション削除前の初期設定画面を表示する。これより、Windows(登録商標)のアプリケーション削除処理を終了する。
以上、実施例1によれば、OSのオリジナルデータを保護しつつ、次回起動する時に、ユーザによるアプリケーションの再インストールを不要とすることができる。これは、アプリケーションのインストール完了に必要な情報をEWF機能により保護するからである。アプリケーションをシステムに展開(インストール完了)するのに必要な情報が、再起動後に削除されずに保護されているため、再起動後にアプリを実行可能な状態にすることができる。よって、実施例1によれば、インストールの完了に再起動を必要とするアプリケーションであっても、適切にインストールを行うことができ、再起動からインストールが完了するのに時間を要しない。
なお、上記実施例1では情報処理装置1を画像処理装置として説明したが、PCであっても同様の目的を達成することができることは言うまでもない。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記変形例以外にも種々の変形・変更が可能である。
なお、実施例において説明した処理内容をコンピュータに実行させるためのプログラムとし、このプログラムをコンピュータに実行させて前述した処理を情報処理装置に実現させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理を情報処理装置に実現させることも可能である。
1 情報処理装置
11 制御部
12 主記憶部
13 補助記憶部
14 印字部
15 通信制御部
16 操作部
17 ネットワークI/F部
18 外部記憶装置I/F部
19 記憶媒体
21 操作管理モジュール
22 ファイル管理モジュール
23 アプリ導入管理モジュール
24 アプリ実行管理モジュール
31 格納手段
32 書込み禁止手段
33 第1監視手段
34 第2監視手段
35 第1退避手段
36 第2退避手段
37 要求手段
38 復元手段
39 保護手段
40 設定変更手段
41 ファイル管理手段
42 削除手段
「Windows Embedded Developer Center Enhanced Write Filter」、[online]、インターネット<URL: http://msdn.microsoft.com/en-us/library/ms912906.aspx>

Claims (5)

  1. オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能な情報処理装置であって、
    前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段と、
    前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止手段と、
    前記書き込み禁止手段により前記第2格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求手段と、
    当該情報処理装置が再度起動した場合、前記要求手段により保護要求された前記設定情報を保護する保護手段と、
    前記アプリケーションにより新規に追加又は変更された変更情報を第3格納領域に退避する第1退避手段と、
    前記設定情報が記憶された記憶手段を監視する第1監視手段と、
    前記第1監視手段により前記設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを前記第3格納領域に退避する第2退避手段と、
    当該情報処理装置が再度起動した場合、前記第3格納領域に退避された変更情報及び設定情報を前記保護手段により保護されない領域に復元する復元手段と
    を備える情報処理装置。
  2. 前記保護手段による保護を解除した後に、前記アプリケーションのアンインストールを行なう削除手段をさらに備える請求項1記載の情報処理装置。
  3. 前記削除手段によりアンインストールするアプリケーションが選択された場合、前記第1退避手段及び前記第2退避手段は退避処理を行う請求項2記載の情報処理装置。
  4. オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行することが可能であり、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段を備える情報処理装置における情報処理方法であって、
    前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止段階と、
    前記書き込み禁止段階により前記第2格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、
    当該情報処理装置が再度起動した場合、前記要求段階により保護要求された前記設定情報を保護する保護段階と、
    前記アプリケーションにより新規に追加又は変更された変更情報を第3格納領域に退避する第1退避段階と、
    前記設定情報が記憶された記憶手段を監視する第1監視段階と、
    前記第1監視段階により前記設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを前記第3格納領域に退避する第2退避段階と、
    当該情報処理装置が再度起動した場合、前記第3格納領域に退避された変更情報及び設定情報を前記保護段階により保護されない領域に復元する復元段階と
    を有する情報処理方法。
  5. オペレーティングシステムにアプリケーションを追加して、該アプリケーションを実行し、前記オペレーティングシステムを格納する第1格納領域を含む複数の格納領域を有する格納手段を含む情報処理装置に実行可能なプログラムであって、
    前記第1格納領域への書き込みを禁止し、前記第1格納領域への書き込みが要求された場合は第2格納領域に書き込む書き込み禁止段階と、
    前記書き込み禁止段階により前記第2格納領域に書き込まれたアプリケーションのインストール完了に必要な情報を含む設定情報に対して、当該情報処理装置が再度起動した後に保護されるよう要求する要求段階と、
    当該情報処理装置が再度起動した場合、前記要求段階により保護要求された前記設定情報を保護する保護段階と、
    前記アプリケーションにより新規に追加又は変更された変更情報を第3格納領域に退避する第1退避段階と、
    前記設定情報が記憶された記憶手段を監視する第1監視段階と、
    前記第1監視段階により前記設定情報が追加又は変更されたと判断された場合、追加又は変更された設定情報のみを前記第3格納領域に退避する第2退避段階と、
    当該情報処理装置が再度起動した場合、前記第3格納領域に退避された変更情報及び設定情報を前記保護段階により保護されない領域に復元する復元段階とを情報処理装置に実行させるための
    プログラム。
JP2009240632A 2009-10-19 2009-10-19 情報処理装置、情報処理方法、及び、プログラム Expired - Fee Related JP5338610B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009240632A JP5338610B2 (ja) 2009-10-19 2009-10-19 情報処理装置、情報処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009240632A JP5338610B2 (ja) 2009-10-19 2009-10-19 情報処理装置、情報処理方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2011086247A JP2011086247A (ja) 2011-04-28
JP5338610B2 true JP5338610B2 (ja) 2013-11-13

Family

ID=44079122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009240632A Expired - Fee Related JP5338610B2 (ja) 2009-10-19 2009-10-19 情報処理装置、情報処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5338610B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6915437B2 (ja) * 2017-08-04 2021-08-04 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131896A (ja) * 2001-10-19 2003-05-09 Casio Comput Co Ltd 情報処理装置、再起動方法及び再起動プログラム
JP4448953B2 (ja) * 2007-12-28 2010-04-14 ブラザー工業株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2011086247A (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
CN102216905B (zh) 为运行在计算***中的应用创建应用还原点的方法和***
EP2652599B1 (en) System reset
JP2008084029A (ja) 仮想マシン管理システム
JP4946141B2 (ja) 構成変更プログラム、および情報処理装置
JP2011053741A (ja) 設定情報データベースを管理するコンピュータ・プログラム
JP6600240B2 (ja) 情報処理装置、ファームウェア更新方法、およびプログラム
JP2007058699A (ja) 情報処理装置、情報処理装置制御プログラム、情報処理装置制御方法
JP2007293737A (ja) ソフトウェア資源の登録管理方法、電子機器、プログラム
JP4789958B2 (ja) 部品情報復元方法、部品情報管理方法及び電子装置
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
JP5133230B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5338610B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4802607B2 (ja) 画像処理装置
US11947948B2 (en) Information processing apparatus, information processing method, and storage medium
JP2002222106A (ja) クライアント/サーバシステムにおけるクライアントの環境設定装置、方法、プログラム記録媒体およびプログラム
JP2009009494A (ja) 情報処理装置、情報処理方法、制御プログラム
JP2007066132A (ja) プログラムシステム
JP2006331256A (ja) 情報処理装置、インストール処理方法、記憶媒体およびプログラム
JP6160688B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2020080120A (ja) 情報処理装置、情報処理装置の更新方法、及び、情報処理装置の更新プログラム
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2009265980A (ja) 情報処理装置
JP7019968B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP2005099902A (ja) コンピュータ保守システム及び方法
JP2007226735A (ja) ソフトウェアのインストール方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R151 Written notification of patent or utility model registration

Ref document number: 5338610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees