(57)【要約】【課題】画像形成装置へソフトウェアをインストールするためのインストール工程以外のシステム独自の工程を追加可能とし、更にソフトウェア構成が変更されたときも、適切な順序で独自工程を実行することが可能な設置指示書を生成できるようにする。【解決手段】ソフトウェアをインストールするための工程とシステム独自の工程との依存関係、あるいはソフトウェアグループとシステム独自の工程との依存関係を第二の依存情報として記憶しておき、第一の依存情報であるソフトウェア間の依存関係と第二の依存情報に基づき各工程の実行順序を決定する。【選択図】図１１
2018190284.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定手段と、
指定された前記付加的な工程の順序を記憶する記憶手段と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定手段と、
前記決定手段により決定した前記順序に基づいて指示情報を作成する作成手段と
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記設定手段は、前記ソフトウェアの選択を受け付け、前記付加的な工程の追加を受け付け、前記付加的な順序の指定を受け付けるためのユーザインタフェース手段を含むことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記設定手段は、前記付加的な工程の順序として、前記ソフトウェアのうちから選択された基準工程となるソフトウェアに対する相対的な順序の指定を受け付けることを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置であって、
前記設定手段は、前記基準工程となるソフトウェアとして、単独のソフトウェアを選択できることを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記指示情報から前記基準工程となるソフトウェアが削除されると、該ソフトウェアを基準工程として順序が指定された前記付加的な工程も削除することを特徴とする情報処理装置。
【請求項６】
請求項３に記載の情報処理装置であって、
前記設定手段は、前記基準工程となるソフトウェアとして、ソフトウェアのグループを選択できることを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記指示情報から前記基準工程となるソフトウェアのグループに属する全てのソフトウェアが削除されると、該ソフトウェアを基準工程として順序が指定された前記付加的な工程も削除することを特徴とする情報処理装置。
【請求項８】
請求項３乃至７のいずれか一項に記載の情報処理装置であって、
前記指示情報に従ってソフトウェアをインストールする場合には、インストール対象のソフトウェアが既にインストール済みの場合には、該ソフトウェアのインストールはスキップされ、
前記設定手段は、前記基準工程となるソフトウェアのインストールがスキップされた場合の、スキップされたソフトウェアを前記基準工程として順序が指定された前記付加的な工程のふるまいを設定できることを特徴とする情報処理装置。
【請求項９】
ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置の制御方法であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定工程と、
指定された前記付加的な工程の順序を記憶手段に記憶する記憶工程と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定工程と、
前記決定工程で決定した前記順序に基づいて指示情報を作成する作成工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項１乃至８のいずれか一項に記載の情報処理装置としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画像形成装置を設置指示書に従って自動でセットアップするような情報処理装置およびその制御方法とプログラムに関する。
【背景技術】
【０００２】
従来、ソフトウェアのバージョンアップでは、バージョンアップを行うターゲット装置が、バージョンアップに関わる依存バージョンを記録したメタ情報をサーバーから受信し、メタ情報内の依存バージョンよりターゲット装置内のソフトウェアバージョンの方が古い場合は、依存バージョンへのアップデートから実行する、といったような方法が提供されている（例えば特許文献１参照）。これは、ソフトウェアのバージョンの依存関係に基づいて、ソフトウェアのバージョンアップを効率良く、かつ確実に実行することを目的としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像形成装置のセットアップにおいても、各種ソフトウェアのインストールを実行するにあたって、様々な依存関係を考慮した設置指示書を作成可能であり、その設置指示書に則って自動的かつ効率的なセットアップを実現している。但し、ここで考慮される依存関係は、システム内で予め定義され管理される、ソフトウェア間の依存関係に限られる。
【０００５】
しかしながら、画像形成装置をセットアップする実際の設置現場においては、指示書による自動的なセットアップだけでは不十分であり、途中で手作業や目視による確認などを必要とするケースが少なくない。例えば、画像形成装置のファームウェアをバージョンアップした後、一旦設置指示書の実行を停止し、簡単な動作確認をしてから設置指示書の実行を再開したいといったユースケースが考えられる。
【０００６】
従来においても、独自の工程を単に追加するだけであれば可能だったが、ソフトウェア構成が変更されたときに、追加した独自工程とソフトウェアのインストール工程との関係がわからず、独自工程を、インストール工程のどの段階で実行すれば良いのか、適切に判断することが困難であった。
【０００７】
本発明は上記従来例に鑑みて成されたもので、ソフトウェアのインストール順序とは依存関係のない付加的な工程についても、適切な順序で実行できるよう管理するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を実行するために本発明は以下の構成を有する。
【０００９】
ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定手段と、
指定された前記付加的な工程の順序を記憶する記憶手段と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定手段と、
前記決定手段により決定した前記順序に基づいて指示情報を作成する作成手段と
を有することを特徴とする。
【発明の効果】
【００１０】
本発明によると、ソフトウェアのインストール順序とは依存関係のない付加的な工程についても、適切な順序で実行できるよう管理が可能となる。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置設置システムにおける機器構成の例を示す図である。
【図２】画像形成装置の主要部の構成例を示すブロック図である。
【図３】設置指示書作成装置の構成を示すブロック図である。
【図４】設置指示書管理サーバーとソフトウェア管理サーバーの構成を示す図である。
【図５】ソフトウェア管理プログラムの機能構成例を示す図である。
【図６】画像形成装置のソフトウェア構成の例を示す図である。
【図７】設置指示書作成プログラムの機能構成例を示す図である。
【図８】設置指示書作成装置の従来の操作画面例を示した図である。
【図９】第一の実施形態における設置指示書作成装置の操作画面例を示した図である。
【図１０】設置指示書作成プログラムの処理の流れを説明したフローチャートである。
【図１１】設置指示書作成プログラムの処理の流れを説明したフローチャートである。
【図１２】自動設置プログラムの機能構成の例を示す図である。
【図１３】第二の実施形態における設置指示書作成装置の操作画面例である。
【図１４】自動設置プログラムの処理の流れを説明したフローチャートである。
【図１５】第三の実施形態における設置指示書作成装置の操作画面例を示す図である。
【図１６】設置指示書作成プログラムの処理の流れを説明したフローチャートである。
【図１７】設置指示書作成プログラムの処理の流れを説明したフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
［第一の実施形態］
●画像形成装置設置システム
図１は、画像形成装置設置システムにおける機器構成の例を示す図である。本実施形態の画像形成装置設置システムは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００に接続されたクライアントコンピューター（すなわち情報処理装置）である設置指示書作成装置１０３、設置指示書管理サーバー１０４、ソフトウェア管理サーバー１０５と、画像形成装置１０１によって構成される。画像形成装置１０１は、可搬記憶媒体１０２を介して設置指示書作成装置１０３とのデータのやり取りが可能である。
【００１３】
画像形成装置１０１は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した複合機である。また、画像形成装置１０１は、可搬記憶媒体を接続するインターフェースを有している。可搬記憶媒体を接続するインターフェースの種別は問わないが、本実施形態ではＵＳＢインターフェースを用いることとする。本インターフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。
【００１４】
可搬記憶媒体１０２は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施形態ではＵＳＢマスストレージクラスを実装する不揮発性の書き換え可能メモリであるＵＳＢストレージを用いる。これは図２等ではＵＳＢストレージ２０９として示されている。
【００１５】
設置指示書作成装置１０３は、所謂パーソナルコンピューターである。設置指示書作成装置１０３は、可搬記憶媒体を接続するインターフェースを有している。可搬記憶媒体を接続するインターフェースの種別は問わないが、本実施形態ではＵＳＢインターフェースを用いる。本インターフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。
【００１６】
設置指示書管理サーバー１０４は、設置指示書作成装置１０３を使用して生成する、画像形成装置１０１のセットアップ内容を定義した設置指示書を管理するサーバーである。設置指示書作成装置１０３や画像形成装置１０１からのリクエストに応じて、特定の設置指示書を送信する。
【００１７】
設置指示書管理サーバー１０４は、ＬＡＮ１００に直接接続されていても、インターネットを経由して接続されていてもよい。
【００１８】
ソフトウェア管理サーバー１０５は、画像形成装置１０１で利用可能なファームウェアや各種オプションのアプリケーション等を管理するサーバーである。ソフトウェア管理サーバー１０５はＬＡＮ１００に直接接続されていても、インターネットを経由して接続されていてもよい。
【００１９】
●画像形成装置１０１の構成
図２は、画像形成装置１０１の主要部の構成の例を示すブロック図である。画像形成装置１０１はコントローラユニット２００を含み、コントローラユニット２００には、画像入力デバイスであるスキャナ２１７や画像出力デバイスであるプリンタ２１６が接続されるとともに、操作部２０８が接続される。コントローラユニット２００は、スキャナ２１７で読み取られた画像データをプリンタ２１６により印刷出力するコピー機能を実現するための制御を行う。
【００２０】
コントローラユニット２００は、ＣＰＵ２０１を有し、ＣＰＵ２０１は、ＲＯＭ２０６に格納されているブートプログラムを実行してオペレーションシステム（ＯＳ）をロードし、立ち上げる。ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ（ハードディスクドライブ）２０７に格納されているプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０１の作業領域としてはＲＡＭ２０２が用いられる。ＲＡＭ２０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２０７は、上記プログラムや画像データを格納する。
【００２１】
ＣＰＵ２０１には、システムバス２１０を介して、ＲＯＭ２０６およびＲＡＭ２０２、操作部Ｉ／Ｆ（操作部インターフェース）２０３、ネットワークＩ／Ｆ（ネットワークインターフェース）２０４、ＵＳＢホストＩ／Ｆ２０５、画像バスＩ／Ｆ（画像バスインターフェース）２１２が接続される。
【００２２】
操作部Ｉ／Ｆ２０３は、タッチパネルを有する操作部２０８とのインターフェースであり、操作部２０８に表示すべき画像データを操作部２０８に対して出力する。また、操作部Ｉ／Ｆ２０３は、操作部２０８においてユーザーにより入力された情報をＣＰＵ２０１に送出する。
【００２３】
ネットワークＩ／Ｆ２０４は、画像形成装置１０１をＬＡＮに接続するためのインターフェースである。
【００２４】
ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２０９（たとえば可搬記憶媒体１０２を含む）と通信するインターフェース部である。ＵＳＢホストＩ／Ｆ２０５は、ＨＤＤ２０７に格納されているデータをＵＳＢストレージ２０９に出力する。また、ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２０９に格納されているデータを入力し、ＣＰＵ２０１にそれを伝える。ＵＳＢストレージ２０９は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２０５に対して着脱可能である。ＵＳＢホストＩ／Ｆ２０５には、ＵＳＢストレージ２０９を含む複数のＵＳＢデバイスが接続可能である。
【００２５】
画像バスＩ／Ｆ２１２は、システムバス２１０と、画像データを高速で転送する画像バス２１１とを接続し、データ形式を変換するためのバスブリッジである。画像バス２１１は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス２１１上には、デバイスＩ／Ｆ２１５、スキャナ画像処理部２１４、プリンタ画像処理部２１３が設けられる。
【００２６】
デバイスＩ／Ｆ２１５には、スキャナ２１７およびプリンタ２１６が接続され、デバイスＩ／Ｆ２１５は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２１４は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２１４は、プリント出力画像データに対してプリンタ２１６に応じた補正、解像度変換などを行う。
【００２７】
●設置指示書作成装置および各サーバーの構成
図３は、設置指示書作成装置１０３の構成を示すブロック図である。ＣＰＵ３０１を含む制御部３００は、設置指示書作成装置１０３全体の動作を制御する。ＣＰＵ３０１は、ＲＯＭ３０２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３０４は、画像データや各種プログラムを記憶する。
【００２８】
操作部Ｉ／Ｆ３０５は、設置指示書作成装置１０３で実行されるプログラムへの制御操作を入力するユーザーインタフェース端末を接続するインターフェースである。本実施形態では、マウス３０９やキーボード３１０で構成されるが、その限りではない。オペレータが情報の入力を行うためのデバイスであればよい。
【００２９】
ディスプレイＩ／Ｆ３０６は、設置指示書作成装置１０３で実行されるプログラムのＵＩを表示するディスプレイ端末を接続するインターフェースである。本実施形態ではディスプレイ３１１で構成されるが、その限りではない。オペレータに対する情報の提示を行うためのデバイスであればよい。
【００３０】
ネットワークＩ／Ｆ３０８は、制御部３００をＬＡＮ１００に接続する。ネットワークＩ／Ｆ３０８は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００３１】
ＵＳＢホストＩ／Ｆ３０７は、ＵＳＢストレージ２０９と通信するインターフェース部である。ＵＳＢホストＩ／Ｆ３０７は、ＨＤＤ３０４に格納されているデータをＵＳＢストレージ２０９に出力する。また、ＵＳＢホストＩ／Ｆ３０７は、ＵＳＢストレージ２０９に格納されているデータを入力し、ＣＰＵ３０１にそれを伝える。ＵＳＢストレージ２０９は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ３０７に対して着脱可能である。ＵＳＢホストＩ／Ｆ３０７には、ＵＳＢストレージ２０９を含む複数のＵＳＢデバイスが接続可能である。
【００３２】
図４は、設置指示書管理サーバー１０４およびソフトウェア管理サーバー１０５の構成を示すブロック図である。ＣＰＵ４０１を含む制御部４００は、設置指示書管理サーバー１０４もしくは、ソフトウェア管理サーバー１０５全体の動作を制御する。ＣＰＵ４０１は、ＲＯＭ４０２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ４０３は、ＣＰＵ４０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ４０４は、設置指示書管理サーバーにおいては設置指示書、ソフトウェア管理サーバーにおいては各種ソフトウェアや、後述するソフトウェア情報を記憶する。ネットワークＩ／Ｆ４０５は、制御部４００をＬＡＮ１００に接続する。ネットワークＩ／Ｆ４０５は、ネットワークを介して他の装置との間で各種情報を送受信する。サーバーには、図４に示すようにオペレータが操作するためのインターフェースがなくともよいが、例えば図３に示した構成であってもよい。
【００３３】
●ソフトウェア管理プログラムの構成
図５は、ソフトウェア管理サーバー１０５で動作するソフトウェア管理プログラムの機能構成例を示す図である。ソフトウェア管理プログラム５００は、処理実行部５０１、ソフトウェア登録部５０２、ソフトウェア情報管理部５０３、第一依存情報管理部５０４、通信部５０５を有する。
【００３４】
処理実行部５０１は、通信部５０５が受信する設置指示書作成装置１０３からの指示、あるいは、他のクライアントＰＣからの指示を受け付け、各種処理を行う。ソフトウェア登録部５０２は、不図示のクライアントＰＣから通信部５０５を介して登録要求されたソフトウェアを、ＨＤＤ４０４に保存する。ソフトウェア情報管理部５０３は、ソフトウェア登録部５０２によって登録されたソフトウェアの情報をＨＤＤ４０４に保存し管理する。第一依存情報管理部５０４は、ソフトウェア登録部５０２によってソフトウェアが登録される都度、登録されたソフトウェアから他のソフトウェアとの依存関係に関わる情報を抜き出し、ＨＤＤ４０４に保存して管理する。登録されたソフトウェアから抽出された他のソフトウェアとの依存関係に関わる情報が第一依存情報である。後述する設置指示書作成プログラム７００は、この第一依存情報に従って、ソフトウェアのインストール順序を決定する。通信部５０５は、設置指示書作成装置１０３からのリクエストに応じて、ＨＤＤ４０４に保存されているソフトウェアのソフトウェア情報や第一依存情報のやりとりをしたり、不図示のクライアントＰＣから、ソフトウェア管理プログラムを操作するための指示や情報のやり取りをしたりする。
【００３５】
●画像形成装置のソフトウェア構成
図６は、画像形成装置１０１のソフトウェア構成の例を示す図である。ＯＳ６００上には、プリンタやＦＡＸ、スキャナなどの元々備わっているデバイスの制御用プログラムであるネイティブプログラム６０１、拡張プログラムを実行するためのプラットフォームである拡張プログラム実行プラットフォーム６０２が動作している。更に、ネイティブプログラム６０１上には、ファームウェア更新サービス６０３、オプション有効化サービス６０４、設定管理サービス６０５が動作している。これらプログラムは、出荷時に画像形成装置１０１にインストールされている。また拡張プログラム実行プラットフォーム６０２上には、拡張プログラムシステムサービス６０６と拡張プログラム６０７が動作している。拡張プログラム６０７は、出荷時にインストールすることもできるが、画像形成装置１０１の設置後に、後付け的にインストールすることもできる。拡張プログラムシステムサービス６０６は拡張プログラムのひとつではあるが、出荷時にインストールされていてもよい。
【００３６】
ファームウェア更新サービス６０３は、ファームウェアを更新するための各種機能を提供するサービスである。本実施形態においては、拡張プログラム６０７のひとつである後述の自動設置プログラム１２００が、設置指示書に指定されたファームウェアをソフトウェア管理サーバー１０５からダウンロードし、ファームウェア更新サービス６０３へ更新をリクエストする。こうすることで、ネイティブプログラム６０１がファームウェアをインストールする。
【００３７】
オプション有効化サービス６０４は、ネイティブプログラム６０１に予め組み込まれているオプション機能を有効化するためのサービスである。本実施形態においては、自動設置プログラム１２００が、設置指示書に指定されたオプションのライセンスファイルをソフトウェア管理サーバー１０５から取得し、オプション有効化サービス６０４を介して該ライセンスファイルをインストールすることで、オプション機能を有効化する。
【００３８】
設定管理サービス６０５は、プリンタやスキャナなどの各種設定情報を管理するためのサービスである。本実施形態においては、自動設置プログラム１２００が設置指示書に指定された設定ファイルを設置指示書管理サーバー１０４からダウンロードし、設定管理サービス６０５にリクエストすることで、ネイティブプログラム６０１の設定情報を書き換えることができる。
【００３９】
拡張プログラムシステムサービス６０６は、拡張プログラムに共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム６０７は、拡張プログラム実行プラットフォーム６０２または拡張プログラムシステムサービス６０６を介してのみ、他の拡張プログラム６０７やＲＡＭ２０２など画像形成装置１０１の各モジュールへアクセスすることができる。
【００４０】
また、ＵＩを持つ拡張プログラム６０７は、画像形成装置１０１の操作部２０８に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンをユーザーが選択したことを、操作部２０８を通じて操作部Ｉ／Ｆ２０３が検知すると、操作部Ｉ／Ｆ２０３はその旨をＣＰＵ２０１に送信する。その旨を受け取ったＣＰＵ２０１はユーザーに選択された拡張プログラムのＵＩを操作部２０８に表示する。
【００４１】
尚、本ソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
【００４２】
●設置指示書作成プログラム
図７は、設置指示書作成装置１０３で動作する、設置指示書作成プログラム７００の機能構成例を示す図である。ＣＰＵ３０１がプログラムを実行することにより、各機能が実現される。本実施形態では、設置指示書作成装置１０３でプログラムが実行されることを想定するが、その限りではない。ネットワークＩ／Ｆ３０８を介して、ネットワーク上にあるサーバーやサービスで実行してもよい。
【００４３】
設置指示書作成プログラム７００は、ＵＩ制御部７０１、処理実行部７０２、ストレージ制御部７０３、ソフトウェア構成定義部７０４、工程定義部７０５、第二依存情報管理部７０６、依存情報チェック部７０７、設置指示書生成部７０８、通信部７０９、第三依存情報管理部７１０を有する。
【００４４】
ＵＩ制御部７０１は、設置指示書作成プログラムを操作するためのＵＩを、ディスプレイ３１１を通じて作業者に提供し、マウス３０９やキーボード３１０を通じて作業者の操作を受け付ける。処理実行部７０２は、ＵＩ制御部７０１の指示に従い、各種処理を行う。ストレージ制御部７０３は、ＵＳＢストレージ２０９のデータの読み書きを行う。ソフトウェア構成定義部７０４は、画像形成装置１０１へインストールするソフトウェアのソフトウェア情報を確定し、記憶する。
【００４５】
工程定義部７０５は、ソフトウェア構成定義部７０４によって確定されたソフトウェア情報を基に、インストール対象のソフトウェアを画像形成装置１０１へインストールするための工程（第一の分類に属する工程とも呼ぶ）を定義する。例えば、対象のソフトウェアがファームウェアである場合は、図６のファームウェア更新サービス６０３を呼び出すための工程を生成する。対象のソフトウェアがファームウェアに予め組み込まれているオプション機能である場合は、図６のオプション有効化サービス６０４を呼び出すための工程を生成する。対象のソフトウェアが拡張プログラムである場合は、図６の拡張プログラムシステムサービス６０６を呼び出すための工程を生成する。
【００４６】
第二依存情報管理部７０６は、設置指示書作成プログラム７００に予め用意されている独自の工程（第二の分類に属する工程とも呼ぶ）と、前述したソフトウェアをインストールするための第一の分類に属する工程との依存関係を設定し、記憶する。
【００４７】
依存情報チェック部７０７は、ソフトウェア管理サーバー１０５から取得した第一依存情報と、設置指示書作成プログラムの第二依存情報管理部７０６で管理されている第二依存情報とを基に、インストールのための各工程の実行順序を決定する。また、第三依存情報管理部７１０で管理されている第三依存情報を基に、第二の分類に属する独自工程を実行するか否かの判断をする。
【００４８】
設置指示書生成部７０８は、工程定義部７０５で定義された工程と依存情報チェック部７０７で決定された実行順序に従って、設置指示書を作成する。
【００４９】
通信部７０９は、設置指示書生成部７０８で生成した設置指示書を、設置指示書管理サーバー１０４へ送信したり、設置指示書管理サーバー１０４で保持されている設置指示書を取得したり、あるいは、ソフトウェア管理サーバー１０５から登録されているソフトウェアの依存情報やソフトウェアそのものを取得したりする。
【００５０】
第三依存情報管理部７１０は、第二の依存関係を有する第一の分類に属する工程と第二の分類に属する工程とにおいて、第一の分類に属する工程が実行されなかったときの第二の分類に属する工程の振舞いを定義し、記憶する。
【００５１】
●本実施形態で定めた工程に係る分類および依存関係
ここで整理しておくと、本実施形態で定めた工程に係る分類および依存関係は以下のようなものである。
【００５２】
第一の分類に属する工程とは、ソフトウェア構成定義部７０４によって確定されたソフトウェア情報を基に、インストール対象のソフトウェアを画像形成装置１０１へインストールするための工程である。第一の分類に属する工程は、たとえば、ソフトウェアごとに予め決めておくことができる。第一の分類に属する工程は、基本インストール工程と呼ぶこともできる。
【００５３】
第二の分類に属する工程とは、設置指示書作成プログラム７００に予め用意されている独自の工程である。基本インストール工程に対して付加的な工程を含むことができることから、付加的インストール工程と呼ぶこともできる。
【００５４】
第一の依存情報とは、ソフトウェアと他のソフトウェアとのインストール順序の依存関係に関わる情報である。換言すれば、第一の分類に属する工程間の依存関係を示す情報ということもできる。例えば第一の依存情報は、或るソフトウェアに着目してその他のソフトウェアとのインストール順序の関係を示す情報で良く、ソフトウェア間依存情報とも呼ぶこともできる。また第一依存情報で示される依存関係を第一の依存関係（あるいはソフトウェア間依存関係）と呼ぶ。
【００５５】
第二依存情報とは、ソフトウェアをインストールするために、第一の分類に属する工程（基本インストール工程）と、第二の分類に属する工程（付加的インストール工程）との依存関係を示す情報である。第二依存情報はインストール工程間依存情報と呼ぶこともできる。また第二依存情報で示される依存関係を第二の依存関係（あるいはインストール工程間依存関係）と呼ぶ。
【００５６】
第三依存情報とは、互いに第二の依存関係にある第一の分類に属する工程Ａと第二の分類に属する工程Ｂとがあった場合に、第一の分類に属する工程Ａが実行されなかったときの第二の分類に属する工程Ｂのふるまいを定義した情報である。たとえば、互いに依存関係に基本インストール工程と付加的インストール工程とを想定する。この場合、基本インストール工程は、依存関係にある付加的インストール工程の有無により影響を受けることはない。一方、付加的インストール工程は、依存関係にある基本インストール工程の有無により影響を受ける可能性がある。そこで、第三依存情報は、依存関係にある基本インストール工程が実行されない場合の付加的インストール工程のふるまいを定義する。第三依存情報は依存関係を示す情報ではなく、付加的インストール工程の有無に依存したふるまいを示す情報と考えることもでき、条件付き付加的インストール工程情報などと呼ぶこともできる。
【００５７】
●設置指示書作成装置の操作画面例
図８は設置指示書作成装置１０３の操作画面、すなわちユーザインタフェース画面の例を示した図である。本図を用いて、従来技術で実現可能な範囲の簡単な操作例を説明する。図８の操作画面は設置指示書作成プログラム７００のＵＩ制御部７０１により表示され、操作が受け付けられる。
【００５８】
操作画面８００は、ソフトウェア構成を指定するためのソフトウェア構成画面８０１と、各工程の実行順序を示した実行順序画面８０２から構成されており、それぞれ表示を切り替えて操作することが可能である。更に実行順序画面８０２には、指示書作成ボタン８０３が配置されており、このボタンを押下することで、設置指示書生成部７０８が、実行順序に従った指示書を生成し、設置指示書管理サーバー１０４もしくは、可搬記憶媒体１０２へ設置指示書を送信する。
【００５９】
図８（ａ）のソフトウェア構成画面８０１では、設置指示書作成プログラム７００がソフトウェア管理サーバー１０５から取得したソフトウェアの一覧を表示する。操作者はマウスなどを使用して画像形成装置１０１にインストールする各種ソフトウェアを選択する。操作者の操作に応じてＵＩ制御部７０１からの指示を受け取った処理実行部７０２は、ソフトウェア構成定義部７０４を呼び出し、画像形成装置１０１へインストールすべきソフトウェアを確定、記憶させる。本実施形態としては、ファームウェアとしてＦｉｒｍｗａｒｅ０００１、拡張プログラムとしてＳｏｆｔｗａｒｅ０００２、オプション機能としてＯｐｔｉｏｎ０００１が選択されており、それらを対象画像形成装置のソフトウェア構成として確定する。
【００６０】
実行順序画面８０２を開くとき、処理実行部７０２は工程定義部７０５を呼び出し、現在確定しているソフトウェア構成を基に、各ソフトウェアをインストールまたは有効化するための工程を生成する。ソフトウェア構成を基に生成される工程が、前述した第一の分類に属する工程である。生成されるのは例えば、インストールするための工程に含まれる手順を示すコードや、工程に対応した情報などでよい。あるいはインストール工程を実行するためのコードは予め用意され、生成されるのはそのためのパラメータであってもよい。たとえば選択されたソフトウェアをインストールするために必要なファイルの識別名やそのインストール先、必要であればいったん画像形成装置の立ち上げ直すことを示すパラメータなどが第一の分類に属する工程の情報として生成されてよい。もちろんこれは一例に過ぎない。
【００６１】
更に、処理実行部７０２は、依存情報チェック部７０７を呼び出し、確定しているソフトウェア構成を基に、各ソフトウェアの依存情報を通信部７０９経由でソフトウェア管理サーバー１０５から取得する。依存情報チェック部７０７は取得した依存情報を基に、各工程の実行順序を決定する。ソフトウェア間の依存情報は、たとえばインストールの順序を含む。この順序は、ソフトウェア間の相対的な順序のこともあるし、あるいは先頭や末尾など、絶対的な順序のこともある。また相対的な順序には、先後の関係のほか、あるソフトウェアの直前や直後など、直近となるソフトウェアとの関係を含んでもよい。例えば、Ｆｉｒｍｗａｒｅ０００１は、「最初に実行する」という依存情報を持っており、Ｓｏｆｔｗａｒｅ０００２とＯｐｔｉｏｎ０００１は特に依存関係を有していないものとする。こうして決定された実行順序は、図８（ｂ）のようになる。
【００６２】
工程定義部７０５は、一度確定した工程に新たな工程を追加することが可能である。ここで直接追加可能な工程は、ソフトウェア構成とは関わりのない、設置指示書作成プログラム７００が独自に有する工程で、例えば、「一時停止」や「シャットダウン」など画像形成装置の制御に関するものである。これらは、前述した第二の分類に属する工程で、初期状態としては何の依存情報も持たない。これら独自の工程は、予め用意しておいた選択可能な候補の中から選択できるように構成してもよい。
【００６３】
たとえば、操作者が、Ｆｉｒｍｗａｒｅ０００１をインストールしたあと、指示書の実行を一時的に停止し、画像形成装置の基本的な動作確認をして問題なければ実行順序２以降の工程に進む、といった指示書を作成したいとき、実行順序１と２の工程間に「一時停止」工程を挿入する。操作例の一つとしては、図８（ｃ）に示すように、Ｆｉｒｍｗａｒｅ０００１もしくはＳｏｆｔｗａｒｅ０００２のいずれかを選択した状態で、コンテキストメニュー８０３を表示し、追加したい工程「一時停止」を指定する、という方法がある。この方法で「一時停止」工程が追加された状態が、図８（ｄ）である。
【００６４】
ここまでは従来技術での実現が可能で、操作者の目的を一見達成しているように見える。しかし、この後、ソフトウェア構成が変更される可能性を考慮しないといけない。例えば、図８（ｄ）の状態に対し、ソフトウェア構成画面８０１で、Ｓｏｆｔｗａｒｅ０００１を追加したとする。Ｓｏｆｔｗａｒｅ０００１とＳｏｆｔｗａｒｅ０００２は第一の依存情報として、Ｓｏｆｔｗａｒｅ０００１をＳｏｆｔｗａｒｅ０００２よりも先にインストールする、という関係を持っているとする。「一時停止」工程が挿入されていなければ、第一の依存情報に則って、依存情報チェック部７０７は各工程の実行順序を決定すれば良い。しかし、「一時停止」工程が挿入されているために、Ｓｏｆｔｗａｒｅ０００１のインストール工程を、「一時停止」工程の前に実行すべきか、後に実行すべきかの判断ができない。いずれにおいても、Ｓｏｆｔｗａｒｅ０００１をＳｏｆｔｗａｒｅ０００２よりも先にインストールする、という依存関係は守られるが、操作者が望む順序になっているかどうかは不明である。
【００６５】
そこで、依存関係が未定義のソフトウェアを追加する際には、依存関係を操作者に指定させ、指定された依存関係を守ってインストールを実行する。その例を、図９を用いて操作例を説明する。
【００６６】
図９（ａ）は設置指示書作成装置１０３の操作画面例を示した図で、ソフトウェア構成画面８０１で選択されたソフトウェアの依存情報を基に生成した、第一の分類に属する工程に対し、第二の分類に属する工程を追加する際の画面例である。
【００６７】
前述した通り、操作者はＦｉｒｍｗａｒｅ０００１をインストールした後、画像形成装置１０１による指示書の実行を一旦停止し、手動や目視で簡単な動作確認をしてから、問題なければ次の工程に進みたいと考えている。つまり操作者にとっては、「Ｆｉｒｍｗａｒｅ０００１をインストールした後」に「一時停止」工程を実施することに意味があり、Ｓｏｆｔｗａｒｅ０００２をインストールする前に「一時停止」工程を実施することが重要ではない。
【００６８】
このとき操作者は、Ｆｉｒｍｗａｒｅ０００１を選択した状態で、コンテキストメニュー９０１を表示し、「後ろに工程を追加する」を選択すれば良い。
【００６９】
従来技術においても、ある工程の前に追加するか、後ろに追加するかを選択できるような操作方法はあるが、これは、工程を追加する際の一時的な指定でしかない。従来技術との違いは、「一時停止」工程を追加する際に選択したＦｉｒｍｗａｒｅ０００１を基準工程として工程定義部７０５が記憶する点と、追加する場所として選択した「後ろに追加する」という情報を、「Ｆｉｒｍｗａｒｅ０００１をインストールした直後に実行する」という「一時停止」工程に対する依存情報（前述した第二の依存情報）として第二依存情報管理部７０６が記憶する点である。従来技術においては課題となった、第二の分類に属する工程を追加した後ソフトウェア構成を変更するとどうなるか、簡単に説明する。
【００７０】
「一時停止」工程を追加して、図８（ｄ）の状態になった後、ソフトウェア構成画面８０１において、Ｓｏｆｔｗａｒｅ０００１を追加したとする。Ｓｏｆｔｗａｒｅ０００１とＳｏｆｔｗａｒｅ０００２は、Ｓｏｆｔｗａｒｅ０００１を先にインストールする、という第一の依存情報を持っている。つまり、Ｆｉｒｍｗａｒｅ０００１とＳｏｆｔｗａｒｅ０００２の間であれば、どのタイミングでＳｏｆｔｗａｒｅ０００１をインストールしても良いわけ。しかし、Ｆｉｒｍｗａｒｅ０００１のインストールと「一時停止」工程との間には、「一時停止」工程の追加の際に設定された優先すべき第二の依存情報が存在している。この第二の依存情報は、一時停止工程は、Ｆｉｒｍｗａｒｅ０００１のインストールの後（直後）に追加される、というものである。従って、Ｓｏｆｔｗａｒｅ０００１のインストールは、一時停止工程の後、かつＳｏｆｔｗａｒｅ０００２のインストール工程の前、すなわち「一時停止」工程とＳｏｆｔｗａｒｅ０００２の間で実行するしかなくなる。
【００７１】
このように、依存情報チェック部７０７は、第一の依存情報と、第二依存情報管理部７０６が記憶している第二の依存情報の両方の依存情報に則って、各工程の実行順序を決定する。結果として、図９（ｂ）のようになる。ソフトウェア構成の変更により、基準工程であるＦｉｒｍｗａｒｅ０００１が外されたとき、第二の依存情報を有する「一時停止」工程も削除する。
【００７２】
なお、第二の依存情報として相容れない依存情報が入力された場合には、以下のように対処してよい。たとえば、第一に、第二の依存情報の属性が入力された日時情報も併せて記憶しておき、最新の依存情報を採用する。この場合には、第二の分類に属する工程（すなわち付加的な工程）ごとに、第二の依存情報を入力された新たな依存情報で上書きしてもよい。第二に、第二の分類に属する工程ごとに、相容れない依存情報の存在を判定し、もしあればその全てをユーザーインタフェースに提示し、操作者の選択に任せる。
【００７３】
●設置指示書作成プログラムの処理（新規作成）
図１０は、設置指示書作成プログラム７００の処理の流れを説明したフローチャートである。操作例に当てはめると、図８（ａ）（ｂ）、図９（ａ）、図８（ｄ）の操作に相当する。
【００７４】
ステップ１００１では、まずソフトウェア管理サーバー１０５から取得したソフトウェア情報に基づいて、ＵＩ制御部７０１が、インストール対象となるソフトウェアのリストを表示する（図８（ａ））。ここでいうソフトウェアには、いわゆるファームウェアと、拡張プログラムと、オプション機能とを含む。表示されたリスト上における設置指示書作成プログラム７００の操作者の入力に応じて、ＵＩ制御部７０１が選択されたソフトウェア情報を処理実行部７０２に通知する。処理実行部７０２は、ソフトウェア構成定義部７０４へソフトウェア情報を通知し、ソフトウェア構成定義部７０４はそれらソフトウェア情報をＲＡＭ３０３に記憶する。
【００７５】
ステップ１００２では、ＵＩ制御部７０１から、ソフトウェアの選択操作が終了したことを受け取った処理実行部７０２が、工程定義部７０５に対して工程作成指示を出す。工程定義部７０５は、ソフトウェア構成定義部７０４が管理しているソフトウェア情報を取得し、各ソフトウェアを画像形成装置１０１へ適用するための第一の分類に属する工程を生成し、ＲＡＭ３０３に記憶する。ここでは選択されているソフトウェアすべてを対象として処理を行う。
【００７６】
ステップ１００３では、処理実行部７０２が工程定義部７０５から、第一の分類に属する工程の生成が完了したことを受け取ると、依存情報チェック部７０７に対して、各工程の実行順序を決定するよう、指示を出す。依存情報チェック部７０７は、ソフトウェア構成定義部７０４が管理している各ソフトウェアの第一の依存情報か、あるいは、ソフトウェア管理サーバー１０５の第一依存情報管理部５０４で管理されている第一の依存情報を取得する。あるいは第一依存情報管理部５０４で管理されている第一の依存情報を取得し、それをソフトウェア構成定義部７０４により格納してもよい。
【００７７】
ステップ１００４では、依存情報チェック部７０７が、取得した第一の依存情報を基に、工程定義部７０５が管理している各工程の実行順序を決定する。
【００７８】
ステップ１００５では、ソフトウェア構成に関わる第一の分類に属する工程のみで決定された実行順序に対して、設置指示書作成プログラム７００が独自に定義する第二の分類に属する工程を追加する。この工程はオプションであり、第二の分類の工程を追加する操作がされなければ、そのままステップＳ１００４で決定された実行順序で、ステップＳ１００２で作成された工程を配置し、設置指示書（あるいは設置指示情報または単に指示情報）を作成する。一方第二の分類の工程を追加する操作がされると、ＵＩ制御部７０１から第二の分類に属する工程が追加されたことを受け取った処理実行部７０２が工程定義部７０４に工程の追加を依頼する。
【００７９】
ステップ１００６では、ステップ１００５で第二の分類に属する工程が追加されたことに伴い、依存情報チェック部７０７が実行順序を更新する。
【００８０】
ステップ１００７では、工程追加の際の追加工程とは別に指定された第一の分類に属する工程を、工程定義部７０４が基準工程としてＲＡＭ３０３に記憶する。
【００８１】
ステップ１００８では、ステップＳ１００５における工程追加の際に指定された追加工程と基準工程との依存関係を、第二の分類に属する追加工程の第二の依存情報として、第二依存情報管理部７０６がＲＡＭ３０３に記憶する。これにより、第二の分類に属する工程を追加した上での新たな実行順序が決定する。
【００８２】
上記工程により、インストール対象のソフトウェアをインストールする工程と、追加的な工程とを、工程間の順序関係に応じた順序で配置することができる。指示書作成ボタン８０３が押下されると、図１０（後述する図１１も同様）で作成された各工程及び順序の情報に基づいて、各工程を配置した設置指示書（設置指示情報）が作成される。この設置指示情報はステップＳ１００８で完成する。設置指示情報は、設置指示書管理サーバー１０４に送信されて管理される。またＵＳＢストレージ２０９に保存してもよい。設置指示情報は、たとえば画像形成装置１０１により解釈実行できるスクリプト言語で記述される。各工程は例えば、ソフトウェアを含むファイルの所在や名称を指定した上で、そのソフトウェアのインストーラプログラムを実行するようなコードが含まれる。インストーラもまた例えばサーバーからダウンロードする構成であってもよい。そのようなソフトウェアをインストールするための工程が、たとえば実行順序を指定した上で記述されている。
【００８３】
●設置指示書作成プログラムの処理（変更）
図１１は、設置指示書作成プログラム７００の処理の流れを説明したフローチャートであるが、第二の分類に属する工程を追加した実行順序を決定した後に、ソフトウェア構成を変更した際のものである。
【００８４】
操作例に当てはめると、一度実行順序を確定した図８（ｄ）の状態から、図８（ａ）のソフトウェア構成画面８０１からソフトウェア構成を変更し、改めて実行順序画面８０２に切り替えるときの処理の説明となる。図１１は例えば図１０の手順で作成された設置指示書を読み込み、設置指示書にしたがって図８（ｄ）のユーザーインタフェース画面を表示した状態から処理が開始される。
【００８５】
ステップ１１０１では、実行処理部７０２がソフトウェア構成定義部７０４に対し、前回実行順序を確定した以降、ソフトウェア構成に変更があったかどうかを判定する。特に変更されていない場合は、現在確定済の実行順序を更新することなく処理を終了する。構成の変更の有無は、たとえば工程の削除や追加等の操作の有無に基づいて判定することができる。
【００８６】
ソフトウェア構成に変更があると判定された場合は、ステップ１１０２において、処理実行部７０２が工程定義部７０５に対し、新たなソフトウェア構成を基に各ソフトウェアを画像形成装置１０１へ適用するための工程を生成するよう指示を出す。
【００８７】
工程定義部７０５が第一の分類に属する工程をＲＡＭ３０３に記憶すると、ステップ１１０３で依存情報チェック部７０７がソフトウェア管理サーバー１０５から、各ソフトウェアの依存情報（第一の依存情報）を取得する。
【００８８】
ステップ１１０４では、依存情報チェック部７０７が、取得したソフトウェアの依存情報を基に、各工程の実行順序を決定し、ＲＡＭ３０３に記憶する。
【００８９】
ステップ１１０５では、処理実行部７０２がソフトウェア構成定義部７０４に対し、図１０の処理により以前ＲＡＭ３０３に記憶した、変更の対象とされている設置指示情報の中に、設置指示書作成プログラム７００が独自に管理する第二の分類に属する工程が含まれていたかどうかを問い合わせる。第二の分類に属する工程が含まれていなければ、Ｓ１１０４で決定した、第一の分類に属する工程のみで決定された実行順序を最新の実行順序としてＲＡＭ３０３に記憶し、処理を終了する。
【００９０】
第二の分類に属する工程が含まれていた場合は、ステップ１１０６において、依存情報チェック部７０７が、該工程の第二の依存情報を第二依存情報管理部７０６から取得する。
【００９１】
ステップ１１０７では、該の工程と依存関係にある基準工程が、ステップ１１０２で生成された第一の分類に属する工程の中に含まれるかどうか、処理実行部７０２が工程定義部７０５に問い合わせる。
【００９２】
基準工程が存在していれば、ステップ１１０８において、依存情報チェック部７０７がステップ１１０６で取得した第二の依存情報に基づいて、ＲＡＭ３０３に記憶している実行順序を更新する。ステップ１１０５からステップ１１０８の処理は、全ての第二の分類に属する工程に対して繰り返し実行される。なお処理対象とされている第二の分類に属する工程が、新たに追加された工程である場合には、その工程の第二の依存情報は、追加操作の段階で作成され、記憶されている。したがってその場合には基準工程は必ず存在していることになる。
【００９３】
基準工程が存在しなければ、処理実行部７０２はステップ１１０９へ処理を遷移する。基準工程が存在しないということは、ステップ１１０１でソフトウェア構成が変更された際に、基準工程となるソフトウェアが削除されたということである。つまり、図８（ａ）のソフトウェア構成画面８０１において、基準工程となっているソフトウェアのチェックマークを外されたということである。
【００９４】
ステップ１１０９では、第二依存情報管理部７０６が、基準工程を失った第二の分類に属する工程に関する依存情報をＲＡＭ３０３から削除する。
【００９５】
ステップ１１１０では、工程定義部７０５が基準工程を失った第二の分類に属する工程をＲＡＭ３０３から削除する。
【００９６】
これらの処理を経て、依存情報チェック部７０７は、新たな実行順序を確定し、ＲＡＭ３０３に記憶されている実行順序を更新する。更新された工程及び順序に係る情報に基づいて、設置指示情報を例えばＵＳＢストレージ２０９などに格納することができる。
【００９７】
以下、指示書作成に関する説明である。指示書作成ボタン８０３の押下によって、指示書作成指示をＵＩ制御部７０１から受け取った処理実行部７０２は、設置指示書生成部７０８を呼び出す。設置指示書生成部７０８は依存情報チェック部７０７がＲＡＭ３０３に記憶している最新の工程及び実行順序に基づいて設置指示書を生成し、通信部７０９を介して設置指示書管理サーバー１０４へ送信したり、ストレージ制御部７０３を介して可搬記憶媒体１０２へ書き出したりする。
【００９８】
一方、画像形成装置１０１は、設置指示書作成装置１０３から可搬記憶媒体１０２を介して、あるいはＬＡＮ１００を介して設置指示情報を受け取る。そして画像形成装置１０１にインストールされている自動設置プログラムを実行することで、設置指示情報にしたがって、設置指示情報で指定されたソフトウェアが指定された順序でインストールされる。
【００９９】
以上のように、ソフトウェア管理サーバーが管理する第一の依存情報とは別に、システム独自の工程である第二の分類に属する工程に関する第二の依存情報を管理することで、
第一の分類に属する工程（基準工程を含む）、第二の分類に属する工程のいずれにおいても、適切な順序で実行可能な設置指示書を作成する事が可能となる。
【０１００】
●自動設置プログラム
図１２は、画像形成装置１０１で動作する、自動設置プログラム１２００の機能構成の例を示す図である。ＣＰＵ２０１が各機能に応じたプログラムを実行することにより、各機能は実現される。自動設置プログラム１２００は例えば拡張プログラムとして画像形成装置１０１にインストールされる。自動設置プログラム１２００は、ＵＩ制御部１２０１、処理実行部１２０２、ストレージ制御部１２０３、指示書解析部１２０４とス指示書実行部１２０５、通信部１２０６を有する。なお指示書とは設置指示情報のことである。設置指示情報がスクリプト言語で記述されているならば、指示書解析部１２０４はそのスクリプトを解析し、指示書実行部１２０５はそのスクリプトを実行する。
【０１０１】
ＵＩ制御部１２０１は、自動設置プログラムを操作するためのＵＩを、操作部２０８を通じてユーザーに提供し、ユーザーの操作を受け付ける。処理実行部１２０２は、ＵＩ制御部１２０１の指示に従い、各種処理を行う。ストレージ制御部１２０３は、可搬記憶媒体１０２のデータの読み書きを行う。また、搬記憶媒体１０２の挿抜を検知する。
【０１０２】
指示書解析部１２０４は、設置指示書作成装置１０３で作成された設置指示書の内容を解析し、指示書実行部１２０５が実行すべきコマンド等に変換する。指示書実行部１２０５は、指示書解析部１２０４によって変換されたコマンドを設置指示書に記録されている順序で実行していく。
【０１０３】
通信部１２０６は、設置指示書管理サーバー１０４から設置指示書を取得したり、ソフトウェア管理サーバー１０５から画像形成装置１０１に適用するソフトウェアを取得したり、各種情報のやりとりを行う。
【０１０４】
設置指示書作成プログラム７００により作成された設置指示情報は、上述した自動設置プログラム１２００により解釈実行されて、記述された手順に従ってソフトウェアがインストールされる。設定指示情報の作成の際には、ソフトウェアのインストールという第一の分類に属する工程に加えて、一時停止やシャットダウンなど、ソフトウェアのインストールに直接関連しない追加的な第二の分類に属する工程も、指定された順序で実行される。そしてこの順序は、いったん依存関係が定義されればその依存関係にしたがって決定される。そのため、ソフトウェア間の依存関係に基づいたインストール順序に拘束された付加的な工程についても、適切な依存関係を定義し、それに基づいて順序付けることが可能になる。
【０１０５】
なお、付加的な工程のみならず、ソフトウェアのインストール工程についても、付加的な工程と同様に、依存関係を定義して順序を決定することができる。たとえば他のソフトウェアとの依存関係が特にないソフトウェアについても、それをインストール対象として設定指示情報を作成する際に、他のソフトウェアとの依存関係（あるいは順序関係）をユーザーに定義させることができる。そして存定義された関係を記憶しておくことで、設置指示情報の保守や作成の際に、その関係に応じて工程を順序付けることができる。
【０１０６】
さらに、他のソフトウェアと依存関係があったとしても、本実施形態を適用できる。すなわち本実施形態では第一の分類に属する工程と、第二の分類に属する工程とをわけている。第一の分類に属する工程は、ソフトウェア間の依存関係により、あらかじめ順序に制約が加えられた工程である。しかしながらこの第一の分類に属する工程についても、予めソフトウェア間の依存関係に基づく順序付けをせず、設置指示情報の作成時に、その順序をユーザーに指定させる。そしてその指定により、ソフトウェア間の順序関係を学習するよう構成してもよい。
【０１０７】
［第二実施形態］
第二実施形態として、以下のケースについても適応した設置指示情報の作成手順を説明する。
【０１０８】
画像形成装置１０１の自動設置プログラム１２００は、設置指示書管理サーバー１０４もしくは可搬記憶媒体１０２から取得した設置指示書に基づいて、各工程を実行していく。ただし、工程を実行することでインストールされるソフトウェアが既に画像形成装置１０１にインストール済み状態だったとき、自動設置プログラム１２００の指示書実行部１２０５は、その工程を実行することなく、次の工程を実行しようとする。本実施形態では、このスキップされた工程が基準工程のとき、依存関係を有する第二の分類に属する工程も、基準工程と同様に実行しないか、基準工程とは無関係に実行だけはするのか、を指定できる。
【０１０９】
図１３は、第二の分類に属する工程に対し、第三の依存情報を設定する際の、操作画面例である。例えば、追加された第二の分類に属する工程である「一時停止」工程に対して、チェックコントロール１３０１を配置する。操作者により、チェックコントロール１３０１をオンにされたことをＵＩ制御部７０１から受け取ると、処理実行部７０２は、第三依存情報管理部７１０に対して、「一時停止」工程の第三依存情報として、基準工程が実行されないとき基準工程に同期させて「一時停止」工程も実行しない旨を記憶させる。すなわち、第二の分類に属する工程については、条件付きの動作が指定されている場合には、その動作を設置指示情報に記憶させておく。指定されていなければ第三依存情報は記憶しなくともよい
●自動設置プログラムによる処理
図１４は、自動設置プログラム１２００が、設置指示書に則って各工程を実行する際の処理の流れを説明したフローチャートである。
【０１１０】
設置処理開始の信号をＵＩ制御部１２０１から受け取った処理実行部１２０２は、ストレージ制御部１２０３を経由して可搬記憶媒体１０２から設置指示書を取得するか、通信部１２０６を介して設置指示書管理サーバー１０４から設置指示書を取得する。
【０１１１】
ステップ１４０１では、指示書解析部１２０４が、取得済の設置指示書を解析し、まだ実行していない工程が残っているかどうかをチェックする。残っていなければ、全ての工程を実行済と判断し、処理を終了する。
【０１１２】
残っていれば、指示書解析部１２０４は、次の工程に対して、その工程が第二の分類に属する工程か否かをチェックする（ステップ１４０２）。第二の分類に属する工程でなければ、通常の第一の分類に属する工程となる。
【０１１３】
第一の分類に属する工程のとき、ステップ１４０３では、指示書実行部１２０５が、画像形成装置１０１のソフトウェア構成が、該第一の分類に属する工程を実行した際の状態と一致しているかどうかをチェックする。つまり、設置指示書の工程で指示されているソフトウェアが、既に画像形成装置にインストールされているかどうかを確認する。
【０１１４】
画像形成装置のソフトウェア構成が該工程を実行した際の状態に一致していなければ、指示書実行部１２０５は、その第一の分類に属する工程を指示書通りに実行し、次の工程のチェックをするため、ステップ１４０１へ遷移する。
【０１１５】
画像形成装置のソフトウェア構成が該工程を実行した際の状態と一致していれば、指示書実行部１２０５は該工程をスキップする（ステップ１４０５）。スキップは、工程の未実行とは異なる状態であり、工程の処理結果としては実行済の状態として、指示書実行部１２０５は管理する。
【０１１６】
ステップ１４０２において、現在の工程が第二の分類に属する工程だったとき、ステップ１４０６において、指示書解析部１２０４は、該工程が第三の依存情報を有しているかどうかをチェックする。第三の依存情報は、第二の分類に属する工程の付属情報として設置指示書に記録されている。この例では第三の依存情報は、基準工程に同期させる、すなわち基準工程と同様の処理とする、というものである。
【０１１７】
第三の依存情報を有していなければ、基準工程のスキップに追従する必要はないため、ステップ１４１０において、指示書実行部１２０５は第二の分類に属する工程を実行する。
【０１１８】
第三の依存情報を有している場合は、基準工程のスキップに追従する必要があるため、ステップ１４０７において、指示書実行部１２０５は、現在の第二の分類に属する工程の基準工程が既に実行済かどうか、各工程の実行状況をチェックする。
【０１１９】
既に実行していれば、依存関係にある第二の分類に属する工程も実行すれば良いだけなので、ステップ１４１０にて実行する。
【０１２０】
また、実行済だがスキップしていた場合は、依存関係にある第二の分類に属する工程もスキップする必要があるため、指示書実行部１２０５は、ステップ１４０９において、該工程をスキップする。
【０１２１】
実行済でもなく、スキップでもなく、基準工程を未だ実行していない状態だったとき、指示書実行部１２０５が、画像形成装置１０１のソフトウェア構成が、基準工程を実行した際の状態と一致しているかどうかをチェックする。つまり、設置指示書の工程で指示されているソフトウェアが、既に画像形成装置にインストールされているかどうかを確認する（ステップ１４０８）。一致した場合、基準工程の実行順序がまわってきたとき、それはスキップすべき工程であるため、指示書実行部１２０５は、依存関係にある第二の分類に属する工程もスキップする（ステップ１４０９）。
【０１２２】
基準工程を実行した際の状態と、画像形成装置１０１のソフトウェア構成が一致しない場合は、基準工程の実行順序がまわってきたときに、それは実行すべき工程であるため、指示書実行部１２０５は、依存関係にある第二の分類に属する工程も実行する（ステップ１４１０）。
【０１２３】
以上のように、自動設置プログラムが基準工程を実行するか否かに合わせて、第二の分類に属する工程も実行するような、第三の依存情報を管理することで、不要な工程を実行することが無くなる。
【０１２４】
［第三の実施形態］
第一の実施形態では、設置指示書作成プログラム７００が、操作者に指定された工程を基準工程として定義し、その基準工程と追加した第二の分類に属する工程との依存関係を第二の依存関係として記憶する。そうすることで、その後ソフトウェア構成が変更されたとしても、追加した第二の分類に属する工程を適切な実行順序に保つことを可能とした。第三の実施形態では、単独の工程ではなくソフトウェアのグループを基準として定義する方法を説明する。
【０１２５】
まず、図１５は設置指示書作成装置１０３の操作画面例である。第一の分類に属する工程のＳｏｆｔｗａｒｅ０００２を選択した状態で、コンテキストメニュー１５０１を開き、工程とソフトウェアグループのどちらを基準とするかを選択する。ソフトウェアグループは表示領域１５０２に表現されており、各ソフトウェアの特性に応じて予め決められているものである。本実施形態では、ソフトウェアグループを基準として選択したものとする。図１５の例では、ファームウェア、ソフトウェア、オプションの３グループに分類されている。さらに、その基準に対して、追加する第二の分類に属する工程と追加位置を指定する。
【０１２６】
本実施形態においては、図１５（ａ）に示すように、ソフトウェアのグループＳを基準として、グループＳの後ろに「一時停止」工程を追加する、と指定したとする。すると、図１５（ｂ）の１５０３のような実行順序が形成される。ここで、Ｏｐｔｉｏｎ０００１と依存関係を有するＳｏｆｔｗａｒｅ０００３を追加し、ソフトウェア構成を変更したとする。依存関係は、Ｏｐｔｉｏｎ０００１が親でＳｏｆｔｗａｒｅ０００３が子（例えば親の直後）である。
【０１２７】
第一の分類に属する工程のみであれば、図１５（ｃ）の実行順序１５０４の順序１から４までが適切な順序となる。しかしながら、先程、第二の分類に属する工程である「一時停止」工程を、グループＳの後ろに追加したため、順序５に「一時停止」が配置される。
【０１２８】
ここでの特徴は、「一時停止」工程を追加した際のＳｏｆｔｗａｒｅ０００２の直後ではなく、Ｓｏｆｔｗａｒｅ０００３の後に「一時停止」工程が配置される点である。
【０１２９】
ソフトウェアのグループを基準とした場合、追加される第二の分類に属する工程は、基準のグループに含まれるソフトウェアの内、最初に実行予定のソフトウェアの直前か、もしくは最後に実行予定のソフトウェアの直後という依存情報を持つことになる。
【０１３０】
●設置指示書作成プログラム
図１６は、設置指示書作成プログラム７００の処理の流れを説明したフローチャートである。基準を工程とした第一の実施形態におけるフローチャート（図１０）との違いはステップ１６０１のみである。第一の実施形態ではステップ１００７において工程定義部７０５が基準工程を記憶したのに対し、第二の実施形態においては、工程定義部７０５が基準とするソフトウェアのグループを記憶する。
【０１３１】
図１７は、ソフトウェア構成変更時の設置指示書作成プログラム７００の処理の流れを説明したフローチャートである。基準を工程とした第一の実施形態におけるフローチャート（図１１）との違いはステップ１７０１のみである。第一の実施形態ではステップ１１０７において、工程定義部７０４は基準工程が削除されていないかどうかをチェックしたのに対し、第二の実施形態においては、工程定義部７０４が基準とするソフトウェアのグループに含まれるソフトウェアが、１つも存在しないかどうかをチェックする。つまり、基準となるソフトウェアのグループに含まれるソフトウェアが１つでも存在するうちは、追加した第二の分類に属する工程を削除することはないが、基準のグループに含まれるソフトウェアが全て、ソフトウェア構成から削除された場合は、追加した第二の分類に属する工程も削除するし、関連する第二の依存情報も削除する。
【０１３２】
以上のように、第二の分類に属する工程とソフトウェアグループとの依存関係を第二の依存情報として管理することで、より柔軟なワークフローを実現する設置指示書を作成することが可能となる。
【０１３３】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３４】
１０１  画像形成装置、１０３  設置指示書作成装置、７００  設置指示書作成プログラム、９０１  第二の分類に属する工程の追加操作例
【図１】
2018190284.tif 000003
【図２】
2018190284.tif 000004
【図３】
2018190284.tif 000005
【図４】
2018190284.tif 000006
【図５】
2018190284.tif 000007
【図６】
2018190284.tif 000008
【図７】
2018190284.tif 000009
【図８】
2018190284.tif 000010
【図９】
2018190284.tif 000011
【図１０】
2018190284.tif 000012
【図１１】
2018190284.tif 000013
【図１２】
2018190284.tif 000014
【図１３】
2018190284.tif 000015
【図１４】
2018190284.tif 000016
【図１５】
2018190284.tif 000017
【図１６】
2018190284.tif 000018
【図１７】
2018190284.tif 000019