(57)【要約】      （修正有）【課題】アプリケーションソフトウェアのプレインストールにおいて、用途に合わせたインストール制御ができるようにする。【解決手段】アプリケーションソフトウェアのインストールが可能な画像形成装置であって、システムソフトウェアのデータファイル、機能を拡張するためのアプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対してプレインストールの後の状態を定義した制御ファイルを記憶する記憶手段と、前記画像形成装置の起動に伴い、前記ライセンスファイルを用いて前記記憶手段に記憶されたアプリケーションソフトウェアのプレインストールを行うプレインストール手段と、プレインストールされたアプリケーションソフトウェアを前記制御ファイルにて定義された状態へと変更させる変更手段とを有する。【選択図】図５
2014059772.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置が提供する動作環境において動作するアプリケーションソフトウェアのインストールが可能な画像形成装置であって、
前記画像形成装置のシステムソフトウェアのデータファイル、前記画像形成装置の機能を拡張するためのアプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対してプレインストールの後の状態を定義した制御ファイルを記憶する記憶手段と、
前記画像形成装置の起動に伴い、前記ライセンスファイルを用いて前記記憶手段に記憶されたアプリケーションソフトウェアのプレインストールを行うプレインストール手段と、
プレインストールされたアプリケーションソフトウェアを前記制御ファイルにて定義された状態へと変更させる変更手段と、
を有し、
前記記憶手段は、前記システムソフトウェアのデータファイルが配置されるディレクトリとは異なるディレクトリに前記アプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対応する制御ファイルを配置することを特徴とする画像形成装置。
【請求項２】
前記記憶手段は、前記アプリケーションソフトウェアを配置するディレクトリに前記アプリケーションソフトウェアに対してプレインストールを行うか否かを示すフラグファイルを格納し、
前記プレインストール手段は、前記フラグファイルが格納されている場合に前記アプリケーションソフトウェアのプレインストールを行うことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記記憶手段は、前記プレインストール手段によるプレインストールが完了した後、前記フラグファイルを削除することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記記憶手段は、アプリケーションソフトウェアを配置するディレクトリに、アプリケーションソフトウェアごとのディレクトリをそれぞれ構成し、アプリケーションソフトウェアそれぞれのデータファイル、ライセンスファイル、および制御ファイルを格納することを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記画像形成装置のリージョン情報を問い合わせる問い合わせ手段を更に有し、
前記アプリケーションソフトウェアは、複数のリージョンそれぞれに対応した複数のデータファイルおよびライセンスファイルから構成され、
前記プレインストール手段は、前記問い合わせ手段にて取得したリージョン情報に対応したアプリケーションソフトウェアのデータファイルおよびライセンスファイルを用いてプレインストールを行うことを特徴とする請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項６】
アプリケーションソフトウェアに対するライセンスファイルもしくは制御ファイルが格納された可搬媒体が前記画像形成装置に接続されているか否かを判定する判定手段を更に有し、
前記プレインストール手段は、前記可搬媒体が接続されている場合、前記可搬媒体に格納されたライセンスファイルもしくは制御ファイルを優先して用いてプレインストールを行うことを特徴とする請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項７】
アプリケーションソフトウェアのデータファイル、ライセンスファイル、および制御ファイルの少なくとも一つを保持する外部装置の位置情報が格納された可搬媒体が前記画像形成装置に接続されているか否かを判定する判定手段と、
前記アプリケーションソフトウェアのデータファイル、ライセンスファイル、および制御ファイルの少なくとも一つを外部装置から取得する取得手段と、
を更に有し、
前記取得手段は、前記可搬媒体が接続されている場合、前記位置情報に基づいて前記外部装置から前記アプリケーションソフトウェアのデータファイル、ライセンスファイル、および制御ファイルの少なくとも一つを取得し、
前記プレインストール手段は、前記取得手段が取得したアプリケーションソフトウェアのデータファイル、ライセンスファイル、および制御ファイルの少なくとも一つを用いて、プレインストールを行うことを特徴とする請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項８】
アプリケーションソフトウェアのインストールおよびアンインストールの履歴情報を保持する履歴情報保持手段を更に有し、
前記プレインストール手段は、前記履歴情報に基づき、過去にアンインストールが行われたアプリケーションソフトウェアはプレインストールを行わないことを特徴とする請求項１乃至７のいずれか一項に記載の画像形成装置。
【請求項９】
前記制御ファイルは、すでにインストールされているアプリケーションソフトウェアのバージョンアップを許可するか否かを定義する更新制御情報を含み、
前記プレインストール手段は、前記更新制御情報に基づき、前記アプリケーションソフトウェアのインストールを行うことを特徴とする請求項１乃至８のいずれか一項に記載の画像形成装置。
【請求項１０】
前記制御ファイルは、対応するアプリケーションソフトウェアのプレインストールを行うか否かの指定、プレインストール時に用いるアプリケーションのデータファイルおよびライセンスファイルのうちの少なくとも一つを定義していることを特徴とする請求項１乃至９のいずれか一項に記載の画像形成装置。
【請求項１１】
画像形成装置が提供する動作環境において動作するアプリケーションソフトウェアのインストールが可能な画像形成装置におけるプレインストール方法であって、
前記画像形成装置は、
前記画像形成装置のシステムソフトウェアのデータファイル、前記画像形成装置の機能を拡張するためのアプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対してプレインストールの後の状態を定義した制御ファイルを記憶する記憶部を備え、
前記画像形成装置の起動に伴い、前記ライセンスファイルを用いて前記記憶部に記憶されたアプリケーションソフトウェアのプレインストールを行うプレインストール工程と、
プレインストールされたアプリケーションソフトウェアを前記制御ファイルにて定義された状態へと変更させる変更工程と、
を有し、
前記記憶部は、前記システムソフトウェアのデータファイルが配置されるディレクトリとは異なるディレクトリに前記アプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対応する制御ファイルを配置することを特徴とするプレインストール方法。
【請求項１２】
コンピュータを、
前記コンピュータのシステムソフトウェアのデータファイル、前記コンピュータの機能を拡張するためのアプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対してプレインストールの後の状態を定義した制御ファイルを記憶する記憶手段、
前記コンピュータの起動に伴い、前記ライセンスファイルを用いて前記記憶手段に記憶されたアプリケーションソフトウェアのプレインストールを行うプレインストール手段、
プレインストールされたアプリケーションソフトウェアを前記制御ファイルにて定義された状態へと変更させる変更手段、
として機能させ、
前記記憶手段は、前記システムソフトウェアのデータファイルが配置されるディレクトリとは異なるディレクトリに前記アプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対応する制御ファイルを配置することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、アプリケーションのプレインストール方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置において、ＪＡＶＡ（登録商標）環境に代表されるようなアプリケーションプログラム（以下「アプリケーション」と略称する）の動作環境が提供されている。画像形成装置の機能やユーザビィリティの向上を図るために、ＪＡＶＡ（登録商標）環境などのプログラムの可搬性の高い環境下で動作するアプリケーションを作成し、画像形成装置にインストールすれば、当該アプリケーションにより所望の機能を実現できる。
【０００３】
従来、アプリケーションを画像形成装置にインストールする方法は、クライアント端末からネットワーク経由でインストールする方法が知られている。しかし、そのようなインストール方法の場合、予めネットワークの設定等が必要となるため、インストールを行うユーザの負荷となっていた。そこで、アプリケーションのインストール形態として、予め装置にアプリケーションを組み込み、起動時にインストールするプレインストールという形態がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３５５４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像形成装置にインストールするアプリケーションの例としてシステムアプリケーション（システムソフトウェア）と一般アプリケーション（アプリケーションソフトウェア）の２種類が挙げられる。システムアプリケーションと一般アプリケーションとの違いは以下の点である。システムアプリケーションは予め画像形成装置のファームウェアとして提供され、アンインストールは不可である。これに対し、一般アプリケーションは追加インストールおよびアンインストールが可能である。また、一般アプリケーションは、セキュリティやビジネス上の観点から後からインストールするためにアプリケーションを動かすためのライセンスが必要となる。一方、システムアプリケーションは予め画像形成装置に組み込まれることもあり、ライセンスを必要としない。
【０００６】
特許文献１は、予め画像形成装置に組み込まれた形で実行するシステムソフトウェアに関する技術である。従って、システムアプリケーションとは異なり、後からインストール可能な一般アプリケーションには利用できない（課題１）。
【０００７】
また、上述したように一般アプリケーションのインストールにはライセンスが必要であり、ライセンスを必要としないシステムアプリケーションから構成される従来のファームウェアの構成では対応できない（課題２）。
【０００８】
また、従来の方法では、プレインストール後の一般アプリケーションに対し開始、停止などのように状態を指定することは考慮されていない（課題３）。
【０００９】
さらに、出荷する国ごとに画像形成装置の言語リソースなどを変更するために、仕向け設定（リージョン）に応じてプレインストールするアプリケーションを変える必要がある。この場合、仕向け設定とアプリケーションの組み合わせを考慮してプレインストールする必要がある（課題４）。
【００１０】
本願発明は、上記の課題のうち少なくとも一つを解決することで、アプリケーションのプレインストールに関する動作制御を用途に合わせて柔軟に行うことを実現する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、画像形成装置が提供する動作環境において動作するアプリケーションソフトウェアのインストールが可能な画像形成装置であって、前記画像形成装置のシステムソフトウェアのデータファイル、前記画像形成装置の機能を拡張するためのアプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対してプレインストールの後の状態を定義した制御ファイルを記憶する記憶手段と、前記ライセンスファイルを用いて前記画像形成装置の起動に伴って、前記記憶手段に記憶されたアプリケーションソフトウェアのプレインストールを行うプレインストール手段と、プレインストールされたアプリケーションソフトウェアを前記制御ファイルにて定義された状態へと変更させる変更手段と、を有し、前記記憶手段は、前記システムソフトウェアのデータファイルが配置されるディレクトリとは異なるディレクトリに前記アプリケーションソフトウェアのデータファイル、前記アプリケーションソフトウェアをインストールするためのライセンスファイル、および当該アプリケーションソフトウェアに対応する制御ファイルを配置する。
【発明の効果】
【００１２】
本発明によれば、画像形成装置に対し、アプリケーションのプレインストールの動作制御を用途に合わせて柔軟に実現することができる。
【図面の簡単な説明】
【００１３】
【図１】画像形成装置のハードウェア構成例を示す図。
【図２】画像形成装置のソフトウェアモジュール階層例を示す図。
【図３】実施形態１に係るプレインストールファームウェアの構成例を示す図。
【図４】．ｐｒｅｉｎｔａｌｌファイルの内容例を示す図。
【図５】インストーラのプレインストール時のフローチャート。
【図６】実施形態２に係るプレインストールファームウェアの構成例を示す図。
【図７】．ｐｒｅｉｎｔａｌｌファイルの内容例を示す図。
【図８】国別のコードの例を示す図。
【図９】インストーラのプレインストール時のフローチャート。
【図１０】実施形態３に係るファイル構成の例を示す図。
【図１１】．ｐｒｅｉｎｔａｌｌファイルの内容例を示す図。
【図１２】．ｐｒｅｉｎｔａｌｌファイルの内容例を示す図。
【図１３】インストーラのＵＳＢ接続時のプレインストールのフローチャート。
【図１４】実施形態４に係るファイル構成の例を示す図。
【図１５】サーバのハードウェア構成例を示す図。
【図１６】インストーラのＵＳＢ接続時のプレインストールのフローチャート。
【図１７】実施形態５に係るプレインストールファームウェアの構成例とインストールされたアプリケーションの状態を示す図。
【図１８】．ｐｒｅｉｎｔａｌｌファイルの内容例を示す図。
【図１９】インストーラの．ｐｒｅｉｎｔａｌｌファイル拡張時のプレインストールのフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を用いて説明する。なお本明細書において、プレインストールとは、アプリケーションのインストール形態の一つであり、予め装置にアプリケーションを組み込み、装置の初回起動時にインストールするという形態をいう。
【００１５】
また、本明細書において記載する「システムアプリケーション」とは、予めストレージに保持され、装置の起動時にプレインストールされるシステムソフトウェアを指す。システムアプリケーションは、予め画像形成装置内にファームウェアとして保持されており、プレインストール時にはライセンスは不要である。システムアプリケーションは、画像形成装置の基本的な機能を提供するものであり、ユーザが自由にアンインストールすることはできない。
【００１６】
これに対し、「一般アプリケーション」とは、画像形成装置の機能を拡張するためのアプリケーションソフトウェアを指す。一般アプリケーションは、ユーザ等の指示に応じて、装置の起動後にも追加のインストール／アンインストールが可能である。一般アプリケーションは、インストールの際にライセンスを要するものとする。また、本実施形態において、システムアプリケーションおよび一般アプリケーションのいずれも画像形成装置が提供するＪａｖａの動作環境にて動作するものとする。
【００１７】
＜実施形態１＞
本実施形態では、一般アプリケーションのプレインストールにおいて、プレインストール後にアプリケーションの状態を指定する例を示す。なお実施形態１は、上述した課題１〜３を解決する例とする。
【００１８】
図１は、印刷機能やスキャン機能、ネットワーク通信機能などを備える画像形成装置１３０のハードウェア構成図である。図１において、コントローラ１００は画像形成装置１３０のコントローラとして用いる。
【００１９】
コントローラ１００はスキャナ部１１３やプリンタ部１１４と電気的に接続され、一方でＬＡＮ１１６を介して外部機器と接続される。これにより画像データやデバイス情報の入出力が可能となる。ＣＰＵ１０１は、ＲＯＭ１０２に記憶された制御プログラム等に基づいて接続中の各種ハードウェアとのアクセスを統括的に制御し、またコントローラ内部で行われる各種処理も統括的に制御する。ＲＯＭ１０２は読出専用の不揮発記憶領域であり、画像形成装置１３０のブートプログラムなどが格納されている。
【００２０】
ＲＡＭ１０３は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。ＲＡＭ１０３は、記憶した内容を電源ｏｆｆ後も保持可能なＦＲＡＭおよびＳＲＡＭ、電源ｏｆｆ後に記憶内容が消去されるＤＲＡＭなどにより構成される。ＨＤＤ１０４は、不揮発記憶領域であり、システムアプリケーションなどを格納する。図３で説明するプレインストールするアプリケーションを含むファームウェアは、ＨＤＤ１０４に格納される。なお、ここでのファームウェアとは、画像形成装置の工場出荷時に格納されたソフトウェア群を指す。
【００２１】
操作部Ｉ／Ｆ１０５は、システムバス１１９と操作部１１８とを接続するインタフェース部である。具体的には操作部１１８に表示するデータをシステムバス１１９から受取り表示すると共に、操作部１１８からの入力情報をシステムバス１１９へ出力する。画像形成装置１３０に対するユーザの指示や情報提示は、操作部１１８を介して行う。
【００２２】
ネットワークＩ／Ｆ１０６は、ＬＡＮ１１６、ＷＡＮ１１７及びシステムバス１１９に接続し、外部との情報の入出力を行う。スキャナＩ／Ｆ１０８は、スキャナ部１１３から受取った画像データに対して、補正、加工、及び編集を行う。画像形成部１０９は、画像データの方向変換、画像圧縮、伸張部などを行う。プリンタＩ／Ｆ１１０は、画像形成部１０９から送られた画像データを受取り、画像形成後にプリンタ部１１４にて印刷する。ＵＳＢインタフェース１２０は、種々の周辺機器を画像形成装置１３０に接続する汎用インタフェースであり、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）への接続制御を行う。ここではフラッシュメモリ１２１がＵＳＢインタフェース１２０に接続される。
【００２３】
［ソフトウェアモジュール階層］
図２は、画像形成装置１３０のソフトウェアモジュールの階層図である。なお図２に示す各ソフトウェアはＲＯＭ１０２に保存され、ＣＰＵ１０１にて実行される。また、実行時に使用する各種情報は、ＲＡＭ１０３もしくはＨＤＤ１０４に保持され、ソフトウェア機能間で各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークＩ／Ｆ１０６を用いて通信を行う。
【００２４】
次に各ソフトウェアの説明をする。ソフトウェアモジュールはオペレーティングシステム（ＯＳ）２０１を有している。ＯＳ２０１の上には、各種機器制御のためのコントローラモジュール２０２を有し、その上にアプリケーションプログラムなどのプログラムを逐次実行するためのインタプリタ２０３を有する。インタプリタ２０３の上には、複数のアプリケーション群を管理するアプリケーション管理部２０４を有する。各種機能を実現するアプリケーション２０５、２０６は、アプリケーション管理部２０４の管理下で動作する。
【００２５】
アプリケーションインストーラ（以下「インストーラ２０９」）は、アプリケーション２０５、２０６をインストール制御するシステムアプリケーションである。アプリケーション管理部２０４は、インストーラ２０９によるアプリケーションのインストール指示に応答して、アプリケーションを管理対象として追加する。アプリケーション管理部２０４は、管理下に追加されたアプリケーションのバージョンを含むアプリケーション情報、ライセンス情報などを保持する。さらに画像形成装置１３０内のアプリケーションプログラムの削除に応答し、アプリケーション管理部２０４はアプリケーション２０６を管理対象から外す。
【００２６】
アプリケーション２０５、２０６は、画像形成装置１３０において各種処理をユーザに提供する。例えば、画像の加工や圧縮アプリケーション、印刷制限などの部門管理を行うアプリケーション、ログインユーザを管理するログインアプリケーションなどがある。フラッシュメモリ１２１を画像形成装置１３０に接続すると、ＵＳＢインタフェース１２０がフラッシュメモリ１２１の接続を認識し、ＵＳＢドライバ２０８を介して、ＵＳＢ制御管理部２０７に伝わる。フラッシュメモリ１２１の内容は、ＵＳＢドライバ２０８を介してＵＳＢインタフェース１２０に伝わり把握可能となる。なお、本実施形態では、画像形成装置に接続可能な可搬媒体として、ＵＳＢメモリを用いているが、これに限定するものではない。
【００２７】
仕向け管理部２１０は、画像形成装置１３０の仕向け情報（リージョン情報）を管理する。画像形成装置１３０の仕向けは工場出荷時に決定され、ＲＡＭ１０３に保存される。仕向け管理部２１０を通して、ＲＡＭ１０３に保存された仕向け情報を取得可能である。仕向け情報は、出荷される画像形成装置がいずれの国にて利用されるか否かを示す。
【００２８】
［ファームウェア構成］
図３は、プレインストール対象となるアプリケーション（以下、プレインストールアプリケーション）を含む、本実施形態に係るファームウェアの構成例３００を示す。本ファームウェアはＨＤＤ１０４に格納されているものとする。本実施形態に係る画像形成装置において、ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓディレクトリ直下にあるアプリケーション３０１は、インストーラ２０９を含むシステムアプリケーションである。本実施形態では、アプリケーション３０１として、ｓｙｓＡｐｐ１．ｊａｒおよびｓｙｓＡｐｐ２．ｊａｒが該当する。つまりアプリケーション３０１は、ライセンスを必要とせずにインストールが可能なアプリケーションである。
【００２９】
本実施形態では、ファームウェアは、更にＰＲＥＩＮＳＴディレクトリ以下の構成を有する。ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓ／ＰＲＥＩＮＳＴディレクトリ３０２直下にあるｉｎｓｔａｌｌ．ｏｎファイル３０３は、プレインストール実行のフラグファイルである。ｉｎｓｔａｌｌ．ｏｎファイル３０３が存在する場合、つまり、初めてデバイスを起動した時、もしくはファームウェアをアップデート後に初めてデバイスを起動した時に、インストーラ２０９は、プレインストールを実行する。プレインストール実行後、インストーラ２０９はｉｎｓｔａｌｌ．ｏｎファイル３０３を削除する。これにより、これ以降の起動においてプレインストールが実行されることはない。
【００３０】
ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓ／ＰＲＥＩＮＳＴ／Ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ３０４は、プレインストールアプリケーションの格納ディレクトリである。プレインストールしたいアプリケーションごとに、ディレクトリが存在する。よって、別のプレインストールアプリケーションは、ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓ／ＰＲＥＩＮＳＴ／Ａｐｐｌｉｃａｔｉｏｎ２ディレクトリ３０５に配置される。図３においては、一般アプリケーションとして扱いたい２つのアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ１およびＡｐｐｌｉｃａｔｉｏｎ２）が示されている。
【００３１】
Ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ３０４直下にプレインストールしたいアプリケーションのアプリケーションデータ３０６、ライセンスファイル３０７、プレインストール指定ファイル（以下、．ｐｒｅｉｎｓｔａｌｌファイル３０８と呼ぶ）が配置される。ライセンスファイル３０７には、暗号化されたアプリケーションデータ３０６をデコードする鍵情報、及び、ライセンス情報（使用期限、アプリケーションが利用可能な資源の上限値など）が含まれる。インストーラ２０９は、アプリケーションデータ３０６を用いてインストールする時、ライセンスファイル３０７を用いて、アプリケーションデータ３０６を復号化し、ライセンス情報をＲＡＭ１０３に格納して、インストールを行う。なお、アプリケーションデータ３０６に対する拡張子．ｊａｒは、Ｊａｖａアプリケーションのリソースを一つにまとめ圧縮されたファイル形式を示している。
【００３２】
．ｐｒｅｉｎｓｔａｌｌファイル３０８は、プレインストール時のインストール実行を制御するための情報を定義したデータ（制御ファイル）である。インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイル３０８の記載内容（図４）に従い、図５のフローチャートで示すようにインストールを行う。
【００３３】
図４は、．ｐｒｅｉｎｓｔａｌｌファイル３０８の内容を示している。タグとそれに対応する値により構成される。ＰｒｅＩｎｓｔａｌｌタグ設定４００は、プレインストールを実行するかどうかを示す。ＰｒｅＩｎｓｔａｌｌタグ設定４００の値が“ｙｅｓ”の場合はプレインストールが実行され、“ｎｏ”の場合にはプレインストールは実行されない。
【００３４】
Ｓｔａｔｅタグ設定４０１は、プレインストール実行後、そのアプリケーションを開始するか否かを指定する。Ｓｔａｔｅタグ設定４０１の値が“ｓｔａｒｔｅｄ”の場合はアプリケーションの開始を行うが、値が“ｓｔｏｐｐｅｄ”の場合はアプリケーションを開始せずインストールだけを行う。アプリケーションを開始状態にすることで、そのアプリケーション固有の処理が開始され、例えばメイン画面でそのアプリケーションのボタンが選択可能な状態になる。
【００３５】
［処理フロー］
図５は、プレインストール時のインストーラ２０９の動作を示すフローチャートである。プレインストールの開始は、画像形成装置１３０の起動時に実行されてもよい。また画像形成装置１３０の操作部１１８にプレインストール実行確認画面を表示し、ユーザに選択させてもよい。また、ここでは、図３に示すように、２つのプレインストールアプリケーションがファームウェア内に格納されているものとする。
【００３６】
プレインストールが開始されると、Ｓ５０１において、インストーラ２０９は、ＰＲＥＩＮＳＴディレクトリ３０２直下に、ｉｎｓｔａｌｌ．ｏｎファイル３０３が存在するか確認する。ｉｎｓｔａｌｌ．ｏｎファイル３０３が存在しなければ（Ｓ５０１にてＮＯ）、インストーラ２０９はプレインストールを実行せず、フローは終了する。ｉｎｓｔａｌｌ．ｏｎファイル３０３が存在する場合は（Ｓ５０１にてＹＥＳ）、Ｓ５０２に進む。
【００３７】
Ｓ５０２において、インストーラ２０９は、プレインストールアプリケーションディレクトリの数をカウントし、Ｓ５０３に進む。Ｓ５０３において、インストーラ２０９は、最初のプレインストールアプリケーションのディレクトリであるＡｐｐｌｉｃａｔｉｏｎ１ディレクトリ３０４の．ｐｒｅｉｎｓｔａｌｌファイル３０８のＰｒｅＩｎｓｔａｌｌタグ設定４００の値をチェックする。ＰｒｅＩｎｓｔａｌｌタグ設定４００の値が“ｙｅｓ”であれば（Ｓ５０３にてＹＥＳ）、Ｓ５０４に進む。ＰｒｅＩｎｓｔａｌｌタグ設定４００の値が“ｎｏ”であれば（Ｓ５０３にてＮＯ）プレインストールせずにＳ５０７に進む。
【００３８】
Ｓ５０４において、インストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ３０４に存在するアプリケーションデータ３０６を、ライセンスファイル３０７を用いてプレインストールし、Ｓ５０５に進む。Ｓ５０５において、インストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ３０４の．ｐｒｅｉｎｓｔａｌｌファイル３０８のＳｔａｔｅタグ設定４０１の値をチェックする。この値が“ｓｔａｒｔｅｄ”であれば（Ｓ５０５にてＹＥＳ）、Ｓ５０６に進む。一方、値が“ｓｔｏｐｐｅｄ”であれば（Ｓ５０５にてＮＯ）、Ｓ５０７に進む。Ｓ５０６において、インストーラ２０９は、インストールしたＡｐｐｌｉｃａｔｉｏｎ１を開始状態に変更してＳ５０７に進む。
【００３９】
Ｓ５０７において、インストーラ２０９は、Ｓ５０２でカウントしたプレインストールアプリケーション全てに対し処理を行ったか否かを判定する。全て実行した場合（Ｓ５０７にてＹＥＳ）Ｓ５０８に進む。まだ、プレインストールの処理が残っているアプリケーションがある場合は（Ｓ５０７にてＮＯ）、次のプレインストールアプリケーションを選択してＳ５０３に戻り、プレインストールを継続する。
【００４０】
Ｓ５０８において、インストーラ２０９は、ｉｎｓｔａｌｌ．ｏｎファイル３０３を削除する。削除が完了したら、本処理フローは終了する。
【００４１】
以上、本実施形態により、一般アプリケーションに対し、インストール時の挙動を指定したプレインストールが可能となる。
【００４２】
＜実施形態２＞
本実施形態では、実施形態１で示した．ｐｒｅｉｎｓｔａｌｌファイル３０８の他の利用例として、画像形成装置１３０の仕向け設定毎に異なるアプリケーションをインストールする例を示す。なお本実施形態２は、上述した課題１〜４を解決する例となる。つまり、リージョンに対応した実施形態である。
【００４３】
図６は、ＨＤＤ１０４に保存されたプレインストールアプリケーションを含むファームウェアの構成例６００を示す。ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓ／ＰＲＥＩＮＳＴディレクトリ６０１直下にあるｉｎｓｔａｌｌ．ｏｎ６０２は、プレインストール実行のフラグファイルである。
【００４４】
ＲＯＯＴ／ＪＡＶＡ／ｓｙｓｔｅｍｓ／ＰＲＥＩＮＳＴ／Ａｐｐｌｉｃａｔｉｏｎ２ディレクトリ６０３は、プレインストールアプリケーションが格納されたディレクトリである。このディレクトリ直下に今回プレインストールするアプリケーションに対応する複数のデータファイルが配置される。ここでは、日本仕向けアプリケーションデータ（Ａｐｐｌｉｃａｔｉｏｎ２ＪＰ．ｊａｒ）、日本仕向け用ライセンスファイル（ＬｉｃｅｎｓｅＪＰ．ｌｉｃ）、北米仕向けアプリケーションデータ（Ａｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒ）、北米仕向け用ライセンスファイル（ＬｉｃｅｎｓｅＵＳ．ｌｉｃ）、およびプレインストール指定ファイル（．ｐｒｅｉｎｓｔａｌｌ）が配置される。
【００４５】
ＬｉｃｅｎｓｅＪＰ．ｌｉｃファイル６０５はＡｐｐｌｉｃａｔｉｏｎ２ＪＰ．ｊａｒファイル６０４用のライセンスであり、ＬｉｃｅｎｓｅＵＳ．ｌｉｃファイル６０７はＡｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒファイル６０６用のライセンスである。インストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ２ＪＰ．ｊａｒファイル６０４をインストール時にＬｉｃｅｎｓｅＪＰ．ｌｉｃファイル６０５を用いる。また、インストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒファイル６０６をインストール時にＬｉｃｅｎｓｅＵＳ．ｌｉｃファイル６０７を用いる。
【００４６】
．ｐｒｅｉｎｓｔａｌｌファイル６０８は、プレインストール時の制御指示を記載したファイルである。インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイル６０８に記載されている内容に従い、プレインストールを行う。
【００４７】
図７は、．ｐｒｅｉｎｓｔａｌｌファイル６０８の内容を説明したものである。ＰｒｅＩｎｓｔａｌｌタグ設定７００およびＳｔａｔｅタグ設定７０１は、実施形態１と同様のため説明を省略する。Ｒｅｇｉｏｎタグ設定７０２は、画像形成装置１３０の仕向け設定に従い、プレインストールするアプリケーションを変更する指定である。Ｒｅｇｉｏｎタグ設定７０２の値が“ｙｅｓ”の場合、更に次のＪａｒ．ＸＸタグ、Ｌｉｃ．ＸＸタグ（ＸＸは仕向け毎の国コード）に従ってインストールを行う。Ｒｅｇｉｏｎタグ設定７０２の値が“ｎｏ”の場合は実施形態１で示したディレクトリ直下にあるアプリケーションを探索し、プレインストールを行う。国コードの例を図８に示す。なお、各国を示すコードの構成はこれに限定するものではなく、他の構造であっても構わない。
【００４８】
Ｊａｒ．ＪＰタグ設定７０３は、日本仕向けに対してどのアプリケーションをインストールするかを示す。また、Ｌｉｃ．ＪＰタグ設定７０４は、日本仕向けのアプリケーションに対して利用するライセンスを示す。
【００４９】
同じくＪａｒ．ＵＳタグ設定７０５は、北米仕向けに対して、どのアプリケーションをインストールするかを示し、Ｌｉｃ．ＵＳタグ設定７０６は北米仕向けのライセンスを示す。
【００５０】
［処理フロー］
図９は、本実施形態２におけるプレインストール時のインストーラ２０９の動作を示すフローチャートである。なおＳ９０１およびＳ９０２は、図５のＳ５０１およびＳ５０２と同様のため説明を省略する。
【００５１】
Ｓ９０３において、インストーラ２０９は、最初のプレインストールアプリケーションディレクトリであるＡｐｐｌｉｃａｔｉｏｎ２ディレクトリ６０３の．ｐｒｅｉｎｓｔａｌｌファイル６０８のＰｒｅＩｎｓｔａｌｌタグ設定７００の値をチェックする。この値が“ｙｅｓ”であれば（Ｓ９０３にてＹＥＳ）Ｓ９０４に進み、値が“ｎｏ”であれば（Ｓ９０３にてＮＯ）、Ｓ９１１に進む。
【００５２】
Ｓ９０４において、インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイル６０８のＲｅｇｉｏｎタグ設定７０２の値をチェックする。値が“ｎｏ”であれば（Ｓ９０４にてＮＯ）Ｓ９０５に進み、値が“ｙｅｓ”であれば（Ｓ９０４にてＹＥＳ）Ｓ９０６に進む。
【００５３】
Ｓ９０５において、実施形態１で示したようにインストーラ２０９は、プレインストールアプリケーションディレクトリ直下のアプリケーションを探索し、見つかったアプリケーションをインストールする。その後、Ｓ９０９へ進む。
【００５４】
Ｓ９０６において、インストーラ２０９は、仕向け管理部２１０に画像形成装置１３０の仕向け情報を問い合わせる。Ｓ９０７において、インストーラ２０９は、Ｓ９０６にて仕向け管理部２１０から取得した仕向け情報と一致するＪａｒ．ＸＸ／ＬｉｃＸＸ（ＸＸは仕向けの国コード）が．ｐｒｅｉｎｓｔａｌｌファイル６０８の中にあるかをチェックする。一致するファイルがある場合は（Ｓ９０７にてＹＥＳ）Ｓ９０８に進み、記載がない場合は（Ｓ９０７にてＮＯ）Ｓ９１１に進む。
【００５５】
Ｓ９０８において、インストーラ２０９はＳ９０７でチェックした情報に従ってアプリケーションをインストールする。例えば、日本の国コードは図８より“ＪＰ”であるとする。仕向け情報で日本が指定されている場合、インストーラ２０９は、Ｊａｒ．ＪＰタグ設定の値であるＡｐｐｌｉｃａｔｉｏｎ２ＪＰ．ｊａｒをＬｉｃ．ＪＰタグ設定の値であるＬｉｃｅｎｓｅＪＰ．ｌｉｃライセンスでインストールを行う。その後、Ｓ９０９に進む。
【００５６】
なおＳ９０９〜Ｓ９１２は、実施形態１における図５のＳ５０５〜Ｓ５０８と同様のため説明を省略する。
【００５７】
以上、本実施形態２により、画像形成装置の仕向け毎にインストールするアプリケーションが異なるプレインストールが可能となる。
【００５８】
＜実施形態３＞
本実施形態３では、商談対応やユーザの設置先の状況などによりプレインストールの挙動やライセンスを個別の事情に合わせて簡単に変えてプレインストールする例を示す。具体的に説明すると、例えば以下のようなプレインストールの制御が考えられる。
【００５９】
（１）Ａｐｐｌｉｃａｔｉｏｎ１はプレインストールさせない
（２）Ａｐｐｌｉｃａｔｉｏｎ２はプレインストールして停止状態にする
（３）Ａｐｐｌｉｃａｔｉｏｎ２は日本仕向けだが、北米仕向けをインストールする
（４）Ａｐｐｌｉｃａｔｉｏｎ２は通常の無期限ライセンスではなく、時限付きのライセンスを使う
これらの要求を実施形態１、２で示した例で実現するには．ｐｒｅｉｎｓｔａｌｌファイルを差し替えた異なるファームウェアを用意する必要がある。本実施形態３では、上記（１）〜（４）を実現するためＵＳＢ１００１を使った例を示す。
【００６０】
［システム構成］
図１０は、本実施形態を説明するためのブロック図であり、画像形成装置１０００とＵＳＢ１００１から構成される。なお画像形成装置１０００内のＨＤＤ１０４に保存された、プレインストールアプリケーションを含むファームウェアの構成例は、図３のＡｐｐｌｉｃａｔｉｏｎ１ディレクトリと図６のＡｐｐｌｉｃａｔｉｏｎ２ディレクトリを備える。
【００６１】
次にＵＳＢ１００１に保存される内容１００２について説明する。まずルートの位置にＰＲＥＩＮＳＴディレクトリ１００３がある。ＰＲＥＩＮＳＴディレクトリ１００３直下にＡｐｐｌｉｃａｔｉｏｎ１ディレクトリ１００４、Ａｐｐｌｉｃａｔｉｏｎ２ディレクトリ１００５が配置されている。さらにＡｐｐｌｉｃａｔｉｏｎ１ディレクトリ１００４の直下には．ｐｒｅｉｎｓｔａｌｌファイル１００６が格納されている。．ｐｒｅｉｎｓｔａｌｌファイル１００６の内容を図１１に示す。ここではＰｒｅＩｎｓｔａｌｌタグ設定１２００の値が“ｎｏ”に指定される例を示す。
【００６２】
次に、Ａｐｐｌｉｃａｔｉｏｎ２ディレクトリ１００５の直下には、ライセンスファイル１００７（ＬｉｃｅｎｓｅＪＰ．ｌｉｃ）、ライセンスファイル１００８（ＬｉｃｅｎｓｅＵＳ．ｌｉｃ）、．ｐｒｅｉｎｓｔａｌｌファイル１００９が格納された構成となる。図１２に制御ファイルである．ｐｒｅｉｎｓｔａｌｌファイル１００９の内容を示す。本例ではＳｔａｔｅタグ設定１３０１の値が、“ｓｔｏｐｐｅｄ”で指定されている例であり、Ｊａｒ．ＪＰタグ設定１３０４においてＡｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒが指定されている例を示す。
【００６３】
［処理フロー］
次に図１３は、画像形成装置１０００に対してＵＳＢ１００１が接続された際のインストーラ２０９の動作を示すフローチャートである。Ｓ１４０１において、インストーラ２０９は、ＵＳＢドライバ２０８にＵＳＢ１００１が接続されているかを問い合わせる。ＵＳＢ１００１が接続されていない場合は（Ｓ１４０１にてＮＯ）Ｓ１４０３に進み、インストーラ２０９は図９に示すフローに従ってアプリケーションのプレインストールを行う。
【００６４】
一方、ＵＳＢ１００１が接続されている場合は（Ｓ１４０１にてＹＥＳ）Ｓ１４０２に進む。Ｓ１４０２において、インストーラ２０９は、ＵＳＢ１００１内のＰＲＥＩＮＳＴディレクトリに．ｐｒｅｉｎｓｔａｌｌファイルおよびライセンスファイルが格納されているかをＵＳＢドライバ２０８に問い合わせる。各ファイルがある場合は、画像形成装置１０００内にある同ファイルを使用せずにＵＳＢ１００１内にある同ファイルを使用して、図９に示すフローに従って、プレインストールを実行する。
【００６５】
ＵＳＢ１００１が接続されている場合のＡｐｐｌｉｃａｔｉｏｎ１とＡｐｐｌｉｃａｔｉｏｎ２のインストールについて詳細を説明する。ＵＳＢ１００１が接続されている場合、インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイル３０８ではなく、ＵＳＢ１００１内にある．ｐｒｅｉｎｓｔａｌｌファイル１００６のＰｒｅＩｎｓｔａｌｌタグ設定１２００の値を優先して参照する。ＰｒｅＩｎｓｔａｌｌタグ設定１２００の値が“ｎｏ”であるため、Ａｐｐｌｉｃａｔｉｏｎ１のプレインストールは実行されない。これにより、上述した（１）に対応することができる。
【００６６】
同様にＡｐｐｌｉｃａｔｉｏｎ２についても、インストーラ２０９は、ＵＳＢ１００１に格納されたライセンスファイル１００７、ライセンスファイル１００８、および．ｐｒｅｉｎｓｔａｌｌファイル１００９を優先して参照する。ＵＳＢ１００１に格納された．ｐｒｅｉｎｓｔａｌｌファイル１００９のＳｔａｔｅタグ設定１３０１の値が“ｓｔｏｐｐｅｄ”であるため、Ａｐｐｌｉｃａｔｉｏｎ２はインストール後に開始されない。これにより上述した（２）に対応することができる。
【００６７】
また、ＵＳＢ１００１の．ｐｒｅｉｎｓｔａｌｌファイル１００９のＪａｒ．ＪＰタグ設定１３０３の値がＡｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒである。そのため、画像形成装置１０００の仕向け設定が日本であるときは、Ａｐｐｌｉｃａｔｉｏｎ２ＵＳ．ｊａｒがインストールされる。これにより上述した（３）に対応することができる。
【００６８】
さらにライセンスファイル１００７のライセンス期限を時限付きのものにする。その結果、インストーラ２０９は、ライセンスファイル１００７を用いてインストールを行うため、時限付きライセンスを利用できる。これにより上述した（４）に対応することができる。
【００６９】
以上、本実施形態３により、ユーザ毎の都合に合わせて、容易にプレインストール時の挙動を変えることが可能となる。
【００７０】
＜実施形態４＞
本実施形態４は実施形態３で示した別の実施形態として、ＵＳＢ内にサーバを参照するためのファイル（以下、サーバ参照ファイル）を配置する実施形態である。サーバ参照ファイルを配置することにより、指定したサーバ１５０１にあるプレインストールオプション指定ファイルを優先して参照することができプレインストールの挙動を個別の事情に応じて変更可能となる。以下、具体的に説明する。
【００７１】
図１４は、本実施形態４のブロック図である。画像形成装置１５００とサーバ１５０１、ＵＳＢ１５０４から構成される。
【００７２】
図１５はサーバ１５０１のハードウェア構成図である。本実施形態のサーバ１５０１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）上に実現されるため、汎用コンピュータと同様の構成でよい。サーバ１５０１において、制御部１６００は、入力部１６０４、出力部１６０５、通信制御部１６０６、記憶部１６０８、記憶媒体駆動部１６０９、および入出力インタフェース１６１０がバスライン１６０７を介して接続される。
【００７３】
バスライン１６０７は、制御部１６００とその他の構成要素との間のデータ信号、制御信号などの送受信を媒介する。制御部１６００は、ＣＰＵ１６０１、ＲＯＭ１６０２、およびＲＡＭ１６０３を有する。
【００７４】
ＣＰＵ１６０１は、所定のプログラムに従って各種の演算、情報処理、及びサーバ１５０１全体の制御を行う。ＲＯＭ１６０２は、ＣＰＵ１６０１が各種演算や制御を行う各種プログラム、データ及びパラメータなどを格納した読込専用の記憶装置である。ＲＯＭ１６０２に格納されたプログラムやデータ、パラメータなどは読み込み可能だが、書き換えたり消去したりすることはできない。ＲＡＭ１６０３は、ＣＰＵ１６０１にワーキングメモリとして使用されるランダムアクセス可能な記憶装置である。プログラムやデータなどの書き込み消去が可能である。
【００７５】
入力部１６０４は、例えばキーボードやマウスなどの入力装置から構成される。出力部１６０５は、例えば表示装置、印刷装置などから構成される。通信制御部１６０６は、画像形成装置１５００との通信を確立・維持する。記憶部１６０８は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成される。各種プログラムや、サーバ１５０１を動作させるための基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などが記憶される。記憶媒体駆動部１６０９は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、ＣＤ−ＲＯＭなどが対象媒体となる。
【００７６】
図１４を用いた構成の説明に戻る。本例では、サーバ１５０１はＩＰアドレス１５０２で示した“１０．１０１．７．１５３”がＩＰアドレスとして割り振られているものとする。なお、ＩＰアドレスではなく、他の位置情報を用いてサーバにアクセスするようにしても構わない。
【００７７】
次にサーバ１５０１の記憶部１６０８に保存されている画像形成装置１５００用のファームウェア１５０８の構成について説明する。Ｄｅｖｉｃｅ１／ＰＲＥＩＮＳＴディレクトリ１５０９の直下にＡｐｐｌｉｃａｔｉｏｎ１ディレクトリ１５１０およびＡｐｐｌｉｃａｔｉｏｎ２ディレクトリ１５１１が配置される。Ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ１５１０の直下には、．ｐｒｅｉｎｓｔａｌｌファイル１５１２が配置される。なお．ｐｒｅｉｎｓｔａｌｌファイル１５１２の内容は、実施形態３にて説明した図１１と同様とする。
【００７８】
一方、Ａｐｐｌｉｃａｔｉｏｎ２ディレクトリ１５１１の直下にはライセンスファイル１５１３（ＬｉｃｅｎｓｅＪＰ．ｌｉｃ）、ライセンスファイル１５１４（ＬｉｃｅｎｓｅＵＳ．ｌｉｃ）、および．ｐｒｅｉｎｓｔａｌｌファイル１５１５が格納される。制御ファイルである．ｐｒｅｉｎｓｔａｌｌファイル１５１５の内容は、実施形態３にて説明した図１２と同様とする。
【００７９】
またＵＳＢ１５０４には、サーバ参照ファイル１５０５が保存されている。さらにサーバ参照ファイル１５０５には、参照するサーバ１５０１のＩＰアドレス１５０６（「１０．１０１．７．１５３」）と、サーバ１５０１内で参照するべきパス１５０７（「／Ｄｅｖｉｃｅ１／ＰＲＥＩＮＳＴ／」）が記載されている。
【００８０】
［処理フロー］
図１６は、本実施形態において画像形成装置１５００にＵＳＢ１５０４を接続した際のインストーラ２０９の動作を示すフローチャートである。
【００８１】
Ｓ１７０１において、インストーラ２０９は、ＵＳＢドライバ２０８にＵＳＢが接続されているかを問い合わせる。非接続の場合は（Ｓ１７０１にてＮＯ）Ｓ１７０５に進み、インストーラ２０９は、実施形態２で述べた図９に示す処理フローを実施する。ＵＳＢが接続されている場合は（Ｓ１７０１にてＹＥＳ）Ｓ１７０２に進む。
【００８２】
Ｓ１７０２において、インストーラ２０９は、ＵＳＢ１５０４内のサーバ参照ファイル１５０５に記載のＩＰアドレス１５０６を取得してＳ１７０３に進む。Ｓ１７０３において、インストーラ２０９は、ＩＰアドレス１５０６に対応するサーバ１５０１を探索する。探索失敗の場合は（Ｓ１７０３にてＮＯ）Ｓ１７０５へ進み、成功の場合は（Ｓ１７０３にてＹＥＳ）Ｓ１７０４に進む。
【００８３】
Ｓ１７０４において、インストーラ２０９は、サーバ１５０１上の．ｐｒｅｉｎｓｔａｌｌファイル１５１２、ライセンスファイル１５１３、ライセンスファイル１５１４、．ｐｒｅｉｎｓｔａｌｌファイル１５１５を参照する。以降は実施形態３にて述べた処理と同様であるため説明を省略する。
【００８４】
以上、本実施形態４によりＵＳＢ１５０４に参照するサーバの情報を格納することによりユーザ毎のプレインストール時の挙動をサーバにより変更可能となる。また、サーバ上において一括で設定内容を管理可能となる。
【００８５】
＜実施形態５＞
本実施形態５は、プレインストールに対応したファームウェアのアップデートに関する。図１７は、従来のインストール状態の変化を示した図である。画像形成装置１８００は、ＨＤＤ１０４にファームウェア１８３０を保持している。ファームウェア１８３０は、プレインストールアプリケーションとして、Ａｐｐｌｉｃａｔｉｏｎ１（Ｖ１．０）１８０１とＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．０）１８０２を保持している。以下、括弧内の数値はアプリケーションのバージョンを示す。
【００８６】
初回起動時に１８５０において、インストーラ２０９が、プレインストールを実行する。その結果、インストール状態１８３１で示すようにＡｐｐｌｉｃａｔｉｏｎ１（Ｖ１．０）１８０３とＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．０）１８０４という状態になる。次に、１８５１において、ユーザからの指示によりインストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ１（Ｖ２．０）を上書きインストールする。その結果、インストール状態１８３２で示すＡｐｐｌｉｃａｔｉｏｎ１（Ｖ２．０）１８０５とＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．０）１８０４という状態になる。さらに１８５２において、ユーザからの指示によりインストーラ２０９は、Ａｐｐｌｉｃａｔｉｏｎ２（Ｖ１．０）１８０４をアンインストールする。その結果、インストール状態１８３３で示すＡｐｐｌｉｃａｔｉｏｎ１（Ｖ２．０）１８０５という状態になる。
【００８７】
次に、インストーラ２０９は、１８５３において、ファームウェアを更新する。ファームウェアの更新は、自動的に行われてもよく、手動でもよい。ここでファームウェア１８３４は、プレインストールアプリケーションとして、Ａｐｐｌｉｃａｔｉｏｎ１（Ｖ１．５）１８０６とＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．１）１８０８を保持している。この場合に、初回起動時に１８５４において、インストーラ２０９がプレインストールを実行する。その結果、インストール状態１８３５で示すようにＡｐｐｌｉｃａｔｉｏｎ１（Ｖ１．５）１８１２とＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．１）１８１３がインストールされた状態になる。
【００８８】
以上からユーザの所望とする、インストールしたＡｐｐｌｉｃａｔｉｏｎ１（Ｖ２．０）１８０５はバージョンダウンとなる。また、過去にアンインストールしたＡｐｐｌｉｃａｔｉｏｎ２（Ｖ１．０）１８０４が、再度インストールされてしまう。
【００８９】
図１７の．ｐｒｅｉｎｓｔａｌｌファイル１８０８、１８１１を図１８に示すように拡張することで、この状態を回避する指定方法を示す。ＰｒｅＩｎｓｔａｌｌタグ設定１９０１とＳｔａｔｅタグ設定１９０２は、実施形態１にて説明した図４のＰｒｅＩｎｓｔａｌｌタグ設定４００およびＳｔａｔｅタグ設定４０１と同じであるため説明を省略する。
【００９０】
ここでは本実施形態の特長であるＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３を説明する。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｙｅｓ”の場合は、すべての上書きインストールを可能とする制御指示である。また、ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｖｕｐ＿ｙｅｓ”の場合は、アプリケーションがバージョンアップしているときのみ上書きインストールを可能とする制御指示である。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｎｏ”の場合は、上書きインストールを許さない制御指示を示す。
【００９１】
次に本実施形態の特長であるＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４を説明する。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４の値が“ｙｅｓ”の場合は、一度アンインストールされたアプリケーションであっても上書きインストールを許可する制御の指示である。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４の値が“ｎｏ”の場合は、一度アンインストールされたアプリケーションは、上書きインストールを不可とする制御の指示を示す。
【００９２】
ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３およびＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４により、更新制御情報を実現する。
【００９３】
［処理フロー］
図１９は、プレインストール時にＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグとＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグを判定するインストーラ２０９の動作を示すフローチャートである。
【００９４】
Ｓ２００１において、インストーラ２０９は、インストール対象であるプレインストールアプリケーションが、既に画像形成装置１８００にインストールされているかを判定する。インストールされていない場合は（Ｓ２００１にてＮＯ）Ｓ２００２に進み、インストールされている場合は（Ｓ２００１にてＹＥＳ）Ｓ２００４に進む。
【００９５】
Ｓ２００２において、インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイルのＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４の値をチェックする。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４の値が“ｙｅｓ”であれば（Ｓ２００２にてＹＥＳ）、Ｓ２００６に進み、インストーラ２０９はインストールを行う。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＵｎｉｎｓｔタグ設定１９０４の値が“ｎｏ”であれば（Ｓ２００２にてＮＯ）、Ｓ２００３に進む。
【００９６】
Ｓ２００３において、インストーラ２０９は、対象となるアプリケーションがアンインストールされた履歴があるかをチェックする。なおアプリケーションがアンインストールされた履歴は、履歴情報としてＲＡＭ１０３やＨＤＤ１０４に保存されているものとする。これにより履歴情報保持手段を実現する。
【００９７】
該当する履歴がない場合は（Ｓ２００３にてＮＯ）、Ｓ２００６に進み、インストーラ２０９はインストールを開始する。履歴がある場合は（Ｓ２００３にてＹＥＳ）、本処理フローを終了する。
【００９８】
Ｓ２００４において、インストーラ２０９は、．ｐｒｅｉｎｓｔａｌｌファイルのＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値をチェックする。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｙｅｓ”であれば、Ｓ２００６に進み、インストーラ２０９はインストールを行う。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｎｏ”であれば、本処理フローを終了する。ＯｖｅｒｗｒｉｔｅＡｆｔｅｒＰｒｅｉｎｓｔタグ設定１９０３の値が“ｖｕｐ＿ｙｅｓ”であれば、Ｓ２００５に進む。
【００９９】
Ｓ２００５において、インストーラ２０９は、インストール対象のアプリケーションのバージョンと既存のアプリケーションのバージョンを比較する。ここで、既存のアプリケーションのバージョンは、アプリケーション管理部２０４で管理されている。そのため、インストーラ２０９は、アプリケーション管理部２０４に既存のアプリケーションのバージョンを問い合わせる。インストール対象のアプリケーションが既存のアプリケーションよりバージョンアップされている場合は（Ｓ２００５にてＹＥＳ）Ｓ２００６に進み、インストーラ２０９はインストールを行う。それ以外の場合は（Ｓ２００５にてＮＯ）、本処理フローを終了する。
【０１００】
以上、本実施形態５により、一度アンインストールしたアプリケーションが再びインストールされる、あるいは勝手にバージョンダウンすることを防止できる。
【０１０１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014059772.tif 000003
【図２】
2014059772.tif 000004
【図３】
2014059772.tif 000005
【図４】
2014059772.tif 000006
【図５】
2014059772.tif 000007
【図６】
2014059772.tif 000008
【図７】
2014059772.tif 000009
【図８】
2014059772.tif 000010
【図９】
2014059772.tif 000011
【図１０】
2014059772.tif 000012
【図１１】
2014059772.tif 000013
【図１２】
2014059772.tif 000014
【図１３】
2014059772.tif 000015
【図１４】
2014059772.tif 000016
【図１５】
2014059772.tif 000017
【図１６】
2014059772.tif 000018
【図１７】
2014059772.tif 000019
【図１８】
2014059772.tif 000020
【図１９】
2014059772.tif 000021