(57)【要約】【課題】外部記憶装置内のスクリプトにしたがって行うソフトウェア設置の途中で外部記憶装置を抜去して次のソフトウェア設置作業に移ることを可能とするデバイス装置を提供する。【解決手段】画像形成装置１０１が、外部記憶装置が接続された後、外部記憶装置から取得されたスクリプトに従い、ソフトウェア設置を行う。画像形成装置１０１は、ソフトウェア設置を行っている際に、スクリプトに従い行われる後工程のソフトウェア設置に関連するデータを外部記憶装置から取得し保存する。そして、画像形成装置１０１が、行っているソフトウェア設置の工程の直後の工程までのソフトウェア設置に関連するデータがり保存されたことに応じて、外部記憶装置との接続解除を促す通知を行う。【選択図】図１
2015041179.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置を接続することが可能なデバイス装置であって、 
前記外部記憶装置が接続された後、前記外部記憶装置から取得されたスクリプトに従い、前記外部記憶装置に保存されたソフトウェアおよび前記ソフトウェアに対応する設定値を設置するソフトウェア設置を行う設置手段と、
前記設置手段が前記スクリプトに従い前工程のソフトウェア設置を行っている際に、前記スクリプトに従い行われる後工程のソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値を前記外部記憶装置から取得し保存する保存手段と、
前記設置手段が行っているソフトウェア設置の工程の直後の工程までのソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値が前記保存手段により保存されたことに応じて、前記外部記憶装置との接続解除を促す通知を行う通知手段と、を有するデバイス装置。
【請求項２】
前記設置手段は、前記外部記憶装置との接続が解除された後は、前記保存手段により前記デバイス装置に保存された前記ソフトウェアおよび前記ソフトウェアに対応する設定値を使用して前記ソフトウェア設置を行うことを特徴とする請求項１に記載のデバイス装置。
【請求項３】
前記スクリプトには、前記設置手段が前記ソフトウェア設置に使用する前記ソフトウェアおよび前記ソフトウェアに対応する設定値へのパスが記載されており、
前記保存手段は、前記ソフトウェアおよび前記ソフトウェアに対応する設定値の保存が完了した後に、前記スクリプトに記載されている、前記保存が完了した前記ソフトウェアおよび前記ソフトウェアに対応する設定値へのパスを、前記外部記憶装置から前記デバイス装置に変更することを特徴とする請求項２に記載のデバイス装置。
【請求項４】
前記スクリプトには、前記ソフトウェア設置の工程の順番が記載されており、
前記保存手段は、前記スクリプトに記載されている順番が遅い工程のソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値を優先して保存することを特徴とする請求項１乃至３のいずれか１項に記載のデバイス装置。
【請求項５】
前記保存手段は、前記スクリプトに記載されている順番が同じ複数の工程がある場合には、前記複数の工程のそれぞれに対応する前記ソフトウェアおよび前記設定値のサイズに基づいて、前記複数の工程のそれぞれに対応する前記ソフトウェアおよび前記設定値の保存順序を決定することを特徴とする請求項４に記載のデバイス装置。
【請求項６】
前記ソフトウェアおよび前記設定値を保存すると所定の容量を超える場合に、前記設置手段は、前記外部記憶装置に保存されている前記ソフトウェアおよび設定値を使用して前記ソフトウェア設置を行い、前記通知手段は、前記外部記憶装置に保存されている前記ソフトウェアおよび設定値を使用した前記ソフトウェア設置が完了した後に、前記外部記憶装置との接続解除を促す通知を行うことを特徴とする請求項１乃至５のいずれか１項に記載のデバイス装置。
【請求項７】
前記所定の容量の値は、前記デバイス装置が備える記憶手段の保存容量の値または所定のマニフェストファイルにおいて宣言された値に基づく容量の値であることを特徴とする請求項６に記載のデバイス装置。
【請求項８】
外部記憶装置を接続することが可能なデバイス装置であって、
前記デバイス装置に接続された前記外部記憶装置から取得される、ソフトウェア設置を指示するスクリプトに記載されている前記ソフトウェア設置の工程を、複数の分割工程に分割する分割手段と、
前記分割工程に関連するソフトウェアおよび前記ソフトウェアに対応する設定値を、前記外部記憶装置から取得し保存する保存手段と、
前記分割工程に関連するソフトウェアおよび前記ソフトウェアに対応する設定値の保存が完了する度に、前記外部記憶装置との接続解除を促す通知を行う通知手段と、
前記外部記憶装置との接続が解除された後に、前記保存が完了した前記ソフトウェアおよび前記ソフトウェアに対応する設定値を使用して前記ソフトウェア設置を行う設置手段と、を有し、
前記設置手段による前記保存が完了した前記ソフトウェアおよび前記ソフトウェアに対応する設定値を使用したソフトウェア設置が完了した後に、前記通知手段が、前記外部記憶装置の前記デバイス装置への接続を促す通知を行い、前記保存手段が、次の分割工程に関連するソフトウェアおよび前記ソフトウェアに対応する設定値を前記外部記憶装置から取得し保存する
ことを特徴とするデバイス装置。
【請求項９】
前記保存手段は、前記スクリプトにおける、前記ソフトウェア設置の各々の工程の記載順序にしたがって、前記ソフトウェア設置の工程を複数の分割工程に分割する
ことを特徴とする請求項８に記載のデバイス装置。
【請求項１０】
外部記憶装置を接続することが可能なデバイス装置の制御方法であって、 
前記外部記憶装置が接続された後、前記外部記憶装置から取得されたスクリプトに従い、前記外部記憶装置に保存されたソフトウェアおよび前記ソフトウェアに対応する設定値を設置するソフトウェア設置を行う設置ステップと、
前記設置ステップで前記スクリプトに従い前工程のソフトウェア設置を行っている際に、前記スクリプトに従い行われる後工程のソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値を前記外部記憶装置から取得し保存する保存ステップと、
前記設置ステップで行っているソフトウェア設置の工程の直後の工程までのソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値が前記保存工程により保存されたことに応じて、前記外部記憶装置との接続解除を促す通知を行う通知ステップと、を有する制御方法。
【請求項１１】
請求項１０に記載の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス装置におけるソフトウェア設置を効率化する技術に関する。
【背景技術】
【０００２】
画像形成装置を新規導入するにあたり、事前に画像形成装置の使用環境に応じた初期設置作業を行う必要がある。初期設置作業には、印刷物の仕上げ処理を行うフィニッシャーなどのハードウェアオプションの取り付けや、画像形成装置の制御プログラムのインストールや設定作業などが挙げられる。
【０００３】
画像形成装置の制御プログラムのインストールや設定作業のことを、以下ではソフトウェア設置と記述する。すなわち、ソフトウェア設置とは、対象となるデバイス装置に対して、ソフトウェアおよびソフトウェアに対応する設定値を設置することである。ソフトウェア設置は、デバイス装置に対する、設定情報や拡張プログラムのインストールを含む。
【０００４】
画像形成装置に対するソフトウェア設置を行う際には、同じユーザ環境に導入される画像形成装置の場合、ほぼ同じ構成に設定することが多い。したがって、ソフトウェア設置を効率良く行うために、例えば、制御プログラムを設定済みの画像形成装置からエクスポートした設定情報を、制御プログラムを未設定の画像形成装置にインポートすることが考えられる。
【０００５】
特許文献１は、外部記憶装置内のプログラムにしたがって、外部記憶装置からデータをコンピュータに自動的にコピーする技術を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３１８４８７公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ソフトウェア設置を自動化し、手作業を減らすことによって作業コストを減らすために、作業手順を示す指示書（以降、「スクリプト」と記述）を定義し、スクリプトに従ってプログラムにソフトウェア設置作業を実行させることが考えられる。
【０００８】
しかし、特許文献１が開示する技術に、上述したスクリプトを用いたソフトウェア設置方法を適用して実現される方法では、以下の課題がある。すなわち、この方法では、スクリプトを考慮せず全てのデータを外部記憶装置からデバイス装置に対してコピーしようとするので、データのコピーが完了するまで外部記憶装置をデバイス装置から抜くことができない。
【０００９】
また、データのコピーの途中でコピー先の保存容量を超えてしまった場合には、外部記憶装置内のデータを用いてソフトウェア設置を行う必要があるので、外部記憶装置をデバイス装置から抜くことができない。
【００１０】
本発明は、外部記憶装置内のスクリプトにしたがって行うソフトウェア設置の途中で外部記憶装置を抜去して次のソフトウェア設置作業に移ることを可能とするデバイス装置の提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態のデバイス装置は、外部記憶装置を接続することが可能なデバイス装置であって、前記外部記憶装置が接続された後、前記外部記憶装置から取得されたスクリプトに従い、前記外部記憶装置に保存されたソフトウェアおよび前記ソフトウェアに対応する設定値を設置するソフトウェア設置を行う設置手段と、前記設置手段が前記スクリプトに従い前工程のソフトウェア設置を行っている際に、前記スクリプトに従い行われる後工程のソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値を前記外部記憶装置から取得し保存する保存手段と、前記設置手段が行っているソフトウェア設置の工程の直後の工程までのソフトウェア設置に関連する前記ソフトウェアおよび前記ソフトウェアに対応する設定値が前記保存手段により保存されたことに応じて、前記外部記憶装置との接続解除を促す通知を行う通知手段と、を有する。
【発明の効果】
【００１２】
本発明のデバイス装置によれば、外部記憶装置内のスクリプトにしたがってソフトウェア設置を行っている途中で外部記憶装置を抜去して次のソフトウェア設置作業に移ることを可能となる。したがって、ソフトウェア設置作業全体の効率化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のシステム構成例を示す図である。
【図２】画像形成装置の構成例を示す図である。
【図３】ソフトウェア設置を実行するための画像形成装置のソフトウェア構成の一例を示す図である。
【図４】拡張プログラムの設定情報の一例を示す図である。
【図５】本実施例におけるマニフェストファイルを示す図である。
【図６】メインメニュー画面の一例を示す図である。
【図７】設定メニュー画面の一例を示す図である。
【図８】初期設置作業サポートプログラムの機能構成の一例を示す図である。
【図９】初期設置作業サポートプログラムが使用するＵＳＢストレージ内のフォルダ及びファイル構成の一例を示す図である。
【図１０】スクリプトを示す図である。
【図１１】実施例１のソフトウェア設置処理を説明するフローチャートである。
【図１２】初期設置作業サポートプログラムのＵＩ画面の例を示す図である。
【図１３】スクリプトの記載の書き換えを説明する図である。
【図１４】初期設置作業サポートプログラムのＵＩ画面の例を示す図である。
【図１５】実施例２のソフトウェア設置処理を説明するフローチャートである。
【図１６】実施例３のソフトウェア設置処理を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
（実施例１）
図１は、本実施形態のシステム構成例を示す図である。
図１に示す初期設置作業処理システムは、ソフトウェア設置を含む初期設置作業を実行する。
【００１５】
初期設置作業処理システムは、画像形成装置１０１、可搬記憶媒体１０２、クライアントコンピュータ１０３を備える。画像形成装置１０１は、スキャナ、プリンタ、ファクシミリ、ファイル送信機能等の複数の機能を有する複合機である。また、画像形成装置１０１は、外部記憶装置である可搬記憶媒体１０２を接続するインタフェースを有している。可搬記憶媒体１０２を接続するインタフェースの種別は問わないが、本実施例ではＵＳＢ（Universal Serial Bus）インタフェースを用いることとする。ＵＳＢインタフェースに可搬記憶媒体１０２を接続することで、画像形成装置１０１は、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。
【００１６】
可搬記憶媒体１０２は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施例では、可搬記憶媒体１０２として、ＵＳＢマスストレージクラスを実装するＵＳＢストレージ２０４（図２）を用いる。
【００１７】
クライアントコンピュータ１０３は、パーソナルコンピュータであり、可搬記憶媒体１０２を接続するためのインタフェースを有している。可搬記憶媒体１０２を接続するインタフェースの種別は問わないが、本実施例では、ＵＳＢインタフェースを用いる。ＵＳＢインタフェースに可搬記憶媒体１０２を接続することで、クライアントコンピュータ１０３は、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。また、クライアントコンピュータ１０３は、Ｗｅｂブラウザープログラムを有し、画像形成装置１０１が公開するＷｅｂサイトにアクセスすることで、画像形成装置１０１の各種設定を行うことができる。
【００１８】
図２は、画像形成装置の構成例を示す図である。
画像形成装置１０１は、制御ユニット２００、操作部２０１、プリンタ２０２、スキャナ２０３を備える。ＵＳＢストレージ２０４は、データを格納するための外部記憶装置であり、画像形成装置１０１に対して着脱可能である。ＵＳＢストレージ２０４は、ＵＳＢホストＩ／Ｆ（Interface）２１４を介して制御ユニット２００に接続される。
【００１９】
制御ユニット２００は、操作部関連の処理部として、ＣＰＵ２１０、ＲＡＭ２１１、操作部Ｉ／Ｆ２１２、ネットワークＩ／Ｆ２１３、ＲＯＭ２１４、ＨＤＤ２１５、画像バスＩ／Ｆ２１６、システムバス２１７、ＵＳＢホストＩ／Ｆ２１４を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
【００２０】
また、制御ユニット２００は、印刷、スキャン関連の処理部として、画像バス２１８、デバイスＩ／Ｆ２１９、スキャナ画像処理部２２０、プリンタ画像処理部２２１を備える。なお、制御ユニット２００は、スキャナ２０３、及びスキャナ画像処理部２２０については必要に応じて備えることになる。また、ＵＳＢストレージ２０４も必要に応じて画像形成装置１０１に着脱することになる。
【００２１】
ＣＰＵ２１０は、制御ユニット２００全体を制御するためのコントローラである。ＲＡＭ２１１は、画像データやソフトウェアの動作に必要な処理を一時記憶するためのメモリである。
【００２２】
操作部Ｉ／Ｆ２１２は、操作部２０１とのインタフェースであり、操作部２０１で表示する画像データを操作部２０１に対して出力する。また、操作部Ｉ／Ｆ２１２は、ユーザが操作部２０１により入力した情報をＣＰＵ２１０へ伝達する。
【００２３】
ネットワークＩ／Ｆ２１３は、ネットワークと接続しており、ネットワークを介して、外部の装置と情報のやり取りをするインタフェースである。外部の装置とは、例えばクライアントコンピュータ１０３のことを指す。
【００２４】
ＵＳＢホストＩ／Ｆ２１４は、ＨＤＤ２１６に格納されているデータをＵＳＢストレージ２０４に出力する。また、ＵＳＢホストＩ／Ｆ２１４は、ＵＳＢストレージ２０４に格納されているデータを読み出し、読み出したデータをＣＰＵ２１０に伝える。なお、ＵＳＢホストＩ／Ｆ２１４には、ＵＳＢストレージ２０４を含む複数のＵＳＢデバイスが接続可能である。
【００２５】
ＲＯＭ２１５は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２１６は、システムソフトウェア、画像データ、設定情報などを格納する。
【００２６】
画像バスＩ／Ｆ２１７は、システムバス２１７と画像バス２１８とを接続し、データ変換を行うバスブリッジである。システムバス２１７は、制御ユニット２００を構成する各コンポーネント同士の共通データ交換経路である。
【００２７】
画像バス２１８は、ＰＣＩバス、またはＩＥＥＥ１３９４で構成されており、画像データを高速に転送する経路である。デバイスＩ／Ｆ２２０は、画像入出力デバイスであるプリンタ２０２及びスキャナ２０３と制御ユニット２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００２８】
スキャナ画像処理部２２０は、入力画像に対し、補正や加工、編集を行う。プリンタ画像処理部２２１は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度の変換などを行う。
【００２９】
図３は、ソフトウェア設置を実行するための、画像形成装置のソフトウェア構成の一例を示す図である。
ＯＳ３００上では、ネイティブプログラム３０１と拡張プログラム実行プラットフォーム３０２とが動作している。ネイティブプログラム３０１は、プリンタやＦＡＸ、スキャナなどの、元々備わっている制御用プログラムである。拡張プログラム実行プラットフォーム３０２は、拡張プログラムの実行プラットフォームである。
【００３０】
ネイティブプログラム３０１上では、ファームウェア更新サービス３０３、オプション有効化サービス３０４、設定管理サービス３０５が動作している。また、拡張プログラム実行プラットフォーム３０２上では、拡張プログラムシステムサービス３０６と拡張プログラム３０７とが動作している。
【００３１】
ファームウェア更新サービス３０３は、ファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス３０３は、ユーザから指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判断する。また、ファームウェア更新サービス３０３は、ネイティブプログラム３０１に対し、またはネイティブプログラム３０１を介して、ファームウェアを更新する。
【００３２】
オプション有効化サービス３０４は、ネイティブプログラム３０１に予め組み込まれているオプション機能（以下、組み込みオプションプログラムとも表記する）を、有効化するためのプログラムである。オプション有効化サービス３０４は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。
【００３３】
設定管理サービス３０５は、プリンタやＦＡＸなどの各種設定情報を管理するためのプログラムである。設定管理サービス３０５は、例えば、ユーザから１つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム３０１の設定情報を書き換える機能を提供する。なお、設定管理サービス３０５は、ユーザインタフェース（以下、ＵＩと記述）を持っており、ユーザは画像形成装置１０１の操作部２０１に表示される設定メニュー画面（図７）を介して設定変更の指示ができる。
【００３４】
拡張プログラムシステムサービス３０６は、拡張プログラムに共通に有用なユーティリティライブラリであり、システムから提供される。拡張プログラム３０７から拡張プログラムシステムサービス３０６の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。
【００３５】
拡張プログラム３０７は、拡張プログラム実行プラットフォーム３０２または各サービス（３０３から３０６）を介してのみ、他の拡張プログラム３０７など、画像形成装置１０１の各モジュールへアクセスすることができる。また、ＵＩを持つ拡張プログラム３０７は、画像形成装置１０１の操作部２０１に表示されるメインメニュー画面（図６）にアイコンを表示することができる。
【００３６】
操作部Ｉ／Ｆ２１２が、メインメニュー画面上のアイコンがユーザによって選択されたことを操作部２０１を通じて検知すると、その選択を示す情報をＣＰＵ２１０に送信する。上記選択を示す情報を受け取ったＣＰＵ２１０が、ユーザに選択された拡張プログラムのＵＩを操作部２０１に表示する。
【００３７】
なお、図３に示すソフトウェア構成は、基本的な部分のみであり、実施環境によっては、画像形成装置１０１が他のサービス等を備えるようにしてもよい。また、設定を制限するなどの理由によって不要となるサービスについては、画像形成装置１０１が備えないようにしてもよい。
【００３８】
図４は、拡張プログラムの設定情報の一例を示す図である。
拡張プログラム３０７の設定情報は、ＨＤＤ２１６に格納され、拡張プログラム３０７が独自に管理する。ｄａｔａフォルダ４００は、拡張プログラム３０７の設定情報を格納するフォルダである。ｄａｔａフォルダ４００は、拡張プログラム３０７がインストールされたときに拡張プログラム実行プラットフォーム３０２が作成する。ｄａｔａフォルダ４００の中には、Ｃｏｎｆｉｇフォルダ４０１、Ｌｏｇフォルダ４０３、Ｄａｔａフォルダ４０５が存在する。Ｃｏｎｆｉｇフォルダ４０１の中には、Ｃｏｎｆｉｇ．ｔｘｔファイル４０２が格納されている。
【００３９】
Ｃｏｎｆｉｇ．ｔｘｔファイル４０２は、拡張プログラム３０７が動作するために必要な情報を永続化したファイルである。拡張プログラム３０７が動作するために必要な情報は、例えば、接続先サーバのＩＰアドレス等であり、この例では、Ｃｏｎｆｉｇ．ｔｘｔファイル４０２中のマニフェストファイルに記載されている。マニフェストファイルについては、図５を参照して後述する。
【００４０】
Ｌｏｇフォルダ４０３の中には、Ｌｏｇ．ｔｘｔファイル４０４が格納されている。Ｌｏｇ．ｔｘｔファイル４０４は、拡張プログラム３０７が実行した処理の記録を永続化したファイルである。Ｄａｔａフォルダ４０５の中には、Ｄａｔａ１．ｄａｔファイル４０６、Ｄａｔａ２．ｄａｔファイル４０７が格納されている。Ｄａｔａ．ｄａｔファイル４０６及びＤａｔａ２．ｄａｔファイル４０７は、拡張プログラム３０７が処理する情報（例えば、印刷データ）である。
【００４１】
図５は、本実施例におけるマニフェストファイルを示す図である。
本実施例では、マニフェストファイルはＣｏｎｆｉｇ．ｔｘｔ４０２に記載されているが、マニフェストファイルが、Ｃｏｎｆｉｇ．ｔｘｔ４０２とは別に用意され、拡張プログラム３０７のｄａｔａフォルダ４００内に保存されていてもよい。
【００４２】
マニフェストファイル５００は、プログラム情報記載部５０１とリソース情報記載部５０２とを有する。プログラム情報記載部５０１には、拡張プログラム３０７に関する情報が記載される。具体的には、プログラム情報記載部５０１には、拡張プログラム３０７を一意に識別するＡｐｐ−ｉｄ、拡張プログラム３０７の名称を指すＡｐｐ−ｎａｍｅ、及びバージョン情報を示すＡｐｐ−ｖｅｒｓｉｏｎが記載されている。
【００４３】
リソース情報記載部５０２には、拡張プログラムが使用するリソース使用量が記載されている。拡張プログラムはリソース情報記載部５０２で宣言した使用値を超えることはない。図５では、リソース情報記載部５０２には、拡張プログラムの最大メモリ使用量を指すＭａｘｉｍｕｍＭｅｍｏｒｙＵｓａｇｅ、最大スレッド使用量を指すＭａｘｉｍｕｍＴｈｒｅａｄＵｓａｇｅが記載されている。また、リソース情報記載部５０２には、最大ファイルスペース使用量を指すＭａｘｉｍｕｍＦｉｌｅｓｐａｃｅＵｓａｇｅが記載されている。
【００４４】
なお、図５に示すマニフェストファイル５００は一例であり、マニフェストファイルに記載される情報は、図５中に示す情報に限られない。リソース情報記載部５０２に、例えば最小メモリ使用量を記載したい場合は最小メモリ使用量を示す項目を追加してもよいし、不要な項目がある場合は削除してもよい。
【００４５】
図６は、画像形成装置の操作部に表示されるメインメニュー画面の一例を示す図である。メインメニュー画面６００は、プログラムアイコン表示エリア６０１と、標準プログラムアイコン６０２と、拡張プログラムアイコン６０３とを有する。
【００４６】
プログラムアイコン表示エリア６０１は、画像形成装置１０１で現在操作可能なプログラムのアイコンを表示するエリアである。標準プログラムアイコン６０２は、制御プログラム操作ＵＩを表示させるためのアイコンである。制御プログラム操作ＵＩは、画像形成装置１０１の制御プログラムが持つ機能を操作するためのＵＩである。拡張プログラムアイコン６０３は、拡張プログラム操作ＵＩを表示させるためのアイコンである。拡張プログラム操作ＵＩは、画像形成装置１０１の拡張プログラムを操作するためのＵＩである。
【００４７】
図７は、画像形成装置の操作部に表示される設定メニュー画面の一例を示す図である。
設定メニュー画面７００は、カテゴリ表示部７０１と詳細項目表示部７０２とを有する。カテゴリ表示部７０１には、システムの各設定項目を分類したカテゴリが表示される。カテゴリの具体例として、環境設定や、ネットワーク設定、システム管理設定などが挙げられる。
【００４８】
詳細項目表示部７０２には、カテゴリ表示部７０１に表示されたカテゴリの中から選択されたカテゴリの詳細項目が表示される。図７に示す例では、表示設定のカテゴリを選択した場合の詳細項目の表示状態が示されている。ユーザは、詳細項目表示部７０２から設定を変更したい項目を選択することで、設定変更画面（非図示）に画面を遷移させることができる。なお、図７の詳細項目表示部７０２の「メインメニュー画面の設定」はカテゴリを示す。ユーザが詳細項目表示部７０２に表示された「メインメニュー画面の設定」を選択すると、カテゴリ表示部７０１に「メインメニュー画面の設定」が表示され、詳細項目表示部７０２には、メインメニュー画面の設定に関する更なる詳細項目が表示される。
【００４９】
以下に、画像形成装置の初期設置作業について説明する。画像形成装置の初期設置作業を行うにあたり、作業者は、他の画像形成装置に配信するための設定を事前に行った画像形成装置（以下、リファレンス画像形成装置）を用意する。作業者は、リファレンス画像形成装置にＵＳＢストレージ２０４を接続し、初期状態の設定情報をエクスポートする。なお、設定情報のエクスポート方法については説明しないが、ネイティブプログラム３０１や設定管理サービス３０５などにエクスポート機能が用意されている場合は、それを用いてもよい。また、画像形成装置にＷｅｂサービス（不図示）が用意されている場合は、ＵＳＢストレージ２０４を用いずにＷｅｂ上のＵＩから設定情報をエクスポートしてもよい。
【００５０】
次に、作業者は、初期設置作業の実施に必要なファームウェアやアプリケーション、ライセンス情報の記載されたファイルを用意する。初期設置作業に必要なＵＳＢストレージ２０４内のフォルダ、及びファイル構成については、図９を参照して後述する。
【００５１】
作業者は、初期設置作業の対象となる画像形成装置（配信対象画像形成装置）の初期設置作業に移る。まず、作業者は、配信対象画像形成装置に初期設置作業サポートプログラムをインストールする。初期設置作業サポートプログラムは、初期設置作業を実施するための拡張プログラムである。
【００５２】
次に、作業者は、配信対象画像形成装置にＵＳＢストレージ２０４を挿入し、操作部２０１により初期設置作業を実行する。操作部２０１から提供されるＵＩについては、図１３を参照して後述する。
【００５３】
配信対象画像形成装置に対する初期設置作業が完了するか、またはＵＳＢの抜去可能通知が表示されると、作業者は、配信対象画像形成装置に接続されたＵＳＢストレージ２０４を抜去し、次の配信対象画像形成装置の初期設置作業に移る。なお、初期設置作業サポートプログラムは、画像形成装置が生産現場から出荷される段階でインストールされていることが望ましいが、作業者が、初期設置作業現場でインストールしてもよい。
【００５４】
図８は、初期設置作業サポートプログラムの機能構成の一例を示す図である。
初期設置作業サポートプログラム８００は、画像形成装置１０１のＨＤＤ２１６に格納されており、ＣＰＵ２１０によって実行されることで初期設置作業サポート機能を実現する。
【００５５】
初期設置作業サポートプログラム８００は、ＵＩ制御部８０１と、ストレージ管理部８０２と、処理実行部８０３と、スクリプト解析部８０４とを有する。ＵＩ制御部８０１は、初期設置作業サポートプログラムを操作するためのＵＩを、操作部２０１を通じてユーザに提供し、ユーザの操作を受け付ける。
【００５６】
ストレージ管理部８０２は、ＵＳＢストレージ２０４に格納されたデータの読み書きを行う。また、ストレージ管理部８０２は、ＵＳＢストレージ２０４の挿入及び抜去の状態変化を検知する。
【００５７】
処理実行部８０３は、ＵＩ制御部８０１、ストレージ管理部８０２、及びスクリプト解析部８０４の指示に従い、各種初期設置作業の処理を行う。スクリプト解析部８０４は、ＵＳＢストレージ２０４に格納されているスクリプトを解析し、処理実行部８０３が実行すべき初期設置作業とその順序を決定する。
【００５８】
図９は、初期設置作業サポートプログラムが使用するＵＳＢストレージ内のフォルダ及びファイル構成の一例を示す図である。
ルートフォルダ９００の中には、Ｆｉｒｍｗａｒｅフォルダ９０１、ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３、Ａｐｐフォルダ９０５、ＤｅｖＣｏｎｆｉｇフォルダ９０８、Ｌｏｇフォルダ９１０、Ｓｃｒｉｐｔ．ｘｍｌファイル９１２が存在する。
【００５９】
Ｆｉｒｍｗａｒｅフォルダ９０１は、画像形成装置１０１に対して更新したいファームウェアを格納するフォルダである。Ｆｉｒｍｗａｒｅフォルダ９０１の中には、ファームウェア群をｚｉｐ形式でアーカイブしたＦｉｒｍｗａｒｅ＿ｖ１．０．１．ｚｉｐファイル９０２が存在する。
【００６０】
ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３は、画像形成装置１０１にプリインストールされている機能をアクティベートするためのライセンスファイルを格納するフォルダである。ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３の中には、ライセンスファイルＥｍｂｅｄｄｅｄＦｕｎｃ−Ｌｉｃｅｎｓｅ．ｌｉｃ９０４が存在する。
【００６１】
Ａｐｐフォルダ９０５は、初期設置作業にて画像形成装置１０１に対してインストールすべき拡張プログラム、及び拡張プログラムのインストールに必要なライセンスファイルを格納するフォルダである。Ａｐｐフォルダ９０５の中には、拡張プログラムＡｐｐｌｉｃａｔｉｏｎ００１．ｊａｒ９０６、及びライセンスファイルＡｐｐ００１−Ｌｉｃｅｎｓｅ．ｌｉｃ９０７が存在する。
【００６２】
ＤｅｖＣｏｎｆｉｇフォルダ９０８は、リファレンス画像形成装置にて事前に設定、及びエクスポートした設定情報を格納するフォルダである。ＤｅｖＣｏｎｆｉｇフォルダ９０８の中には、ｚｉｐ形式でアーカイブしたファイルｄｅｖｉｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＦｉｌｅ．ｚｉｐ９０９が存在する。
【００６３】
Ｌｏｇフォルダ９１０は、初期設置作業サポートプログラムが実行した結果のファイル（以降、ログ）を格納するためのフォルダである。Ｌｏｇフォルダ９１０の中には、Ｌｏｇ．ｔｘｔ９１１が存在する。
【００６４】
初期設置作業サポートプログラムを実行する前は、Ｌｏｇフォルダ９１０、及びＬｏｇ．ｔｘｔ９１１は存在しない。これらのフォルダ及びファイルは、初期設置作業サポートプログラムを実行中または実行後に、初期設置作業サポートプログラムが、一度Ｌｏｇフォルダ４９３及びＬｏｇ．ｔｘｔ４０４に作成し、それをコピーすることによって作成される。
【００６５】
Ｓｃｒｉｐｔ．ｘｍｌ９１２は、初期設置作業を自動的に処理するための作業手順を示すスクリプトである。スクリプトの詳細については、図１０を参照して後述する。本スクリプトは初期設置作業手順を定義するファイルである。画像形成装置１０１が、スクリプトファイル９１２の存在の有無によって初期設置作業サポートプログラムの実行可否を決定してもよい。つまり、スクリプトファイル９１２が存在すること自体を、使用中のＵＳＢストレージ２０４が初期設置作業サポートプログラム用のＵＳＢストレージであることを示す識別子としてもよい。図９に示す初期設置作業サポートプログラムの構成は一例であり、これに限らず任意のフォルダ構成としてよい。
【００６６】
図１０は、本実施例で用いられるスクリプトを示す図である。
スクリプトは、画像形成装置１０１の初期設置作業を自動実施するための作業手順を示す指示書である。
【００６７】
スクリプト１０００は、初期設置作業サポートプログラム８００のストレージ管理部８０２で読み込まれ、処理実行部８０３を介しスクリプト解析部８０４によって解析される。スクリプト解析部８０４によってスクリプト１０００が解析されると、処理実行部８０３が、解析結果に基づいて、スクリプト１０００に記載された初期設置作業を実行する。
【００６８】
図１０に示すスクリプト１０００は、ＸＭＬ（Extensible Markup Language）で記載されており、画像形成装置識別部１００１と処理記載部１００２とを有する。なお、図１０ではＸＭＬによりスクリプトを表現しているが、スクリプトの表現形式は、ＸＭＬに限定されず、シェルスクリプトなどで書かれていてもよい。
【００６９】
画像形成装置識別部１００１には、初期設置作業の対象である画像形成装置１０１を識別するための情報が記載されている。画像形成装置識別部１００１は、画像形成装置１０１の識別子である＜ｄｅｖｉｃｅＩｄ＞と、本スクリプトの内容を任意の文字列で示す＜ｃｏｍｍｅｎｔ＞とを有する。＜ｃｏｍｍｅｎｔ＞は、本スクリプトの内容説明だけでなく、＜ｄｅｖｉｃｅＩｄ＞だけで識別不可能な場合の識別子として利用してもよい。例えば、１つの画像形成装置１０１に対し複数の設定を用意する必要がある場合に識別子として利用可能である。
【００７０】
処理記載部１００２には、初期設置作業を実施するために必要な処理群が記載される。図１０では、処理記載部１００２は、ファームウェア更新処理１００３、拡張プログラムインストール処理１００４、拡張プログラム開始処理１００５を有する。また、処理記載部１００２は、システム組み込みオプションプログラムアクティベート処理１００６、設定情報インポート処理１００７を有する。各初期設置作業の処理を示すタグの中には、Ｏｒｄｅｒ属性が含まれており、この例ではＯｒｄｅｒの値に応じて初期設置作業の順番が決定する。なお、処理の順番を特に指定しない場合は、Ｏｒｄｅｒの値を同じにすることもできる。
【００７１】
Ｏｒｄｅｒの値が同じ場合は、処理実行部８０３は、処理記載部１００２に書かれている順番で実行しても良いし、スクリプト解析部８０４が読み取った順番で実行してもよい。また、処理実行部８０３が、各処理で使用するデータの容量に基づいて、実行順序を判断してもよい。
【００７２】
ファームウェア更新処理１００３は、ファームウェア更新サービス３０３を介してファームウェアを更新する処理である。ファームウェア更新処理１００３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することで処理を定義し、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグと＜ＦｉｒｍｗａｒｅＮａｍｅ＞によって、使用するファイルを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００から更新したいファームウェアまでの相対パスが記載されている。＜ＦｉｒｍｗａｒｅＮａｍｅ＞タグには、更新したいファームウェアが指定されている。図１０においてはＺｉｐ形式でアーカイブされたファームウェアが指定されている。
【００７３】
拡張プログラムインストール処理１００４は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ＡｐｐＦｉｌｅＮａｍｅ＞タグによって、インストールする拡張プログラムが指定されている。
【００７４】
＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からインストール対象の拡張プログラムの実体までの相対パスが記載されている。＜ＡｐｐＦｉｌｅＮａｍｅ＞タグには、インストール対象の拡張プログラムの実体が指定されている。図１０においてはＪａｒファイル形式の拡張プログラムが指定されている。なお、拡張プログラムの形式はＪａｒファイル形式に限定されない。
【００７５】
また、インストール対象の拡張プログラムに対するライセンスは、＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグにより指定されている。＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００から拡張プログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグには、拡張プログラムのライセンスの実体が指定されている。図１０においては．ｌｉｃファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
【００７６】
拡張プログラム開始処理１００５は、＜ｓｔａｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、＜ａｐｐＩｄ＞タグにより開始対象の拡張プログラムを指定している。＜ａｐｐＩｄ＞タグには、開始対象の拡張プログラムを唯一に識別するＩＤが指定されている。＜ａｐｐＩｄ＞タグにおいて指定されているＩＤは、図５に示すマニフェスト５００のプログラム情報記載部５０１に記載されているＡｐｐ−ｉｄに該当する。
【００７７】
組み込みオプションプログラムアクティベート処理１００６は、＜ａｃｔｉｖａｔｅＥｍｂｅｄｄｅｄＦｕｎｃｔｉｏｎＣｏｍｍａｎｄ＞タグの記載によって処理を定義している。そして、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグによりアクティベートする組み込みオプションプログラムを指定している。
【００７８】
＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からアクティベートする組み込みオプションプログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグには、組み込みオプションプログラムを有効化するためのライセンスの実体が指定されている。図１０においてはｌｉｃ形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。なお、画像形成装置１０１にプリインストールされた組み込みオプションプログラムが存在しない場合、また、有効化しない場合には、この初期設置作業処理の記載は不要である。
【００７９】
設定情報インポート処理１００７は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載により処理を定義している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグによって、インポートする設定情報ファイルが指定されている。
【００８０】
＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からインポート対象の設定情報ファイルまでの相対パスが記載されている。＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグには、インポート対象の設定情報ファイルが指定されている。本図では、Ｚｉｐ形式にアーカイブされた設定情報ファイルが指定されている。なお、設定情報ファイルの形式はＺｉｐファイル形式に限定されない。
【００８１】
スクリプトの初期設置作業の処理は、図１０のスクリプト１０００に記載された処理に限定されない。例えば、スクリプト１０００に、画像形成装置１０１の再起動処理などを加えてもよい。また必要に応じて処理の重複、増減があってもよい。
【００８２】
図１１は、実施例１のソフトウェア設置処理を説明するフローチャートである。図１１では、画像形成装置に対する初期設置作業サポートプログラムの初期設置作業を例にとって説明する。
【００８３】
まず、ストレージ管理部８０２が、画像形成装置１０１にＵＳＢストレージ２０４の挿入を検知したかを判断する（ステップＳ１１００）。ストレージ管理部８０２が、ＵＳＢストレージ２０４の挿入を検知した場合は、処理がステップＳ１１０１に進む。ストレージ管理部８０２が、ＵＳＢストレージ２０４の挿入を検知していない場合は、処理がステップＳ１１００に戻る。
【００８４】
ステップＳ１１０１において、ストレージ管理部８０２が、挿入されたＵＳＢストレージ２０４の中にスクリプトファイル９１２が格納されているかを判断する。ＵＳＢストレージ２０４の中にスクリプトファイル９１２が格納されている場合は、処理がステップＳ１１０２に進む。ＵＳＢストレージ２０４の中にスクリプトファイル９１２が格納されていない場合は、ストレージ管理部８０２が、ＵＳＢストレージ２０４が初期設置作業用のＵＳＢストレージではないと判断して、処理がステップＳ１１００に戻る。
【００８５】
ステップＳ１１０２において、スクリプト解析部８０４が、ＵＳＢストレージ２０４に格納されているスクリプトファイル９１２（図９）を読み込む（ステップＳ１１０２）。読み込まれたスクリプトファイル９１２の情報は、処理が終わるまでＲＡＭ２１１に一時的に記憶される。なお、本処理において、スクリプト解析部８０４が、スクリプト１０００に記載された各初期設置作業に対し、何をどのような順番で実行するかの解析や、実行する初期設置作業で使用するファイルがＵＳＢストレージ２０４に格納されているかの確認をしてもよい。この例では、スクリプトの読込み処理（Ｓ１１０２）にて、初期設置作業の実行順序の解析や、ファイル確認が完了しているものとする。
【００８６】
次に、処理実行部８０３が、ステップＳ１１０２で読み込まれたスクリプト情報に基づいて、ＵＩ制御部８０１を介して、初期設置作業サポートプログラムのＵＩ画面を表示する。具体的には、処理実行部８０３は、図１２に示す実行画面を表示する（ステップＳ１１０８）。
【００８７】
図１２は、初期設置作業サポートプログラムのＵＩ画面の一例を示す図である。
図１２（Ａ）は、実行画面１２００を示す。実行画面１２００は、初期設置作業の実行を開始するための画面である。
【００８８】
実行画面１２００は、実行スクリプト表示部１２０１、実行内容表示部１２０２、実行ボタン１２０３を有する。処理実行部８０３は、実行スクリプト表示部１２０１に、ＵＳＢストレージ２０４に含まれるスクリプトのファイル名を表示する。実行するスクリプトが複数になった場合は、処理実行部８０３が、全てのスクリプトを表示してもよいし、１つのスクリプトのみ表示してもよい。図１２（Ａ）に示す実行画面１２００では、Ｓｃｒｉｐｔ．ｘｍｌが実行されることが表示されている。
【００８９】
また、処理実行部８０３は、図１２のステップＳ１１０２で読み込んだスクリプト情報をもとに、これから実行する処理群を実行内容表示部１２０２に表示する。実行ボタン１２０３は、ユーザが実行スクリプト表示部１２０１、実行内容表示部１２０２の確認が終わった後に、処理を開始させるために操作するボタンである。
【００９０】
図１１の説明に戻る。ステップＳ１１０４において、ＵＩ制御部８０１が、実行ボタン１２０３が押下されたかを判断する。実行ボタン１２０３が押下された場合は、処理がステップＳ１１０５に進む。実行ボタン１２０３が押下されない場合は、処理がステップＳ１１０４に戻る。
【００９１】
ステップＳ１１０５において、処理実行部８０３が、ステップＳ１１０２で解析された初期設置作業の実行順序に従って、最初に指定された初期設置作業から順に処理を開始する。処理実行部８０３は、処理を開始すると初期設置作業サポートプログラムのＵＩ画面を図１２（Ｂ）に示す画面（実行中画面）に変更し、初期設置作業を開始したことをユーザに通知する。なお、以降の説明では、スクリプトの処理順序に従って初期設置作業を開始する処理を、スクリプト処理と記述する。
【００９２】
図１２（Ｂ）は、実行中画面１３００を示す。実行中画面１３００は、初期設置作業が実行中であることを通知する画面である。実行中画面１３００は、メッセージ表示部１３０１と、実行中アイコンとを有する。実行中アイコンは、初期設置作業が実行中であることを示すアイコンである。処理実行部８０３は、メッセージ表示部１３０１に、初期設置作業が開始、及び実行されていることを示すメッセージを表示する。また、ＵＳＢストレージ２０４内のデータを使用しているため、処理実行部８０３は、ＵＳＢストレージ２０４を抜去しないことを指示する情報を表示する。
【００９３】
図１１の説明に戻る。ステップＳ１１０６において、処理実行部８０３が、ステップＳ１１０２で解析された実行順序に従って、最後に指定された初期設置作業に必要なデータをＨＤＤ２１６にコピーする。初期設置作業に必要なデータは、本実施形態では、ソフトウェア設置に使用するソフトウェアおよびソフトウェアに対応する設定値である。この例では、コピー対象のデータをコピーする先はＤａｔａフォルダ４０５であり、コピー対象のデータはＤａｔａ１．ｄａｔ４０６やＤａｔａ２．ｄａｔ４０７である。
【００９４】
この例では、処理記載部１００２に記載された各初期設置作業に必要な全てのデータのコピーが終わったことが、ＨＤＤ２１６へコピーする処理の完了を示す。すなわち、処理実行部８０３は、スクリプトに従い前工程のソフトウェア設置を行っている際に、スクリプトに従い行われる後工程のソフトウェア設置に関連するデータを外部記憶装置から取得し保存する。処理実行部８０３は、スクリプトに記載されている順番が遅い工程のソフトウェア設置に関連するデータを優先してコピー対象とする。なお、以降の説明では、１つの作業内容が参照するデータをコピーする処理を、コピー処理と記述する。
【００９５】
次に、処理実行部８０３が、ステップＳ１１０５のスクリプト処理が完了したかを判断する（ステップＳ１１０７）。スクリプト処理が完了している場合は、処理がステップＳ１１１２に進む。スクリプト処理が完了していない場合は、処理がステップＳ１１０８に進む。
【００９６】
ステップＳ１１０８において、処理実行部８０３が、コピー対象データのコピー処理が完了しているかを判断する。このときスクリプト処理は完了していない状態である。コピー処理が完了している場合は、処理がＳ１１０９に進む。コピー処理が完了していない場合は、処理がＳ１１０７に戻り、スクリプト処理もしくはコピー処理が完了するまで待機する。
【００９７】
ステップＳ１１０９において、処理実行部８０３が、スクリプト解析部８０４を介し、以下の処理を実行する。処理実行部８０３は、ステップＳ１１０２でＲＡＭ２１１に一時的に記憶されたスクリプト情報に記載されたパス、すなわち初期設置作業に必要なデータへのパスを、コピー先に書き換える。本処理により、初期状態のスクリプトに記載されていたＵＳＢストレージ２０４内へのパスが、コピー先であるＤａｔａフォルダ４０５に書き換えられる。
【００９８】
図１３は、スクリプトの記載の書き換えを説明する図である。図１０を参照して説明したスクリプトが図１１のステップＳ１１０９によって書き換えられた場合を例にとって説明する。図１３は、システム組み込みオプションプログラムアクティベート処理１００９までのコピー処理が完了している状態におけるスクリプトの記述を示す。図１０と異なる部分のみを説明する。
【００９９】
設定情報インポート処理１００８では、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグが、＜ｔａｒｇｅｔＤａｔａＤｉｒＰａｔｈ＞に書き換えられている。システム組み込みオプションプログラムアクティベート処理１００９では、スクリプトの記述が＜ｔａｒｇｅｔＤａｔａＤｉｒＰａｔｈ＞タグへ書き換えられている。なお、本実施例では、Ｄａｔａフォルダ４０５への参照を示すために、＜ｔａｒｇｅｔＤａｔａＤｉｒＰａｔｈ＞タグを使用しているが、これに限らず任意のタグを用いてもよい。
【０１００】
図１１の説明に戻る。ステップＳ１１０９のスクリプトの書き換えが完了すると、次のコピー処理を開始するために、処理がステップＳ１１１０に進む。次のコピー処理の対象は、スクリプトの処理順序の最後からカウントし、コピー処理を未実行であり、かつ、まだ作業を実施していない作業内容に必要な全データを指す。言い換えると、次のコピー処理の対象となるデータは、データのコピーが完了した工程より前の、処理にデータが必要である直近の工程で用いるデータである。
【０１０１】
処理実行部８０３が、次のコピー対象のデータがスクリプト処理によって使用されているかを判断する（ステップＳ１１１０）。例えば、図１３に示すスクリプト１０００を参照すると、システム組み込みオプションプログラムアクティベート処理１００９までのコピー作業が完了している。また、システム組み込みオプションプログラムアクティベート処理１００９の前に実行される処理であって、処理にデータが必要な直近の処理は、拡張プログラムインストール処理１００４である。したがって、処理実行部８０３は、次のコピー対象として拡張プログラムインストール処理１００４のデータを参照する。
【０１０２】
スクリプト処理として拡張プログラムインストール処理を実行しているか、拡張プログラムインストール処理を実行済みで拡張プログラム開始処理を処理している場合、処理実行部８０３は、コピー対象のデータがスクリプト処理によって使用されていると判断する。
【０１０３】
コピー対象のデータがスクリプト処理によって使用されている場合は、処理実行部８０３が、以降のコピーを不要と判断して、処理がステップＳ１１１６に進む。コピー対象のデータがスクリプト処理によって使用されていない場合は、処理がステップＳ１１１１に進む。
【０１０４】
ステップＳ１１１１において、処理実行部８０３が、次の対象データに対してコピー処理を実行して、処理がステップＳ１１０７に戻る。ステップＳ１１１６において、処理実行部８０３が、ＵＩ制御部８０１を介し、ＵＳＢ抜去可能通知画面を表示し、処理がステップＳ１１１７に進む。ＵＳＢ抜去可能通知画面は、ＵＳＢストレージ２０４を抜去することができることを通知する画面である。すなわち、処理実行部８０３は、行っているソフトウェア設置の工程の直後の工程までのソフトウェア設置に関連するデータがコピーされたことに応じて、ＵＳＢストレージ２０４との接続解除を促す通知を行う。なお、ステップＳ１１１６において、処理実行部８０３は、画面を表示せず自動的にＵＳＢストレージ２０４をアンマウントしてしまってもよい。
【０１０５】
図１４（Ａ）は、ＵＳＢ抜去可能通知画面１４００を示す。
ＵＳＢ抜去可能通知画面１４００は、メッセージ表示部１３０２と実行中アイコンとを有する。処理実行部８０３は、メッセージ表示部１３０２に、初期設置作業が実行されていることを示すメッセージを表示する。また前述のコピー処理により、ＵＳＢストレージ２０４内のデータを使用せずに初期設置作業を継続できるようになったので、処理実行部８０３は、ＵＳＢストレージ２０４が抜去可能であることを示す情報を表示する。なお、処理実行部８０３が、ＵＳＢ抜去可能通知画面１４００を表示すると同時にＵＳＢストレージ２０４をアンマウントし、メッセージ表示部１３０２にアンマウントした旨を表示してもよい。
【０１０６】
図１１の説明に戻る。ステップＳ１１１７において、処理実行部８０３が、ＵＳＢストレージ２０４内のデータを使用せず、画像形成装置１０１のＤａｔａフォルダ４０５内にコピーされたデータを使用してスクリプト処理を継続する。スクリプト１０００に記載された全ての作業内容を完了すると、処理実装部８０３が、図１４（Ｂ）に示す初期設置作業完了画面１５００を表示して、処理を終了する。
【０１０７】
図１４（Ｂ）は、初期設置作業完了画面１５００を示す。初期設置作業完了画面１５００は、メッセージ表示部１４０１と終了ボタン１４０２とを有する。処理実行部８０３は、メッセージ表示部１３０２に、作業内容が完了したことを示すメッセージを表示する。また、処理完了に伴いＵＳＢストレージ２０４も抜去可能であるので、処理実行部８０３は、ＵＳＢストレージ２０が抜去可能であることを示す情報を表示する。なお、図１４（Ｂ）においては、ＵＳＢストレージ２０４が抜去可能であることが表示されているが、既にＵＳＢストレージ２０４が抜かれている場合などは、処理実行部８０３は、ＵＳＢストレージ２０４が抜去可能であることを表示しなくてもよい。
【０１０８】
終了ボタン１４０２は、初期設置作業サポートプログラムのＵＩ画面を閉じるためのボタンである。終了ボタン１４０２が押下げられると、画面が図６に示すメインメニュー画面に遷移する。なお、初期設置作業サポートプログラムを初期設置作業以外に使用しないのであれば、終了ボタン１４０２の押下時に初期設置作業サポートプログラム自体をアンインストールしてもよい。
【０１０９】
図１１の説明に戻る。ステップＳ１１１２において、処理実行部８０３が、次のスクリプト処理に必要なデータがコピー処理中であるかを判断する。次のスクリプト処理に必要なデータがコピー処理中である場合は、コピー処理の完了を待つため、処理がステップＳ１１１４に進む。次のスクリプト処理に必要なデータがコピー処理中でない場合は、処理がステップＳ１１１３に進む。
【０１１０】
ステップＳ１１１３において、処理実行部８０３が、次のスクリプト処理を開始する。そして、処理がステップＳ１１０７に戻り、スクリプト処理もしくはコピー処理が完了するまで待機する。
【０１１１】
ステップＳ１１１４では、処理実行部８０３が、次のスクリプト処理で使用するデータのコピー処理が完了したかを判断する。次のスクリプト処理で使用するデータのコピー処理が完了した場合は、処理がステップＳ１１１５に進む。そして、処理実行部８０３が、スクリプト情報に記載されたパスを、コピー先に書き換え（ステップＳ１１１５）処理がステップＳ１１１６に進む。次のスクリプト処理で使用するデータのコピー処理が完了していない場合は、処理がステップＳ１１１４に戻り、コピー処理が完了するまで待機する。
【０１１２】
なお、図１１のＳ１１０２において、スクリプト解析部８０４が、スクリプトファイル９１２を読み込んでいるが、スクリプト解析部８０４が、単にＤａｔａフォルダ４０５にスクリプトをコピーするだけでもよい。この場合、ステップＳ１１０９における処理についても、処理実行部８０３は、Ｄａｔａフォルダ４０５にコピーされたスクリプト１０００に対して書き換えを実行すればよい。
【０１１３】
また、スクリプト１０００に記述されたＯｒｄｅｒの値が同じである工程が複数ある場合、多くのコピー処理が完了していた方が、ＵＳＢストレージ２０４の抜去のタイミングを早めることができる。したがって、この場合には、処理実行部８０３は、複数の工程のそれぞれのコピー対象のデータのサイズに基づいて、複数の工程のそれぞれに対応するデータの保存順序を決定する。具体的には、処理実行部８０３は、コピー対象のデータのサイズが大きいものを優先してコピー処理の対象とする。
【０１１４】
また、処理実行部８０３が、Ｄａｔａフォルダ４０５のデータを使ってスクリプト処理を実行する場合、実行した結果のログに、使用したデータのパスを記載するようにしてもよい。更に、ＵＳＢストレージ２０４のどのデータのコピーを使用したかを判断できるように、処理実行部８０３が、実行時のログにＵＳＢストレージ２０４内のパスとＤａｔａフォルダ４０５のパスの両方を併せて記載してもよい。
【０１１５】
実施例１によれば、画像形成装置の初期設置作業のために可搬記憶媒体を挿した場合でも、１台に対する初期設置作業処理の途中で可搬記憶媒体を抜去可能となり、次の作業内容に移ることができるので、初期設置作業全体の効率化を図ることができる。
【０１１６】
（実施例２）
実施例１の画像形成装置は、スクリプトに記載された作業内容を最初から順番に実行すると同時に、最後の処理で必要になるデータから順に、ＵＳＢストレージ内から画像形成装置へコピーする。しかし画像形成装置自体に搭載された容量や拡張プログラムが使用できる容量が少ない場合、ＵＳＢストレージ内のデータをコピーできず、処理を中断してしまう可能性がある。そこで、実施例２の画像形成装置は、コピー前にコピー先の容量チェックを行うことで、処理を中断させずに可能な限りＵＳＢストレージを早く抜けるようにする。なお、実施例２は、図１１のフローチャートが示す処理以外については、実施例１と同様である。
【０１１７】
図１５は、実施例２のソフトウェア設置処理を説明するフローチャートである。ステップＳ１５００乃至Ｓ１５１７は、図１１のステップＳ１１１０乃至Ｓ１１１７の処理と同様であるので、説明を省略する。
【０１１８】
ステップＳ１５１８において、処理実行部８０３が、最後の処理に必要なデータをＤａｔａフォルダ４０５へコピーできるかを判断する。すなわち、処理実行部８０３は、コピー元のデータを保存すると所定の保存容量を超えるかを判断する。この判断処理は、例えば、次の二種類のチェックの結果から判断される。１つ目は、コピー元のデータ容量が、ＨＤＤ２１６の空き容量に収まるかの判断である。２つ目は、コピー元のデータ容量が、マニフェスト５００のリソース情報記載部５０２で宣言した最大ファイルスペース使用量をベースとした容量に収まるかの判断である。
【０１１９】
コピー元のデータ容量がＨＤＤ２１６の空き容量に収まり、かつ、上記最大ファイルスペース使用量をベースとした容量に収まる場合、処理実行部８０３は、最後の処理に必要なデータをコピーできると判断する。なお、これら２つの判断のうち、いずれか１つの判断を用いてもよい。
【０１２０】
最後の処理に必要なデータをコピーできると判断された場合は、処理がステップＳ１５０６に進む。最後の処理に必要なデータをコピーできないと判断された場合は、処理がステップＳ１５２０に進む。
【０１２１】
また、ステップＳ１５１９において、処理実行部８０３が、次のコピー対象のデータをＤａｔａフォルダ４０５へコピーできるかを判断する。本処理においても、処理実行部８０３は、上記ステップＳ１５１８において用いる二種類の判断の結果に基づいて、コピー処理の可否を判断する。次のコピー対象のデータをＤａｔａフォルダ４０５へコピーできると判断された場合は、処理がステップＳ１５１１に進む。次のコピー対象のデータをＤａｔａフォルダ４０５へコピーできないと判断された場合は、処理がステップＳ１５２０に進む。
【０１２２】
ステップＳ１５２０において、処理実行部８０３が、スクリプト処理にＵＳＢストレージ２０４内のデータを使用中であるかを判断する。すなわち、処理実行部８０３は、処理実行部８０３の使用するデータがＵＳＢストレージ２０４内のデータから、コピー処理後のＤａｔａフォルダ４０５内のデータに切り替わったか否かを判断する。スクリプト処理がＵＳＢストレージ２０４内のデータを使用している場合は、処理がＳ１５２０に戻る。スクリプト処理がＵＳＢストレージ２０４内のデータを使用していない場合は、処理がＳ１５１６に進む。
【０１２３】
なお、ステップＳ１５１８において、容量不足によりデータを１つもコピーできなかった場合は、ステップＳ１５２０により全ての作業内容の完了を待つ必要がある。また、データをコピーできなかったので、ステップＳ１５１７の処理はスキップされる。
【０１２４】
実施例２の画像形成装置によれば、画像形成装置自体に搭載された容量や拡張プログラムが使用できる容量が少ない場合、コピー処理の前にコピー先の容量チェックを行うことで、処理を中断させずに可能な限りＵＳＢストレージを早く抜けるようになる。これにより、初期設置作業全体の効率化を図ることができる。
【０１２５】
（実施例３）
実施例３の画像形成装置は、作業内容に対応する作業時間に応じて、ＵＳＢストレージから画像形成装置へのコピー処理を複数回に分けることで初期設置作業全体の効率化を図る。なお、実施例３は、図１１、図１５のフローチャートが示す処理以外については、実施例１、実施例２と同様である。
【０１２６】
図１６は、実施例３のソフトウェア設置処理を説明するフローチャートである。
ステップＳ１６００乃至Ｓ１６０４の処理は、図１１のステップＳ１１００乃至Ｓ１１０４の処理と同様であるので、説明を省略する。
【０１２７】
ステップＳ１６０５において、スクリプト解析部８０４が、スクリプト処理を分割する。つまり、スクリプト解析部８０４は、スクリプト１０００で指定された各作業を、複数回に分けるための分割作業を行う。スクリプト解析部８０４は、スクリプトに記載された複数の工程に含まれる各々の工程の記載順序にしたがって、複数の工程を分割工程に分割する。スクリプト解析部８０４は、例えば、各作業のデータの合計容量をもとに略同じ容量になるように処理を２つにわける。これはデータ容量が多いほど、処理に時間がかかることを前提とした分割方法である。
【０１２８】
スクリプト処理の分割方法については、スクリプト１０００に記載してもよいし、初期設置作業サポートプログラムが内部に定義を持っていてもよい。例えば、図１０に示すスクリプトの場合、処理１００３で参照するデータの容量が５ＭＢ、処理１００４から処理１００７までで参照するデータの容量の合計が５ＭＢの場合には、スクリプト解析部８０４は、処理１００３まででスクリプト処理を分割する。
【０１２９】
次に、処理実行部８０３が、最初の分割分のデータをＵＳＢストレージ２０４からＤａｔａフォルダ４０５にコピーする（ステップＳ１６０６）。そして、処理実行部８０３が、ステップＳ１６０６のコピー処理が完了したかを判断する（ステップＳ１６０７）。コピー処理が完了した場合は、処理がステップＳ１６０８に進む。コピー処理が完了していない場合は、処理がステップＳ１６０７に戻る。ステップＳ１６０８において、処理実行部８０３が、ＵＩ制御部８０１を介して、図１４（Ａ）で示すＵＳＢ抜去可能通知画面１４００を表示する。
【０１３０】
次に、処理実行部８０３が、ステップＳ１６０５で分割したスクリプト処理を、Ｄａｔａフォルダ４０５内のデータを用いて開始する（ステップＳ１６０９）。続いて、処理実行部８０３が、分割したスクリプト処理が完了したかを判断する（ステップＳ１６１０）。分割したスクリプト処理が完了した場合は、処理がステップＳ１６１１に進む。分割したスクリプト処理が完了していない場合は、処理がＳ１６１０に戻り、分割したスクリプト処理が完了するまで待機する。
【０１３１】
ステップＳ１６１１において、処理実行部８０３が、分割したスクリプト処理の全てを実行したかを判断する。分割した処理が全て完了した場合は、処理がＳ１６１５に進む。そして、処理実行部８０３が、図１４（Ｂ）に示す初期設置作業完了画面１５００を表示する。
【０１３２】
分割した処理のうち、完了していないものがある場合は、処理がステップＳ１６１２に進む。そして、処理実行部８０３が、ＵＩ制御部８０１を介して、図１４（Ｃ）で示すＵＳＢ抜去可能通知画面１６００を表示する（ステップＳ１６１２）。
【０１３３】
図１４（Ｃ）は、ＵＳＢ抜去可能通知画面１６００を示す。ＵＳＢ抜去可能通知画面１６００は、メッセージ表示部１３０３と実行中アイコンとを有する。
【０１３４】
処理実行部８０３は、メッセージ表示部１３０３に、初期設置作業が中断されていることを示すメッセージを表示する。また、処理実行部８０３は、処理を継続するためにスクリプトを分割したときと同じＵＳＢを挿入するように促すメッセージを表示する。
【０１３５】
図１６の説明に戻る。ステップＳ１６１３において、ストレージ管理部８０２が、画像形成装置１０１にステップＳ１６０５でのスクリプト分割時と同じＵＳＢストレージ２０４が挿入されたかを判断する。画像形成装置１０１にスクリプト分割時と同じＵＳＢストレージ２０４が挿入された場合は、処理がステップＳ１６１４に進む。
【０１３６】
画像形成装置１０１にスクリプト分割時と異なるＵＳＢストレージ２０４が挿入された場合は、スクリプトを継続するために必要なデータが存在しない。したがって、この場合には、処理がステップＳ１６１３に戻って、スクリプト分割時と同じＵＳＢストレージ２０４が挿されるまで処理を待機する。
【０１３７】
なお、ストレージ管理部８０２は、挿入されたＵＳＢストレージがスクリプト分割時と同じＵＳＢストレージであるかを、以下のようにして判断する。ストレージ管理部８０２は、ＵＳＢストレージに格納されたスクリプトファイル９１２が、ＲＡＭ２１１に一時保存されたスクリプトと同じであるかを確認する。スクリプトファイル９１２がＲＡＭ２１１内のスクリプトと同じである場合、ストレージ管理部８０２は、挿入されたＵＳＢストレージがスクリプト分割時と同じＵＳＢストレージであると判断する。本処理ではスクリプトが継続できればよいため、厳密に同じＵＳＢストレージ２０４である必要はない。
【０１３８】
ステップＳ１６１４において、処理実行部８０３が、分割したスクリプト処理のうち、未実行であるスクリプト処理で使用するデータをＤａｔａフォルダ４０５にコピーする。例えば、前述の図１０に示すスクリプト１０００の場合、処理実行部８０３は、処理１００４から処理１００７で必要な５ＭＢのデータをＤａｔａフォルダ４０５へコピーする。
【０１３９】
実施例３の画像形成装置によれば、スクリプト処理を複数に分割し、分割された処理に必要なデータのコピーが完了する度にＵＳＢストレージを抜去可能とする。これにより、初期設置作業全体の効率化を図ることができる。
【０１４０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、システム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１４１】
１０１  画像形成装置
１０２  可搬記憶媒体
８００  初期設置作業サポートプログラム
８０２  ストレージ管理部
８０３  処理実行部
８０４  スクリプト解析部
【図１】
2015041179.tif 000003
【図２】
2015041179.tif 000004
【図３】
2015041179.tif 000005
【図４】
2015041179.tif 000006
【図５】
2015041179.tif 000007
【図６】
2015041179.tif 000008
【図７】
2015041179.tif 000009
【図８】
2015041179.tif 000010
【図９】
2015041179.tif 000011
【図１０】
2015041179.tif 000012
【図１１】
2015041179.tif 000013
【図１２】
2015041179.tif 000014
【図１３】
2015041179.tif 000015
【図１４】
2015041179.tif 000016
【図１５】
2015041179.tif 000017
【図１６】
2015041179.tif 000018