JP2013218445A - 管理装置、システム、管理装置の制御方法、プログラム。 - Google Patents
管理装置、システム、管理装置の制御方法、プログラム。 Download PDFInfo
- Publication number
- JP2013218445A JP2013218445A JP2012086948A JP2012086948A JP2013218445A JP 2013218445 A JP2013218445 A JP 2013218445A JP 2012086948 A JP2012086948 A JP 2012086948A JP 2012086948 A JP2012086948 A JP 2012086948A JP 2013218445 A JP2013218445 A JP 2013218445A
- Authority
- JP
- Japan
- Prior art keywords
- program
- installer
- setup
- unit
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1297—Printer code translation, conversion, emulation, compression; Configuration of printer parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1225—Software update, e.g. print driver, modules, plug-ins, fonts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】ユーザがプリンタドライバと関連プログラムを情報処理装置に適切な順番でインストール可能なセットアッププログラムを印刷装置に容易に登録すること。
【解決手段】管理装置101は、印刷装置105のプリンタドライバを情報処理装置102にインストールする第1インストーラプログラムの指定と、前記プリンタドライバと関連するプログラムを情報処理装置102にインストールする少なくとも1つの第2インストーラプログラムの指定を行い、前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定し、前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記指定された順序で起動するためのセットアッププログラムを作成し、該作成されたセットアッププログラムを印刷装置105の記憶領域に登録する。
【選択図】図7
【解決手段】管理装置101は、印刷装置105のプリンタドライバを情報処理装置102にインストールする第1インストーラプログラムの指定と、前記プリンタドライバと関連するプログラムを情報処理装置102にインストールする少なくとも1つの第2インストーラプログラムの指定を行い、前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定し、前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記指定された順序で起動するためのセットアッププログラムを作成し、該作成されたセットアッププログラムを印刷装置105の記憶領域に登録する。
【選択図】図7
Description
本発明は、プリンタドライバ等のデバイスドライバのインストールに関するものである。
近年、企業のオフィス等にプリンタが普及し、誰でも簡単に印刷ができるようになった。情報処理装置としてのPC(パーソナルコンピュータ)からプリンタに印刷するには、印刷データを生成しプリンタを制御するためのプリンタドライバを、PCにインストールする必要がある。
一般的にプリンタドライバは、PCのオペレーティングシステム(OS)や印刷するプリンタ毎に用意され、プリンタと同梱されたCD−ROMやFD等の記憶媒体によって提供されている。
また、管理者は、最新のプリンタドライバを、公衆ネットワークを介してプリンタの製造元が開設したホームページからダウンロードにより入手することが一般的である。
さらに、管理者は、入手したプリンタドライバとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザに配置場所をアナウンスしてプリンタを利用させるといった運用が行われている。そして、一般ユーザは、上記のアナウンスを元に、その配置場所から取得した情報に従い、PCにプリンタドライバをインストールする。
さらに、管理者は、入手したプリンタドライバとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザに配置場所をアナウンスしてプリンタを利用させるといった運用が行われている。そして、一般ユーザは、上記のアナウンスを元に、その配置場所から取得した情報に従い、PCにプリンタドライバをインストールする。
オフィスに複数の印刷装置を導入する場合、ユーザ毎に使用する印刷装置が異なることが普通であり、間違いなくプリンタドライバのインストール、および印刷ジョブの送付先としてのポートの設定等を行うのは、管理者・一般ユーザ共に大変な作業であった。
さらに、印刷システムに関連するソフトウェア(以下、関連ソフトウェアと総称する)をPCに追加する事で、付加価値の高い印刷システムを構築することもできる。
さらに、印刷システムに関連するソフトウェア(以下、関連ソフトウェアと総称する)をPCに追加する事で、付加価値の高い印刷システムを構築することもできる。
関連ソフトウェアには、一般ユーザが操作するクライアントPCの印刷環境構築の際に、サーバの設定等を反映する必要がある関連ソフトウェアも存在する。
なお、複数の関連ソフトウェアをインストールする際は、インストールの順番を正しい順番で行わなければならず、設定がより複雑になっている。
また、クライアントPCの環境構築は、一般ユーザが行うのが一般的であり、一般ユーザが間違いなくプリンタドライバおよび関連ソフトウェアのインストール並びに設定を行うのは困難であった。
なお、複数の関連ソフトウェアをインストールする際は、インストールの順番を正しい順番で行わなければならず、設定がより複雑になっている。
また、クライアントPCの環境構築は、一般ユーザが行うのが一般的であり、一般ユーザが間違いなくプリンタドライバおよび関連ソフトウェアのインストール並びに設定を行うのは困難であった。
従来からプリンタドライバをインストールする方法として、クライアントのシステム情報とプリンタの固有情報に基づいてプリンタドライバをサーバから取得し、該ドライバをインストール情報と共にクライアントに送信する技術が提案されている。(特許文献1参照。)
特許文献1で開示される方法では、サーバに情報テーブルを持ち、プリンタはクライアントのシステム情報およびプリンタの固有情報に基づいて自動的に条件に一致したプリンタドライバおよび関連ソフトウェアを検索し取得する。プリンタは、取得したプリンタドライバと関連ソフトウェア、プリンタドライバ情報と取得した関連ソフトウェアの情報をクライアントにダウンロードさせ自動的にインストールが行われる。
しかしながら、関連ソフトウェアの中にはインストールを正しい順番で行う必要がある関連ソフトウェアも存在する。例えば、ポートモニタは、プリンタドライバより前にインストールしておく必要がある。
特許文献1に開示の方法では、複数の関連ソフトウェアをインストールする際の順番を制御することができない。
さらに、関連ソフトウェアの中には、サーバと連携して機能する関連ソフトウェアも存在し、このような関連ソフトウェアに対しては、インストールの際に利用するサーバのIPアドレス等のサーバの設定が必要になる。特許文献1に開示の方法では、インストールの際に任意の設定を設けることができない。
以上のような問題が、従来のプリンタドライバ等のデバイスドライバのインストールに関して存在していた。
さらに、関連ソフトウェアの中には、サーバと連携して機能する関連ソフトウェアも存在し、このような関連ソフトウェアに対しては、インストールの際に利用するサーバのIPアドレス等のサーバの設定が必要になる。特許文献1に開示の方法では、インストールの際に任意の設定を設けることができない。
以上のような問題が、従来のプリンタドライバ等のデバイスドライバのインストールに関して存在していた。
本発明は、上記の問題点を解決するためになされたものであり、本発明の目的は、ユーザがプリンタドライバ等のデバイスドライバと関連プログラムを適切な順番で情報処理装置にインストール可能にする仕組みを提供することである。
本発明は、周辺装置にデバイスドライバを登録するための管理装置であって、前記周辺装置のデバイスドライバを情報処理装置にインストールする第1インストーラプログラムの指定と、前記デバイスドライバと関連するプログラムを情報処理装置にインストールする少なくとも1つの第2インストーラプログラムの指定を行うための第1指定手段と、
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定する第2指定手段と、前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記第2指定手段にて指定された順序で起動するためのセットアッププログラムを作成する作成手段と、前記作成手段で作成されたセットアッププログラムを前記周辺装置の記憶領域に登録する登録手段と、を有することを特徴とする。
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定する第2指定手段と、前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記第2指定手段にて指定された順序で起動するためのセットアッププログラムを作成する作成手段と、前記作成手段で作成されたセットアッププログラムを前記周辺装置の記憶領域に登録する登録手段と、を有することを特徴とする。
本発明によれば、ユーザがプリンタドライバ等のデバイスドライバと関連プログラムを適切な順番で情報処理装置にインストール可能にすることができる。
以下、本発明を実施するための形態について図面を用いて説明する。
なお、本発明では特に断りの無い限り、「プリンタドライバ」とは、アプリケーションからの印刷指示に応じて、OS(オペレーティングシステム)から呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンタ」とは、OSのスプーラー上の印刷キューのことであり、ソフトウェアとしてのプリンタを意味する。「論理プリンタ名」は、論理プリンタを識別する名称である。「共有プリンタ」とは、「論理プリンタ」を接続したPC(パーソナルコンピュータ)をプリントサーバとして機能させ、LAN等のネットワークに接続した複数のPCから共有して使うことの出来る論理プリンタである。「ポート」とは、論理プリンタが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。1つのポートには印刷データの送信先(例えば、IPアドレス)が1つだけマッピングされているのが普通である。また、「ポート名」とは、ポートを識別する名称である。「インストーラ」とは、プリンタドライバや関連ソフトウェアをインストールするアプリケーションであり、インストールプログラムとインストール情報を記載した情報ファイルからなる。また、プリンタドライバのインストーラは、プリンタドライバのインストールと同時に論理プリンタの登録、ポートの作成も行うことができるものとする。「アップロード」とは、記憶領域にPCやサーバからデータを登録することである。また、「ダウンロード」とは記憶領域に保存したデータをPCまたはサーバに転送することである。
なお、本発明では特に断りの無い限り、「プリンタドライバ」とは、アプリケーションからの印刷指示に応じて、OS(オペレーティングシステム)から呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンタ」とは、OSのスプーラー上の印刷キューのことであり、ソフトウェアとしてのプリンタを意味する。「論理プリンタ名」は、論理プリンタを識別する名称である。「共有プリンタ」とは、「論理プリンタ」を接続したPC(パーソナルコンピュータ)をプリントサーバとして機能させ、LAN等のネットワークに接続した複数のPCから共有して使うことの出来る論理プリンタである。「ポート」とは、論理プリンタが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。1つのポートには印刷データの送信先(例えば、IPアドレス)が1つだけマッピングされているのが普通である。また、「ポート名」とは、ポートを識別する名称である。「インストーラ」とは、プリンタドライバや関連ソフトウェアをインストールするアプリケーションであり、インストールプログラムとインストール情報を記載した情報ファイルからなる。また、プリンタドライバのインストーラは、プリンタドライバのインストールと同時に論理プリンタの登録、ポートの作成も行うことができるものとする。「アップロード」とは、記憶領域にPCやサーバからデータを登録することである。また、「ダウンロード」とは記憶領域に保存したデータをPCまたはサーバに転送することである。
また、説明の簡便のためOSとしてMicrosoft社製Windows(登録商標)を例にとり説明するが、他のOSであっても本発明は適用可能である。
本発明に係る一実施形態としてのシステムについて説明する。
関連ソフトウェアの例として、サーバから情報(情報は、ユーザ情報、ユーザの印刷履歴情報等、何であってもよい)を取得し、プリンタドライバにサーバから取得した情報を通知するソフトウェアとする。プリンタドライバは、前記情報を印刷ジョブの生成に用い、高度な印刷制御を行う。前記ソフトウェアの場合、インストールの際にアクセス権の設定やアクセスするサーバの指定等が必要となる。本実施例では簡便のため、サーバのIPアドレスの指定のみを必要とするケースで説明するが、他の情報の指定を必要とするものであっても本発明は適用可能いである。
関連ソフトウェアの例として、サーバから情報(情報は、ユーザ情報、ユーザの印刷履歴情報等、何であってもよい)を取得し、プリンタドライバにサーバから取得した情報を通知するソフトウェアとする。プリンタドライバは、前記情報を印刷ジョブの生成に用い、高度な印刷制御を行う。前記ソフトウェアの場合、インストールの際にアクセス権の設定やアクセスするサーバの指定等が必要となる。本実施例では簡便のため、サーバのIPアドレスの指定のみを必要とするケースで説明するが、他の情報の指定を必要とするものであっても本発明は適用可能いである。
図1は、本発明を適用可能な印刷システムの構成の一例を示すブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
図1において、101〜104は情報処理装置であり、イーサネット(登録商標)などのネットワークケーブル(又は無線)によって、ネットワーク106に接続されている。情報処理装置101〜104は、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク106に接続されている他の機器と双方向に通信可能な通信装置を備えている。
なお、情報処理装置101は、管理装置としての情報処理装置であって、以下、他の情報処理装置と区別する場合には管理装置101と呼ぶ。管理装置101は、印刷装置105に関する様々な情報を保持し、印刷装置の印刷ログ、動作ログ等を集計して保持する機能を備えている。
また、情報処理装置102〜104は、パーソナルクライアントコンピュータとしての情報処理装置であって、以下、他の情報処理装置と区別する場合にはクライアントと呼ぶ。なお、以下の説明では、クライアント102を用いて説明するが、クライアント103,104でも同様である。
印刷装置105は、プリンタや複合機等の画像形成装置である。印刷装置105は、図示省略したネットワークインタフェースを介してネットワーク106に有線又は無線により接続されている。印刷装置105は、クライアント102,103,104から送信される印刷データを含むジョブを解析して1ページずつイメージに変換して、1ページ毎に印刷する。なお、印刷装置105は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等の様々な印刷方式のもののうち何れの印刷方式であってもよい。
図2は、情報処理装置101〜104と印刷装置105の構成の一例を示すブロック図である。
まず、情報処理装置101〜104の詳細構成を説明する。なお、図2の説明では、情報処理装置101〜104を単に情報処理装置と呼ぶ。
情報処理装置において、CPU200は、情報処理装置における処理を制御する。CPU200は、ハードディスク(HD)205にコンピュータ読み取り可能に記録されているアプリケーションプログラム、プリンタドライバプログラム、OSや制御プログラム等を実行する。さらに、CPU200は、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
まず、情報処理装置101〜104の詳細構成を説明する。なお、図2の説明では、情報処理装置101〜104を単に情報処理装置と呼ぶ。
情報処理装置において、CPU200は、情報処理装置における処理を制御する。CPU200は、ハードディスク(HD)205にコンピュータ読み取り可能に記録されているアプリケーションプログラム、プリンタドライバプログラム、OSや制御プログラム等を実行する。さらに、CPU200は、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
ROM201は記憶部であり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データがコンピュータ読み取り可能に記録されている。RAM202は一時記憶部であり、CPU200の主メモリ、ワークエリア等として機能する。
FDドライブ203は、記録媒体読み込み部である。このFDドライブ203を介して、記録媒体としてのフロッピー(登録商標)ディスク(FD)204に記憶されたプログラム等を情報処理装置にロードすることができる。なお、記録媒体はFDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。FD204等の記録媒体には、プログラム等がコンピュータ読み取り可能に記録されている。
ハードディスク装置(HD)205は外部記憶部の一つであり、大容量メモリとして機能する。HD205には、アプリケーションプログラム、プリンタドライバプログラム、OS、制御プログラム、関連プログラム等をコンピュータ読み取り可能に記録されている。さらに、HD205には、スプーラが確保される。スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバではサーバスプーラである。なお、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもHD205に生成されて格納される。
キーボード(KBD)206及びポインティングデバイス(PD)209は、ユーザの入力を受け付ける指示入力部である。ディスプレイ207は表示部であり、KBD206やPD209から入力されたコマンドや、後述のデバイス選択アプリケーション等のアプリケーションプログラムを表示するものである。
システムバス208は、情報処理装置内のデータの流れを司るものである。接続部210は、ネットワーク106等の双方向インタフェース211を介して印刷装置105等の外部装置とのデータのやり取りを行う。
次に、印刷装置105の詳細構成を説明する。
印刷装置105は、ハードディスク(HD)228、接続部226、データ制御部(プリンタエンジン)225、操作部224、外部メモリ223、PCPU220、PRAM222、及びPROM221を主要な構成要素する。これらの構成要素がシステムバス227を介して互いに接続されている。
印刷装置105は、ハードディスク(HD)228、接続部226、データ制御部(プリンタエンジン)225、操作部224、外部メモリ223、PCPU220、PRAM222、及びPROM221を主要な構成要素する。これらの構成要素がシステムバス227を介して互いに接続されている。
プリンタCPU(PCPU)220は、印刷装置105の全体制御を司るものである。PCPU220は、後述するPROM221或いは外部メモリ223に記憶された制御プログラムに基づいて、接続部226で受信したプリンタ制御コマンド(送信データ)より、画像信号をデータ制御部225に送信する。
HD228は、大容量の記憶装置である。HD228は、フォントデータや印刷ジョブ等のデータの保存先として利用される。また、HD228は、図示しない外部装置としての記憶装置と置き換えが可能である。HD228を外部の記憶装置と置き換える場合は、印刷装置105は接続部226を介し、データの送受信を行う。
PRAM222は、PCPU220の主メモリとして、PCPU220による制御実行時、ワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ223は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
PROM221はプリンタ内部メモリであり、外部メモリと同様に、各種データや本プリンタを制御するプリンタ制御プログラム等を記憶している。
データ制御部225はプリンタエンジンであり、PCPU220により制御され、PROM221、或いは外部メモリ223に記憶された制御プログラムよりシステムバス227を介して出力された画像信号を受け、実際の印刷処理を行う。
データ制御部225はプリンタエンジンであり、PCPU220により制御され、PROM221、或いは外部メモリ223に記憶された制御プログラムよりシステムバス227を介して出力された画像信号を受け、実際の印刷処理を行う。
操作部224は、操作パネルや操作スイッチ等の入力部、及びLED、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは、操作部224を介してプリンタの設定を指示や、確認することが可能である。
接続部226は、双方向インタフェース211を介して情報処理装置の接続部210に接続し、印刷制御コマンド(送信データ)の受信や、印刷装置内部の状態等を通知する事も可能である。
図3は、本実施例の管理装置101で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。また、管理アプリケーションは、管理装置101のCPU200が管理装置101のHD205にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することにより実現されるものである。
管理装置101で実行される管理アプリケーションは、ユーザ操作に応じて、印刷装置105等のデバイスを管理下に追加登録することが出来る。そして、管理アプリケーションは、図3に示すように、デバイス一覧(デバイスリスト)301において、管理下のデバイスを、デバイス名、状態、製品名、IPアドレス、シリアルNo.、設置場所、コメント等の付属情報と共にリストで一覧表示することができる。なお、管理下となるデバイスとは、印刷機能を有するプリンタ、スキャナ、FAX機能やコピー機能を併せ持つ複合機等の周辺装置を含む。
なお、デバイス一覧301に一覧表示されたデバイスは、管理アプリケーションにより、PD209又はKBD206から選択可能(1又は複数選択可能)に制御されている。
ユーザによりデバイス一覧301に一覧表示されたデバイス1又は複数が選択され、「ドライバ登録」ボタン302が押下されると、管理アプリケーションは、後述する図4に示すアップロード条件の設定画面を、管理装置101の表示部207に表示する。
ユーザによりデバイス一覧301に一覧表示されたデバイス1又は複数が選択され、「ドライバ登録」ボタン302が押下されると、管理アプリケーションは、後述する図4に示すアップロード条件の設定画面を、管理装置101の表示部207に表示する。
また、ユーザによって「アドレス帳」ボタン304、「ドライバ削除」ボタン303等のボタンが押下されると、管理アプリケーションは図示しないアドレス帳画面やドライバ削除画面等を管理装置101の表示部207に表示する。
なお、本実施例の説明では、本発明で扱うデバイスドライバ(以下、ドライバ)の例として「プリンタドライバ」を用いるが、「ドライバ」はプリンタドライバに限定されるものではない。印刷装置105がスキャン機能を備える場合にはスキャナドライバ、ファクシミリ機能を備える場合にはFAXドライバのように、印刷装置105のためのデバイスドライバであればどのようなデバイスドライバであってもよい。また、印刷装置105はスキャナ等の他の周辺装置であってもよい。
図4は、本実施例の管理装置101上で実行される管理アプリケーションにより提供されるアップロード条件設定画面(プリンタドライバ用)の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。
このアップロード条件設定画面(プリンタドライバ用)において、ユーザにより「参照」ボタン401が押下されると、管理アプリケーションは、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによってインストーラの"setup.exe"ファイルが指定されると、管理アプリケーションは、該指定された"setup.exe"のファイルのパス情報を「ファイルパス」テキストエリア400に反映する。さらに、管理アプリケーションは、上記指定された"setup.exe"ファイルや付随するファイルからインストーラのドライバ種類、バージョン、システムの種類等を読み込む。さらに、管理アプリケーションは、前記読み込んだドライバ種類、バージョンをそれぞれ、アップロード条件設定画面(プリンタドライバ用)のテキストエリア「ドライバ種類:」402、「バージョン:」403、「システムの種類:」404に反映する。
さらに、管理アプリケーションは、前記選択されたインストーラが保持するドライバモデルのリストから、図3に示したデバイス選択画面で指定されたデバイス(印刷装置;複数の選択されている場合には最初に選択されたもの)のモデル名を比較し、一致するものを「ドライバモデル名」コンボボックス405に表示する。
さらに、管理アプリケーションは、「ドライバモデル」コンボボックス405に設定されたドライバモデル名を「表示名」テキストボックス406の初期値として設定する。「表示名」テキストボックス406は、ユーザによって任意の文字列に編集可能である。「表示名」テキストボックス406で指定された文字列は、クライアント102等が印刷装置105からセットアッププログラムのダウンロードを行うユーザが目的のドライバを認識しやすいように、後述する図6に示すドライバダウンロードページに表示されることとなる。
「アップロードNo.」コンボボックス407において、管理アプリケーションは、アップロードするセットアッププログラムを格納するアップロード番号の指定を、ユーザに許可する。このアップロード番号は「1」〜「3」を指定可能である。印刷装置105のHD228には、アップロード番号に対応した格納領域が予め確保されている。既に印刷装置105にセットアッププログラムが格納済みのアップロード番号を指定してアップロードを実行すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
「コメント」テキストボックス408において、管理アプリケーションは、ユーザによる任意のコメントの入力を可能にする。ここで指定(入力)された文字列は、ダウンロードを行うユーザが目的ドライバを認識しやすいように、後述のドライバダウンロードページ(図6)に表示される。さらに、ここで指定(入力)された文字列は、クライアント102等に作成される論理プリンタのプロパティにコメントとして追加される。
「ボックスのパス」テキストボックス409において、管理アプリケーションは、ユーザによる、セットアッププログラムをアップロードする印刷装置105の記憶装置内の共有フォルダ内のパスの指定を可能とする。
「ユーザ名」テキストボックス410では、管理アプリケーションは、「ボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザ名の、ユーザによる指定を可能とする。
「パスワード」テキストボックス411では、管理アプリケーションは、「ボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザのパスワードの、ユーザによる指定を可能とする。
さらに、ユーザにより「拡張設定」ボタン412が押下されると、管理アプリケーションは、図5に示すアップロード条件設定画面(関連ソフトウェア用)を、管理装置101の表示部207に表示する。なお、図5のアップロード画面(関連ソフトウェア)では、ユーザは、セットアッププログラムに追加する関連ソフトウェアのインストーラを追加することができる。
このアップロード条件設定画面(プリンタドライバ用)で「OK」ボタン413が押下されると、管理アプリケーションは、前記ファイル選択ダイアログで指定されたインストーラに、表示名406やアップロード番号407等の設定を反映したものと、図5のアップロード条件設定画面(関連ソフトウェア用)で選択された関連ソフトウェアのインストーラとユーザに設定された設定情報を、セットアッププログラムとして構築する。そして、管理アプリケーションは、該セットアッププログラムを、図3に示したデバイス選択画面で指定された各印刷装置のHD228にアップロードする。
また、このアップロード条件設定画面(プリンタドライバ用)で「キャンセル」ボタン414が押下されると、管理アプリケーションは、セットアッププログラムをアップロードすることなく、このアップロード条件設定画面(プリンタドライバ用)を閉じる。
なお、図3に示したデバイス選択画面で複数のデバイス(印刷装置)が指定されている場合、図4のアップロード条件設定画面(プリンタドライバ用)で設定された各アップロード条件は、前記選択された複数のデバイスに対して共通に用いられる。
図5は、本実施例の管理装置101上で実行される管理アプリケーションにより提供されるアップロード条件設定画面(関連ソフトウェア用)の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。アップロード画面(関連ソフトウェア)は、ソフトウェアのアップロード条件を設定するための画面である。
このアップロード条件設定画面(関連ソフトウェア用)において、ユーザにより「参照」ボタン501が押下されると、管理アプリケーションは、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによって関連ソフトウェアのファイル(setup.exe)が指定されると、管理アプリケーションは、該指定された関連ソフトウェアのファイルのパス情報を「ファイルパス」テキストエリア502に反映する。
「オプション」テキストボックス503において、管理アプリケーションは、上記「参照」ボタン501から選択された関連ソフトウェアで設定する設定情報の、ユーザによる入力を可能にする。ここで入力された設定情報は、セットアッププログラムにより関連ソフトウェアがインストールされる際の設定情報として利用される。
「追加」ボタン504が押下されると、管理アプリケーションは、上記「参照」ボタン501から選択された関連ソフトウェアのsetup.exeと、「オプション」テキストボックス503で入力された設定情報を組にして、後述の「ソフトウェア一覧」リスト508の最後尾に追加する。
「ソフトウェア一覧」リスト508では、管理アプリケーションは、図4のアップロード条件設定画面(プリンタドライバ用)で設定されたプリンタドライバのsetup.exeと、上記「追加」ボタン504から追加された関連ソフトウェアのsetup.exeとを、PD209又はKBD206から選択可能に表示する。
なお、管理アプリケーションは、関連ソフトウェアの情報を「ソフトウェア一覧」リスト508に追加すると、「ソフトウェア一覧」リスト508に表示されているソフトウェアの順番に基づいて、ソフトウェアの起動順序情報を作成し、RAM202等の記憶装置の所定のワーク領域に保存する。
「上へ」ボタン505が押下されると、管理アプリケーションは、「ソフトウェア一覧」リスト508で選択されているソフトウェアの表示位置を1つ上に移動させる。「下へ」ボタン506が押下されると、管理アプリケーションは、「ソフトウェア一覧」リスト508で選択されているソフトウェアの表示位置を1つ下に移動させる。「削除」ボタン507が押下されると、管理アプリケーションは、「ソフトウェア一覧」リスト508で選択されているソフトウェアを、「ソフトウェア一覧」リスト508から削除する。
「ソフトウェア一覧」リスト508に表示されているソフトウェアの順番が更新されると、管理アプリケーションは、上記RAM202等の記憶装置に所定のワーク領域に保存されているソフトウェアの起動順序情報を更新する。ソフトウェアの起動順序の情報は、セットアップアプリを作成の際にインストールする順番を決定する為に利用される。
このアップロード条件設定画面(関連ソフトウェア用)で「OK」ボタン509が押下されると、管理アプリケーションは、上記ソフトウェアの起動順序情報を保持した状態で、図4のアップロード条件設定画面(プリンタドライバ用)へ制御を返す。
また、このアップロード条件設定画面(関連ソフトウェア用)で「キャンセル」ボタン510が押下されると、管理アプリケーションは、管理アプリケーションは、上記ソフトウェアの起動順序情報を破棄して、図4のアップロード条件設定画面(プリンタドライバ用)へ制御を返す。
図6は、本実施例の印刷装置105の備えるWebサーバに対して、ユーザがクライアント102〜104のWebブラウザからからアクセスしたときにアクセス元の表示部207に表示されるドライバダウンロード画面の一例を示す図である。
印刷装置105のWebサーバ機能部705(後述する図7)は、図示しないログイン画面をクライアント102〜104のWebブラウザ720(図7)に表示し、ユーザにユーザ名入力を受付ける。さらに、印刷装置105のWebサーバ機能部705は、Webサーバ機能部705に予め設けられた権限判定機能により前述のログイン画面から取得したユーザ名を判断し、取得ユーザ名が管理者ユーザの場合は、図6の管理者用のダウンロード画面を、アクセス元のWebブラウザに送信し、表示させる。また、取得ユーザ名が一般ユーザの場合は図示しない一般ユーザ用ダウンロード画面を、アクセス元のWebブラウザに送信し、表示させる。
図6の管理者用ダウンロード画面では、アップロードされたセットアッププログラムの一覧601を、「No.」「表示名」、「ドライバ種類」、「バージョン」、「システムの種類」、「パス」、「コメント」、および各種操作ボタン(602,603)と共に表示する。なお、図示しない一般ユーザ用ダウンロード画面では、「パス」、「削除」ボタン603は表示されない。
一覧601において、「No.」は、図4の「アップロードNo.」407で指定されたアップロード番号を表示する。「表示名」は、図4の「表示名」406で指定された文字列を表示する。「ドライバ種類」は、図4の「ドライバ種類」402で設定した文字列を表示する。「バージョン」は、図4の「バージョン:」403で設定した文字列を表示する。「システムの種類」は、図4の「システムの種類」404の表示値を表示する。「パス」は、図4の「ボックスのパス」409で指定された文字列を表示する。「コメント」は、図4の「コメント」408で指定された文字列を表示する。
前述の各種操作ボタンとは、「ダウンロード」ボタン602、「削除」ボタン603である。「削除」ボタン603は、管理者用ダウンロード画面でのみ表示される。
ここで、一覧601の何れか行の「ダウンロード」ボタン602がユーザによって押下されると、操作元のWebブラウザでは、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。このセットアッププログラムをダウンロードは、ユーザによって前述のダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
ここで、一覧601の何れか行の「ダウンロード」ボタン602がユーザによって押下されると、操作元のWebブラウザでは、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。このセットアッププログラムをダウンロードは、ユーザによって前述のダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
また、ここで、一覧601の何れか行の「削除」ボタン603がユーザによって押下されると、この操作が操作元のWebブラウザから印刷装置105のWebサーバ機能部705に通知される。該通知を受けたWebサーバ機能部705は、監視部703(図7)に削除通知を行って、監視部703から指示されたセットアッププログラム更新部704(図7)が、該当行のセットアッププログラムを削除する。そして、該当行のセットアッププログラムが削除された一覧601が、操作元のWebブラウザに表示される。
図7は、本実施例における印刷システムの主要なモジュール構成の一例を示す図である。これらモジュールは、システム内の各装置においてCPUがプログラムを実行することで実現される機能を提供するための論理的な構成である。
まず、管理装置101のモジュール構成について説明する。
管理装置101は、アップロード部710、選択部711、作成部712、アップロード条件設定部713、プリンタドライバ取得部714、関連ソフトウェア取得部715等を有する。これらモジュール710〜715は、管理装置101のCPU200がROM201にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することで実現される上述の管理アプリケーションの機能に対応する。
管理装置101は、アップロード部710、選択部711、作成部712、アップロード条件設定部713、プリンタドライバ取得部714、関連ソフトウェア取得部715等を有する。これらモジュール710〜715は、管理装置101のCPU200がROM201にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することで実現される上述の管理アプリケーションの機能に対応する。
選択部711は、管理アプリケーションが提供する画面(図3)を管理装置101の表示部207に表示する。
アップロード条件設定部713は、アップロード条件設定画面(図4、図5)を管理装置101の表示部207に表示する。
プリンタドライバ取得部714は、アップロード条件設定部713から起動され、アップロード条件設定画面(図4)で指定されたファイルパスからプリンタドライバのインストーラプログラム(setup.exe)やドライバ情報ファイル(setup.inf)等を読み込むことでプリンタドライバを取得する。
アップロード条件設定部713は、アップロード条件設定画面(図4、図5)を管理装置101の表示部207に表示する。
プリンタドライバ取得部714は、アップロード条件設定部713から起動され、アップロード条件設定画面(図4)で指定されたファイルパスからプリンタドライバのインストーラプログラム(setup.exe)やドライバ情報ファイル(setup.inf)等を読み込むことでプリンタドライバを取得する。
関連ソフトウェア取得部715は、アップロード条件設定部713から起動され、アップロード条件設定画面(図5)で指定されたファイルパスから関連ソフトウェアのインストーラプログラム(setup.exe)や関連ソフトウェアで設定する設定情報等を読み込むことで関連ソフトウェアを取得する。
作成部712は、プリンタドライバ取得部714や関連ソフトウェア取得部715が取得したインストーラに、アップロード条件設定部713から論理プリンタや関連ソフトウェア登録に必要な設定情報を取得し、セットアッププログラムを作成する。アップロード部710は、作成部712が作成したセットアッププログラムを印刷装置105の記憶部701に送信する。なお、作成部712は、アップロード部710から起動される。
次に、印刷装置(プリンタ)105のモジュール構成について説明する。
印刷装置105は、記憶部701、監視部703、セットアッププログラム更新部704、Webサーバ機能部705を有する。これらモジュール701,703〜705は、印刷装置105のPCPU220がPROM221にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
印刷装置105は、記憶部701、監視部703、セットアッププログラム更新部704、Webサーバ機能部705を有する。これらモジュール701,703〜705は、印刷装置105のPCPU220がPROM221にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
記憶部701は、管理装置101のアップロード部710から送信されるセットアッププログラムを受け取り、記憶装置(印刷装置105のHD228)に予め確保された格納領域内に格納する。さらに、記憶部701は、情報処理装置から、削除要求として、格納済みのセットアッププログラムを識別する情報を受け取り、該当するセットアッププログラムを削除する。
セットアッププログラム702は、インストーラと論理プリンタ作成時に必要となる各種設定を含む実行プログラムである。
監視部703は、印刷装置105の構成情報を監視し、構成情報に変更が発生した場合は、セットアッププログラム更新部704に対して、セットアッププログラム702の更新を依頼する。なお、構成情報とは、印刷装置105に設定された情報、例えばIPアドレス、ホスト名、機器名、設置場所情報などの情報である。また、監視部703は、管理装置101からセットアッププログラムのアップロードや、登録済みセットアッププログラムの削除指示の監視も行う。
監視部703は、印刷装置105の構成情報を監視し、構成情報に変更が発生した場合は、セットアッププログラム更新部704に対して、セットアッププログラム702の更新を依頼する。なお、構成情報とは、印刷装置105に設定された情報、例えばIPアドレス、ホスト名、機器名、設置場所情報などの情報である。また、監視部703は、管理装置101からセットアッププログラムのアップロードや、登録済みセットアッププログラムの削除指示の監視も行う。
セットアッププログラム更新部704は、監視部703からの指示に基づき、セットアッププログラム702の内部情報を書き換える。
Webサーバ機能部705は、Webサーバとして動作するもので、図6に示したドライバダウンロード画面を含む、各種Webページをクライアント102〜104に提供するものである。
Webサーバ機能部705は、Webサーバとして動作するもので、図6に示したドライバダウンロード画面を含む、各種Webページをクライアント102〜104に提供するものである。
次に、クライアント102(103,104)のモジュール構成について説明する。
クライアント102(103,104)は、Webブラウザ720を有する。Webブラウザ720は、クライアント102(103,104)のCPU200がROM201にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
Webブラウザ720は、ユーザの指示により印刷装置105のWebサーバ機能部705にアクセスして、セットアッププログラム702のダウンロードなどを行う。
クライアント102(103,104)は、Webブラウザ720を有する。Webブラウザ720は、クライアント102(103,104)のCPU200がROM201にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
Webブラウザ720は、ユーザの指示により印刷装置105のWebサーバ機能部705にアクセスして、セットアッププログラム702のダウンロードなどを行う。
以下、図8のフローチャートを用いて、選択部711が行う処理をについて説明する。
図8は、管理装置101の選択部711が行う処理の一例を示すフローチャートである。なお、図8〜図13に示す処理を実現するためのプログラム(上述の管理アプリケーションプログラム)は予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。
なお、本実施例では、図3に示したデバイス選択画面に登録・管理されているデバイスは、全てプリンタ(印刷装置)とする。
図8は、管理装置101の選択部711が行う処理の一例を示すフローチャートである。なお、図8〜図13に示す処理を実現するためのプログラム(上述の管理アプリケーションプログラム)は予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。
なお、本実施例では、図3に示したデバイス選択画面に登録・管理されているデバイスは、全てプリンタ(印刷装置)とする。
まず、S801において、選択部711は、イベントが発生したか否かを判断する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するIDが、イベントとして通知され、これらを用いて判断する。
上記S801において、イベント発生していないと判断した場合(No)、選択部711は、S801の処理を繰り返す。
一方、S801において、イベントが発生したと判断した場合(Yes)、選択部711は、S802に処理を進める。
一方、S801において、イベントが発生したと判断した場合(Yes)、選択部711は、S802に処理を進める。
S802では、選択部711は、上記発生したイベントが「デバイス選択」であるか否かを判断する。本実施例では、発生したイベントにおいて、図3に示したデバイス選択画面のデバイス一覧301のレコードのIDと、左マウスボタン操作が含まれるときは、「デバイス選択」が行われたと判断する。
上記S802において、イベントがデバイス選択であると判断した場合(Yes)、選択部711は、S803に処理を進める。
S803では、選択部711は、予めRAM202やHD205等の記憶装置に確保しているワーク領域内のデバイスリストに、上記選択されたデバイスに対応するレコードを追加する。図3のデバイス選択画面では、デバイスドライバを登録する周辺装置(デバイス)を複数指定可能であり、これらを上記デバイスリストとして保持することとなる。このデバイスリストには、上記選択されたデバイスのデバイスモデル名、IPアドレス、シリアルナンバー等のプリンタ固有の情報が含まれる。そして、選択部711は、S801に処理を戻す。
S803では、選択部711は、予めRAM202やHD205等の記憶装置に確保しているワーク領域内のデバイスリストに、上記選択されたデバイスに対応するレコードを追加する。図3のデバイス選択画面では、デバイスドライバを登録する周辺装置(デバイス)を複数指定可能であり、これらを上記デバイスリストとして保持することとなる。このデバイスリストには、上記選択されたデバイスのデバイスモデル名、IPアドレス、シリアルナンバー等のプリンタ固有の情報が含まれる。そして、選択部711は、S801に処理を戻す。
一方、上記S802において、イベントがデバイス選択でない判断した場合(No)、選択部711は、S804に処理を進める。
S804では、選択部711は、上記発生したイベントが「ドライバ登録」ボタン302の押下であるか否かを判断する。本実施例では、イベントに図3に示したデバイス選択画面の「ドライバ登録」ボタン302を示すIDと、左マウスボタン操作が含まれるときは、「ドライバ登録」ボタン302の押下と判断する。
S804では、選択部711は、上記発生したイベントが「ドライバ登録」ボタン302の押下であるか否かを判断する。本実施例では、イベントに図3に示したデバイス選択画面の「ドライバ登録」ボタン302を示すIDと、左マウスボタン操作が含まれるときは、「ドライバ登録」ボタン302の押下と判断する。
上記S804において、上記発生したイベントが「ドライバ登録」ボタン302の押下と判断した場合(Yes)、選択部711は、上記S803で作成したデバイスリストを、アップロード条件設定部713に渡す。デバイスリストをアップロード条件設定部713は図4に示したアップロード条件設定画面(プリンタドライバ用)を表示し、S805のアップロード条件設定処理を実行する。このアップロード条件設定処理が完了すると、該アップロード条件設定処理内でプリンタドライバ取得部714と関連ソフトウェア取得部715により取得されたインストーラが、選択部711に渡され、選択部711に制御が戻される。
次にS806において、選択部711は、アップロード部710を呼び出す。なお、選択部711は、上記S803で作成したデバイスリストと、上記S805のアップロード条件設定処理内で設定したアップロード条件、プリンタドライバのインストーラプログラムおよび関連ソフトウェアのインストーラプログラムを、アップロード部710に渡す。
アップロード部710は、アップロード処理(図9)を実行する。このアップロード処理では、アップロード部710からの指示により、作成部712が、上記アップロード条件、プリンタドライバのインストーラプログラムおよび関連ソフトウェアのインストーラプログラム等を用いて、セットアッププログラムを作成する。そして、アップロード部710が、上記セットアッププログラムを、デバイスリスト内のデバイスに送信する。このアップロード処理が完了すると、選択部711に制御が戻され、選択部711は、S801に処理を戻す。
なお、上記S804において、発生したイベントが「ドライバ登録」ボタン302の押下でないと判断した場合(No)、選択部711は、S807に処理を進める。
S807では、選択部711は、発生したイベントが「終了」ボタン305の押下であるか否かを判断する。本実施例では、イベントに図3に図示したデバイス選択画面の「終了」ボタン305を示すIDと、左マウスボタン操作が含まれるときは、終了ボタン305の押下と判断する。
上記S807において、発生したイベントが「終了」ボタン305の押下ではないと判断した場合(No)、選択部711は、他の操作が行われものとして、S801に処理を戻す。ここでは、この他の操作に関しては説明を省略する。
一方、上記S807において、発生したイベントが「終了」ボタン305の押下であると判断した場合(Yes)、選択部711は、所定の手続きに基づき、管理装置101のRAM202やHD205等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
次に、図8のS805のアップロード条件設定処理を、図9を用いて説明する。
図9は、図8のS805に示したアップロード条件設定処理の一例を示すフローチャートである。なお、この処理は、図4に示したアップロード条件設定画面(プリンタドライバ用)が表示された状態で開始される。また、図8のS803で作成されたデバイスリストは、選択部711から渡されているものとする。
図9は、図8のS805に示したアップロード条件設定処理の一例を示すフローチャートである。なお、この処理は、図4に示したアップロード条件設定画面(プリンタドライバ用)が表示された状態で開始される。また、図8のS803で作成されたデバイスリストは、選択部711から渡されているものとする。
まず、S901において、アップロード条件設定部713は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S901でNo)、アップロード条件設定部713は、S902に処理を進める。
そして、イベントが発生していないと判定した場合(S901でNo)、アップロード条件設定部713は、S902に処理を進める。
S902では、アップロード条件設定部713は、設定が完了したか判断する。本実施例では、図4に図示したアップロード条件の設定画面(プリンタドライバ)を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
上記S902において、設定完了でないと判断した場合(No)、アップロード条件設定部713は、S904に処理を進める。
S904では、アップロード条件設定部713は、図4に示した設定画面の「OK」ボタン413を無効化し、S901へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
S904では、アップロード条件設定部713は、図4に示した設定画面の「OK」ボタン413を無効化し、S901へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
一方、上記S902において、設定完了と判断した場合(Yes)、アップロード条件設定部713は、S903に処理を進める。
S903では、アップロード条件設定部713は、図4に図示した設定画面の「OK」ボタン413を有効化し、S901へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
S903では、アップロード条件設定部713は、図4に図示した設定画面の「OK」ボタン413を有効化し、S901へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
また、上記S901において、イベントが発生したと判断し場合(Yes)、アップロード条件設定部713は、S905に処理を進める。
S905では、アップロード条件設定部713は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
S905では、アップロード条件設定部713は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
上記S905において、イベントがファイルパス設定と判定した場合(Yes)、アップロード条件設定部713は、S906に処理を進める。
S906では、アップロード条件設定部713は、プリンタドライバ取得部714を呼び出す。この際、アップロード条件設定部713は、プリンタドライバ取得部714に、デバイスリスト(図8のS803で作成されたデバイスリスト)を渡す。プリンタドライバ取得部714は、後述する第1のインストーラ指定処理(図10)を行う。この第1のインストーラ指定処理が完了すると、アップロード条件設定部713に制御が戻され、アップロード条件設定部713は、S901に処理を戻す。
S906では、アップロード条件設定部713は、プリンタドライバ取得部714を呼び出す。この際、アップロード条件設定部713は、プリンタドライバ取得部714に、デバイスリスト(図8のS803で作成されたデバイスリスト)を渡す。プリンタドライバ取得部714は、後述する第1のインストーラ指定処理(図10)を行う。この第1のインストーラ指定処理が完了すると、アップロード条件設定部713に制御が戻され、アップロード条件設定部713は、S901に処理を戻す。
一方、上記S905において、イベントがファイルパス設定でないと判定した場合(No)、アップロード条件設定部713は、S907に処理を進める。
S907では、アップロード条件設定部713は、イベントが「拡張設定」ボタン412の押下か否かを判断する。本実施例では、イベントに図4に示した設定画面の「拡張設定」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「拡張設定」ボタン412を押下されたと判断する。なお、図9には示していないが、「拡張設定」ボタン412は、S906の第1のインストーラ指定処理が完了した後に、有効となる。
S907では、アップロード条件設定部713は、イベントが「拡張設定」ボタン412の押下か否かを判断する。本実施例では、イベントに図4に示した設定画面の「拡張設定」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「拡張設定」ボタン412を押下されたと判断する。なお、図9には示していないが、「拡張設定」ボタン412は、S906の第1のインストーラ指定処理が完了した後に、有効となる。
上記S907において、イベントが「拡張設定」ボタン412の押下と判定した場合(Yes)、アップロード条件設定部713は、S908に処理を進める。
S908では、アップロード条件設定部713は、図5に示したアップロード条件設定画面(関連ソフト用)を表示し、後述する第2のインストーラ指定処理(図11)を実行する。この第2のインストーラ指定処理が完了すると、アップロード条件設定部713は、S901に処理を戻す。
S908では、アップロード条件設定部713は、図5に示したアップロード条件設定画面(関連ソフト用)を表示し、後述する第2のインストーラ指定処理(図11)を実行する。この第2のインストーラ指定処理が完了すると、アップロード条件設定部713は、S901に処理を戻す。
一方、上記S907において、イベントが「拡張設定」ボタン412の押下でないと判定した場合(No)、アップロード条件設定部713は、S909に処理を進める。
S909では、アップロード条件設定部713は、イベントが「OK」ボタン413の押下か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「OK」ボタン413を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
S909では、アップロード条件設定部713は、イベントが「OK」ボタン413の押下か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「OK」ボタン413を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
上記S909において、イベントが「OK」ボタン413の押下でないと判断した場合(No)、アップロード条件設定部713は、S901へ処理を戻す。
一方、上記S909において、イベントが「OK」ボタン413の押下であると判断した場合(Yes)、アップロード条件設定部713は、S910に処理を進める。
一方、上記S909において、イベントが「OK」ボタン413の押下であると判断した場合(Yes)、アップロード条件設定部713は、S910に処理を進める。
S910では、アップロード条件設定部713は、まず、プリンタドライバ取得部714および関連ソフトウェア取得部715に指示して、上記S906、S908で指定されたインストーラのパスを基に全てのインストーラを取得し、RAM202等の記憶装置に確保したワーク領域に保存する。なお、プリンタドライバ取得部714は、上記アップロード条件設定部713からの指示に応じて、図4の「ファイルパス」テキストエリア400に設定されているファイルパスからプリンタドライバのインストーラプログラム(setup.exe)を取得し、RAM202内に保持する。また、関連ソフトウェア取得部715は、上記アップロード条件設定部713からの指示に応じて、図5の「ソフトウェア一覧」リスト508内のインストーラのパス情報に基づいて、全ての関連ソフトウェアのインストーラプログラム(setup.exe)を取得し、RAM202内に保持する。次に、アップロード条件設定部713は、図4に示した設定画面、および図5に示した設定画面上で設定されたアップロード条件を、RAM202等の記憶装置に確保したワーク領域に保存し、本フローチャートのアップロード条件設定処理を終了する。これにより、選択部711に制御が戻る。
即ち、図9のアップロード条件設定処理(特にS906,S908)では、印刷装置のプリンタドライバを情報処理装置にインストールする第1インストーラプログラムの指定と、前記プリンタドライバと関連するプログラムを情報処理装置にインストールする少なくとも1つの第2インストーラプログラムの指定を行うための第1指定処理と、前記第1指定処理で指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定する第2指定処理を行うものである。
次に、図9のS906に示した第1のインストーラ指定処理について、図10を用いて説明する。
図10は、図9のS906に示した第1のインストーラ指定処理の一例を示すフローチャートであり、プリンタドライバ取得部714が実行する。なお、図8のS803で作成されたデバイスリストは、アップロード条件設定部713から渡されているものとする。
図10は、図9のS906に示した第1のインストーラ指定処理の一例を示すフローチャートであり、プリンタドライバ取得部714が実行する。なお、図8のS803で作成されたデバイスリストは、アップロード条件設定部713から渡されているものとする。
S1001において、プリンタドライバ取得部714は、ドライバ情報ファイルを読み込む。詳細には、プリンタドライバ取得部714は、ユーザによって図示しないファイル選択ダイアログから指定された"setup.exe"のパス情報を取得し、同パス以下からプリンタドライバのドライバ情報ファイル(setup.inf)を検索する。ドライバ情報ファイルが見つかったら、プリンタドライバ取得部714は、所定のフォーマットに従いドライバ情報ファイル内を検索し、ドライバ種類、バージョン情報、及びシステムの種類を読み出し、RAM202等の記憶装置に所定のワーク領域に保存する。
次に、S1002において、プリンタドライバ取得部714は、上記S1001で取得したドライバ種類、バージョン情報、及びシステムの種類を、アップロード条件の設定画面(図4)の「ドライバ種類:」テキストエリア402、「バージョン情報:」テキストエリア403、及び「システムの種類:」テキストエリア403にそれぞれ書き込む。
次に、S1003において、プリンタドライバ取得部714は、ドライバモデル名を設定する。詳細には、プリンタドライバ取得部714は、上記S1001で読み込んだドライバ情報ファイル内を検索し、デバイスに相応しいドライバモデル名を取得する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、ドライバ情報ファイル(INFファイル)のモデルセクションに、ドライバモデル名とハードウェアIDを1つのエントリーとして記載する方法が開示されており、この情報を用いて、デバイスに相応しいドライバモデル名を取得する。本実施例では、この方法に従い、上記S1001で見つけたドライバ情報ファイル内から、デバイス(図8のS803で生成されたデバイスリストの先頭のデバイス)の持つハードウェアIDと同一の記載を全検索する。そして、見つけたドライバモデル名を、表示部207に表示しているアップロード条件設定画面(図4)の「ドライバモデル名」コンボボックス405におけるリストのエントリーに登録する。アップロード条件設定画面(図4)上ではリストの先頭候補となるドライバモデル名が選択状態に設定される。なお、ドライバモデル名が見つからなかった場合は、ドライバ情報ファイルに記載されている全てのドライバモデル名を「ドライバモデル名」コンボボックス405におけるリストのエントリーに登録する。この場合、初期状態ではどのドライバモデルも選択されていない状態でアップロード条件設定画面に表示される。なお、本ステップで用いるドライバモデル名は、図3の管理アプリケーションが表示しているデバイス一覧301から選択された先頭のデバイス用のドライバモデル名(即ち、図8のS803で生成されたデバイスリストの先頭のデバイスのドライバモデル名)とする。
次に、S1004において、プリンタドライバ取得部714は、上記S1003で設定された「ドライバモデル名」コンボボックス405の情報を「表示名」テキストボックス406に設定し、本フローチャートの処理を終了する。これにより、アップロード条件設定部713に制御が戻る。
次に、図9のS908に示した第2のインストーラ指定処理について、図11を用いて説明する。
図11は、図9のS908に示した第2のインストーラ指定処理の一例を示すフローチャートであり、アップロード条件設定部713が実行する。第2のインストーラ指定処理では、関連ソフトウェアのアップロード条件の設定を行う。アップロード条件とは、インストーラのパス、インストーラの設定情報、インストーラの起動順序情報を含む。ここで、起動順序情報とは、セットアッププログラムで利用するプリンタドライバ、関連ソフトウェアのインストーラ全て含んだ起動順序を指す。なお、この処理は、図5に示したアップロード条件設定画面(関連ソフトウェア用)が表示された状態で開始される。
図11は、図9のS908に示した第2のインストーラ指定処理の一例を示すフローチャートであり、アップロード条件設定部713が実行する。第2のインストーラ指定処理では、関連ソフトウェアのアップロード条件の設定を行う。アップロード条件とは、インストーラのパス、インストーラの設定情報、インストーラの起動順序情報を含む。ここで、起動順序情報とは、セットアッププログラムで利用するプリンタドライバ、関連ソフトウェアのインストーラ全て含んだ起動順序を指す。なお、この処理は、図5に示したアップロード条件設定画面(関連ソフトウェア用)が表示された状態で開始される。
S1101において、アップロード条件設定部713は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S1101でNo)、アップロード条件設定部713は、S1102に処理を進める。
そして、イベントが発生していないと判定した場合(S1101でNo)、アップロード条件設定部713は、S1102に処理を進める。
S1102では、アップロード条件設定部713は、追加可能な関連ソフトウェアが存在するか否かを判断する。すなわち、図5に示したアップロード条件設定画面(関連ソフトウェア)の「ソフトウェア一覧」リスト508を検索し、「ソフトウェア一覧」リスト508に、関連ソフトウェアが設定済の場合は、追加可能な関連ソフトウェアが存在すると判断する。
上記S1102において、追加可能な関連ソフトウェアが存在しないと判断した場合(No)、アップロード条件設定部713は、S1104に処理を進める。
S1104では、アップロード条件設定部713は、図5に示した設定画面の「OK」ボタン509を無効化し、S1101へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
S1104では、アップロード条件設定部713は、図5に示した設定画面の「OK」ボタン509を無効化し、S1101へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
一方、上記S1102において、追加可能な関連ソフトウェアが存在すると判断した場合(Yes)、アップロード条件設定部713は、S1103に処理を進める。
S1103では、アップロード条件設定部713は、図5に図示した設定画面の「OK」ボタン509を有効化し、S1101へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
S1103では、アップロード条件設定部713は、図5に図示した設定画面の「OK」ボタン509を有効化し、S1101へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
また、上記S1101において、イベントが発生したと判断し場合(Yes)、アップロード条件設定部713は、S1105に処理を進める。
S1105では、アップロード条件設定部713は、イベントが「追加」ボタン504の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「追加」ボタン504を示すIDと、左マウスボタン操作が含まれるときは、「追加」ボタン504の押下と判断する。なお、図11には示していないが、「追加」ボタン504は、図5の「ファイルパス」テキストエリア502において外部インストーラの指定が完了した後に有効となる。
S1105では、アップロード条件設定部713は、イベントが「追加」ボタン504の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「追加」ボタン504を示すIDと、左マウスボタン操作が含まれるときは、「追加」ボタン504の押下と判断する。なお、図11には示していないが、「追加」ボタン504は、図5の「ファイルパス」テキストエリア502において外部インストーラの指定が完了した後に有効となる。
上記S1105において、「追加」ボタン504の押下と判定した場合(Yes)、アップロード条件設定部713は、S1106に処理を進める。
S1106では、まず、アップロード条件設定部713は、図5の「ファイルパス」テキストエリア502の設定値で設定されている関連ソフトウェアの"setup.exe"のパス情報を取得する。次に、アップロード条件設定部713は、「オプション」テキストボックス503で設定されている関連ソフトウェアのオプションの設定情報を取得し、上記取得した関連ソフトウェアの"setup.exe"のパス情報とともに、RAM202等の記憶装置に所定のワーク領域に保存し、拡張設定画面のソフトウェア一覧に追加する。そして、上記S1106のインストーラ指定処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
S1106では、まず、アップロード条件設定部713は、図5の「ファイルパス」テキストエリア502の設定値で設定されている関連ソフトウェアの"setup.exe"のパス情報を取得する。次に、アップロード条件設定部713は、「オプション」テキストボックス503で設定されている関連ソフトウェアのオプションの設定情報を取得し、上記取得した関連ソフトウェアの"setup.exe"のパス情報とともに、RAM202等の記憶装置に所定のワーク領域に保存し、拡張設定画面のソフトウェア一覧に追加する。そして、上記S1106のインストーラ指定処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
また、上記S1105において、「追加」ボタン504の押下でないと判定した場合(No)、アップロード条件設定部713は、S1107に処理を進める。
S1107では、アップロード条件設定部713は、イベントが「上へ」ボタン505又は「下へ」ボタン506の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「上へ」ボタン505又は「下へ」ボタン506を示すIDと、左マウスボタン操作が含まれるときは、「上へ」ボタン505又は「下へ」ボタン506の押下と判断する。
S1107では、アップロード条件設定部713は、イベントが「上へ」ボタン505又は「下へ」ボタン506の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「上へ」ボタン505又は「下へ」ボタン506を示すIDと、左マウスボタン操作が含まれるときは、「上へ」ボタン505又は「下へ」ボタン506の押下と判断する。
上記S1107において、「上へ」ボタン505又は「下へ」ボタン506の押下と判定した場合(Yes)、アップロード条件設定部713は、S1108に処理を進める。
S1108では、アップロード条件設定部713は、RAM202等の記憶装置に所定のワーク領域に保存されているインストーラの起動順序の情報と、「ソフトウェア一覧」リスト508の表示を修正する。詳細には、アップロード条件設定部713は、「上へ」ボタン505の押下の場合、「ソフトウェア一覧」リスト508で選択されているソフトウェアの起動順序を1つ前に変更する。また、アップロード条件設定部713は、「下へ」ボタン506の押下の場合、「ソフトウェア一覧」リスト508で選択されているソフトウェアの起動順序を1つ後に変更する。そして、上記S1108のインストーラ起動順序変更処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
S1108では、アップロード条件設定部713は、RAM202等の記憶装置に所定のワーク領域に保存されているインストーラの起動順序の情報と、「ソフトウェア一覧」リスト508の表示を修正する。詳細には、アップロード条件設定部713は、「上へ」ボタン505の押下の場合、「ソフトウェア一覧」リスト508で選択されているソフトウェアの起動順序を1つ前に変更する。また、アップロード条件設定部713は、「下へ」ボタン506の押下の場合、「ソフトウェア一覧」リスト508で選択されているソフトウェアの起動順序を1つ後に変更する。そして、上記S1108のインストーラ起動順序変更処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
また、上記S1107において、「上へ」ボタン505又は「下へ」ボタン506の押下でないと判定した場合(No)、アップロード条件設定部713は、S1109に処理を進める。
S1109では、アップロード条件設定部713は、イベントが「削除」ボタン507の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「削除」ボタン507を示すIDと、左マウスボタン操作が含まれるときは、「削除」ボタン507の押下と判断する。
上記S1109において、「削除」ボタン507の押下と判定した場合(Yes)、アップロード条件設定部713は、S1110に処理を進める。
S1110では、アップロード条件設定部713は、RAM202等の記憶装置に所定のワーク領域に保存された、「ソフトウェア一覧」リスト508で選択されているソフトウェアの関連情報(インストーラのパスの情報・オプションの設定情報・起動順序の情報)の削除と、「ソフトウェア一覧」リスト508の表示を修正する。そして、上記S1110のインストーラ情報削除処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
S1110では、アップロード条件設定部713は、RAM202等の記憶装置に所定のワーク領域に保存された、「ソフトウェア一覧」リスト508で選択されているソフトウェアの関連情報(インストーラのパスの情報・オプションの設定情報・起動順序の情報)の削除と、「ソフトウェア一覧」リスト508の表示を修正する。そして、上記S1110のインストーラ情報削除処理が終了すると、アップロード条件設定部713は、S1101に処理を戻す。
また、上記S1109において、「削除」ボタン507の押下でないと判定した場合(No)、アップロード条件設定部713は、S1111に処理を進める。
S1111では、アップロード条件設定部713は、イベントが「OK」ボタン509の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「OK」ボタン509を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタン509の押下と判断する。
S1111では、アップロード条件設定部713は、イベントが「OK」ボタン509の押下か否かを判断する。本実施例では、イベントに図5に示した設定画面の「OK」ボタン509を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタン509の押下と判断する。
上記S1111において、「OK」ボタン509の押下でないと判定した場合(No)、アップロード条件設定部713は、S1101に処理を戻す。
一方、上記S1111において、「OK」ボタン509の押下と判定した場合(Yes)、アップロード条件設定部713は、本フローチャートの処理を終了する。
一方、上記S1111において、「OK」ボタン509の押下と判定した場合(Yes)、アップロード条件設定部713は、本フローチャートの処理を終了する。
次に、図12を用いて、図8のS806のアップロード処理について説明する。
図12は、図8のS806に示したアップロード処理の一例を示すフローチャートであり、アップロード部710が実行する。なお、アップロード対象とするデバイスのリスト(図8のS803で作成)およびアップロード並びにセットアッププログラム作成に必要とする情報およびデータは、選択部711からアップロード部710に渡され、RAM202等の記憶領域に確保したワーク領域に保持しているものとする。
図12は、図8のS806に示したアップロード処理の一例を示すフローチャートであり、アップロード部710が実行する。なお、アップロード対象とするデバイスのリスト(図8のS803で作成)およびアップロード並びにセットアッププログラム作成に必要とする情報およびデータは、選択部711からアップロード部710に渡され、RAM202等の記憶領域に確保したワーク領域に保持しているものとする。
S1201において、アップロード部710は、作成部712を呼び出し、必要な情報およびセットアッププログラムに追加対象のインストーラを渡す。作成部712は後述する図13に示すセットアッププログラム作成処理を行う。
次に、S1202において、アップロード部710は、モデル名が一致しているか否かを判断する。詳細には、アップロード部710は、RAM202等の記憶領域に確保したワーク領域に保持されたデバイスリストから1レコードを取り出す。次に、アップロード部710は、取り出したレコード中のデバイス(カレントのデバイス)のモデル名と上記S1201で作成部712が作成したセットアッププログラムのドライバのモデル名を比較する。該比較の結果が一致しているときは、モデル名が一致していると判断する。一方、該比較の結果が一致していないときは、モデル名が一致していないと判断する。例えば、デバイスのモデル名が"C_iR−ADV C5051"のとき、ドライバのモデル名"C_iR−ADV C5051/5041"のようにデバイスモデル名を含む場合は、ドライバモデル名が一致していると判断する。
上記S1202において、モデル名が一致していると判断した場合(Yes)、アップロード部710は、S1203に処理を進める。
S1203では、アップロード部710は、セットアッププログラムを送信する。詳細には、アップロード部710は、作成部712が作成したセットアッププログラムを、アップロード条件の設定画面(図4)の設定値に従い、カレントのデバイスの記憶部701に配置する。
S1203では、アップロード部710は、セットアッププログラムを送信する。詳細には、アップロード部710は、作成部712が作成したセットアッププログラムを、アップロード条件の設定画面(図4)の設定値に従い、カレントのデバイスの記憶部701に配置する。
次に、S1204において、アップロード部710は、カレントのデバイスにアップロードを通知する。詳細には、アップロード部710は、所定の手続きに基づき、予め用意された通信手段を用いて、カレントのデバイスにアップロード番号、パス、ファイル名、および、カレントのデバイスが保持するダウンロードページの作成に必要な情報を通知する。そして、アップロード部710は、S1205に処理を進める。
また、上記S1202において、モデル名が一致していないと判断した場合(No)、アップロード部710は、そのままS1205に処理を進める。
S1205では、アップロード部710は、全デバイスへの処理が終了したか否かを判断する。詳細には、アップロード部710は、RAM202等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。一方、未処理のレコードが存在する場合は、未だ処理が終了していないデバイスが存在すると判断する。
S1205では、アップロード部710は、全デバイスへの処理が終了したか否かを判断する。詳細には、アップロード部710は、RAM202等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。一方、未処理のレコードが存在する場合は、未だ処理が終了していないデバイスが存在すると判断する。
上記S1205において、未だ処理が終了していないデバイスが存在すると判断した場合(No)、アップロード部710は、S1202に処理を戻し、他のデバイスに関する同様の処理を行う。
一方、上記S1205において、全デバイスへの処理が終了したと判断した場合(Yes)、アップロード部710は、アップロード処理を終了する。
次に、図13、図14〜図16を用いて、図12のS1201に示したセットアッププログラムの作成処理を説明する。
図13は、図12のS1201に示したセットアッププログラム作成処理の一例を示すフローチャートであり、作成部712が実行する。なお、セットアッププログラム作成に必要な情報、および、インストーラは、アップロード部710から適宜渡されているものとする。
図13は、図12のS1201に示したセットアッププログラム作成処理の一例を示すフローチャートであり、作成部712が実行する。なお、セットアッププログラム作成に必要な情報、および、インストーラは、アップロード部710から適宜渡されているものとする。
S1301において、作成部712は、一時フォルダを作成する。例えば、OSが提供している機能を利用し、管理装置101のRAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
次にS1302において、作成部712は、上記S1301で作成した一時フォルダに、図14(a)に示す初期セットアッププログラムを作成する。
図14は、本実施例のセットアッププログラムの一例を示す図である。
図14(a)に示すように、初期セットアッププログラムは、ヘッダ部1401と、プログラム部1402から構成され、予め管理装置101のHD205内に記憶されている。
図14は、本実施例のセットアッププログラムの一例を示す図である。
図14(a)に示すように、初期セットアッププログラムは、ヘッダ部1401と、プログラム部1402から構成され、予め管理装置101のHD205内に記憶されている。
ヘッダ部1401には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として以下のようなものが含まれている。
・Offset_to_entry:結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Size_of_all_entry:結合ファイルの情報を格納している領域の合計サイズ。
・size_of_file_entry:結合ファイルの情報を格納している領域のサイズ。
・num_of_entry:結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは「0」にセットされている。
・Offset_to_entry:結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Size_of_all_entry:結合ファイルの情報を格納している領域の合計サイズ。
・size_of_file_entry:結合ファイルの情報を格納している領域のサイズ。
・num_of_entry:結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは「0」にセットされている。
プログラム部1402には、ヘッダ部1401を参照し、結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
以下、図13のフローチャートの説明に戻る。
上記S1302の初期セットアッププログラム作成処理を完了すると、作成部712は、S1303に処理を進める。
S1303では、作成部712は、上記S1301で作成した一時フォルダに、アップロード条件を用いて、図15(a)、図16(a)、図16(b)に図示する情報ファイルを作成する。
上記S1302の初期セットアッププログラム作成処理を完了すると、作成部712は、S1303に処理を進める。
S1303では、作成部712は、上記S1301で作成した一時フォルダに、アップロード条件を用いて、図15(a)、図16(a)、図16(b)に図示する情報ファイルを作成する。
図15は、セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図であり、ファイル名は"setup.ini"とする。
図15(a)に示すように、"setup.ini"ファイルは、[DriverUploadInfo]セクションを有し、以下の設定が可能である。なお、エントリーがないものは設定値がないものとして扱う。
・DriverModelName:ドライバモデル名
・PrinterName:PCにインストールする論理プリンタ名
・Comments:PCにインストールした論理プリンタに設定するコメント
・PortType:ポートの種類(1:IPアドレス、2:ホスト名、3:ポート名)
・PortName:ポート名(PortType=3のときのみ有効)
・PrinterName:PCにインストールする論理プリンタ名
・Comments:PCにインストールした論理プリンタに設定するコメント
・PortType:ポートの種類(1:IPアドレス、2:ホスト名、3:ポート名)
・PortName:ポート名(PortType=3のときのみ有効)
図15(a)の例では、ドライバモデルが"C_iR−ADV C5045/5051"、論理プリンタ名が"C_iR−ADV C5051"、コメントが"3F share printer"、ポートの種類が"1"でIPアドレスを意味している。
図16は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図であり、ファイル名は"silent.ini"である。
図16(a)、図16(b)に示すように、"silent.ini"ファイルは、[InstallType]、[InstallComplete]、[SelectJob]、[PrinterInfo]、及び[SoftwareInfo]、[SoftwareOption]のセクションを有し、以下の設定が可能である。
・Type:インストールするインストーラがプリンタドライバであるか、関連ソフトウェアか判断するフラグ(0:プリンタドライバ、1:関連ソフトウェア)。
・Reboot:インストール終了後にPCのリブートを制御するフラグ(0:リブートなし、1:リブート)。
・SelectJob:プリンタドライバのインストールモード(0:新規インストール、1:上書きインストール、2:インストールしない)。
・PRT1:論理プリンタ名/ドライバモデル/接続ボートを指定する。
・SoftInfo:ソフトウェアに関する情報(例:ソフトウェア名)。
・SoftOption:オプションKey/オプション設定値。
図16(a)の例は、プリンタドライバのインストーラ用の"silent.ini"ファイルであり、リブートなし、上書きインストールを指定している。論理プリンタ名、ドライバモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定する。
・Reboot:インストール終了後にPCのリブートを制御するフラグ(0:リブートなし、1:リブート)。
・SelectJob:プリンタドライバのインストールモード(0:新規インストール、1:上書きインストール、2:インストールしない)。
・PRT1:論理プリンタ名/ドライバモデル/接続ボートを指定する。
・SoftInfo:ソフトウェアに関する情報(例:ソフトウェア名)。
・SoftOption:オプションKey/オプション設定値。
図16(a)の例は、プリンタドライバのインストーラ用の"silent.ini"ファイルであり、リブートなし、上書きインストールを指定している。論理プリンタ名、ドライバモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定する。
一方で、図16(b)の例は、関連ソフトウェアのインストーラ用の"silent.ini"であり、リブートなし、上書きインストールを指定している。追加する関連ソフトウェア名は"Software"で、設定するオプションのキーは"Server"で、設定するオプションの値は"172.1.1.1"となっている。
以下、図13のフローチャートの説明に戻る。
次に、S1304において、作成部712は、図14(b)に示すように、上記S1302で作成した初期セットアッププログラムに、上記S1303で作成した情報ファイルと、図9のS910で取得したインストーラを、図9のS908で取得したソフトウェアの起動順序の情報に記載される順番で、結合する。なお、各インストーラファイル内では、"setup.ini"(プリンタドライバの場合のみ)、"setup.exe"、"silent.ini"の順でファイルを結合するようにし、これを、インストーラ分行う。
次に、S1304において、作成部712は、図14(b)に示すように、上記S1302で作成した初期セットアッププログラムに、上記S1303で作成した情報ファイルと、図9のS910で取得したインストーラを、図9のS908で取得したソフトウェアの起動順序の情報に記載される順番で、結合する。なお、各インストーラファイル内では、"setup.ini"(プリンタドライバの場合のみ)、"setup.exe"、"silent.ini"の順でファイルを結合するようにし、これを、インストーラ分行う。
図14(b)に示す例では、プリンタドライバ(1403〜1405)、関連ソフトウェア(1406,1407)の順で各インストーラのファイルのセットが結合されている。そして、プリンタドライバのインストーラファイルのセットは、"setup.ini"1403、setup.exe"1404、"silent.ini"1405の順に結合されている。また、関連ソフトウェアのインストーラファイルのセットは、setup.exe"1406、"silent.ini"1407の順に結合されている。なお、図14(b)のヘッダ内に存在する結合ファイルの情報を格納する領域(図14の例では5つの領域)内に、同一のインストーラセットを構成するファイルを特定する情報を記載するようにしておき、分離時には、その情報に従って、同一のインストーラセットを構成するファイルを分離するように構成してもよい。また、上記同一のインストーラセットを構成するファイルを特定する情報を起動順を示す情報とし、その順番で分離し、起動するようにしてもよい。
次に、S1305において、作成部712は、上記S1304で結合したセットアッププログラムのヘッダ部1401を書き換え、図14(b)に示すセットアッププログラムを作成する。
本実施例では、説明の簡便のためプリンタドライバと1つの関連ソフトウェアの構成となっている。作成部712は、図14(b)に示すように、ヘッダ部1401の"Offset_to_entry"には、各結合ファイルの情報を格納している領域1408のセットアッププログラム先頭からのオフセット"4096"を設定する。さらに、作成部712は、ヘッダ部の"Size_of_all_entry"には、結合ファイルの情報を格納している領域の合計サイズ"2560"を設定する。また、作成部712は、ヘッダ部の"size_of_file_entry"には、結合ファイルの情報を格納している領域のサイズ"512"を設定する。さらに、作成部712は、ヘッダ部の"num_of_entry"には、結合ファイルの情報を格納している領域の総数"5"を設定する。
さらに、作成部712は、結合ファイルの情報を格納する5つ領域1408a〜1408eを"Offset_to_entry"で指定される領域に確保する。そして、作成部712は、上記確保した5つの領域1408a〜1408eに、結合したファイルの情報を格納する。
詳細には、作成部712は、先頭の領域から、上記S1303で作成した"setup.ini"ファイル1603、ドライバ取得部716が取得しアップロード部715から渡されたインストーラ"setup.exe"1604、上記S1503で作成した"silent.ini"ファイル1605の情報を、それぞれの領域1606a〜1606cにセットする。以下、詳細に示す。
詳細には、作成部712は、先頭の領域から、上記S1303で作成したプリンタドライバの"setup.ini"ファイル1403(図15(a))、プリンタドライバ取得部714が取得しアップロード部710から渡されたプリンタドライバのインストーラ"setup.exe"1404、上記S1303で作成したプリンタドライバ用の"silent.ini"ファイル1405(図16(a))、関連ソフトウェア取得部715が取得しアップロード部710から渡された関連ソフトウェアのインストーラ"setup.exe"1406、上記S1303で作成した関連ソフトウェア用の"silent.ini"ファイル1405(図16(b))の情報を、それぞれの領域1408a〜1408eにセットする。以下、詳細に示す。
・OFFSET:結合されたファイルが位置するセットアッププログラム先頭からのオフセット。
・Size:結合されたファイルのサイズ。
・Type:結合されたファイルのタイプ(1:実行ファイル、2:テンポラリファイル、3:情報ファイル、4:その他)。
・FILENAME:結合されたファイル名。
・Size:結合されたファイルのサイズ。
・Type:結合されたファイルのタイプ(1:実行ファイル、2:テンポラリファイル、3:情報ファイル、4:その他)。
・FILENAME:結合されたファイル名。
作成部712は、セットアッププログラムのヘッダ部書き換え(S1305)を完了すると、セットアッププログラムの作成処理を終了する。これにより、アップロード部710に制御が戻る。
次に、印刷装置105側の処理について説明する。
以下、図17を用いて、印刷装置105の監視部703が行う処理を説明する。監視部703は、印刷装置105の稼動と共に起動され、印刷装置105が稼動終了するまで動作するものとする。図17、図18、図19に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
以下、図17を用いて、印刷装置105の監視部703が行う処理を説明する。監視部703は、印刷装置105の稼動と共に起動され、印刷装置105が稼動終了するまで動作するものとする。図17、図18、図19に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
図17は、印刷装置105の監視部703が行う処理の一例を示すフローチャートである。
まず、S1701において、監視部703は、管理装置101からのセットアッププログラムのアップロード通知があるか否かを判断する。詳細には、監視部703は、所定の手続きに基づき双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。
まず、S1701において、監視部703は、管理装置101からのセットアッププログラムのアップロード通知があるか否かを判断する。詳細には、監視部703は、所定の手続きに基づき双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。
上記S1701において、アップロード通知があったと判断した場合(Yes)、監視部703は、S1702に処理を進める。
S1702では、監視部703は、セットアッププログラム更新部704を呼び出す。同時に、監視部703は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をセットアッププログラム更新部704に渡す。これにより、セットアッププログラム更新部704は、後述の図18に示すセットアッププログラムの更新処理を行う。
S1702では、監視部703は、セットアッププログラム更新部704を呼び出す。同時に、監視部703は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をセットアッププログラム更新部704に渡す。これにより、セットアッププログラム更新部704は、後述の図18に示すセットアッププログラムの更新処理を行う。
そして、セットアッププログラムの更新処理(S1702)が終了すると、監視部703は、S1703に処理を進める。
S1703では、監視部703は、アップロード結果通知を行う。詳細には、監視部703は、接続部226を介して、所定のフォーマットで作成したアップロード結果通知を、上記S1701で検知したアップロード通知の送信元(管理装置101)に送信する。このアップロード結果通知処理を完了すると、監視部703は、S1701に処理を戻す。
S1703では、監視部703は、アップロード結果通知を行う。詳細には、監視部703は、接続部226を介して、所定のフォーマットで作成したアップロード結果通知を、上記S1701で検知したアップロード通知の送信元(管理装置101)に送信する。このアップロード結果通知処理を完了すると、監視部703は、S1701に処理を戻す。
一方、上記S1701において、アップロード通知がなかったと判断した場合、監視部703は、S1704に処理を進める。
S1704では、監視部703は、構成情報に変化があったか否かを判断する。詳細には、監視部703は、PRAM222等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があった場合には構成情報に変更があったと判断する。
S1704では、監視部703は、構成情報に変化があったか否かを判断する。詳細には、監視部703は、PRAM222等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があった場合には構成情報に変更があったと判断する。
上記S1704において、構成情報に変更がないと判断した場合(No)、監視部703は、S1701に処理を戻す。
一方、上記S1704において、構成情報に変更があったと判断した場合(Yes)、監視部703は、S1705に処理を進める。なお、この際、監視部703は、次回判定時の比較対象のために、PRAM222等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能なIPアドレス、機器名等を例とする。
一方、上記S1704において、構成情報に変更があったと判断した場合(Yes)、監視部703は、S1705に処理を進める。なお、この際、監視部703は、次回判定時の比較対象のために、PRAM222等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能なIPアドレス、機器名等を例とする。
S1705では、監視部703は、セットアッププログラムがアップロードされているかを判断する。詳細には、監視部703は、セットアッププログラムの管理装置101からのアップロードがあった場合にその旨が管理情報として書き込まれるHD228等の記憶装置に予め用意された領域から、その管理情報を読み出す。そして、読み出した結果、セットアッププログラムの情報が1つ以上存在する場合、監視部703は、セットアッププログラムが管理装置101からアップロードされていると判断する。
上記S1705において、アップロードされたセットアッププログラムが存在しない(アップロード済みでない)と判断した場合(No)、監視部703は、S1701に処理を戻す。
一方、上記S1705において、アップロードされたセットアッププログラムが存在する(アップロード済み)と判断した場合(Yes)、監視部703は、S1706に処理を進める。
S1706では、監視部703は、セットアッププログラム更新部704を呼び出す。同時に、監視部703は、前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を1件読み出す。そして、読み出したアップロード番号、パス、ファイル名、およびダウンロードページの作成等に必要な情報に加え、更新指示と上記S1704で取得した構成情報をセットアッププログラム更新部704に渡す。これにより、セットアッププログラム更新部704は、後述の図19に示すセットアッププログラムの更新処理を行う。
そして、セットアッププログラムの更新処理(S1706)が終了すると、監視部703は、S1707に処理を進める。
S1707では、監視部703は、管理装置101からアップロードされた全てのセットアッププログラムの更新処理が終了したか否かを判断する。詳細には、監視部703は、前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しない場合は、全てのセットアッププログラムの更新処理が終了したと判断する。
S1707では、監視部703は、管理装置101からアップロードされた全てのセットアッププログラムの更新処理が終了したか否かを判断する。詳細には、監視部703は、前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しない場合は、全てのセットアッププログラムの更新処理が終了したと判断する。
上記S1707において、まだいずれかのセットアッププログラムの更新処理が終了していないと判定した場合(No)、監視部703は、S1706に処理を戻し、次のセットアッププログラムの更新処理を行う。
一方、上記S1707において、全てのセットアッププログラムの更新処理が終了したと判定した場合(Yes)、監視部703は、S1701に処理を戻す。
次に、図18を用いて、印刷装置105のセットアッププログラム更新部704によるセットアッププログラムの更新処理を説明する。
図18は、印刷装置105のセットアッププログラム更新部704が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
なお、監視部703からの更新指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、印刷装置105のPRAM222等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
図18は、印刷装置105のセットアッププログラム更新部704が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
なお、監視部703からの更新指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、印刷装置105のPRAM222等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
まず、S1801において、セットアッププログラム更新部704は、印刷装置105のHD228等の記憶装置に配置された該当のセットアッププログラムを、PRAM222等の記憶装置に確保したワークエリアにコピーする。
次に、S1802において、セットアッププログラム更新部704は、上記S1801でコピーしたセットアッププログラムに、監視部703から渡された構成情報を反映させる(セットアッププログラム更新)。例えば、IPアドレスが"172.10.10.10"、機器名が"Color_Printer"、デバイスモデル名が"C_iR−ADV C5051"、ドライバモデル名が"C_iR−ADV C5045/5051"といった情報を反映させる場合を想定する。この場合は、上記S1801でコピーしたセットアッププログラムに連結された"setup.ini"ファイル(例えば図15(a))、プリンタドライバ用の"silent.ini"ファイル(例えば図16(a))をそれぞれ更新し、保存する。図15(b)、図16(c)が更新されたファイルを示している。論理プリンタ名に機器名を反映し、ポート名にIPアドレスを反映し、デバイスモデル名にデバイスモデル名を反映し、変更されていることがわかる。
次に、S1803において、セットアッププログラム更新部704は、上記S1802で更新したセットアッププログラムを、上記S1801でコピーした元のファイルに上書き保存する。
次に、S1804において、セットアッププログラム更新部704は、監視部703から渡された構成情報を反映したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部705が公開するWebページ)に書き込む。これにより、Webサーバ機能部705がクライアント103〜104のWebブラウザ620に送信するWebページ(図6)の内容が更新される。
その後、セットアッププログラム更新部704は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、セットアッププログラム更新部704は、更新完了など、本処理の結果を外部通知などするための情報を監視部703に渡す。
ここで、印刷装置105のセットアッププログラム更新部704が行うセットアッププログラムの削除処理(不図示)について説明する。
まず、セットアッププログラム更新部704は、HD228等の記憶装置に配置された該当のセットアッププログラムを、削除する。
まず、セットアッププログラム更新部704は、HD228等の記憶装置に配置された該当のセットアッププログラムを、削除する。
次に、セットアッププログラム更新部704は、該当のセットアッププログラムに関する情報を削除したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部705が公開するWebページ)に書き込む。その後、セットアッププログラム更新部704は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、セットアッププログラム更新部704は、削除完了など、本処理の結果を外部通知などするために監視部703に渡す。
以下、図19を用いて、印刷装置105のWebサーバ機能部705による処理を説明する。
図19は、印刷装置105のWebサーバ機能部705による処理の一例を示すフローチャートである。Webサーバ機能部705は、印刷装置105の稼動と共に起動され、印刷装置105が稼動終了するまで動作するものとする。
図19は、印刷装置105のWebサーバ機能部705による処理の一例を示すフローチャートである。Webサーバ機能部705は、印刷装置105の稼動と共に起動され、印刷装置105が稼動終了するまで動作するものとする。
まず、S1901において、Webサーバ機能部705は、ネットワークを介し、クライアント102等からダウンロードページ表示要求を受け付け、ダウンロードページ表示要求があるまで、S1901の処理を繰り返す。
そして、上記S1901においてダウンロード要求を受けると、Webサーバ機能部705は、S1902に処理を進める。
S1902では、Webサーバ機能部705は、ダウンロードページ(例えば図6示す画面)を所定の方法に基づき、要求元に送信する。
S1902では、Webサーバ機能部705は、ダウンロードページ(例えば図6示す画面)を所定の方法に基づき、要求元に送信する。
次に、S1903において、Webサーバ機能部705は、ユーザによってリロードを指示されたか否かを判断する。詳細には、Webサーバ機能部705は、接続部226を介し受信したパケットを検索し、Webブラウザなどからのリロードのリクエストがあるか判断する。リロードのリクエストが見つかった場合、リロードを指示されたと判断する。
上記S1903において、リロード指示されたと判断した場合(Yes)、Webサーバ機能部705は、S1904に処理を進める。
S1904では、Webサーバ機能部705は、Webページを再構築し、リクエスト元のWebブラウザ720に、再構築したページを送信(Webページ更新)し、S1903に処理を戻す。
S1904では、Webサーバ機能部705は、Webページを再構築し、リクエスト元のWebブラウザ720に、再構築したページを送信(Webページ更新)し、S1903に処理を戻す。
一方、上記S1903において、リロード指示されていないと判断した場合(No)、Webサーバ機能部は、S1905に処理を進める。
S1905では、Webサーバ機能部705は、ユーザによってダウンロードを指示されたか否かを判断する。詳細には、Webサーバ機能部705は、接続部226を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
S1905では、Webサーバ機能部705は、ユーザによってダウンロードを指示されたか否かを判断する。詳細には、Webサーバ機能部705は、接続部226を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
上記S1905において、ダウンロード指示があったと判断した場合(Yes)、Webサーバ機能部705は、S1906に処理を進める。
S1906では、Webサーバ機能部705は、ダウンロードリクエストに指定されたセットアッププログラムをHD228等の記憶装置から取り出す。
S1906では、Webサーバ機能部705は、ダウンロードリクエストに指定されたセットアッププログラムをHD228等の記憶装置から取り出す。
次に、S1907において、Webサーバ機能部705は、上記S1905で取り出したセットアッププログラムをダウンロード指示した要求元に対して送信する。例えば、クライアント102のWebブラウザ620に対して送信する。送信後、Webサーバ機能部705は、S1903に処理を戻す。
また、上記S1905において、ダウンロード指示がなかったと判断した場合(No)、Webサーバ機能部705は、S1908に処理を進める。
S1908では、Webサーバ機能部705は、ユーザによって削除を指示されたか判断する。詳細には、Webサーバ機能部705は、接続部226を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。
S1908では、Webサーバ機能部705は、ユーザによって削除を指示されたか判断する。詳細には、Webサーバ機能部705は、接続部226を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。
上記S1908において、削除指示があったと判断した場合(Yes)、Webサーバ機能部705は、S1909に処理を進める。
S1909では、Webサーバ機能部705は、所定の手続きに基づき、削除指示のあったセットアッププログラムを削除するための削除通知を、監視部703に行う。この削除通知に応じて、監視部703は、セットアッププログラム更新部704を呼び出し、セットアッププログラム更新部704が削除指示のあったセットアッププログラムを削除する。
S1909では、Webサーバ機能部705は、所定の手続きに基づき、削除指示のあったセットアッププログラムを削除するための削除通知を、監視部703に行う。この削除通知に応じて、監視部703は、セットアッププログラム更新部704を呼び出し、セットアッププログラム更新部704が削除指示のあったセットアッププログラムを削除する。
削除通知(S1909)の後、Webサーバ機能部705は、S1903に処理を戻す。
一方、上記S1908において、削除指示がなかったと判断した場合(No)、Webサーバ機能部705は、S1903に処理を戻す。
一方、上記S1908において、削除指示がなかったと判断した場合(No)、Webサーバ機能部705は、S1903に処理を戻す。
以下、図20を用いて、セットアッププログラム702の実行により実現されるセットアップモジュールにより行われる処理について説明する。
図20は、セットアッププログラム702の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。
なお、セットアッププログラム702は、ユーザによってクライアント102へダウンロードされ、実行指示されることで情報処理装置(ここではクライアント102として説明する)のCPU200により実行される。セットアッププログラム702(特にプログラム部1402)が起動されると、クライアント102のRAM202等の記憶装置に確保されたプログラム領域にロードされ、クライアント102のCPU200によって実行され、セットアップモジュールが実現される。
図20は、セットアッププログラム702の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。
なお、セットアッププログラム702は、ユーザによってクライアント102へダウンロードされ、実行指示されることで情報処理装置(ここではクライアント102として説明する)のCPU200により実行される。セットアッププログラム702(特にプログラム部1402)が起動されると、クライアント102のRAM202等の記憶装置に確保されたプログラム領域にロードされ、クライアント102のCPU200によって実行され、セットアップモジュールが実現される。
S2001において、セットアップモジュールは、一時フォルダを作成する。例えば、OSが提供している機能を利用し、クライアント102のRAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
次に、S2002において、セットアップモジュールは、上記S2001でフォルダ作成が成功したか否かを判断する。
上記S2002において、フォルダ作成が失敗したと判断した場合(No)、セットアップモジュールは、S2008に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
上記S2002において、フォルダ作成が失敗したと判断した場合(No)、セットアップモジュールは、S2008に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
一方、上記S2002において、フォルダ作成が成功したと判断した場合(Yes)、セットアップモジュールは、S2003に処理を進める。
S2003では、セットアップモジュールは、結合されているファイルを分離し、該分離したファイルを、上記S2001で作成した一時フォルダに作成する。詳細には、セットアップモジュールは、OFSETの小さい方から分離し、未処理部分の先頭が"setup.ini"の場合、"setup.ini"、"setup.exe"、"silent.ini"の3ファイルを分離し、一方、"未処理部分の先頭が"setup.exe"の場合、"setup.exe"、"silent.ini"の2ファイルを分離する。そして、分離したファイルを、上記S2001で作成した一時フォルダに作成する。このような分離方法により、図5の「ソフトウェア一覧」リスト508で設定された順番(起動順序情報に従った順番)で、インストーラを分離することができる。なお、図14(b)のヘッダ内に存在する結合ファイルの情報を格納する領域(図14の例では5つの領域)内に、同一のインストーラセットを構成するファイルを特定する情報を記載するようにしておき、その情報に従って、同一のインストーラセットを構成するファイルを分離するように構成してもよい。また、上記同一のインストーラセットを構成するファイルを特定する情報を、起動順を示す情報とし、その順番で分離し、起動するようにしてもよい。
S2003では、セットアップモジュールは、結合されているファイルを分離し、該分離したファイルを、上記S2001で作成した一時フォルダに作成する。詳細には、セットアップモジュールは、OFSETの小さい方から分離し、未処理部分の先頭が"setup.ini"の場合、"setup.ini"、"setup.exe"、"silent.ini"の3ファイルを分離し、一方、"未処理部分の先頭が"setup.exe"の場合、"setup.exe"、"silent.ini"の2ファイルを分離する。そして、分離したファイルを、上記S2001で作成した一時フォルダに作成する。このような分離方法により、図5の「ソフトウェア一覧」リスト508で設定された順番(起動順序情報に従った順番)で、インストーラを分離することができる。なお、図14(b)のヘッダ内に存在する結合ファイルの情報を格納する領域(図14の例では5つの領域)内に、同一のインストーラセットを構成するファイルを特定する情報を記載するようにしておき、その情報に従って、同一のインストーラセットを構成するファイルを分離するように構成してもよい。また、上記同一のインストーラセットを構成するファイルを特定する情報を、起動順を示す情報とし、その順番で分離し、起動するようにしてもよい。
次に、S2004において、セットアップモジュールは、上記S2003のファイル分離処理が成功したか否かを判断する。
上記2004において、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合(No)、セットアップモジュールは、S2008に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
上記2004において、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合(No)、セットアップモジュールは、S2008に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
一方、上記2004において、ファイル分離処理に成功したと判断した場合(Yes)、セットアップモジュールは、S2005に処理を進める。
S2005では、セットアップモジュールは、後述する図21に示すドライバインストール処理を行い、S2006に処理を進める。
S2005では、セットアップモジュールは、後述する図21に示すドライバインストール処理を行い、S2006に処理を進める。
S2006では、セットアップモジュールは、上記S2005で実行したインストール処理が成功したか否かを判断する。
上記S2006において、インストール失敗と判断した場合(No)、セットアップモジュールは、S2008に処理を進める。S2008では、セットアップモジュールは、"silent.log"から取り出したエラー内容や、OSから取得できるエラー情報からから適宜エラーメッセージを作成し、クライアント102の表示部207にそのエラーメッセージを表示し、処理を終了する。
上記S2006において、インストール失敗と判断した場合(No)、セットアップモジュールは、S2008に処理を進める。S2008では、セットアップモジュールは、"silent.log"から取り出したエラー内容や、OSから取得できるエラー情報からから適宜エラーメッセージを作成し、クライアント102の表示部207にそのエラーメッセージを表示し、処理を終了する。
一方、上記S2006において、インストール成功したと判断した場合(Yes)、セットアップモジュールは、S2007に処理を進める。
S2007では、セットアップモジュールは、ファイルの分離処理が全て完了したか否かを判断する。
S2007では、セットアップモジュールは、ファイルの分離処理が全て完了したか否かを判断する。
上記S2007において、まだ分離するファイルが存在すると判断した場合(No)、セットアップモジュールは、S2003に処理を戻す。
一方、上記S2007において、ファイルの分離処理が全て完了したと判断した場合(No)、セットアップモジュールは、本フローチャートの処理を終了する。
一方、上記S2007において、ファイルの分離処理が全て完了したと判断した場合(No)、セットアップモジュールは、本フローチャートの処理を終了する。
次に、図21を用いて、図20のS2005のインストール処理について説明する。
図21は、図20のS2005でセットアップモジュールが実行するドライバインストール処理の詳細を示すフローチャートである。
まず、S2101において、セットアップモジュールは、図20のS2003で分離したインストーラを実行し、プリンタドライバもしくは関連ソフトウェアのインストール処理を行う。
図21は、図20のS2005でセットアップモジュールが実行するドライバインストール処理の詳細を示すフローチャートである。
まず、S2101において、セットアップモジュールは、図20のS2003で分離したインストーラを実行し、プリンタドライバもしくは関連ソフトウェアのインストール処理を行う。
次に、S2102において、セットアップモジュールは、上記S2101で起動したプリンタドライバもしくは関連ソフトウェアのインストーラの処理が完了したか否かを判断する。例えば、プリンタドライバもしくは関連ソフトウェアのインストーラの戻り値が"0"のときは完了、"0"以外はエラーで終了したと判断する。
上記S2102において、インストーラの処理が完了したと判断した場合(Yes)、セットアップモジュールは、S2103に処理を進める。
S2103では、セットアップモジュールは、プロパティ設定を行う。インストーラが、プリンタドライバのインストーラである場合、セットアップモジュールは、論理プリンタのプロパティを設定する。例えば、Microsoft社のWindows(登録商標)に用意されているWin32関数SetPrinter()を用いる。この関数のPRINTTER_INFO_2構造体のメンバー"PComment"に図20のS2003で分離した"setup.ini"ファイルに記載の"Comments"を指定する。一方、インストーラが関連ソフトウェアである場合、"silent.ini"ファイル記載のインストーラのオプションを設定する。
S2103では、セットアップモジュールは、プロパティ設定を行う。インストーラが、プリンタドライバのインストーラである場合、セットアップモジュールは、論理プリンタのプロパティを設定する。例えば、Microsoft社のWindows(登録商標)に用意されているWin32関数SetPrinter()を用いる。この関数のPRINTTER_INFO_2構造体のメンバー"PComment"に図20のS2003で分離した"setup.ini"ファイルに記載の"Comments"を指定する。一方、インストーラが関連ソフトウェアである場合、"silent.ini"ファイル記載のインストーラのオプションを設定する。
上記プロパティ設定(S2103)が完了すると、セットアップモジュールは、本フローチャートの処理を終了する。
一方、上記S2102において、インストーラの処理が完了しなかったと判断した場合(No)、セットアップモジュールは、S2104に処理を進める。
一方、上記S2102において、インストーラの処理が完了しなかったと判断した場合(No)、セットアップモジュールは、S2104に処理を進める。
S2104では、セットアップモジュールは、インストーラが作成した"silent.log"からエラー内容を取り出し、本フローチャートの処理を終了する。この後、"silent.log"から取り出したエラー内容に基づいて、図20のS2006で、エラー表示が行われることとなる。
以上示したように、実施例1によれば、印刷装置のプリンタドライバと関連ソフトウェアを適切な順番で情報処理装置にインストールするとともに、該インストールされた関連ソフトウェアに対して適切な設定処理が可能となるセットアッププログラムを、前記印刷装置に容易に登録することができる。
以下、本発明の別の実施例について説明する。
印刷装置に、ソフトウェアをインストールまたは、ソフトウェアをインストールした外部装置を接続等することで、印刷機能を向上することが考えられる。
例えば、クライアントにインストールしたソフトウェアが印刷ジョブに認証情報を付加し、印刷装置にジョブを送付する。印刷装置は印刷ジョブに付加された認証情報を、ネットワーク上に設置された認証サーバに送付し、認証したジョブのみ印刷を実行する。この印刷システムでは、クライアントと印刷装置の双方に専用のアプリケーションソフトウェアのインストールが必要である。印刷システムを動作させるためには、印刷装置においてインストールされているソフトウェアと、該ソフトウェアに連携するクライアントにインストールされるソフトウェアとの対応が、バージョンの一致も含む厳密な一致性が求められる。
印刷装置に、ソフトウェアをインストールまたは、ソフトウェアをインストールした外部装置を接続等することで、印刷機能を向上することが考えられる。
例えば、クライアントにインストールしたソフトウェアが印刷ジョブに認証情報を付加し、印刷装置にジョブを送付する。印刷装置は印刷ジョブに付加された認証情報を、ネットワーク上に設置された認証サーバに送付し、認証したジョブのみ印刷を実行する。この印刷システムでは、クライアントと印刷装置の双方に専用のアプリケーションソフトウェアのインストールが必要である。印刷システムを動作させるためには、印刷装置においてインストールされているソフトウェアと、該ソフトウェアに連携するクライアントにインストールされるソフトウェアとの対応が、バージョンの一致も含む厳密な一致性が求められる。
実施例2では、印刷装置に登録済のソフトウェアと、該ソフトウェアに連携するクライアントにインストールしようとしているクライアント用ソフトウェアとの対応が一致する場合、該クライアント用ソフトウェアを、セットアッププログラムに追加する構成とする。
以下、実施例2について、図22、図25を用いて説明する。
本実施例では、印刷装置にインストールされているソフトウェアの名称及びバージョン等の情報をソフトウェア情報という。ソフトウェア情報は、管理者の設定等により、管理装置101で実行される管理アプリケーションに保持され、アップロード条件設定部713の呼び出し時に、管理アプリケーションからアップロード条件設定部713に適宜渡されるものものとする。
本実施例では、印刷装置にインストールされているソフトウェアの名称及びバージョン等の情報をソフトウェア情報という。ソフトウェア情報は、管理者の設定等により、管理装置101で実行される管理アプリケーションに保持され、アップロード条件設定部713の呼び出し時に、管理アプリケーションからアップロード条件設定部713に適宜渡されるものものとする。
以下、図25を用いて、管理アプリケーションが保持するソフトウェア情報の一例を説明する。
図25は、実施例2の管理アプリケーションが保持するソフトウェア情報の一例を示す図である。なお、このソフトウェア情報は、印刷装置毎に設けられ、管理装置101のHD205に記憶されている。管理アプリケーションは、図3のデバイス選択画面で指定されたデバイスに対応するソフトウェア情報を、HD205からRAM202に読み込んで保持する。
図25は、実施例2の管理アプリケーションが保持するソフトウェア情報の一例を示す図である。なお、このソフトウェア情報は、印刷装置毎に設けられ、管理装置101のHD205に記憶されている。管理アプリケーションは、図3のデバイス選択画面で指定されたデバイスに対応するソフトウェア情報を、HD205からRAM202に読み込んで保持する。
例えば、図25に示すように、ソフトウェア情報は、Software2501、Software Version2502、installed2503、Supported Application 2504の情報を保持する。
Software2501は、印刷装置にインストールされるソフトウェアの名称を示す。Software Version2502は、印刷装置にインストールされているSoftware2501のバージョン情報を示す。isInstalled2503は、印刷装置にSoftware2501がインストールされているか否かを示すフラグを示す。isInstalled2503の値が「1」の場合は、印刷装置にSoftware2501がインストールされていることを示す。一方、isInstalled2503の値が「0」の場合、印刷装置にSoftware2501がインストールされていないことを示す。Supported Application2504は、Software2501と連携するソフトウェアの情報を示す。即ち、Supported Application2504に記載されているソフトウェアがクライアントにインストールされるものとなる。なお、Supported Application2504に記載されるソフトウェアの情報は、バージョン情報を含むものであってもよい。
即ち、図25に示すソフトウェア情報は、印刷装置にインストール済のプログラムと連携して動作する連携プログラムの情報を含む印刷装置毎の設定情報である。
なお、本実施例では、説明の簡便のため、実施例1と異なる点のみを説明する。
実施例2では、図11のS1106のインストーラ指定処理が、実施例1とは異なる。
即ち、図25に示すソフトウェア情報は、印刷装置にインストール済のプログラムと連携して動作する連携プログラムの情報を含む印刷装置毎の設定情報である。
なお、本実施例では、説明の簡便のため、実施例1と異なる点のみを説明する。
実施例2では、図11のS1106のインストーラ指定処理が、実施例1とは異なる。
以下、図22を用いて、実施例2のインストーラ指定処理について説明する。
図22は、実施例2のインストーラ指定処理の一例を示すフローチャートである。なお、図22に示す処理を実現するためのプログラムは予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。
図22は、実施例2のインストーラ指定処理の一例を示すフローチャートである。なお、図22に示す処理を実現するためのプログラムは予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。
実施例2では、図11のS1105において、「追加」ボタン504の押下と判定した場合(Yes)、アップロード条件設定部713が、S1106において、図22に示すインストーラ指定処理を実行するものとする。
まず、S2201において、アップロード条件設定部713は、図5に示したアップロード条件設定画面の「ファイルパス」テキストエリア502に記載れたパスにあるインストーラからインストールするソフトウェアの名称、バージョン等の詳細情報を取得する。インストーラの情報は、ファイルプロパティからインストール情報を読み込む。あるいは、「ファイルパス」テキストエリア502に記載れたパスからインストーラ情報ファイルが存在すれば前記ファイルを読み込んでもよい。
次に、S2202において、アップロード条件設定部713は、上記S2201で取得したソフトウェアに連携するソフトウェアが印刷装置に登録済か判断する。詳細には、アップロード条件設定部713は、上記S2201で取得したソフトウェアの詳細情報と、管理アプリケーションから渡された、図3に示したデバイス選択画面で指定された印刷装置に対応するソフトウェア情報(図25)とを比較する。例えば、上記S2202で取得した詳細情報にソフトウェア名称"App1"が存在するとする。この場合、ソフトウェア情報のSupported Application2504を探索し、"App1"に該当するレコードが存在する場合、isInstalled2503を参照し、その値が「1」であった場合、"App1"に連携するソフトウェアが印刷装置に登録済であると判定する。なお、Supported Application2504に記載されるソフトウェアの情報がバージョン情報を含む場合には、バージョン情報も含めて一致を判断するものとする。
上記S2202において、登録済であると判断した場合(Yes)、アップロード条件設定部713は、S2203に処理を進める。
SS2203では、アップロード条件設定部713は、図5の「ソフトウェア一覧」リスト508に、上記S2201で取得したソフトウェアの情報を追加し、本フローチャートの処理を終了する。
SS2203では、アップロード条件設定部713は、図5の「ソフトウェア一覧」リスト508に、上記S2201で取得したソフトウェアの情報を追加し、本フローチャートの処理を終了する。
一方、上記S2202において、登録済でないと判断した場合(No)、アップロード条件設定部713は、上記S2201で取得したソフトウェアの情報を「ソフトウェア一覧」リスト508に追加することなく、そのまま本フローチャートの処理を終了する。
即ち、アップロード条件設定部713は、関連ソフトウェアのインストーラプログラムの指定を行う場合に、ソフトウェア情報(図25)に、インストール済みのプログラムと連携する連携プログラム(Supported Application 2504)として記載されているプログラムのインストーラプログラム以外の指定を制限(禁止)するように制御する。
これにより、作成部712で作成されるセットアッププログラムは、関連ソフトウェアのインストーラプログラムとして、図25のソフトウェア情報に連携プログラムとして記載されているプログラムのインストーラプログラムのみを含むものとなる。
以上示したように、実施例2によれば、実施例1の効果に加え、管理者は、印刷装置に登録済のソフトウェアと連携して動作可能なクライアント用ソフトウェアのみを追加したセットアッププログラムを容易に作成して印刷装置に登録することが可能になる。
よって、管理者が、印刷装置に登録されていないソフトウェアと連携して動作するクライアント用ソフトウェアを、誤ってセットアッププログラムに追加することがなくなる。このため、一般のユーザが、セットアッププログラムを、印刷装置からクライアントにダウンロードして実行した場合、クライアントには、前記印刷装置のプリンタドライバとともに、前記印刷装置にインストール済みのソフトウェアと対応するクライアント側のソフトウェアのみをインストールすることができる。よって、ユーザが、印刷装置に登録されていないソフトウェアに対応するクライアント用ソフトウェアを、誤ってクライアントにインストールしてしまうことを防止できる。この結果、クライアントと印刷装置が正しく連携して動作する印刷システムを構築できる。
実施例3においても、前提として実施例2と同様に、クライアントとプリンタ双方に専用のアプリケーションソフトウェアのインストールが必要ケースを想定する。
実施例3では、実施例2と異なり、印刷装置内で関連ソフトウェアの利用が可能か判断するように構成する。印刷装置内の設定情報の変更に応じてセットアッププログラムを更新することで、自動で最新の印刷装置に対応したセットアッププログラムとすることが可能となる。
なお、本実施例では、説明の簡便のため、実施例1と異なる点のみを説明する。
実施例3では、図18のS1802のセットアッププログラム更新処理が異なる。
実施例3では、実施例2と異なり、印刷装置内で関連ソフトウェアの利用が可能か判断するように構成する。印刷装置内の設定情報の変更に応じてセットアッププログラムを更新することで、自動で最新の印刷装置に対応したセットアッププログラムとすることが可能となる。
なお、本実施例では、説明の簡便のため、実施例1と異なる点のみを説明する。
実施例3では、図18のS1802のセットアッププログラム更新処理が異なる。
以下、図23を用いて、実施例3における図18のS1802のセットアッププログラム更新処理について説明する。
図23は、実施例3において印刷装置105のセットアッププログラム更新部704が行うセットアッププログラムの更新処理(図18のS1802の)の一例を示すフローチャートである。なお、図23に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
図23は、実施例3において印刷装置105のセットアッププログラム更新部704が行うセットアッププログラムの更新処理(図18のS1802の)の一例を示すフローチャートである。なお、図23に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
セットアッププログラム更新部704は、図18のS1801の処理(セットアッププログラムをPRAM222等にコピー)の後、S1802において、図23に示すフローチャートの処理を実行する。なお、実施例3では、図17のS1704の構成情報の変化に、印刷装置へのソフトウェアのインストールも含むものとする。即ち、図18のセットアッププログラム更新処理は、印刷装置にソフトウェアがインストールされた場合にも実行され、この処理内で、本フローチャートの処理が実行されるものとする。
まず、S2301において、セットアッププログラム更新部704は、上記S1801でコピーしたセットアッププログラム内にある全てのインストーラに対して、更新確認を完了した(チェック完了)か否かを判断する。
上記S2301において、まだ更新確認が完了していないインストーラが存在すると判断した場合(No)、セットアッププログラム更新部704は、S2302に処理を進める。
S2302では、セットアッププログラム更新部704は、デバイスの構成情報の反映を行うとともに、上記セットアッププログラムに内包されている各インストーラの起動判断を行う。詳細には、セットアッププログラム更新部704は、インストーラに保持されている情報ファイル("Setup.ini"や"Silent.ini")にデバイスの構成情報(IPアドレス、プリンタ名、デバイスモデル名、ドライバモデル名等)を反映する(図18のS1802と同様)。また、セットアッププログラム更新部704は、該セットアッププログラムでクライアントにインストールされるソフトウェア(関連ソフトウェア)と連携するソフトウェアが印刷装置内に存在するか(インストール済みか)判断する。
上記S2302において、上記関連ソフトウェアと連携するソフトウェアが印刷装置にインストールされていると判断した場合(Yes)、セットアッププログラム更新部704は、S2303に処理を進める。
S2303では、セットアッププログラム更新部704は、Flgとしての、図16の"Silent.ini"の[SelectJob]の値を、「0」に設定(Flg=0)し、S2301に処理を戻す。なお、S2303において、"Silent.ini"の[SelectJob]の値を、「1」に設定(Flg=1)してもよい。例えば、過去に同一のソフトウェアのインストーラを含むセットアッププログラムが当該印刷装置に登録されている場合に、[SelectJob]の値を、「1」に設定(Flg=1)するようにしてもよい。
一方、S2302において、上記関連ソフトウェアと連携するソフトウェアが印刷装置にインストールされていないと判断した場合(No)、セットアッププログラム更新部704は、S2304に処理を進める。
S2304では、セットアッププログラム更新部704は、Flgとしての、図16の"Silent.ini"の[SelectJob]の値を、「2」に設定(Flg=2)し、S2301に処理を戻す。
また、上記S2301において、セットアッププログラム内にある全てのインストーラのチェックが完了したと判定した場合(Yes)、セットアッププログラム更新部704は、S2305に処理を進める。
上記S2305では、セットアッププログラム更新部704は、利用可能ソフトウェアを通知する。ここで、利用可能ソフトウェアの通知とは、セットアッププログラム内にあるインストーラに対して、インストーラがインストール可能か否かの情報を管理者へ通知する。管理者への通知方法は、例えば、予め印刷装置の外部メモリ223に設定されている管理者のメールアドレスへのメール送信など何であってもよい。また、セットアッププログラムに存在しないインストーラの関連ソフトウェアが印刷装置に追加されている場合にも、管理者に通知してもよい。
即ち、図23に示した印刷装置105のセットアッププログラムの更新処理は、セットアッププログラムに含まれるインストーラプログラムのうち、印刷装置105にインストール済のプログラムと連携して動作する連携プログラム以外のインストーラプログラムが情報処理装置102において起動されないように変更する処理を示す。
なお、印刷装置105による前記セットアッププログラムの変更は、印刷装置105の構成情報(例えば、ソフトウェアのインストール等)に変更があった場合に行われる。
なお、印刷装置105による前記セットアッププログラムの変更は、印刷装置105の構成情報(例えば、ソフトウェアのインストール等)に変更があった場合に行われる。
次に、図24を用いて、実施例3におけるインストール処理(図20のS2005)について説明する。
図24は、実施例3におけるドライバインストール処理(図20のS2005)の詳細を示すフローチャートであり、セットアッププログラム702の実行により実現されるセットアップモジュールにより行われる。
図24は、実施例3におけるドライバインストール処理(図20のS2005)の詳細を示すフローチャートであり、セットアッププログラム702の実行により実現されるセットアップモジュールにより行われる。
まず、S2401において、セットアップモジュールは、図20のS2003で分離したSilent.ini"の[SelectJob]の値が「2」であるか否かを判断する。
上記S2401において、[SelectJob]の値が「2」であると判断した場合(Yes)、セットアップモジュールは、インストールを行わず、そのまま本フローチャートの処理を終了する。
一方、上記S2401において、[SelectJob]の値が「2」でないと判断した場合(No)、セットアップモジュールは、S2402〜S2405の処理を実行する。なお、S2402〜S2405の処理は、図21のS2101〜S2104の処理と同一であるので、説明は省略する。
即ち、図23の更新処理で変更されたセットアッププログラムは、図24に示すように、セットアッププログラムに含まれるインストーラプログラムのうち、印刷装置105にインストール済のプログラムと連携して動作する連携プログラム以外のインストーラプログラムは、クライアント102において起動されないものとなっている。
以上説明したように、実施例3によれば、実施例1の効果に加えて、管理者が印刷装置に登録済でないソフトウェアと連携する関連ソフトウェアをセットアッププログラムに追加したとしても、クライアントではインストールされないようなセットアッププログラムを容易に印刷装置に登録することができる。
このため、一般のユーザが、セットアッププログラムを、印刷装置からクライアントにダウンロードして実行した場合、クライアントに、前記印刷装置のプリンタドライバとともに、前記印刷装置に登録済のソフトウェアと連携する関連ソフトウェアのみをインストールすることができる。よって、ユーザが、印刷装置に登録されていないソフトウェアに対応するクライアント用ソフトウェアを、誤ってクライアントにインストールしてしまうこと(無駄なインストール)を防止できる。この結果、クライアントと印刷装置が正しく連携して動作する印刷システムを構築できる。
以上の説明において、印刷データの送信先として、"Internet Protocol Ver.4"形式のIPアドレスを例にとり説明した。しかしながら、その他の形式のIPアドレスにも適用される。
また、デバイスの例としてプリンタを代表して説明したが、プリンタに限定されるものでなく、印刷機能を持つ複合機や、プリンタドライバと同等の仕組みのFAXドライバで動作するFAXにおいても本発明は適用される。さらに、管理装置101で管理するデバイスのためのデバイスドライバであればどのようなデバイスドライバであってもよい。例えば、管理装置101で管理するデバイスがスキャナを備える場合、スキャナドライバであってもよい。
以上示したように、本発明によれば、管理者がプリンタドライバ等のデバイスドライバや関連ソフトウェアのインストールする順番を設定することができ、さらには関連ソフトウェアに設定する設定情報を指定しておくことができる。これにより、一般のユーザは、目的のPCに対してデバイスドライバや関連ソフトウェアを適切な順番でインストールでき、関連ソフトウェアに対して適切な設定が可能となり、所望のインストール結果を得ることができる。さらに、管理者のインストール準備作業、インストーラの管理を容易にすることができる。結果、デバイスドライバのインストールに関して、管理者や一般ユーザの利便性を向上することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 管理装置(情報処理装置)
102〜104 クライアント(情報処理装置)
105 印刷装置(プリンタ(デバイス))
106 ネットワーク
102〜104 クライアント(情報処理装置)
105 印刷装置(プリンタ(デバイス))
106 ネットワーク
Claims (14)
- 周辺装置にデバイスドライバを登録するための管理装置であって、
前記周辺装置のデバイスドライバを情報処理装置にインストールする第1インストーラプログラムの指定と、前記デバイスドライバと関連するプログラムを情報処理装置にインストールする少なくとも1つの第2インストーラプログラムの指定を行うための第1指定手段と、
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定する第2指定手段と、
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記第2指定手段にて指定された順序で起動するためのセットアッププログラムを作成する作成手段と、
前記作成手段で作成されたセットアッププログラムを前記周辺装置の記憶領域に登録する登録手段と、
を有することを特徴とする管理装置。 - 前記周辺装置にインストール済のプログラムと連携して動作する連携プログラムの情報を含む設定情報を記憶する記憶手段を有し、
前記セットアッププログラムは、前記第2インストーラプログラムとして、前記設定情報に前記連携プログラムとして記載されているプログラムのインストーラプログラムのみを含むことを特徴とする請求項1に記載の管理装置。 - 前記第1指定手段は、前記第2インストーラプログラムの指定を行う場合に、前記設定情報に前記連携プログラムとして記載されているプログラムのインストーラプログラム以外の指定を制限することを特徴とする請求項2に記載の管理装置。
- 前記セットアッププログラムは、該セットアッププログラムが登録された周辺装置により、該セットアッププログラムに含まれるインストーラプログラムのうち、該周辺装置にインストール済のプログラムと連携して動作する連携プログラム以外のインストーラプログラムが情報処理装置において起動されないように変更されることを特徴とする請求項1に記載の管理装置。
- 前記周辺装置による前記セットアッププログラムの変更は、前記周辺装置の構成情報に変更があった場合に行われることを特徴とする請求項4に記載の管理装置。
- 前記第1指定手段は、前記第2インストーラプログラムの設定値の指定も行うものであり、
前記作成手段は、前記第1指定手段で指定された前記第2インストーラプログラムの設定値を含むセットアッププログラムを作成することを特徴とする請求項1乃至5のいずれか1項に記載の管理装置。 - 周辺装置と、管理装置とを含むシステムであって、
前記管理装置は、
前記周辺装置のデバイスドライバを情報処理装置にインストールする第1インストーラプログラムの指定と、前記デバイスドライバと関連するプログラムを情報処理装置にインストールする少なくとも1つの第2インストーラプログラムの指定を行うための第1指定手段と、
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定する第2指定手段と、
前記第1指定手段で指定された前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記第2指定手段にて指定された順序で起動するためのセットアッププログラムを作成する作成手段と、
前記作成手段で作成されたセットアッププログラムを前記周辺装置の記憶領域に登録する登録手段と、を有し、
前記周辺装置は、
情報処理装置からの要求に応じて、前記記憶領域に記憶に登録された前記セットアッププログラムを、前記情報処理装置に送信する送信手段を有する、
ことを特徴とするシステム。 - 前記管理装置は、
前記周辺装置にインストール済のプログラムと連携して動作する連携プログラムの情報を含む設定情報を記憶する記憶手段を有し、
前記セットアッププログラムは、前記設定情報に前記連携プログラムとして記載されているプログラムのインストーラプログラムのみを含むことを特徴とする請求項7に記載のシステム。 - 前記第1指定手段は、前記第2インストーラプログラムの指定を行う場合に、前記設定情報に前記連携プログラムとして記載されているプログラムのインストーラプログラムの指定を制限することを特徴とする請求項8に記載のシステム。
- 前記セットアッププログラムが登録された周辺装置は、前記セットアッププログラムに含まれるインストーラプログラムのうち、前記周辺装置にインストール済のプログラムと連携して動作する連携プログラム以外のインストーラプログラムが、情報処理装置において起動されないように、前記セットアッププログラムを変更する変更手段を有することを特徴とする請求項7に記載のシステム。
- 前記変更手段は、前記周辺装置の構成情報に変更があった場合に、前記セットアッププログラムを変更することを特徴とする請求項10に記載のシステム。
- 前記第1指定手段は、前記第2インストーラプログラムの設定値の指定も行うものであり、
前記作成手段は、前記第1指定手段で指定された前記第2インストーラプログラムの設定値を含むセットアッププログラムを作成することを特徴とする請求項7乃至11のいずれか1項に記載のシステム。 - 周辺装置にデバイスドライバを登録するための管理装置の制御方法であって、
前記管理装置が実行する、
前記周辺装置のデバイスドライバを情報処理装置にインストールする第1インストーラプログラムの指定と、前記デバイスドライバと関連するプログラムを情報処理装置にインストールする少なくとも1つの第2インストーラプログラムの指定を行うための第1指定ステップと、
前記第1指定ステップで指定された前記第1インストーラプログラムと前記第2インストーラプログラムの起動順序を指定するための第2指定ステップと、
前記第1指定ステップで指定された前記第1インストーラプログラムと前記第2インストーラプログラムを含み、これらのプログラムを前記第2指定ステップにて指定された順序で起動するためのセットアッププログラムを作成する作成ステップと、
前記作成ステップで作成されたセットアッププログラムを前記周辺装置の記憶領域に登録する登録ステップと、
を有することを特徴とする管理装置の制御方法。 - コンピュータを、請求項1乃至6何れか1項に記載された手段として機能させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012086948A JP2013218445A (ja) | 2012-04-06 | 2012-04-06 | 管理装置、システム、管理装置の制御方法、プログラム。 |
| US13/852,171 US9207899B2 (en) | 2012-04-06 | 2013-03-28 | Management apparatus, system, and method of controlling the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012086948A JP2013218445A (ja) | 2012-04-06 | 2012-04-06 | 管理装置、システム、管理装置の制御方法、プログラム。 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013218445A true JP2013218445A (ja) | 2013-10-24 |
Family
ID=49292078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012086948A Pending JP2013218445A (ja) | 2012-04-06 | 2012-04-06 | 管理装置、システム、管理装置の制御方法、プログラム。 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9207899B2 (ja) |
| JP (1) | JP2013218445A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2016035801A1 (ja) * | 2014-09-01 | 2017-06-15 | 株式会社リコー | システム、情報処理方法および記憶媒体 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015122010A (ja) * | 2013-12-25 | 2015-07-02 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
| JP6265007B2 (ja) * | 2014-03-31 | 2018-01-24 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像形成装置、文書管理システム、文書管理方法 |
| US10740048B2 (en) | 2016-02-04 | 2020-08-11 | PrinterLogic, Inc. | Software-as-a-service deployment of printer drivers and printer profiles |
| JP6661409B2 (ja) * | 2016-03-01 | 2020-03-11 | キヤノン株式会社 | 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム |
| JP7039318B2 (ja) * | 2018-02-20 | 2022-03-22 | キヤノン株式会社 | 管理装置及び方法 |
| US10891089B1 (en) * | 2019-06-25 | 2021-01-12 | Kyocera Document Solutions Inc. | System and methods for using an authentication token with a cloud-based server |
| KR20210088100A (ko) * | 2020-01-06 | 2021-07-14 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 디바이스 리셋 후의 어플리케이션의 복구 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005338940A (ja) * | 2004-05-24 | 2005-12-08 | Canon Inc | インストール方法、情報処理装置、及びデバイスドライバ |
| JP2007086969A (ja) | 2005-09-21 | 2007-04-05 | Oki Data Corp | 印刷装置 |
| JP4753321B2 (ja) * | 2008-10-06 | 2011-08-24 | キヤノンマーケティングジャパン株式会社 | 情報処理装置及びインストーラセット作成方法、プログラム、記憶媒体、並びに印刷システム |
| JP5760441B2 (ja) * | 2011-01-06 | 2015-08-12 | 株式会社リコー | 印刷制御プログラム、情報処理装置、印刷システム及び印刷装置 |
-
2012
- 2012-04-06 JP JP2012086948A patent/JP2013218445A/ja active Pending
-
2013
- 2013-03-28 US US13/852,171 patent/US9207899B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2016035801A1 (ja) * | 2014-09-01 | 2017-06-15 | 株式会社リコー | システム、情報処理方法および記憶媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| US9207899B2 (en) | 2015-12-08 |
| US20130265601A1 (en) | 2013-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5783679B2 (ja) | 印刷装置、印刷システム、制御方法、及び、プログラム | |
| JP2013218445A (ja) | 管理装置、システム、管理装置の制御方法、プログラム。 | |
| JP5911212B2 (ja) | 印刷装置及びその制御方法、及びプログラム | |
| JP7182934B2 (ja) | 画像形成装置、システム、それらの制御方法、及びプログラム | |
| JP6327930B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
| JP7129842B2 (ja) | システム、画像形成装置、及びその制御方法、並びにプログラム | |
| JP2023153904A (ja) | 情報処理装置 | |
| US9471328B2 (en) | Information processor having program and configuration data stored in different storage areas and reflecting configuration data in operation in program | |
| JP3639821B2 (ja) | 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
| JP7182933B2 (ja) | 画像形成装置、システム、それらの制御方法、及びプログラム | |
| JP7134719B2 (ja) | 画像形成システム、画像形成装置、情報処理装置、および制御方法 | |
| JP2013033422A (ja) | 情報処理システム、情報処理装置、ボタン処理方法およびプログラム | |
| JP3774684B2 (ja) | 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体 | |
| JP5729503B2 (ja) | 情報処理装置及びプログラム | |
| JP2018033102A (ja) | 情報処理システム、情報処理装置及びその制御方法、及びプログラム | |
| JP5725873B2 (ja) | 印刷システム、情報処理装置、及びその方法 | |
| JP5804919B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
| JP5142519B2 (ja) | データ処理装置、データ処理システム、データ処理方法、及びプログラム | |
| JP5791467B2 (ja) | 管理装置、管理装置の制御方法、及びプログラム | |
| JP2010157134A (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
| JP2013206084A (ja) | 管理装置、情報処理装置、印刷システム、制御方法、及びプログラム | |
| JP2010055559A (ja) | 文書管理装置、文書管理方法、及びプログラム | |
| JP5745013B2 (ja) | 画像処理システム、画像処理装置、画像処理システムにおける制御方法、画像処理装置の制御方法、及びプログラム | |
| JP2020019153A (ja) | 印刷システム、印刷装置及びその制御方法、並びにプログラム | |
| JP2019215752A (ja) | 印刷システム、印刷装置と情報処理装置及びその制御方法、並びにプログラム |