管理装置、管理装置の制御方法、及びプログラム
【課題】ユーザが1度のインストール操作で複数の周辺装置のデバイスドライバを適切にインストール可能にすること。
【解決手段】管理装置101は、印刷装置105に該装置のプリンタドライバをクライアント102にインストールするセットアップファイルを登録する第1アップロード機能、又は該装置とは異なる装置を含む複数の装置のプリンタドライバをクライアント102にインストールするセットアップファイルを登録する第2アップロード機能の選択を受け付け、第1アップロード機能が選択された場合、インストーラが参照するデバイス情報として印刷装置105のデバイス情報を設定し、第2アップロード機能が選択された場合、インストーラが参照するデバイス情報として印刷装置105とは異なる装置を含む複数の印刷装置のデバイス情報を設定し、インストーラ及びデバイス情報を含むセットアップファイルを作成して印刷装置105に登録する。
【解決手段】管理装置101は、印刷装置105に該装置のプリンタドライバをクライアント102にインストールするセットアップファイルを登録する第1アップロード機能、又は該装置とは異なる装置を含む複数の装置のプリンタドライバをクライアント102にインストールするセットアップファイルを登録する第2アップロード機能の選択を受け付け、第1アップロード機能が選択された場合、インストーラが参照するデバイス情報として印刷装置105のデバイス情報を設定し、第2アップロード機能が選択された場合、インストーラが参照するデバイス情報として印刷装置105とは異なる装置を含む複数の印刷装置のデバイス情報を設定し、インストーラ及びデバイス情報を含むセットアップファイルを作成して印刷装置105に登録する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周辺装置のデバイスドライバのインストールに関するものである。
【背景技術】
【0002】
近年、企業のオフィス等にプリンタが普及し、誰でも簡単に印刷ができるようになった。情報処理装置としてのPC(パーソナルコンピュータ)からプリンタに印刷するには、プリンタを制御し印刷データを生成するプリンタドライバをPCにインストールする必要がある。
【0003】
一般的にプリンタドライバは、PCのオペレーティングシステム(OS)や印刷するプリンタ毎に用意され、プリンタと同梱されたCD−ROMやFD等の記憶媒体によって提供されている。
【0004】
また、管理者は最新のプリンタドライバを、公衆ネットワークを介してプリンタの製造元が開設したホームページからダウンロードにより入手することが一般的である。さらに、管理者が入手したプリンタドライバとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザに配置場所をアナウンスしてプリンタを利用させるといった運用が行われている。一般ユーザは、このアナウンスを元に、その配置場所から取得した情報に従い、PCにプリンタドライバをインストールする。
【0005】
オフィスに印刷装置を複数導入すると、ユーザ毎に使用する印刷装置が異なることが普通であり、プリンタドライバのインストール及びポートの設定等を間違いなく正確に行うことは、管理者・一般ユーザ共に大変な作業であった。
【0006】
また、従来から、プリンタドライバをインストールする方法として、プリンタ内にプリンタドライバをインストールするインストーラを格納しておき、ユーザがプリンタからインストーラを入手する技術が提案されている(特許文献1参照)。
【0007】
特許文献1で開示される技術では、ユーザはPCの種類を通知することで当該種類に応じたプリンタドライバのインストーラを取得することができる。さらに、特許文献1の技術では、取得したプリンタドライバのインストーラを用いることでPCへのプリンタドライバのインストール、及び該インストールしたプリンタドライバの設定を行うことが可能になる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許第3406962号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、バージョンアップしたプリンタドライバがプリンタベンダからリリースされた等の理由により、ユーザがプリンタドライバだけ更新をしたくても、特許文献1の技術では、プリンタに登録済のプリンタドライバのインストーラを更新することができない。
【0010】
また、当該のプリンタ以外の第2のプリンタを用いて印刷を行いたい場合でも、特許文献1の技術でインストールした第1のプリンタのプリンタドライバでは第2のプリンタを用いて印刷することができない。そのため、ユーザは第2のプリンタからもプリンタドライバのインストーラを取得し、プリンタドライバをインストール、及び設定することが必要であり、非常に煩雑であった。
【0011】
一方、管理者にとっても、プリンタ等の周辺装置の数が増えると、これらの周辺装置のそれぞれにデバイスドライバのセットアッププログラムを作成して配置する作業は非常に煩雑なものであった。
【0012】
このように、従来では、プリンタ等の周辺装置が多数設置されている場合に、複数の周辺装置のデバイスドライバ(プリンタドライバ等)をそれぞれユーザに少ない操作で且つ適切にインストールさせるための仕組みが構築されていなかった。
【0013】
本発明は、上記の問題点を解決するためになされたものであり、本発明の目的は、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置(プリンタ等)のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築する仕組みを提供することである。
【課題を解決するための手段】
【0014】
本発明は、周辺装置にデバイスドライバを登録するための管理装置であって、デバイスドライバを登録する周辺装置を指定する指定手段と、前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択手段と、前記選択手段により前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定手段と、前記選択手段により前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定手段と、前記第1設定手段又は第2設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、を有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【図面の簡単な説明】
【0016】
【図1】本発明を適用可能な印刷システムの構成の一例を示すブロック図である。
【図2】情報処理装置101と印刷装置105の構成の一例を示すブロック図である。
【図3】本実施例の管理装置101で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。
【図4】本実施例の管理装置101上で実行される管理アプリケーションにより提供される第1のアップロード条件設定画面の一例を示す図である。
【図5】本実施例の印刷装置105の備えるWebサーバに対して、ユーザがクライアント102からアクセスしたときにクライアント102の表示部207に表示されるドライバダウンロード画面の一例を示す図である。
【図6】本実施例における主要なモジュール構成の一例を示す図である。
【図7】本実施例のプラグイン選択画面の一例を示す図である。
【図8】本実施例の管理装置101上で実行される管理アプリケーションにより提供される第2のアップロード条件設定画面の一例を示す図である。
【図9】管理装置101の選択部611が行う処理の一例を示すフローチャートである。
【図10】図9のS901に示した初期化処理の一例を示すフローチャートである。
【図11】図9のS910に示したアップロード条件設定処理の一例を示すフローチャートである。
【図12】図11のS1106又は図13のS1306に示したドライバ取得部616が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
【図13】図9のS910に示したアップロード条件設定処理の一例を示すフローチャートである。
【図14】図9のS911に示すアップロード部615が実行するアップロード処理の一例を示すフローチャートである。
【図15】図14のS1401に示す作成部614が実行するセットアッププログラム作成処理の一例を示すフローチャートである。
【図16】本実施例のセットアッププログラムの一例を示す図である。
【図17】セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図である。
【図18】結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図である。
【図19】印刷装置105の監視部603が行う処理の一例を示すフローチャートである。
【図20】印刷装置105のプログラム更新部604が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
【図21】プリンタ105のWebサーバ機能部605による処理の一例を示すフローチャートである。
【図22】セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態について図面を用いて説明する。
なお、本発明では特に断りの無い限り、「プリンタドライバ」とは、アプリケーションからの印刷指示に応じて、OSから呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンタ」とは、OSのスプーラ上の印刷キューのことであり、ソフトウェアとしてのプリンタを意味する。「論理プリンタ名」は論理プリンタを識別する名称である。「ポート」とは、論理プリンタが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。1つのポートには印刷データの送信先(例えば、IPアドレス)が1つだけマッピングされているのが普通である。また、「ポート名」とはポートを識別する名称である。「インストーラ」とはプリンタドライバをインストールするアプリケーションであり、インストーラプログラムと該インストーラプログラムが参照するインストール情報(プリンタ情報、デバイス情報ともいう)を記載した情報ファイルからなる。また、インストーラはプリンタドライバのインストールと同時に論理プリンタの登録、ポートの作成も行うことができるものとする。「アップロード」とは、プリンタの記憶領域にPCやサーバからデータを登録することである。また、「ダウンロード」とはプリンタの記憶領域に保存したデータをPCまたはサーバに転送することである。
【実施例1】
【0018】
本発明に係る一実施例としてのシステムについて説明する。
図1は、本発明を適用可能な印刷システムの構成の一例を示すブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【0019】
図1において、101〜104は情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続されている。情報処理装置101〜104は、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク106に接続されている他の機器と双方向に通信可能な通信装置を備えている。
【0020】
なお、情報処理装置101は、管理装置としての情報処理装置であって、以下、他の情報処理装置と区別する場合には管理装置101と呼ぶ。管理装置101は、印刷装置(プリンタ)105に関する様々な情報を保持し、印刷装置の印刷ログ、動作ログ等を集計して保持する機能を備えている。
【0021】
また、情報処理装置102〜104は、パーソナルクライアントコンピュータとしての情報処理装置であって、以下、他の情報処理装置と区別する場合にはクライアントと呼ぶ。なお、以下の説明では、クライアント102を用いて説明するが、クライアント103,104でも同様である。
【0022】
印刷装置105は、図示省略したネットワークインタフェースを介してネットワーク106に接続されている。印刷装置105は、クライアント102から送信される印刷データを含むジョブを解析して1ページずつイメージに変換して、1ページ毎に印刷する。また、印刷装置105は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等の様々な印刷方式のもののうち何れの印刷方式であってもよい。
【0023】
図2は、情報処理装置101と印刷装置105の構成の一例を示すブロック図である。なお、情報処理装置102〜104の構成も、情報処理装置101と同様の構成を有する。
【0024】
まず、情報処理装置101の詳細構成を説明する。
情報処理装置101において、CPU200は、情報処理装置101における処理を制御する。CPU200は、ハードディスク(HD)205にコンピュータ読み取り可能に記録されているアプリケーションプログラム、プリンタドライバプログラム、OSや制御プログラム等を実行する。CPU200は、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0025】
ROM201は記憶部であり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データがコンピュータ読み取り可能に記録されている。RAM202は一時記憶部であり、CPU200の主メモリ、ワークエリア等として機能する。
【0026】
FDドライブ203は、記録媒体読み込み部である。このFDドライブ203を介して、記録媒体としてのフロッピー(登録商標)ディスク(FD)204に記憶されたプログラム等を情報処理装置101にロードすることができる。なお、記録媒体はFDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。FD204等の記録媒体には、プログラム等がコンピュータ読み取り可能に記録されている。
【0027】
ハードディスク装置(HD)205は外部記憶部の一つであり、大容量メモリとして機能する。HD205には、アプリケーションプログラム、プリンタドライバプログラム、OS、制御プログラム、関連プログラム等をコンピュータ読み取り可能に記録されている。さらに、HD205には、スプーラがここに確保される。スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバではサーバスプーラである。なお、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもHD205に生成されて格納される。
【0028】
キーボード(KBD)206及びポインティングデバイス(PD)209は指示入力部である。ディスプレイ207は表示部であり、KBD206やPD209から入力されたコマンドや、後述のデバイス選択アプリケーション等のアプリケーションプログラムを表示するものである。
【0029】
システムバス208は、情報処理装置内のデータの流れを司るものである。接続部210は、ネットワーク等の双方向インタフェース211を介して印刷装置105等の外部装置とのデータのやり取りを行う。
【0030】
次に、印刷装置105の詳細構成を説明する。
印刷装置105は、ハードディスク(HD)228、接続部226、データ制御部(プリンタエンジン)225、操作部224、外部メモリ223、PCPU220、PRAM222、及びPROM221を主要な構成要素する。これらの構成要素がシステムバス227を介して互いに接続されている。
【0031】
プリンタCPU(PCPU)220は、印刷装置105の全体制御を司るものである。PCPU220は、後述するPROM221或いは外部メモリ223に記憶された制御プログラムに基づいて、接続部226で受信したプリンタ制御コマンド(送信データ)より、画像信号をデータ制御部225に送信する。
【0032】
HD228は、大容量の記憶装置である。HD228は、フォントデータや印刷ジョブ等のデータの保存先として利用される。また、HD228は、図示しない外部装置としての記憶装置と置き換えが可能である。HD228を外部の記憶装置と置き換える場合は、印刷装置105は接続部226を介し、データの送受信を行う。
【0033】
PRAM222は、PCPU220の主メモリとして、PCPU220による制御実行時、ワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ223は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0034】
PROM221はプリンタ内部メモリであり、外部メモリと同様に、各種データや本プリンタを制御するプリンタ制御プログラム等を記憶している。
データ制御部225はプリンタエンジンであり、PCPU220により制御され、PROM221、或いは外部メモリ223に記憶された制御プログラムよりシステムバス227を介して出力された画像信号を受け、実際の印刷処理を行う。
【0035】
操作部224は、操作パネルや操作スイッチ等の入力部、及びLED、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは、操作部224を介して本実施の形態例プリンタの設定を指示や、確認することが可能である。
【0036】
接続部226は、双方向インタフェース211を介して情報処理装置101の接続部210に接続し、印刷制御コマンド(送信データ)の受信や、印刷装置内部の状態等を通知する事も可能である。
【0037】
図3は、本実施例の管理装置101で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。また、管理アプリケーションは、管理装置101のCPU200が管理装置101のHD205にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することにより実現されるものである。
【0038】
管理装置101で実行される管理アプリケーションは、ユーザ操作に応じて、印刷装置105等のデバイスを管理下に追加登録することが出来る。そして、管理アプリケーションは、図3に示すように、デバイス一覧(デバイスリスト)301において、管理下のデバイスを、デバイス名、状態、製品名、IPアドレス、シリアルNo.、設置場所、コメント等の付属情報と共にリストで一覧表示することができる。なお、管理下となるデバイスとは、印刷機能を有するプリンタ、スキャナ、FAX機能やコピー機能を併せ持つ複合機等の周辺装置を含む。
【0039】
なお、デバイス一覧301に一覧表示されたデバイスは、管理アプリケーションにより、PD209又はKBD206から選択可能(1又は複数選択可能)に制御されている。
ユーザによりデバイス一覧301に一覧表示されたデバイス1又は複数が選択され、「ドライバ登録」ボタン302が押下されると、管理アプリケーションは、後述する図7に示すプラグイン選択画面を介して、図4又は図8に示すアップロード条件の設定画面を管理装置101の表示部207に表示する。
【0040】
また、ユーザによって「アドレス帳」ボタン304、「ドライバ削除」ボタン303等のボタンが押下されると、管理アプリケーションは図示しないアドレス帳画面やドライバ削除画面等を管理装置101の表示部207に表示する。
【0041】
なお、本実施例の説明では、本発明で扱うデバイスドライバ(以下、ドライバ)の例として「プリンタドライバ」を用いるが、「ドライバ」はプリンタドライバに限定されるものではない。印刷装置105がスキャン機能を備える場合にはスキャナドライバ、ファクシミリ機能を備える場合にはFAXドライバのように、印刷装置105のためのデバイスドライバであればどのようなデバイスドライバであってもよい。また、印刷装置105はスキャナ等の他の周辺装置であってもよい。
【0042】
図4は、本実施例の管理装置101上で実行される管理アプリケーションにより提供される第1のアップロード条件設定画面の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。
【0043】
この第1のアップロード条件設定画面において、ユーザにより「参照」ボタン401が押下されると、管理アプリケーションは、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによってインストーラの"setup.exe"ファイルが指定されると、管理アプリケーションは、該指定された"setup.exe"ファイルや付随するファイルからインストーラのドライバ種類、バージョンを読み込む。さらに、管理アプリケーションは、前記読み込んだドライバ種類、バージョンをそれぞれ、アップロード条件設定画面のテキストエリア「ドライバ種類:」402、「バージョン:」403に反映する。
【0044】
さらに、管理アプリケーションは、前記選択されたインストーラが保持するドライバモデルのリストから、図3に示したデバイス選択画面で指定されたデバイス(印刷装置;複数の選択されている場合には最初に選択されたもの)のモデル名を比較し、一致するものを「ドライバモデル名」コンボボックス404に表示する。
【0045】
さらに、管理アプリケーションは、「ドライバモデル」コンボボックス404に設定されたドライバモデル名を「表示名」テキストボックス405の初期値として設定する。「表示名」テキストボックス405は、ユーザによって任意の文字列に編集可能である。「表示名」テキストボックス405で指定された文字列は、クライアント102等が印刷装置105からセットアッププログラムのダウンロードを行うユーザが目的のドライバを認識しやすいように、後述する図5に示すドライバダウンロードページに表示されることとなる。
【0046】
「アップロードNo.」コンボボックス406において、管理アプリケーションは、アップロードするセットアッププログラムを格納するアップロード番号の指定を、ユーザに許可する。このアップロード番号は「1」〜「3」を指定可能である。印刷装置105のHD228には、アップロード番号に対応した格納領域が予め確保されている。既に印刷装置105にセットアッププログラムが格納済みのアップロード番号を指定してアップロードを実行すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
【0047】
「コメント」テキストボックス407において、管理アプリケーションは、ユーザによる任意のコメントの入力を可能にする。ここで指定(入力)された文字列は、ダウンロードを行うユーザが目的ドライバを認識しやすいように、後述のドライバダウンロードページ(図5)に表示される。さらに、ここで指定(入力)された文字列は、クライアント102等に作成される論理プリンタのプロパティにコメントとして追加される。
【0048】
「ポート」設定欄408において、管理アプリケーションは、ユーザによる、論理プリンタに接続するポートの種類を「IPアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンからの選択を可能にする。さらに、ユーザによって「ポート名を指定する」ラジオボタンが指定された場合は、管理アプリケーションは、「ポート名」テキストボックスの入力を可能とし、ユーザによる任意のポート名の入力を許可する。
【0049】
「アドバンスドボックスのパス」テキストボックス409において、管理アプリケーションは、ユーザによる、セットアッププログラムをアップロードする印刷装置105の記憶装置内の共有フォルダ内のパスの指定を可能とする。
【0050】
「ユーザ名」テキストボックス410では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザ名の、ユーザによる指定を可能とする。
【0051】
「パスワード」テキストボックス411では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザのパスワードの、ユーザによる指定を可能とする。
【0052】
このアップロード条件設定画面で「OK」ボタン412が押下されると、管理アプリケーションは、前記ファイル選択ダイアログで指定されたインストーラに、後述の表示名405やアップロード番号406等の設定を反映したものをセットアッププログラムとして構築する。さらに、管理アプリケーションは、該セットアッププログラムを図3に示したデバイス選択画面で指定された各印刷装置のHD228にアップロードする。
【0053】
また、このアップロード条件設定画面で「キャンセル」ボタン413が押下されると、管理アプリケーションは、セットアッププログラムをアップロードすることなく、このアップロード条件設定画面を閉じる。
【0054】
なお、図3に示したデバイス選択画面で複数のデバイス(印刷装置)が指定されている場合、図4のアップロード条件設定画面で設定された各アップロード条件は、前記選択された複数のデバイスに対して共通に用いられる。
【0055】
図5は、本実施例の印刷装置105の備えるWebサーバに対して、ユーザがクライアント102からアクセスしたときにクライアント102の表示部207に表示されるドライバダウンロード画面の一例を示す図である。
【0056】
印刷装置105のWebサーバ機能部605(後述する図6)は、図示しないログイン画面をクライアント102のWebブラウザ620(図6)に表示し、ユーザにユーザ名入力を受付ける。さらに、印刷装置105のWebサーバ機能部605は、Webサーバ機能部605に予め設けられた権限判定機能により前述のログイン画面から取得したユーザ名を判断し、取得ユーザ名が一般ユーザの場合は図5に示すドライバダウンロード画面を、クライアント102のWebブラウザ620に送信し、表示させる。
【0057】
図5のドライバダウンロード画面では、図4に示したアップロード条件設定画面からの操作により、印刷装置105にアップロードされたセットアッププログラムの一覧501を、「No.」、「表示名」、「ドライバ種類」、「バージョン」、「コメント」、及び「ダウンロード」ボタン502と共に表示する。
【0058】
一覧501において、「No.」は、アップロード条件設定画面の「アップロードNo.」で指定されたアップロード番号を表示する。「表示名」は、アップロード条件設定画面の「表示名」で指定された文字列を表示する。「ドライバ種類」は、アップロード条件設定画面の「ドライバ種類:」で設定した文字列を表示する。「コメント」は、アップロード条件設定画面の「コメント」で指定された文字列を表示する。「バージョン」は、アップロード条件設定画面の「バージョン:」で設定した文字列を表示する。
【0059】
ここで、一覧501の何れか行の「ダウンロード」ボタンがユーザによって押下されると、クライアント102のWebブラウザ620は、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。このセットアッププログラムをダウンロードは、ユーザによって上記ダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
【0060】
図6は、本実施例における主要なモジュール構成の一例を示す図である。これらモジュールは、システム内の各装置においてCPUがプログラムを実行することで実現される機能を提供するための論理的な構成になる。
【0061】
まず、管理装置101のモジュール構成について説明する。
管理装置101は、選択部611、切替部612、第1の条件設定部613、作成部614、アップロード部615、ドライバ取得部616、第2の条件設定部617を有する。これらモジュール611〜617は、管理装置101のCPU200がROM201にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することで実現される上述の管理アプリケーションの機能に対応する。
【0062】
選択部611は、管理アプリケーションが提供する画面(図3)を管理装置101の表示部207に表示する。切替部612は、管理アプリケーションが提供する画面(図3)から起動されるものであり、プラグイン選択画面(図7)を管理装置101の表示部207に表示する。さらに、切替部612は、ユーザの指示に従い、第1の条件設定部613、または第2の条件設定部617を起動する。
【0063】
第1の条件設定部613は、第1のアップロード条件設定画面(図4)を管理装置101の表示部207に表示する。第1の条件設定部613は、1度のインストール操作で1つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部(第1設定部)である。より具体的には、第1の条件設定部613は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報(プリンタ名、ポート、コメント、設置場所等の情報)として図3のデバイス選択画面で指定された印刷装置のデバイス情報の設定を行う。
【0064】
第2の条件設定部617は、第2のアップロード条件設定画面(図8)を管理装置101の表示部207に表示する。第2の条件設定部617は、1度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部(第2設定部)である。より具体的には、第2の条件設定部617は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報(プリンタ名、ポート、コメント、設置場所等の情報)として図3のデバイス選択画面で指定された印刷装置とは異なる装置を含む複数の印刷装置のデバイス情報の設定を行う。
【0065】
ドライバ取得部616は、第1のアップロード条件設定画面(図4)又は第2のアップロード条件設定画面(図8)から起動され、第1のアップロード条件設定画面(図4)又は第2のアップロード条件設定画面(図8)で指定されたファイルパスからプリンタドライバのインストーラプログラム(setup.exe)やドライバ情報ファイル(setup.inf)を読み込む(ドライバを取得する)。
【0066】
作成部614は、ドライバ取得部616が取得したドライバ(インストーラプログラムやドライバ情報)、第1の条件設定部613又は第2の条件設定部617で設定された論理プリンタ登録に必要な設定情報等を用いて、セットアッププログラムを作成する。
【0067】
アップロード部615は、作成部614に作成されたセットアッププログラムを印刷装置105の記憶部601に送信(アップロード)する。なお、作成部614は、アップロード部615から起動される。
【0068】
次に、印刷装置(プリンタ)105のモジュール構成について説明する。
印刷装置105は、記憶部601、監視部603、プログラム更新部604、Webサーバ機能部605を有する。これらモジュール601,603〜605は、印刷装置105のPCPU220がPROM221にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
【0069】
記憶部601は、管理装置101のアップロード部615から送信されるセットアッププログラムを受け取り、記憶装置(印刷装置105のHD228)に予め確保された格納領域内に格納する。セットアッププログラム602は、インストーラと論理プリンタ作成時に必要となる各種設定を含む実行プログラムである。
【0070】
監視部603は、印刷装置105の構成情報を監視し、構成情報に変更が発生した場合は、プログラム更新部604に対して、セットアッププログラム602の更新を依頼する。なお、構成情報とは、印刷装置105に設定された情報、例えばIPアドレス、ホスト名、機器名、設置場所情報などの情報である。また、監視部603は、管理装置101からセットアッププログラムのアップロードや登録済みセットアッププログラムの削除指示の監視も行う。
【0071】
プログラム更新部604は、監視部603からの指示に基づき、セットアッププログラム602の内部情報を書き換える。
Webサーバ機能部605は、Webサーバとして動作するもので、図5に示したドライバダウンロード画面を含む、各種Webページをクライアント102に提供するものである。
【0072】
次に、クライアント102のモジュール構成について説明する。
クライアント102は、Webブラウザ620を有する。Webブラウザ620は、クライアント102(103)のCPU200がROM201にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
Webブラウザ620は、ユーザの指示によりプリンタ105のWebサーバ機能部605にアクセスして、セットアッププログラム602のダウンロードなどを行う。
【0073】
以下、図9を中心に、選択部611等が行う処理について説明する。
図9は、管理装置101の選択部611が行う処理の一例を示すフローチャートである。図9〜図15に示す処理を実現するためのプログラム(上述の管理アプリケーションプログラム)は予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。また、後述のプラグイン(プラグインプログラム)は、管理装置101のHD205の決められたフォルダに、予め決められた手順に従いインスール済とする。本実施例では、プラグインは前述のフォルダに2つ登録されており、それぞれ図4、図8に示す画面を表示する機能を有するものとする。また、プラグインを構成するファイルはDLL(Dynamic Link Library)1ファイルから構成されているものとする。また、プラグインファイルのファイルプロパティの「製品名」には、プラグイン種類が記載されているものとする。なお、プラグインの種類とは、「第1アップロード機能」、「第2アップロード機能」である。また、ファイルのプロパティの「説明」には、「プラグイン」と記載されているものとする。「第1アップロード機能」プラグインは、本処理のためのアプリケーションをインストールするのと同時にインストールされたものとする。また、「第2アップロード機能」プラグインは、本処理のためのアプリケーションをインストールした後に、別途インストールされたものとする。即ち、第2アップロード機能は、プラグインプログラムとして、管理装置101の第1アップロード機能を実現するプログラム(管理アプリケーションプログラム)に対して追加されて実現されるものである。なお、本実施例では、図3に示したデバイス選択画面に登録・管理されているデバイスは、全てプリンタとする。
【0074】
まず、S901において、選択部611は、初期化処理を行う。なお、初期化処理の詳細は後述の図10に示す。
次に、S902において、選択部611は、イベントが発生したか否かを判断する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するIDが、イベントとして通知され、これらを用いて判断する。
【0075】
上記S902において、イベント発生していないと判断した場合(No)、選択部611は、S902の処理を繰り返す。
一方、S902において、イベントが発生したと判断した場合(Yes)、選択部611は、S903に処理を進める。
S903では、選択部611は、上記発生したイベントが「デバイス選択」であるか否かを判断する。本実施例では、発生したイベントにおいて、図3に示したデバイス選択画面のデバイスリスト301のレコードのIDと、左マウスボタン操作が含まれるときは、「デバイス選択」が行われたと判断する。
【0076】
上記S903において、イベントがデバイス選択であると判断した場合(Yes)、選択部611は、S904に処理を進める。
S904では、選択部611は、予めRAM202やHD205等の記憶装置に確保しているワーク領域内のデバイスリストに、上記選択されたデバイスに対応するレコードを追加する。図3のデバイス選択画面では、デバイスドライバを登録する周辺装置(デバイス)を複数指定可能であり、これらを上記デバイスリストとして保持することとなる。このデバイスリストには、上記選択されたデバイスのデバイスモデル名、IPアドレス、シリアルナンバー等のプリンタ固有の情報が含まれる。そして、S902に処理を戻す。
【0077】
一方、上記S903において、イベントがデバイス選択でない判断した場合(No)、選択部611は、S905に処理を進める。
S905では、選択部611は、上記発生したイベントが「ドライバ登録」ボタン302押下であるか否かを判断する。本実施例では、イベントに図3に示したデバイス選択画面の「ドライバ登録」ボタン302を示すIDと、左マウスボタン操作が含まれるときは、「ドライバ登録」のボタン押下と判断する。
【0078】
上記S905において、上記発生したイベントが「ドライバ登録」のボタン押下と判断した場合(Yes)、選択部611は、上記S904で作成したデバイスリストを切替部612に渡す。
【0079】
S906では、切替部612は、上記S901の初期化処理で設定されたインストール済プラグイン数を保持するワークデータNの値が「1」より大きいか否かを判断する。なお、本実施例では、インストール済プラグイン数Nの値が「1」又は「2」である場合を説明し、インストール済プラグイン数Nの値が[0]の場合の処理や、[3]以上の場合の処理は省略する。
【0080】
上記S906において、インストール済プラグイン数を保持するワークデータNの値が「1」より大きいと判断した場合(Yes)、切替部612は、S907へ処理を進める。
S907では、切替部612は、図7に示すプラグイン選択画面を管理装置101の表示部207に表示する。
【0081】
図7は、本実施例のプラグイン選択画面の一例を示す図である。
図7に示すように、プラグイン選択画面は、ダイアログのタイトルを「ドライバ機能の選択」とし、機能選択コンボボックス701、及び「起動」ボタン702を有する。
機能選択コンボボックス701のリストには、後述の初期化処理(図10)で検索したインストール済プラグインファイルから取得したプラグイン名が記載されている。なお、機能選択コンボボックス701は、初期表示は、コンボボックスの先頭を選択状態になっている。図7の例では、「第1アップロード機能」、「第2アップロード機能」となっている。「第1アップロード機能」が選択された場合には、1度のインストール操作で1つの論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第1アップロード機能は、印刷装置に該印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【0082】
「第2アップロード機能」が選択された場合には、1度のインストール操作で複数の論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第2アップロード機能は、印刷装置に該印刷装置とは異なる装置を含む複数の印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【0083】
ユーザによって、「起動」ボタン702を押下されると、機能選択コンボボックス701で選択されているプラグイン名を持つプラグインが起動される。そして、該起動されたプラグイン(第1の条件設定部613又は第2の条件設定部617)により、ドライバのアップロード設定画面(図4又は図8)が管理装置101の表示部207に表示されることになる。
【0084】
以下、図9のフローチャートの説明に戻る。
次にS908において、切替部612は、「起動」ボタン702が押下されたか否かを判断する。本実施例では、発生したイベントに図7に示したプラグイン選択画面の「起動」ボタンを示すIDと、左マウスボタン操作が含まれるときは、起動ボタン押下と判断する。
【0085】
上記S908において、「起動」ボタン702が押下されていないと判断した場合(No)、他の操作が行われものとして、切替部612は、S908の処理を繰り返す。ここでは、他の操作に関しては説明を省略する。
【0086】
一方、上記S908において、「起動」ボタン702が押下されたと判断した場合(Yes)、切替部612は、機能選択コンボボックス701において選択されているプラグイン名を取得し、該取得したプリラグイン名に対応するプラグインを起動する。そして、切替部612は、起動したプラグインに、上記S904で作成されたデバイスリストを渡す。なお、切替部612は、起動したプラグイン名を選択部611に通知する。
【0087】
なお、プラグイン名が「第1アップロード機能」となっている場合は、切替部612は、第1の条件設定部613を起動する。そして、起動された第1の条件設定部613は、上記S904で作成されたデバイスリストに基づいて、図4に示した第1のアップロード条件設定画面を管理装置101の表示部207に表示する(S909)。一方、プラグイン名が「第2アップロード機能」となっている場合は、切替部612は、第2の条件設定部617を起動する。そして、起動された第2の条件設定部617は、上記S904で作成されたデバイスリストに基づいて、図8に示す第2のアップロード条件設定画面を管理装置101の表示部207に表示する(S909)。
【0088】
なお、上記S906において、インストール済プラグイン数を保持するワークデータ「N」の値が1以下と判断した場合(No)、切替部612は、インストール済みのプラグイン(第1の条件設定部613又は第2の条件設定部617)を起動する。そして、切替部612は、起動したプラグインに、上記S904で作成されたデバイスリストを渡す。起動されたプラグインは、上記S904で作成されたデバイスリストに基づいて、アップロード条件設定画面(図4又は図8)を管理装置101の表示部207に表示する(S909)。
【0089】
次にS910において、上記起動された第1の条件設定部613又は第2の条件設定部617は、アップロード条件設定処理(図11又は図13)を実行する。このアップロード条件設定処理が完了すると、アップロード条件設定処理内でドライバ取得部616により取得されたインストーラが、選択部611に渡され、選択部611に制御が戻される。
【0090】
次にS911において、選択部611は、アップロード部615を呼び出す。なお、選択部611は、上記S904で作成したデバイスリストと、切替部612で選択されたプラグイン名、上記S910のアップロード条件設定処理内でドライバ取得部616が取得したインストーラプログラムと、第1の条件設定部613又は第2の条件設定部617から論理プリンタ登録に必要な設定情報を取得し、アップロード部615に渡す。
【0091】
アップロード部615は、アップロード処理(図14(a)又は図14(b))を実行する。このアップロード処理では、アップロード部615からの指示により、作成部814が、上記S910のアップロード条件設定処理内でドライバ取得部616が取得したインストーラと、第1の条件設定部613又は第2の条件設定部617で設定された論理プリンタ登録に必要な設定情報とを用いて、セットアッププログラムを作成する。そして、アップロード部615が、上記セットアッププログラムを、デバイスリスト内のデバイスに送信する。このアップロード処理が完了すると、選択部611に制御が戻され、選択部611は、S902に処理を戻す。
【0092】
なお、上記S905において、発生したイベントが「ドライバ登録」ボタン302の押下でないと判断した場合、選択部611は、S912に処理を進める。
S912では、選択部611は、発生したイベントが「終了」ボタン305の押下であるか否かを判断する。本実施例では、イベントに図3に図示したデバイス選択画面の「終了」ボタン305を示すIDと、左マウスボタン操作が含まれるときは、終了ボタン305の押下と判断する。
【0093】
上記S912において、発生したイベントが「終了」ボタン305の押下ではないと判断した場合(No)、選択部611は、他の操作が行われものとして、S902に処理を戻す。ここでは、この他の操作に関しては説明を省略する。
【0094】
一方、上記S912において、発生したイベントが「終了」ボタン305の押下であると判断した場合(Yes)、選択部611は、所定の手続きに基づき、管理装置101のRAM202やHD205等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
【0095】
次に、図9のS901の初期化処理について、図10を用いて説明する。
図10は、図9のS901に示した初期化処理の一例を示すフローチャートである。
S1001において、選択部611は、RAM202やHD205等の記憶装置に確保したワーク領域にワークデータを確保する。さらに、プラグイン数を保持するワークデータNの値に「0」を、プラグイン名を保持するワークデータString配列をNULLに初期化する。
【0096】
次に、S1002において、選択部611は、OSに備えられた検索機能を使い、管理装置101のHD205の予め決められたフォルダ以下を検索する。さらに、選択部611は、OSが備えているファイルプロパティ取得機能を用い、前記検索したファイルからプロパティ情報を取得する。前記取得したプロパティ情報を、管理装置101のRAM202やHD205等の記憶装置に予め確保したワーク領域のワークデータにファイル情報として保存する。
【0097】
次に、S1003において、選択部611は、前記S1002で取得したファイル情報の全件に対して、後述するS1004〜S1006の処理を終了したか否かを判断する。
そして、まだ全件終了していないと判断した場合(S1003でNo)、選択部611は、前記S1002で検索されたファイル情報群からからファイル情報を1件取り出し(以下、カレントのファイル情報という)、S1004に処理を進める。
【0098】
S1004では、選択部611は、カレントのファイル情報に対応するファイルがプラグインか否かを判断する。本実施例では、選択部611は、カレントのファイル情報からプロパティを取得し、該取得したファイルプロパティの「説明」記載が「プラグイン」となっている場合はプラグインと判断する。なお、プラグインが見つかった場合は、プラグインがインストール済と判断する。
【0099】
上記S1004で、カレントのファイル情報に対応するファイルがプラグインでないと判断した場合(No)、選択部611は、S1003に処理を戻し、次のファイル情報に対して処理を行うように制御する。
【0100】
一方、前記S1004で、カレントのファイル情報に対応するファイルがプラグインであると判定した場合(Yes)、選択部611は、S1005に処理を進める。
S1005では、選択部611は、プラグイン名を保持するワークデータString配列のN番目の要素(String[n])に、カレントのファイル情報内のファイルプロパティの「製品名」を設定する。なお、配列の添え字Nは、前記プラグイン数を保持するワークデータNの値となる。
【0101】
次に、S1006において、選択部611は、前記プラグイン数を保持するワークデータNの値に「1」を加算し、S1003に処理を戻す。
そして、上記S1003において、選択部611は、前記S1002で取得したファイル情報の全件に対して、上記S1004〜S1006の処理を終了したと判断した場合(Yes)、初期化処理を終了し、図9のフローチャートに制御を戻す。
【0102】
次に、図9のS910のアップロード条件設定処理を、図11及び図13を用いて説明する。なお、図9のS909で、第1の条件設定部613が起動された場合は図11のフローチャートを用いて説明する。一方、第2の条件設定部617が起動された場合は図13のフローチャートを用いて説明する。
【0103】
図11は、図9のS910に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図7のプラグイン切り換え画面にて「第1アップロード機能」が起動された場合に第1の条件設定部613が実行する第1のアップロード条件設定処理に対応する。
【0104】
なお、この処理は、図4に示した第1のアップロード条件設定画面が表示された状態で開始される。図4に示した第1のアップロード条件設定画面は、1度のインストール操作で1つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【0105】
また、図9のS904で作成されたデバイスリストは、切替部612を介して第1の条件設定部613渡されているものとする。
まず、S1101において、第1の条件設定部613は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S1101でNo)、第1の条件設定部613は、S1102に処理を進める。
S1102では、第1の条件設定部613は、設定が完了したか判断する。本実施例では、図4に示した第1のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【0106】
上記S1102において、設定完了でないと判断した場合(No)、第1の条件設定部613は、S1104に処理を進める。
S1104では、第1の条件設定部613は、図4に示した設定画面の「OK」ボタン412を無効化し、S1101へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【0107】
一方、上記S1102において、設定完了と判断した場合(Yes)、第1の条件設定部613は、S1103に処理を進める。
S1103では、第1の条件設定部613は、図4に図示した設定画面の「OK」ボタン412を有効化し、S1101へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【0108】
また、上記S1101において、イベントが発生したと判断した場合(Yes)、第1の条件設定部613は、S1105に処理を進める。
S1105では、第1の条件設定部613は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【0109】
上記S1105において、イベントがファイルパス設定と判定した場合(Yes)、第1の条件設定部613は、S1106に処理を進める。
S1106では、第1の条件設定部613は、ドライバ取得部616を呼び出す。この際、第1の条件設定部613は、ドライバ取得部616に、切替部612から渡されたデバイスリスト(図9のS904で作成されたデバイスリスト)をドライバ取得部616に渡す。ドライバ取得部616は、後述するプリンタドライバ取得処理(図12)を行う。このプリンタドライバ取得処理が完了すると、第1の条件設定部613に制御が戻され、第1の条件設定部613は、S1101に処理を戻す。
【0110】
一方、上記S1105において、イベントがファイルパス設定でないと判定した場合(No)、第1の条件設定部613は、S1107に処理を進める。
S1107では、第1の条件設定部613は、イベントが「OK」ボタン412の押下か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「OK」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
【0111】
上記S1107において、イベントが「OK」ボタン412の押下でないと判断した場合(No)、第1の条件設定部613は、S1101へ処理を戻す。
一方、上記S1107において、イベントが「OK」ボタン412の押下であると判断した場合(Yes)、第1の条件設定部613は、第1の条件設定画面(図4)上で設定されたアップロード条件を選択部611に渡し、本フローチャートの設定処理を終了する。これにより、選択部611に制御が戻る。
【0112】
図13は、図9のS910に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図7のプラグイン切り換え画面にて「第2アップロード機能」が起動された場合に第2の条件設定部617が実行する第2のアップロード条件設定処理に対応する。
【0113】
なお、この処理は、図8に示す第2のアップロード条件設定画面が表示された状態で開始される。図8に示す第2のアップロード条件設定画面は、1度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【0114】
また、図9のS904で作成されたデバイスリストは、切替部612を介して第2の条件設定部617渡されているものとする。
まず、S1301において、第2の条件設定部617は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S1301でNo)、第2の条件設定部617は、S1302に処理を進める。
S1302では、第2の条件設定部617は、設定が完了したか判断する。本実施例では、図8に示す第2のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【0115】
ここで、図8に示す第2のアップロード条件設定画面について説明する。
図8は、本実施例の管理装置101上で実行される管理アプリケーションにより提供される第2のアップロード条件設定画面の一例を示す図であり、図4と同一のものには同一の符号を付してある。なお、この画面は、管理装置101の表示部207に表示される。
【0116】
図8の第2のアップロード条件設定画面において、ユーザにより「ファイルの読み込み」ボタン801が押下されると、第2の条件設定部617は、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによって拡張子".CSV"のファイルパスが指定されると、第2の条件設定部617は、該指定された拡張子".CSV"のファイル(外部ファイル)からプリンタリストを取得し、インストールするプリンタのリスト(プリンタリスト)802に表示する。第2の条件設定部617は、プリンタリスト802において、インストールするプリンタの情報(プリンタ名、ポート、コメント、設置場所等)をリストで表示する。なお、プリンタリスト802に一覧表示されたプリンタの情報には、PD209又はKBD206でON/OFFチェック可能なチェックボックスが設けられている。このチェックボックスにチェックされたプリンタ(1又は複数)が論理プリンタとしてクライアント102〜104にインストールされることとなる。
【0117】
以下、図13の説明に戻る。
上記S1302において、設定完了でないと判断した場合(No)、第2の条件設定部617は、S1304に処理を進める。
S1304では、第2の条件設定部617は、図8に示した設定画面の「OK」ボタンを無効化し、S1301へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【0118】
一方、上記S1302において、設定完了と判断した場合(Yes)、第2の条件設定部617は、S1303に処理を進める。
S1303では、第2の条件設定部617は、図8に示す設定画面の「OK」ボタン412を有効化し、S1301へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【0119】
また、上記S1301において、イベントが発生したと判断した場合(Yes)、第2の条件設定部617は、S1305に処理を進める。
S1305では、第2の条件設定部617は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図8に示す設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【0120】
上記S1305において、イベントがファイルパス設定と判定した場合(Yes)、第2の条件設定部617は、S1306に処理を進める。
S1306では、第2の条件設定部617は、ドライバ取得部616を呼び出す。この際、第2の条件設定部617は、ドライバ取得部616に、切替部612から渡されたデバイスリスト(図9のS904で作成されたデバイスリスト)をドライバ取得部616に渡す。ドライバ取得部616は、後述するプリンタドライバ取得処理(図12)を行い、プリンタドライバのインストーラを取得する。このプリンタドライバ取得処理が完了すると、第2の条件設定部617に制御が戻され、第2の条件設定部617は、S1307に処理を進める。
【0121】
S1307では、第2の条件設定部617は、プリンタリストを表示中か否かを判断する。例えば、図8に図示した設定画面の「インストールするプリンタのリスト」802のリストボックスを調べ、リストが1以上存在するときは、プリンタリストを表示中と判断する。
【0122】
上記S1307において、プリンタリストを表示中と判断した場合(Yes)、第2の条件設定部617は、S1311のプリンタリスト更新処理を行い、S1301に処理を戻す。なお、S1311のプリンタリスト更新処理については、後述する。
【0123】
一方、上記S1307において、プリンタリストを表示中でないと判断した場合(No)、第2の条件設定部617は、S1301に処理を戻す。
また、上記S1305において、イベントがファイルパス設定でないと判定した場合(No)、第2の条件設定部617は、S1308に処理を進める。
S1308では、第2の条件設定部617は、ファイルの読み込みが発生したか否かを判断する。本実施例では、イベントに図8に図示した設定画面の「ファイルの読み込み」ボタン801を示すIDと、左マウスボタン操作が含まれるときは、「ファイルの読み込み」と判断する。
【0124】
上記S1308において、ファイルの読み込みが発生したと判定した場合(Yes)、第2の条件設定部617は、S1309に処理を進める。
S1309では、第2の条件設定部617は、プリンタリストを表示する。詳細には、第2の条件設定部617は、ユーザによって図示しないファイル選択ダイアログから指定された拡張子".CSV"のファイルパスを取得し、同パス以下からプリンタリストを記載した拡張子".CSV"のファイルを取得する。さらに、第2の条件設定部617は、上記取得した拡張子".CSV"のファイルを開き、所定のフォーマットに従い、プリンタ名、ポート、コメント、設置場所等の論理プリンタ作成に用いる情報や、参考情報を取得する。前記取得した情報を図8に示すプリンタリスト802に、1行1レコードで表示する。さらに、論理プリンタ作成に必須情報(例えばプリンタ名)がない場合は、行全体の文字をグレー表示し、行先頭のチェックボックスをOFFにする。また、上記S1306で取得されたプリンタドライバに対応しないプリンタのレコードが表示された行全体の文字もグレー表示し、行先頭のチェックボックスをOFFにする。また、必須情報が全部そろっていて、且つ、上記S1306で取得されたインストーラに対応しないプリンタのレコードが表示された行の文字を黒表示し、行先頭のチェックボックスをONにする。そして、S1301に処理を戻す。
【0125】
なお、上記拡張子".CSV"のファイルは、予め管理者により作成され、管理装置101のHD205内に格納されているものとする。この拡張子".CSV"のファイルには、例えば、"PrinterName01,IP_192.27.22.11,xxx・・・xxx,21居室"のようなカンマで区切られた情報、プリンタ名,ポート,コメント,設置場所等の論理プリンタ作成に用いる情報が1又は複数レコード分記載されている。
【0126】
なお、上記S1311のプリンタリスト更新処理では、第2の条件設定部617は、上記S1306で取得されたプリンタドライバの情報に基づいて、上記S1306で取得されたインストーラに対応しないプリンタリスト802の行のグレー表示/黒表示、チェックボックスのON/OFFを更新する。
【0127】
また、上記S1308において、ファイルの読み込みが発生しなかったと判定した場合(No)、第2の条件設定部617は、S1310に処理を進める。
S1310では、第2の条件設定部617は、イベントが「OK」ボタン412の押下か否かを判断する。本実施例では、イベントに図8に示す設定画面の「OK」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
【0128】
上記S1310において、イベントが「OK」ボタン412の押下でないと判断した場合(No)、第2の条件設定部617は、S1301へ処理を戻す。
一方、上記S1310において、イベントが「OK」ボタン412の押下であると判断した場合(Yes)、第2の条件設定部617は、第2の条件設定画面(図8)上で設定されたアップロード条件を選択部611に渡し、本フローチャートの設定処理を終了する。これにより、選択部611に制御が戻る。
【0129】
次に、図11のS1106又は図13のS1306のプリンタドライバ取得処理を、図12を用いて説明する。
図12は、図11のS1106又は図13のS1306に示したドライバ取得部616が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
なお、図11のS1106と図13のS1306とでは、管理装置101の表示部207に表示されている設定画面が異なる。図11のS1106では第1のアップロード条件の設定画面(図4)が表示され、図13のS1306では第2のアップロード条件の設定画面(図8)が表示されている。
【0130】
また、図9のS904で作成されたデバイスリストは、第1の条件設定部613又は第2の条件設定部617から渡されているものとする。
S1201において、ドライバ取得部616は、ドライバ情報ファイルを読み込む。詳細には、ドライバ取得部616は、ユーザによって図示しないファイル選択ダイアログから指定された"setup.exe"のパス情報を取得し、同パス以下からプリンタドライバのドライバ情報ファイル(setup.inf)を検索する。ドライバ情報ファイルが見つかったら、ドライバ取得部616は、所定のフォーマットに従いドライバ情報ファイル内を検索し、ドライバ種類、及びバージョン情報を読み出し、RAM202等の記憶装置に所定のワーク領域に保存する。なお、ドライバ取得部616は、上記パスからプリンタドライバのインストーラプログラム(setup.exe)を取得し、RAM202内に保持しておく。
【0131】
次に、S1202において、ドライバ取得部616は、上記S1201で取得したドライバの種類、及びバージョン情報を、アップロード条件の設定画面(図4又は図8)の「ドライバ種類:」テキストエリア402、及び「バージョン情報:」テキストエリア403にそれぞれ書き込む。
【0132】
次に、S1203において、ドライバ取得部616は、ドライバモデル名を設定する。詳細には、ドライバ取得部616は、上記S1201で読み込んだドライバ情報ファイル内を検索し、デバイスに相応しいドライバモデル名を取得する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、ドライバ情報ファイル(INFファイル)のモデルセクションに、ドライバモデル名とハードウェアIDを1つのエントリーとして記載する方法が開示されており、この情報を用いて、デバイスに相応しいドライバモデル名を取得する。本実施例では、この方法に従い、上記S1201で見つけたドライバ情報ファイル内から、デバイス(図9のS904で生成されたデバイスリストの先頭のデバイス)の持つハードウェアIDと同一の記載を全検索する。そして、見つけたドライバモデル名を、表示部207に表示しているアップロード条件設定画面(図4又は図8)の「ドライバモデル名」コンボボックス404におけるリストのエントリーに登録する。アップロード条件設定画面(図4又は図8)上ではリストの先頭候補となるドライバモデル名が選択状態に設定される。なお、ドライバモデル名が見つからなかった場合は、ドライバ情報ファイルに記載されている全てのドライバモデル名を「ドライバモデル名」コンボボックス404におけるリストのエントリーに登録する。この場合、初期状態ではどのドライバモデルも選択されていない状態でアップロード条件設定画面に表示される。なお、本ステップで用いるドライバモデル名は、図3の管理アプリケーションが表示しているデバイスリスト301から選択された先頭のデバイス用のドライバモデル名(即ち、図9のS904で生成されたデバイスリストの先頭のデバイスのドライバモデル名)とする。
【0133】
次に、S1204において、ドライバ取得部616は、上記S1203で設定された「ドライバモデル名」コンボボックス404の情報を表示名テキストボックスに設定し、本フローチャート処理を終了する。これにより、ドライバ取得部616を呼び出したプラグイン(第1の条件設定部613又は第2の条件設定部617)に制御が戻る。
【0134】
次に、図14を用いて、図9のS911のアップロード処理について説明する。
図14は、図9のS911に示すアップロード部615が実行するアップロード処理の一例を示すフローチャートである。なお、図9のS904で作成したデバイスリスト、切替部612で選択されたプラグイン名、論理プリンタ登録に必要な情報、及びインストーラプログラム等の情報は、選択部611から適宜渡されているものとする。
【0135】
また、アップロード部615は、選択部611から通知されたプラグイン名が「第1アップロード機能」である場合には図14(a)に示す第1のアップロード処理を実行し、一方、前記プラグイン名が「第2アップロード機能」である場合には図14(b)に示す第2のアップロード処理を実行するように制御する。
【0136】
まず、図14(a)に示す第1のアップロード処理から説明する。
まず、S1401において、アップロード部615は、作成部614を呼び出し、論理プリンタ登録に必要な情報、及びインストーラプログラムを作成部614に渡す。作成部614は、後述する図15に示すセットアッププログラム作成処理を行う。
【0137】
次に、作成部614によるセットアッププログラムの作成処理が完了すると、アップロード部615は、S1402に処理を進める。
S1402では、アップロード部615は、モデル名が一致しているか判断する。本実施例では、アップロード部615は、RAM202等のワーク領域に保持されたデバイスリスト(図9のS904で作成)から1レコードを取り出す。次に、取り出したレコード中のデバイス(カレントのデバイス)のモデル名と作成部614が作成したセットアッププログラムのドライバのモデル名とを比較する。そして、比較の結果が一致しているときは、モデル名が一致していると判断する。例えば、デバイスのモデル名が"C_iR−ADV C5051"のとき、ドライバのモデル名"C_iR−ADV C5051/5041"のようにデバイスモデル名を含む場合は、ドライバモデル名が一致していると判断する。
【0138】
上記S1402において、モデル名が一致していると判断した場合(Yes)、アップロード部615は、S1403に処理を進める。
S1403では、アップロード部615は、セットアッププログラムを送信する。詳細には、アップロード部615は、作成部614が作成したセットアッププログラムを、アップロード条件の設定画面(図4又は図8)の設定値に従い、カレントのデバイスに対応する印刷装置105の記憶部601に配置する。
【0139】
次に、S1404において、アップロード部615は、上記S1403でセットアッププログラムを送信した印刷装置105(カレントのデバイス)に、アップロード通知を行う。詳細には、アップロード部615は、プリンタ105に対して、アップロード番号、パス、ファイル名、及びプリンタが保持するダウンロードページの作成に必要な情報を通知する。S1404の処理を終了すると、アップロード部615は、S1405に処理を進める。
【0140】
また、上記S1402において、モデル名が一致していないと判断した場合(No)、アップロード部615は、そのままS1405に処理を進める。
S1405では、アップロード部615は、全デバイスへの処理が終了したか否かを判断する。詳細には、アップロード部615は、RAM202等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。
【0141】
上記S1405において、まだ全デバイスへの処理が終了していないと判断した場合(No)、アップロード部615は、S1402へ処理を戻し、他のデバイス(デバイスリストの次のレコード)に対して同様の処理を行う。
【0142】
一方、上記S1405において、全デバイスへの処理が終了したと判断した場合、アップロード部615は、アップロード処理を終了する。これにより、選択部611に制御が戻される。
【0143】
次に、図14(b)に示す第2のアップロード処理について説明する。なお、図14(a)と図14(b)とで同一のステップには同一のステップ番号を付してあり、ここでは異なる部分のみを説明する。
【0144】
図14(b)に示す第2のアップロード処理では、作成部614によるセットアッププログラムの作成処理(S1401)が完了すると、アップロード部615は、RAM202等のワーク領域に保持されたデバイスリスト(図9のS904で作成)内の全レコードに対して、S1403,S1404の処理を実行するように制御する。以下、図14(a)と同様であるので説明は省略する。
【0145】
次に、図14のS1401に示したセットアッププログラム作成処理を、図15、図16〜図18を用いて説明する。
図15は、図14のS1401に示す作成部614が実行するセットアッププログラム作成処理の一例を示すフローチャートである。なお、論理プリンタ登録に必要な情報、及びインストーラプログラム等は、アップロード部615から適宜渡されているものとする。
【0146】
S1501において、作成部614は、一時フォルダを作成する。例えば、OSが提供している機能を利用し、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
次に、S1502において、作成部614は、上記S1501で作成した一時フォルダに、図16(a)に示す初期セットアッププログラムを作成する。
【0147】
図16は、本実施例のセットアッププログラムの一例を示す図である。
図16(a)に示すように、初期セットアッププログラムは、ヘッダ部1601と、プログラム部1602から構成され、予めHD205内に記憶されている。
ヘッダ部1601には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として以下のようなものが含まれている。
【0148】
・Offset_to_entry:結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Size_of_all_entry:結合ファイルの情報を格納している領域の合計サイズ。
・size_of_file_entry:結合ファイルの情報を格納している領域のサイズ。
・num_of_entry:結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは全て「0」にセットされている。
【0149】
プログラム部1602には、ヘッダ部1601を参照し、結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
【0150】
以下、図15のフローチャートの説明に戻る。
上記S1502の初期セットアッププログラム作成処理を完了すると、作成部614は、S1503において、上記S1501で作成した一時フォルダ内に、論理プリンタ登録に必要な設定情報(第1の条件設定部613又は第2の条件設定部617で設定済み)を用いて、図17((a)又は(b))、図18(a)に示す情報ファイルを作成する。
【0151】
図17は、セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図であり、ファイル名は"setup.ini"とする。
【0152】
なお、図17(a)は、切替部612で選択されたプラグイン名が「第1アップロード機能」である場合に作成部614が作成する"setup.ini"ファイルの一例を示すものである。
【0153】
また、図17(b)は、切替部612で選択されたプラグイン名が「第2アップロード機能」である場合に作成部614が作成する"setup.ini"ファイルの一例を示すものである。
【0154】
図17(a)、図17(b)に示すように、"setup.ini"ファイルは、[DriverUploadInfo]セクションを有し、以下の設定が可能である。
・DriverModelName:ドライバモデル名
・PrinterName:PCにインストールする論理プリンタ名
・Comments:PCにインストールした論理プリンタに設定するコメント
・PortType:ポートの種類(1:IPアドレス、2:ホスト名、3:ポート名)
・PortName:ポート名
【0155】
なお、DriverModelNameは、図4又は図8のドライバモデル名404に基づいて設定される。また、PrinterNameは、図4の表示名405又は図8のプリンタリスト802内のプリンタ名に基づいて設定される。また、Commentsは、図4のコメント407又は図8のプリンタリスト802内のコメントに基づいて設定される。また、PortTypeとPortNameは、図4のポート408又は図8のプリンタリスト802内のポートに基づいて設定される。
【0156】
図17(a)は「第1アップロード機能」の場合であるため、1つの論理プリンタが記載されている。
「第1アップロード機能」の場合、アップロードされるセットアッププログラムは、アップロード先の印刷装置に対応する論理プリンタを作成するものとなる。そのため、ポート名(PortName)が空白の"setup.ini"が作成される。ポート名(PortName)は、セットアッププログラムがアップロードされた各印刷装置において、自らのIPアドレスやホスト名等が書きこまれることになる。
【0157】
図17(b)は「第2アップロード機能」の場合であり、この例では、2つの論理プリンタが記載されている。図8のインストールするプリンタのリスト802において、チェックボックスにチェックされたプリンタに対応する論理プリンタが記載されることとなる。
【0158】
第1の論理プリンタは、ドライバモデルが"C_iR−ADV C5045/5051"、論理プリンタ名が"C_iR−ADV C5051"、コメントが"3F share printer"、ポートの種類がIPアドレスを意味する"1"、ポート名が"IP_172.10.10.10"である。
【0159】
第2の論理プリンタは、ドライバモデルが"C_iR−ADV C5045/5051"、論理プリンタ名が"C_iR−ADV C5045"、コメントが"2F share printer"、ポートの種類がIPアドレスを意味する"1"、ポート名が"IP_172.10.10.11"である。
【0160】
図18は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図であり、ファイル名は"silent.ini"である。
【0161】
図18は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルであり、ファイル名は"silent.ini"とする。
図18(a),図18(b)に示すように、"silent.ini"ファイルは、[InstallComplete]、[SelectJob]、及び[PrinterInfo]のセクションを有し、以下の設定が可能である。
【0162】
・Reboot:インストール終了後にPCのリブートを制御するフラグ(0:リブートなし、1:リブート)
・SelectJob:プリンタドライバのインストールモード(0:新規インストール、1:上書きインストール、2:インストールしない)
・PRT1:論理プリンタ名/ドライバモデル/接続ボートを指定する。
【0163】
図18(a)に示す例では、リブートなし、上書きインストールを指定している。論理プリンタ名、ドライバモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定される。
【0164】
以下、図15のフローチャートの説明に戻る。
次に、S1504において、作成部614は、図16(b)に示すように、上記S1502で作成した初期セットアッププログラム(1601及び1602)に、上記S1503で作成した情報ファイル("setup.ini"1603、"silent.ini"1605)と、上記図11のS1106又は図13のS1306で取得したプリンタドライバのインストーラプログラム("setup.exe"1604)を結合する。
【0165】
さらに、S1505において、作成部614は、上記S1504で結合処理したセットアッププログラムのヘッダ部1601を書き換え、図16(b)に示すようなセットアッププログラムを作成する。
【0166】
具体的には、作成部614は、図16(b)に示すように、ヘッダ部1601の"Offset_to_entry"には、各結合ファイルの情報を格納している領域1607のセットアッププログラム先頭からのオフセット"4096"を設定する。
【0167】
さらに、作成部614は、ヘッダ部1601の"Size_of_all_entry"には、各結合ファイルの情報を格納している各領域1606a〜cの合計サイズ"1536"を設定する。
【0168】
さらに、作成部614は、ヘッダ部1601の"size_of_file_entry"には、各結合ファイルの情報を格納している各領域1606a〜cのサイズ"512"を設定する。
【0169】
さらに、作成部614は、ヘッダ部1601の"num_of_entry"には、結合ファイルの情報を格納している領域1606a〜cの総数"3"を設定する。
さらに、作成部614は、結合ファイルの情報を格納する3つ領域1606a〜cを"Offset_to_entry"で指定される領域に確保する。そして、作成部614は、上記確保した3つの領域1606a〜cに、結合したファイルの情報を格納する。
【0170】
詳細には、作成部614は、先頭の領域から、上記S1503で作成した"setup.ini"ファイル1603、ドライバ取得部616が取得しアップロード部615から渡されたインストーラ"setup.exe"1604、上記S1503で作成した"silent.ini"ファイル1605の情報を、それぞれの領域1606a〜cにセットする。以下、詳細に示す。
【0171】
・OFFSET:結合されたファイルが位置するセットアッププログラム先頭からのオフセット
・Size:結合されたファイルのサイズ
・Type:結合されたファイルのタイプ(1:実行ファイル、2:テンポラリファイル、3:情報ファイル、4:その他)
・FILENAME:結合されたファイル名
【0172】
作成部614は、セットアッププログラムのヘッダー書き換え(S1505)を完了すると、セットアッププログラムの作成処理を終了する。これにより、アップロード部615に制御が戻る。
【0173】
次に、印刷装置105側の処理について説明する。
以下、図19を用いて、印刷装置105の監視部603が行う処理を説明する。監視部603は、プリンタ105の稼動と共に起動され、プリンタ105が稼動終了するまで動作するものとする。図19〜図21に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
【0174】
図19は、印刷装置105の監視部603が行う処理の一例を示すフローチャートである。
まず、S1901において、監視部603は、管理装置101からのセットアッププログラムのアップロード通知があるか否かを判断する。詳細には、監視部603は、所定の手続きに基づき双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。
【0175】
上記S1901において、アップロード通知があったと判断した場合、監視部603は、S1902において、監視部603はプログラム更新部604を呼び出す。同時に、監視部603は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をプログラム更新部604に渡す。これにより、プログラム更新部604は、後述の図20に示すセットアッププログラムの更新処理を行う。
【0176】
そして、セットアッププログラムの更新処理(S1902)が終了すると、監視部603は、S1903に処理を進める。
S1903では、監視部603は、アップロード結果通知を行う。詳細には、監視部603は、接続部226を介して、所定のフォーマットで作成したアップロード結果通知を、上記S1901で検知したアップロード通知の送信元(管理装置101)に送信する。このアップロード結果通知処理を完了すると、監視部603は、S1901に処理を戻す。
【0177】
一方、上記S1901において、アップロード通知がなかったと判断した場合、監視部603は、S1904に処理を進める。
S1904では、監視部603は、構成情報に変化があったか否かを判断する。詳細には、監視部603は、PRAM222等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があった場合には構成情報に変更があったと判断する。
【0178】
上記S1904において、構成情報に変更があったと判断した場合(Yes)、監視部603は、S1905に処理を進める。なお、この際、監視部603は、次回判定時の比較対象のために、PRAM222等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能な設置場所、機器名、IPアドレス等を例とする。
【0179】
S1905では、監視部603は、セットアッププログラムがアップロードされているかを判断する。詳細には、監視部603は、セットアッププログラムの管理装置からのアップロードがあった場合にその旨が管理情報として書き込まれるHD228等の記憶装置に予め用意された領域から、その管理情報を読み出す。そして、読み出した結果、セットアッププログラムの情報が1つ以上存在する場合、監視部603は、セットアッププログラムが管理装置からアップロードされていると判断する。
【0180】
上記S1905において、アップロードされたセットアッププログラムが存在しない(アップロード済みでない)と判断した場合(No)、監視部603は、S1901に処理を戻す。
【0181】
一方、上記S1905において、アップロードされたセットアッププログラムが存在する(アップロード済み)と判断した場合(Yes)、監視部603は、S1906に処理を進める。
【0182】
S1906では、監視部603は、プログラム更新部604を呼び出す。同時に、監視部603は、前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を1件読み出す。そして、読み出したアップロード番号、パス、ファイル名、およびダウンロードページの作成等に必要な情報に加え、更新指示とS1904で取得した構成情報をプログラム更新部604に渡す。これにより、プログラム更新部604は、後述の図20に示すセットアッププログラムの更新処理を行う。
【0183】
そして、セットアッププログラムの更新処理(S1906)が終了すると、監視部603は、S1907に処理を進める。
S1907では、監視部603は、管理装置101からアップロードされた全てのセットアッププログラムの更新処理が終了したか否かを判断する。詳細には、監視部603は、前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しない場合は、全てのセットアッププログラムの更新処理が終了したと判断する。
【0184】
上記S1907において、まだいずれかのセットアッププログラムの更新処理が終了していないと判定した場合(No)、監視部603は、S1906に処理を戻し、次のセットアッププログラムの更新処理を行う。
【0185】
一方、上記S1907において、全てのセットアッププログラムの更新処理が終了したと判定した場合(Yes)、監視部603は、S1901に処理を戻す。
また、上記S1904において、構成情報に変更がないと判断した場合(No)、監視部603は、S1908に処理を進める。
【0186】
S1908では、監視部603は、削除通知があったか否かを判断する。詳細には、監視部603は、双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットの削除通知を見つけたときは、管理装置101からの削除通知があったと判断する。また、所定の手続きに基づき、Webサーバ機能部605からの通知を検索し、削除通知があったときは、Webサーバ機能部605から削除通知があったと判断する。
【0187】
上記S1908において、削除通知がなかったと判断した場合(No)、監視部603は、S1901に処理を戻す。
一方、上記S1908において、削除通知があったと判断した場合(Yes)、監視部603は、S1909に処理を進める。
【0188】
S1909では、監視部603は、プログラム更新部604を呼び出す。同時に、監視部603は、削除通知により得たアップロード番号および削除指示をプログラム更新部604に渡す。これにより、プログラム更新部604は、セットアッププログラムの削除処理を行う。
【0189】
そして、セットアッププログラムの削除処理(S1909)が終了すると、監視部603は、S1910に処理を進める。
S1910では、監視部603は、削除結果通知を行う。監視部603は、接続部226を介し、所定のフォーマットで作成した削除結果通知を、上記S1908で検知された削除通知の送信元(管理装置101)に送信し、S1901に処理を戻す。
【0190】
なお、IPアドレス等の構成情報の変化があった場合、本印刷装置から、他の印刷装置にその旨を通知するようにしてもよい。そして、この通知を受けた印刷装置は、保持している上記通知の送信元の印刷装置に対応するセットアッププログラムを更新するようにしてもよい。
【0191】
次に、図20を用いて、印刷装置105のプログラム更新部604によるセットアッププログラムの更新処理を説明する。
図20は、印刷装置105のプログラム更新部604が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
なお、監視部603からの指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、PRAM222等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
【0192】
まず、S2001において、プログラム更新部604は、HD228等の記憶装置に配置された該当のセットアッププログラムを、PRAM222等の記憶装置に確保したワークエリアにコピーする。
【0193】
次に、S2002において、プログラム更新部604は、上記S2001でコピーしたセットアッププログラムに、監視部603から渡された構成情報を反映させる(セットアッププログラム更新)。例えば、セットアッププログラムに含まれるsetup.ini内に記載されるIPアドレスを上記構成情報に基づいて更新する。これにより、IPアドレス等の構成情報が変更された場合でも変更後の構成情報に対応するようにセットアッププログラムが更新されることとなる。また、上述したようにセットアッププログラムの作成時に「第1アップロード機能」が選択されてポート名(PortName)が空白のセットアッププログラムがアップロードされている場合にも、該セットアッププログラム内のポート名(PortName)を、その印刷装置のIPアドレス等で更新することができる。
【0194】
次に、S2003において、プログラム更新部604は、上記S2002で更新したセットアッププログラムを、上記S2001でコピーした元のファイルに上書き保存する。
次に、S2004において、プログラム更新部604は、監視部603から渡された構成情報を反映したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部605が公開するWebページ)に書き込む。これにより、Webサーバ機能部605がクライアント102のWebブラウザ620に送信するWebページ(図5)の内容が更新される。
【0195】
その後、プログラム更新部604は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部604は、更新完了など、本処理の結果を外部通知などするために監視部603に渡す。
【0196】
ここで、印刷装置105のプログラム更新部604が行うセットアッププログラムの削除処理(不図示)について説明する。
まず、プログラム更新部604は、HD228等の記憶装置に配置された該当のセットアッププログラムを、削除する。
【0197】
次に、プログラム更新部604は、該当のセットアッププログラムに関する情報を削除したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部605が公開するWebページ)に書き込む。その後、プログラム更新部604は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部604は、削除完了など、本処理の結果を外部通知などするために監視部603に渡す。
【0198】
以下、図21を用いて、プリンタ105のWebサーバ機能部605による処理を説明する。
図21は、プリンタ105のWebサーバ機能部605による処理の一例を示すフローチャートである。
まず、S2101において、Webサーバ機能部605は、ユーザによってリロードを指示されたか否かを判断する。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、Webブラウザなどからのリロードのリクエストがあるか判断する。リロードのリクエストが見つかった場合、リロードを指示されたと判断する。
【0199】
上記S2101において、リロード指示されていないと判断した場合(No)、Webサーバ機能部は、S2103に処理を進める。
S2103では、Webサーバ機能部605は、ユーザによってダウンロードを指示されたか否かを判断する。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
【0200】
上記S2103において、ダウンロード指示がなかったと判断した場合(No)、Webサーバ機能部605は、S2101に処理を戻す。
一方、上記S2103において、ダウンロード指示があったと判断した場合(Yes)、Webサーバ機能部605は、S2104に処理を進める。
【0201】
S2104では、Webサーバ機能部605は、ダウンロードリクエストに指定されたセットアッププログラムをHD228等の記憶装置から取り出す。
次に、S2105において、Webサーバ機能部は、上記S2103で取り出したセットアッププログラムをダウンロード指示したクライアント102のWebブラウザ620に対して送信する。
【0202】
また、上記S2101において、リロード指示されたと判断した場合(Yes)、Webサーバ機能部は、S2102において、Webページを再構築し、リクエスト元のWebブラウザ620に、再構築したページを送出(Webページ更新)し、S2101に処理を戻す。
【0203】
なお、図示しないが、Webサーバ機能部605は、ユーザによって削除を指示されたか否かの判断も行う。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。そして、削除指示があったと判断した場合、Webサーバ機能部605は、監視部603に削除通知を行う。
【0204】
以下、図22を用いて、セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理について説明する。
図22は、セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。セットアッププログラム602は、ユーザによってクライアント102へダウンロードされ、実行指示されることでクライアント102のCPU200により実行される。セットアッププログラム602が起動されると、クライアント102のRAM202等の記憶装置に確保されたプログラム領域にロードされ、クライアント102のCPU200によって実行され、セットアップモジュールが実現される。
【0205】
まず、S2201において、セットアップモジュールは、一時フォルダを作成する。例えば、OSが提供している機能を利用し、クライアント102のRAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
【0206】
次に、S2202において、セットアップモジュールは、上記S2201でフォルダ作成が成功したか否かを判断する。
上記S2202において、フォルダ作成が失敗したと判断した場合(No)、セットアップモジュールは、S2209に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
【0207】
一方、上記S2202において、フォルダ作成が成功したと判断した場合(Yes)、セットアップモジュールは、S2203に処理を進める。
S2203では、セットアップモジュールは、結合されているファイルを分離する。詳細には、セットアップモジュールは、図16(b)に示した"silent.ini"ファイル1605(例えば図18(a))、"setup.exe"ファイル1604、"setup.ini"ファイル1603(例えば図17(b))を、上記S2201で作成した一時フォルダに作成する。
【0208】
次に、S2204において、セットアップモジュールは、上記S2203のファイル分離処理が成功したか否かを判断する。
上記2204において、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合(No)、セットアップモジュールは、S2209に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
【0209】
一方、上記2204において、ファイル分離処理に成功したと判断した場合(Yes)、セットアップモジュールは、S2205に処理を進める。
S2205では、セットアップモジュールは、分離した"silent.ini"ファイルを適宜更新する。例えば、分離した"silent.ini"ファイルが図18(a)に示すものであったとする。そして、図示しない処理でインストール後にクライアント102の再起動が必要になることが分かった場合、セットアップモジュールは、"silent.ini"ファイル内の[InstallComplete]セクションを"Reboot=0"から"Reboot=1"に書き換える。書き換えられた"silent.ini"の例を図18(b)に示す。図18(b)の例は、図17(b)の設定情報を反映するとともに、"Reboot=1"に書き換えた例である。
【0210】
次に、S2206において、セットアップモジュールは、インストーラを起動する。詳細には、セットアップモジュールは、上記S2203で分離したインストーラ(setup.exe)に、例えば以下のコマンドによって"silent.ini"ファイルを渡し、起動する。
【0211】
「setup.exe/s silent.ini/log silent.log」
上記コマンドは、情報ファイルとして"silent.ini"ファイルを指定し、結果格納ファイルとして"silent.log"ファイルを指定している。このコマンドにより、インストーラは、"silent.ini"ファイルの指示を読み、"silent.ini"に記載がない項目はデフォルト動作をし、その結果を"silent.log"に記載する。
【0212】
次に、S2207において、セットアップモジュールは、上記S2206で起動したインストーラの処理が完了したか否かを判断する。例えば、インストーラの戻り値が"0"のときは完了、"0"以外はエラーで終了したと判断する。
【0213】
上記S2207において、インストーラの処理が完了したと判断した場合(Yes)、セットアップモジュールは、S2210に処理を進める。なお、インストーラの処理が完了した場合、"silent.ini"ファイルの内容に基づく論理プリンタ、図18(b)の例では、"iR−ADV C5051"、"iR−ADV C5045"という名前の論理プリンタが生成されている。
【0214】
S2210では、セットアップモジュールは、インストーラにより生成された論理プリンタのプロパティを設定する。例えば、セットアップモジュールは、Microsoft社のWindows(登録商標)に用意されているWin32関数SetPrinter()を用いて設定する。この関数のPRINTTER_INFO_2構造体のメンバー"pComment"に上記S2203で分離した"setup.ini"ファイルに記載の"Comments"を指定することにより、プロパティ設定を行う。
【0215】
そして、上記S2210のプロパティ設定を終了すると、セットアップモジュールは、本フローチャートの処理を終了する。
一方、上記S2207において、インストーラの処理が完了しなかったと判断した場合(No)、セットアップモジュールは、S2208に処理を進める。
S2208では、セットアップモジュールは、インストーラが作成した"silent.log"からエラー内容を取り出し、S2209に処理を進める。
S2209では、セットアップモジュールは、上記S2210で取り出したエラー内容や、OSから取得できるエラー情報からから適宜エラーメッセージを作成し、クライアント102の表示部207にそのエラーメッセージを表示し、処理を終了する。
【0216】
以上説明したように、1度のインストール操作で複数の印刷装置の論理プリンタを情報処理装置へインストールするためのセットアップファイルを容易に印刷装置に登録することができる。そして、このセットアップファイルにより、ユーザは情報処理装置へプリンタドライバをインストールする際に、1度のインストール操作で複数の印刷装置の論理プリンタを適切にインストールすることが可能となり、インストール時のユーザの負荷を軽減することができる。
【0217】
また、上述のようなセットアップファイルを印刷装置に登録することができるので、別途ファイルサーバを用意する必要がない。また、セットアップファイルで複数の論理プリンタをインストールする場合でも、論理プリンタ数の増加に比べ、セットアップファイルのファイルサイズは増えない。このため、印刷装置の記憶資源を圧迫することなく、複数の論理プリンタをインストール可能なセットアップファイルを印刷装置に登録することができる。よって、ユーザ及び管理者の利便性が向上する。
【0218】
なお、本実施例では、印刷装置のプリンタドライバを情報処理装置にインストールするためのセットアップファイルを印刷装置に登録する構成について説明したが、上述のように、印刷装置は、スキャナ等の他の周辺装置であってもよい。そして、セットアッププログラム(セットアップファイル)は、印刷装置のプリンタドライバをインストールするものに限定されるものではなく、スキャン機能を備える周辺装置のデバイスドライバや、ファクシミリ機能を備える周辺装置のFAXドライバのように、周辺装置のデバイスドライバであればどのようなデバイスドライバをインストールするものであってもよい。
【0219】
以上、本発明によれば、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【0220】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【0221】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0222】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0223】
101 情報処理装置(管理装置)
102〜104 情報処理装置(クライアント)
105 印刷装置(プリンタ)
106 ネットワーク
【技術分野】
【0001】
本発明は、周辺装置のデバイスドライバのインストールに関するものである。
【背景技術】
【0002】
近年、企業のオフィス等にプリンタが普及し、誰でも簡単に印刷ができるようになった。情報処理装置としてのPC(パーソナルコンピュータ)からプリンタに印刷するには、プリンタを制御し印刷データを生成するプリンタドライバをPCにインストールする必要がある。
【0003】
一般的にプリンタドライバは、PCのオペレーティングシステム(OS)や印刷するプリンタ毎に用意され、プリンタと同梱されたCD−ROMやFD等の記憶媒体によって提供されている。
【0004】
また、管理者は最新のプリンタドライバを、公衆ネットワークを介してプリンタの製造元が開設したホームページからダウンロードにより入手することが一般的である。さらに、管理者が入手したプリンタドライバとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザに配置場所をアナウンスしてプリンタを利用させるといった運用が行われている。一般ユーザは、このアナウンスを元に、その配置場所から取得した情報に従い、PCにプリンタドライバをインストールする。
【0005】
オフィスに印刷装置を複数導入すると、ユーザ毎に使用する印刷装置が異なることが普通であり、プリンタドライバのインストール及びポートの設定等を間違いなく正確に行うことは、管理者・一般ユーザ共に大変な作業であった。
【0006】
また、従来から、プリンタドライバをインストールする方法として、プリンタ内にプリンタドライバをインストールするインストーラを格納しておき、ユーザがプリンタからインストーラを入手する技術が提案されている(特許文献1参照)。
【0007】
特許文献1で開示される技術では、ユーザはPCの種類を通知することで当該種類に応じたプリンタドライバのインストーラを取得することができる。さらに、特許文献1の技術では、取得したプリンタドライバのインストーラを用いることでPCへのプリンタドライバのインストール、及び該インストールしたプリンタドライバの設定を行うことが可能になる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許第3406962号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、バージョンアップしたプリンタドライバがプリンタベンダからリリースされた等の理由により、ユーザがプリンタドライバだけ更新をしたくても、特許文献1の技術では、プリンタに登録済のプリンタドライバのインストーラを更新することができない。
【0010】
また、当該のプリンタ以外の第2のプリンタを用いて印刷を行いたい場合でも、特許文献1の技術でインストールした第1のプリンタのプリンタドライバでは第2のプリンタを用いて印刷することができない。そのため、ユーザは第2のプリンタからもプリンタドライバのインストーラを取得し、プリンタドライバをインストール、及び設定することが必要であり、非常に煩雑であった。
【0011】
一方、管理者にとっても、プリンタ等の周辺装置の数が増えると、これらの周辺装置のそれぞれにデバイスドライバのセットアッププログラムを作成して配置する作業は非常に煩雑なものであった。
【0012】
このように、従来では、プリンタ等の周辺装置が多数設置されている場合に、複数の周辺装置のデバイスドライバ(プリンタドライバ等)をそれぞれユーザに少ない操作で且つ適切にインストールさせるための仕組みが構築されていなかった。
【0013】
本発明は、上記の問題点を解決するためになされたものであり、本発明の目的は、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置(プリンタ等)のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築する仕組みを提供することである。
【課題を解決するための手段】
【0014】
本発明は、周辺装置にデバイスドライバを登録するための管理装置であって、デバイスドライバを登録する周辺装置を指定する指定手段と、前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択手段と、前記選択手段により前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定手段と、前記選択手段により前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定手段と、前記第1設定手段又は第2設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、を有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【図面の簡単な説明】
【0016】
【図1】本発明を適用可能な印刷システムの構成の一例を示すブロック図である。
【図2】情報処理装置101と印刷装置105の構成の一例を示すブロック図である。
【図3】本実施例の管理装置101で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。
【図4】本実施例の管理装置101上で実行される管理アプリケーションにより提供される第1のアップロード条件設定画面の一例を示す図である。
【図5】本実施例の印刷装置105の備えるWebサーバに対して、ユーザがクライアント102からアクセスしたときにクライアント102の表示部207に表示されるドライバダウンロード画面の一例を示す図である。
【図6】本実施例における主要なモジュール構成の一例を示す図である。
【図7】本実施例のプラグイン選択画面の一例を示す図である。
【図8】本実施例の管理装置101上で実行される管理アプリケーションにより提供される第2のアップロード条件設定画面の一例を示す図である。
【図9】管理装置101の選択部611が行う処理の一例を示すフローチャートである。
【図10】図9のS901に示した初期化処理の一例を示すフローチャートである。
【図11】図9のS910に示したアップロード条件設定処理の一例を示すフローチャートである。
【図12】図11のS1106又は図13のS1306に示したドライバ取得部616が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
【図13】図9のS910に示したアップロード条件設定処理の一例を示すフローチャートである。
【図14】図9のS911に示すアップロード部615が実行するアップロード処理の一例を示すフローチャートである。
【図15】図14のS1401に示す作成部614が実行するセットアッププログラム作成処理の一例を示すフローチャートである。
【図16】本実施例のセットアッププログラムの一例を示す図である。
【図17】セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図である。
【図18】結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図である。
【図19】印刷装置105の監視部603が行う処理の一例を示すフローチャートである。
【図20】印刷装置105のプログラム更新部604が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
【図21】プリンタ105のWebサーバ機能部605による処理の一例を示すフローチャートである。
【図22】セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態について図面を用いて説明する。
なお、本発明では特に断りの無い限り、「プリンタドライバ」とは、アプリケーションからの印刷指示に応じて、OSから呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンタ」とは、OSのスプーラ上の印刷キューのことであり、ソフトウェアとしてのプリンタを意味する。「論理プリンタ名」は論理プリンタを識別する名称である。「ポート」とは、論理プリンタが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。1つのポートには印刷データの送信先(例えば、IPアドレス)が1つだけマッピングされているのが普通である。また、「ポート名」とはポートを識別する名称である。「インストーラ」とはプリンタドライバをインストールするアプリケーションであり、インストーラプログラムと該インストーラプログラムが参照するインストール情報(プリンタ情報、デバイス情報ともいう)を記載した情報ファイルからなる。また、インストーラはプリンタドライバのインストールと同時に論理プリンタの登録、ポートの作成も行うことができるものとする。「アップロード」とは、プリンタの記憶領域にPCやサーバからデータを登録することである。また、「ダウンロード」とはプリンタの記憶領域に保存したデータをPCまたはサーバに転送することである。
【実施例1】
【0018】
本発明に係る一実施例としてのシステムについて説明する。
図1は、本発明を適用可能な印刷システムの構成の一例を示すブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【0019】
図1において、101〜104は情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続されている。情報処理装置101〜104は、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク106に接続されている他の機器と双方向に通信可能な通信装置を備えている。
【0020】
なお、情報処理装置101は、管理装置としての情報処理装置であって、以下、他の情報処理装置と区別する場合には管理装置101と呼ぶ。管理装置101は、印刷装置(プリンタ)105に関する様々な情報を保持し、印刷装置の印刷ログ、動作ログ等を集計して保持する機能を備えている。
【0021】
また、情報処理装置102〜104は、パーソナルクライアントコンピュータとしての情報処理装置であって、以下、他の情報処理装置と区別する場合にはクライアントと呼ぶ。なお、以下の説明では、クライアント102を用いて説明するが、クライアント103,104でも同様である。
【0022】
印刷装置105は、図示省略したネットワークインタフェースを介してネットワーク106に接続されている。印刷装置105は、クライアント102から送信される印刷データを含むジョブを解析して1ページずつイメージに変換して、1ページ毎に印刷する。また、印刷装置105は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等の様々な印刷方式のもののうち何れの印刷方式であってもよい。
【0023】
図2は、情報処理装置101と印刷装置105の構成の一例を示すブロック図である。なお、情報処理装置102〜104の構成も、情報処理装置101と同様の構成を有する。
【0024】
まず、情報処理装置101の詳細構成を説明する。
情報処理装置101において、CPU200は、情報処理装置101における処理を制御する。CPU200は、ハードディスク(HD)205にコンピュータ読み取り可能に記録されているアプリケーションプログラム、プリンタドライバプログラム、OSや制御プログラム等を実行する。CPU200は、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0025】
ROM201は記憶部であり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データがコンピュータ読み取り可能に記録されている。RAM202は一時記憶部であり、CPU200の主メモリ、ワークエリア等として機能する。
【0026】
FDドライブ203は、記録媒体読み込み部である。このFDドライブ203を介して、記録媒体としてのフロッピー(登録商標)ディスク(FD)204に記憶されたプログラム等を情報処理装置101にロードすることができる。なお、記録媒体はFDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。FD204等の記録媒体には、プログラム等がコンピュータ読み取り可能に記録されている。
【0027】
ハードディスク装置(HD)205は外部記憶部の一つであり、大容量メモリとして機能する。HD205には、アプリケーションプログラム、プリンタドライバプログラム、OS、制御プログラム、関連プログラム等をコンピュータ読み取り可能に記録されている。さらに、HD205には、スプーラがここに確保される。スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバではサーバスプーラである。なお、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもHD205に生成されて格納される。
【0028】
キーボード(KBD)206及びポインティングデバイス(PD)209は指示入力部である。ディスプレイ207は表示部であり、KBD206やPD209から入力されたコマンドや、後述のデバイス選択アプリケーション等のアプリケーションプログラムを表示するものである。
【0029】
システムバス208は、情報処理装置内のデータの流れを司るものである。接続部210は、ネットワーク等の双方向インタフェース211を介して印刷装置105等の外部装置とのデータのやり取りを行う。
【0030】
次に、印刷装置105の詳細構成を説明する。
印刷装置105は、ハードディスク(HD)228、接続部226、データ制御部(プリンタエンジン)225、操作部224、外部メモリ223、PCPU220、PRAM222、及びPROM221を主要な構成要素する。これらの構成要素がシステムバス227を介して互いに接続されている。
【0031】
プリンタCPU(PCPU)220は、印刷装置105の全体制御を司るものである。PCPU220は、後述するPROM221或いは外部メモリ223に記憶された制御プログラムに基づいて、接続部226で受信したプリンタ制御コマンド(送信データ)より、画像信号をデータ制御部225に送信する。
【0032】
HD228は、大容量の記憶装置である。HD228は、フォントデータや印刷ジョブ等のデータの保存先として利用される。また、HD228は、図示しない外部装置としての記憶装置と置き換えが可能である。HD228を外部の記憶装置と置き換える場合は、印刷装置105は接続部226を介し、データの送受信を行う。
【0033】
PRAM222は、PCPU220の主メモリとして、PCPU220による制御実行時、ワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ223は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0034】
PROM221はプリンタ内部メモリであり、外部メモリと同様に、各種データや本プリンタを制御するプリンタ制御プログラム等を記憶している。
データ制御部225はプリンタエンジンであり、PCPU220により制御され、PROM221、或いは外部メモリ223に記憶された制御プログラムよりシステムバス227を介して出力された画像信号を受け、実際の印刷処理を行う。
【0035】
操作部224は、操作パネルや操作スイッチ等の入力部、及びLED、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは、操作部224を介して本実施の形態例プリンタの設定を指示や、確認することが可能である。
【0036】
接続部226は、双方向インタフェース211を介して情報処理装置101の接続部210に接続し、印刷制御コマンド(送信データ)の受信や、印刷装置内部の状態等を通知する事も可能である。
【0037】
図3は、本実施例の管理装置101で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。また、管理アプリケーションは、管理装置101のCPU200が管理装置101のHD205にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することにより実現されるものである。
【0038】
管理装置101で実行される管理アプリケーションは、ユーザ操作に応じて、印刷装置105等のデバイスを管理下に追加登録することが出来る。そして、管理アプリケーションは、図3に示すように、デバイス一覧(デバイスリスト)301において、管理下のデバイスを、デバイス名、状態、製品名、IPアドレス、シリアルNo.、設置場所、コメント等の付属情報と共にリストで一覧表示することができる。なお、管理下となるデバイスとは、印刷機能を有するプリンタ、スキャナ、FAX機能やコピー機能を併せ持つ複合機等の周辺装置を含む。
【0039】
なお、デバイス一覧301に一覧表示されたデバイスは、管理アプリケーションにより、PD209又はKBD206から選択可能(1又は複数選択可能)に制御されている。
ユーザによりデバイス一覧301に一覧表示されたデバイス1又は複数が選択され、「ドライバ登録」ボタン302が押下されると、管理アプリケーションは、後述する図7に示すプラグイン選択画面を介して、図4又は図8に示すアップロード条件の設定画面を管理装置101の表示部207に表示する。
【0040】
また、ユーザによって「アドレス帳」ボタン304、「ドライバ削除」ボタン303等のボタンが押下されると、管理アプリケーションは図示しないアドレス帳画面やドライバ削除画面等を管理装置101の表示部207に表示する。
【0041】
なお、本実施例の説明では、本発明で扱うデバイスドライバ(以下、ドライバ)の例として「プリンタドライバ」を用いるが、「ドライバ」はプリンタドライバに限定されるものではない。印刷装置105がスキャン機能を備える場合にはスキャナドライバ、ファクシミリ機能を備える場合にはFAXドライバのように、印刷装置105のためのデバイスドライバであればどのようなデバイスドライバであってもよい。また、印刷装置105はスキャナ等の他の周辺装置であってもよい。
【0042】
図4は、本実施例の管理装置101上で実行される管理アプリケーションにより提供される第1のアップロード条件設定画面の一例を示す図である。なお、この画面は、管理装置101の表示部207に表示される。
【0043】
この第1のアップロード条件設定画面において、ユーザにより「参照」ボタン401が押下されると、管理アプリケーションは、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによってインストーラの"setup.exe"ファイルが指定されると、管理アプリケーションは、該指定された"setup.exe"ファイルや付随するファイルからインストーラのドライバ種類、バージョンを読み込む。さらに、管理アプリケーションは、前記読み込んだドライバ種類、バージョンをそれぞれ、アップロード条件設定画面のテキストエリア「ドライバ種類:」402、「バージョン:」403に反映する。
【0044】
さらに、管理アプリケーションは、前記選択されたインストーラが保持するドライバモデルのリストから、図3に示したデバイス選択画面で指定されたデバイス(印刷装置;複数の選択されている場合には最初に選択されたもの)のモデル名を比較し、一致するものを「ドライバモデル名」コンボボックス404に表示する。
【0045】
さらに、管理アプリケーションは、「ドライバモデル」コンボボックス404に設定されたドライバモデル名を「表示名」テキストボックス405の初期値として設定する。「表示名」テキストボックス405は、ユーザによって任意の文字列に編集可能である。「表示名」テキストボックス405で指定された文字列は、クライアント102等が印刷装置105からセットアッププログラムのダウンロードを行うユーザが目的のドライバを認識しやすいように、後述する図5に示すドライバダウンロードページに表示されることとなる。
【0046】
「アップロードNo.」コンボボックス406において、管理アプリケーションは、アップロードするセットアッププログラムを格納するアップロード番号の指定を、ユーザに許可する。このアップロード番号は「1」〜「3」を指定可能である。印刷装置105のHD228には、アップロード番号に対応した格納領域が予め確保されている。既に印刷装置105にセットアッププログラムが格納済みのアップロード番号を指定してアップロードを実行すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
【0047】
「コメント」テキストボックス407において、管理アプリケーションは、ユーザによる任意のコメントの入力を可能にする。ここで指定(入力)された文字列は、ダウンロードを行うユーザが目的ドライバを認識しやすいように、後述のドライバダウンロードページ(図5)に表示される。さらに、ここで指定(入力)された文字列は、クライアント102等に作成される論理プリンタのプロパティにコメントとして追加される。
【0048】
「ポート」設定欄408において、管理アプリケーションは、ユーザによる、論理プリンタに接続するポートの種類を「IPアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンからの選択を可能にする。さらに、ユーザによって「ポート名を指定する」ラジオボタンが指定された場合は、管理アプリケーションは、「ポート名」テキストボックスの入力を可能とし、ユーザによる任意のポート名の入力を許可する。
【0049】
「アドバンスドボックスのパス」テキストボックス409において、管理アプリケーションは、ユーザによる、セットアッププログラムをアップロードする印刷装置105の記憶装置内の共有フォルダ内のパスの指定を可能とする。
【0050】
「ユーザ名」テキストボックス410では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザ名の、ユーザによる指定を可能とする。
【0051】
「パスワード」テキストボックス411では、管理アプリケーションは、「アドバンスドボックスのパス」テキストボックス409で指定されたパスへのアクセス権のあるユーザのパスワードの、ユーザによる指定を可能とする。
【0052】
このアップロード条件設定画面で「OK」ボタン412が押下されると、管理アプリケーションは、前記ファイル選択ダイアログで指定されたインストーラに、後述の表示名405やアップロード番号406等の設定を反映したものをセットアッププログラムとして構築する。さらに、管理アプリケーションは、該セットアッププログラムを図3に示したデバイス選択画面で指定された各印刷装置のHD228にアップロードする。
【0053】
また、このアップロード条件設定画面で「キャンセル」ボタン413が押下されると、管理アプリケーションは、セットアッププログラムをアップロードすることなく、このアップロード条件設定画面を閉じる。
【0054】
なお、図3に示したデバイス選択画面で複数のデバイス(印刷装置)が指定されている場合、図4のアップロード条件設定画面で設定された各アップロード条件は、前記選択された複数のデバイスに対して共通に用いられる。
【0055】
図5は、本実施例の印刷装置105の備えるWebサーバに対して、ユーザがクライアント102からアクセスしたときにクライアント102の表示部207に表示されるドライバダウンロード画面の一例を示す図である。
【0056】
印刷装置105のWebサーバ機能部605(後述する図6)は、図示しないログイン画面をクライアント102のWebブラウザ620(図6)に表示し、ユーザにユーザ名入力を受付ける。さらに、印刷装置105のWebサーバ機能部605は、Webサーバ機能部605に予め設けられた権限判定機能により前述のログイン画面から取得したユーザ名を判断し、取得ユーザ名が一般ユーザの場合は図5に示すドライバダウンロード画面を、クライアント102のWebブラウザ620に送信し、表示させる。
【0057】
図5のドライバダウンロード画面では、図4に示したアップロード条件設定画面からの操作により、印刷装置105にアップロードされたセットアッププログラムの一覧501を、「No.」、「表示名」、「ドライバ種類」、「バージョン」、「コメント」、及び「ダウンロード」ボタン502と共に表示する。
【0058】
一覧501において、「No.」は、アップロード条件設定画面の「アップロードNo.」で指定されたアップロード番号を表示する。「表示名」は、アップロード条件設定画面の「表示名」で指定された文字列を表示する。「ドライバ種類」は、アップロード条件設定画面の「ドライバ種類:」で設定した文字列を表示する。「コメント」は、アップロード条件設定画面の「コメント」で指定された文字列を表示する。「バージョン」は、アップロード条件設定画面の「バージョン:」で設定した文字列を表示する。
【0059】
ここで、一覧501の何れか行の「ダウンロード」ボタンがユーザによって押下されると、クライアント102のWebブラウザ620は、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。このセットアッププログラムをダウンロードは、ユーザによって上記ダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
【0060】
図6は、本実施例における主要なモジュール構成の一例を示す図である。これらモジュールは、システム内の各装置においてCPUがプログラムを実行することで実現される機能を提供するための論理的な構成になる。
【0061】
まず、管理装置101のモジュール構成について説明する。
管理装置101は、選択部611、切替部612、第1の条件設定部613、作成部614、アップロード部615、ドライバ取得部616、第2の条件設定部617を有する。これらモジュール611〜617は、管理装置101のCPU200がROM201にコンピュータ読み取り可能に記録された管理アプリケーションプログラムを読み出して実行することで実現される上述の管理アプリケーションの機能に対応する。
【0062】
選択部611は、管理アプリケーションが提供する画面(図3)を管理装置101の表示部207に表示する。切替部612は、管理アプリケーションが提供する画面(図3)から起動されるものであり、プラグイン選択画面(図7)を管理装置101の表示部207に表示する。さらに、切替部612は、ユーザの指示に従い、第1の条件設定部613、または第2の条件設定部617を起動する。
【0063】
第1の条件設定部613は、第1のアップロード条件設定画面(図4)を管理装置101の表示部207に表示する。第1の条件設定部613は、1度のインストール操作で1つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部(第1設定部)である。より具体的には、第1の条件設定部613は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報(プリンタ名、ポート、コメント、設置場所等の情報)として図3のデバイス選択画面で指定された印刷装置のデバイス情報の設定を行う。
【0064】
第2の条件設定部617は、第2のアップロード条件設定画面(図8)を管理装置101の表示部207に表示する。第2の条件設定部617は、1度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するための設定部(第2設定部)である。より具体的には、第2の条件設定部617は、例えば、プリンタドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報(プリンタ名、ポート、コメント、設置場所等の情報)として図3のデバイス選択画面で指定された印刷装置とは異なる装置を含む複数の印刷装置のデバイス情報の設定を行う。
【0065】
ドライバ取得部616は、第1のアップロード条件設定画面(図4)又は第2のアップロード条件設定画面(図8)から起動され、第1のアップロード条件設定画面(図4)又は第2のアップロード条件設定画面(図8)で指定されたファイルパスからプリンタドライバのインストーラプログラム(setup.exe)やドライバ情報ファイル(setup.inf)を読み込む(ドライバを取得する)。
【0066】
作成部614は、ドライバ取得部616が取得したドライバ(インストーラプログラムやドライバ情報)、第1の条件設定部613又は第2の条件設定部617で設定された論理プリンタ登録に必要な設定情報等を用いて、セットアッププログラムを作成する。
【0067】
アップロード部615は、作成部614に作成されたセットアッププログラムを印刷装置105の記憶部601に送信(アップロード)する。なお、作成部614は、アップロード部615から起動される。
【0068】
次に、印刷装置(プリンタ)105のモジュール構成について説明する。
印刷装置105は、記憶部601、監視部603、プログラム更新部604、Webサーバ機能部605を有する。これらモジュール601,603〜605は、印刷装置105のPCPU220がPROM221にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
【0069】
記憶部601は、管理装置101のアップロード部615から送信されるセットアッププログラムを受け取り、記憶装置(印刷装置105のHD228)に予め確保された格納領域内に格納する。セットアッププログラム602は、インストーラと論理プリンタ作成時に必要となる各種設定を含む実行プログラムである。
【0070】
監視部603は、印刷装置105の構成情報を監視し、構成情報に変更が発生した場合は、プログラム更新部604に対して、セットアッププログラム602の更新を依頼する。なお、構成情報とは、印刷装置105に設定された情報、例えばIPアドレス、ホスト名、機器名、設置場所情報などの情報である。また、監視部603は、管理装置101からセットアッププログラムのアップロードや登録済みセットアッププログラムの削除指示の監視も行う。
【0071】
プログラム更新部604は、監視部603からの指示に基づき、セットアッププログラム602の内部情報を書き換える。
Webサーバ機能部605は、Webサーバとして動作するもので、図5に示したドライバダウンロード画面を含む、各種Webページをクライアント102に提供するものである。
【0072】
次に、クライアント102のモジュール構成について説明する。
クライアント102は、Webブラウザ620を有する。Webブラウザ620は、クライアント102(103)のCPU200がROM201にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することで実現される機能に対応する。
Webブラウザ620は、ユーザの指示によりプリンタ105のWebサーバ機能部605にアクセスして、セットアッププログラム602のダウンロードなどを行う。
【0073】
以下、図9を中心に、選択部611等が行う処理について説明する。
図9は、管理装置101の選択部611が行う処理の一例を示すフローチャートである。図9〜図15に示す処理を実現するためのプログラム(上述の管理アプリケーションプログラム)は予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。また、後述のプラグイン(プラグインプログラム)は、管理装置101のHD205の決められたフォルダに、予め決められた手順に従いインスール済とする。本実施例では、プラグインは前述のフォルダに2つ登録されており、それぞれ図4、図8に示す画面を表示する機能を有するものとする。また、プラグインを構成するファイルはDLL(Dynamic Link Library)1ファイルから構成されているものとする。また、プラグインファイルのファイルプロパティの「製品名」には、プラグイン種類が記載されているものとする。なお、プラグインの種類とは、「第1アップロード機能」、「第2アップロード機能」である。また、ファイルのプロパティの「説明」には、「プラグイン」と記載されているものとする。「第1アップロード機能」プラグインは、本処理のためのアプリケーションをインストールするのと同時にインストールされたものとする。また、「第2アップロード機能」プラグインは、本処理のためのアプリケーションをインストールした後に、別途インストールされたものとする。即ち、第2アップロード機能は、プラグインプログラムとして、管理装置101の第1アップロード機能を実現するプログラム(管理アプリケーションプログラム)に対して追加されて実現されるものである。なお、本実施例では、図3に示したデバイス選択画面に登録・管理されているデバイスは、全てプリンタとする。
【0074】
まず、S901において、選択部611は、初期化処理を行う。なお、初期化処理の詳細は後述の図10に示す。
次に、S902において、選択部611は、イベントが発生したか否かを判断する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するIDが、イベントとして通知され、これらを用いて判断する。
【0075】
上記S902において、イベント発生していないと判断した場合(No)、選択部611は、S902の処理を繰り返す。
一方、S902において、イベントが発生したと判断した場合(Yes)、選択部611は、S903に処理を進める。
S903では、選択部611は、上記発生したイベントが「デバイス選択」であるか否かを判断する。本実施例では、発生したイベントにおいて、図3に示したデバイス選択画面のデバイスリスト301のレコードのIDと、左マウスボタン操作が含まれるときは、「デバイス選択」が行われたと判断する。
【0076】
上記S903において、イベントがデバイス選択であると判断した場合(Yes)、選択部611は、S904に処理を進める。
S904では、選択部611は、予めRAM202やHD205等の記憶装置に確保しているワーク領域内のデバイスリストに、上記選択されたデバイスに対応するレコードを追加する。図3のデバイス選択画面では、デバイスドライバを登録する周辺装置(デバイス)を複数指定可能であり、これらを上記デバイスリストとして保持することとなる。このデバイスリストには、上記選択されたデバイスのデバイスモデル名、IPアドレス、シリアルナンバー等のプリンタ固有の情報が含まれる。そして、S902に処理を戻す。
【0077】
一方、上記S903において、イベントがデバイス選択でない判断した場合(No)、選択部611は、S905に処理を進める。
S905では、選択部611は、上記発生したイベントが「ドライバ登録」ボタン302押下であるか否かを判断する。本実施例では、イベントに図3に示したデバイス選択画面の「ドライバ登録」ボタン302を示すIDと、左マウスボタン操作が含まれるときは、「ドライバ登録」のボタン押下と判断する。
【0078】
上記S905において、上記発生したイベントが「ドライバ登録」のボタン押下と判断した場合(Yes)、選択部611は、上記S904で作成したデバイスリストを切替部612に渡す。
【0079】
S906では、切替部612は、上記S901の初期化処理で設定されたインストール済プラグイン数を保持するワークデータNの値が「1」より大きいか否かを判断する。なお、本実施例では、インストール済プラグイン数Nの値が「1」又は「2」である場合を説明し、インストール済プラグイン数Nの値が[0]の場合の処理や、[3]以上の場合の処理は省略する。
【0080】
上記S906において、インストール済プラグイン数を保持するワークデータNの値が「1」より大きいと判断した場合(Yes)、切替部612は、S907へ処理を進める。
S907では、切替部612は、図7に示すプラグイン選択画面を管理装置101の表示部207に表示する。
【0081】
図7は、本実施例のプラグイン選択画面の一例を示す図である。
図7に示すように、プラグイン選択画面は、ダイアログのタイトルを「ドライバ機能の選択」とし、機能選択コンボボックス701、及び「起動」ボタン702を有する。
機能選択コンボボックス701のリストには、後述の初期化処理(図10)で検索したインストール済プラグインファイルから取得したプラグイン名が記載されている。なお、機能選択コンボボックス701は、初期表示は、コンボボックスの先頭を選択状態になっている。図7の例では、「第1アップロード機能」、「第2アップロード機能」となっている。「第1アップロード機能」が選択された場合には、1度のインストール操作で1つの論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第1アップロード機能は、印刷装置に該印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【0082】
「第2アップロード機能」が選択された場合には、1度のインストール操作で複数の論理プリンタをインストールするセットアッププログラムが生成されて印刷装置にアップロードされる。即ち、第2アップロード機能は、印刷装置に該印刷装置とは異なる装置を含む複数の印刷装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する機能である。
【0083】
ユーザによって、「起動」ボタン702を押下されると、機能選択コンボボックス701で選択されているプラグイン名を持つプラグインが起動される。そして、該起動されたプラグイン(第1の条件設定部613又は第2の条件設定部617)により、ドライバのアップロード設定画面(図4又は図8)が管理装置101の表示部207に表示されることになる。
【0084】
以下、図9のフローチャートの説明に戻る。
次にS908において、切替部612は、「起動」ボタン702が押下されたか否かを判断する。本実施例では、発生したイベントに図7に示したプラグイン選択画面の「起動」ボタンを示すIDと、左マウスボタン操作が含まれるときは、起動ボタン押下と判断する。
【0085】
上記S908において、「起動」ボタン702が押下されていないと判断した場合(No)、他の操作が行われものとして、切替部612は、S908の処理を繰り返す。ここでは、他の操作に関しては説明を省略する。
【0086】
一方、上記S908において、「起動」ボタン702が押下されたと判断した場合(Yes)、切替部612は、機能選択コンボボックス701において選択されているプラグイン名を取得し、該取得したプリラグイン名に対応するプラグインを起動する。そして、切替部612は、起動したプラグインに、上記S904で作成されたデバイスリストを渡す。なお、切替部612は、起動したプラグイン名を選択部611に通知する。
【0087】
なお、プラグイン名が「第1アップロード機能」となっている場合は、切替部612は、第1の条件設定部613を起動する。そして、起動された第1の条件設定部613は、上記S904で作成されたデバイスリストに基づいて、図4に示した第1のアップロード条件設定画面を管理装置101の表示部207に表示する(S909)。一方、プラグイン名が「第2アップロード機能」となっている場合は、切替部612は、第2の条件設定部617を起動する。そして、起動された第2の条件設定部617は、上記S904で作成されたデバイスリストに基づいて、図8に示す第2のアップロード条件設定画面を管理装置101の表示部207に表示する(S909)。
【0088】
なお、上記S906において、インストール済プラグイン数を保持するワークデータ「N」の値が1以下と判断した場合(No)、切替部612は、インストール済みのプラグイン(第1の条件設定部613又は第2の条件設定部617)を起動する。そして、切替部612は、起動したプラグインに、上記S904で作成されたデバイスリストを渡す。起動されたプラグインは、上記S904で作成されたデバイスリストに基づいて、アップロード条件設定画面(図4又は図8)を管理装置101の表示部207に表示する(S909)。
【0089】
次にS910において、上記起動された第1の条件設定部613又は第2の条件設定部617は、アップロード条件設定処理(図11又は図13)を実行する。このアップロード条件設定処理が完了すると、アップロード条件設定処理内でドライバ取得部616により取得されたインストーラが、選択部611に渡され、選択部611に制御が戻される。
【0090】
次にS911において、選択部611は、アップロード部615を呼び出す。なお、選択部611は、上記S904で作成したデバイスリストと、切替部612で選択されたプラグイン名、上記S910のアップロード条件設定処理内でドライバ取得部616が取得したインストーラプログラムと、第1の条件設定部613又は第2の条件設定部617から論理プリンタ登録に必要な設定情報を取得し、アップロード部615に渡す。
【0091】
アップロード部615は、アップロード処理(図14(a)又は図14(b))を実行する。このアップロード処理では、アップロード部615からの指示により、作成部814が、上記S910のアップロード条件設定処理内でドライバ取得部616が取得したインストーラと、第1の条件設定部613又は第2の条件設定部617で設定された論理プリンタ登録に必要な設定情報とを用いて、セットアッププログラムを作成する。そして、アップロード部615が、上記セットアッププログラムを、デバイスリスト内のデバイスに送信する。このアップロード処理が完了すると、選択部611に制御が戻され、選択部611は、S902に処理を戻す。
【0092】
なお、上記S905において、発生したイベントが「ドライバ登録」ボタン302の押下でないと判断した場合、選択部611は、S912に処理を進める。
S912では、選択部611は、発生したイベントが「終了」ボタン305の押下であるか否かを判断する。本実施例では、イベントに図3に図示したデバイス選択画面の「終了」ボタン305を示すIDと、左マウスボタン操作が含まれるときは、終了ボタン305の押下と判断する。
【0093】
上記S912において、発生したイベントが「終了」ボタン305の押下ではないと判断した場合(No)、選択部611は、他の操作が行われものとして、S902に処理を戻す。ここでは、この他の操作に関しては説明を省略する。
【0094】
一方、上記S912において、発生したイベントが「終了」ボタン305の押下であると判断した場合(Yes)、選択部611は、所定の手続きに基づき、管理装置101のRAM202やHD205等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
【0095】
次に、図9のS901の初期化処理について、図10を用いて説明する。
図10は、図9のS901に示した初期化処理の一例を示すフローチャートである。
S1001において、選択部611は、RAM202やHD205等の記憶装置に確保したワーク領域にワークデータを確保する。さらに、プラグイン数を保持するワークデータNの値に「0」を、プラグイン名を保持するワークデータString配列をNULLに初期化する。
【0096】
次に、S1002において、選択部611は、OSに備えられた検索機能を使い、管理装置101のHD205の予め決められたフォルダ以下を検索する。さらに、選択部611は、OSが備えているファイルプロパティ取得機能を用い、前記検索したファイルからプロパティ情報を取得する。前記取得したプロパティ情報を、管理装置101のRAM202やHD205等の記憶装置に予め確保したワーク領域のワークデータにファイル情報として保存する。
【0097】
次に、S1003において、選択部611は、前記S1002で取得したファイル情報の全件に対して、後述するS1004〜S1006の処理を終了したか否かを判断する。
そして、まだ全件終了していないと判断した場合(S1003でNo)、選択部611は、前記S1002で検索されたファイル情報群からからファイル情報を1件取り出し(以下、カレントのファイル情報という)、S1004に処理を進める。
【0098】
S1004では、選択部611は、カレントのファイル情報に対応するファイルがプラグインか否かを判断する。本実施例では、選択部611は、カレントのファイル情報からプロパティを取得し、該取得したファイルプロパティの「説明」記載が「プラグイン」となっている場合はプラグインと判断する。なお、プラグインが見つかった場合は、プラグインがインストール済と判断する。
【0099】
上記S1004で、カレントのファイル情報に対応するファイルがプラグインでないと判断した場合(No)、選択部611は、S1003に処理を戻し、次のファイル情報に対して処理を行うように制御する。
【0100】
一方、前記S1004で、カレントのファイル情報に対応するファイルがプラグインであると判定した場合(Yes)、選択部611は、S1005に処理を進める。
S1005では、選択部611は、プラグイン名を保持するワークデータString配列のN番目の要素(String[n])に、カレントのファイル情報内のファイルプロパティの「製品名」を設定する。なお、配列の添え字Nは、前記プラグイン数を保持するワークデータNの値となる。
【0101】
次に、S1006において、選択部611は、前記プラグイン数を保持するワークデータNの値に「1」を加算し、S1003に処理を戻す。
そして、上記S1003において、選択部611は、前記S1002で取得したファイル情報の全件に対して、上記S1004〜S1006の処理を終了したと判断した場合(Yes)、初期化処理を終了し、図9のフローチャートに制御を戻す。
【0102】
次に、図9のS910のアップロード条件設定処理を、図11及び図13を用いて説明する。なお、図9のS909で、第1の条件設定部613が起動された場合は図11のフローチャートを用いて説明する。一方、第2の条件設定部617が起動された場合は図13のフローチャートを用いて説明する。
【0103】
図11は、図9のS910に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図7のプラグイン切り換え画面にて「第1アップロード機能」が起動された場合に第1の条件設定部613が実行する第1のアップロード条件設定処理に対応する。
【0104】
なお、この処理は、図4に示した第1のアップロード条件設定画面が表示された状態で開始される。図4に示した第1のアップロード条件設定画面は、1度のインストール操作で1つの論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【0105】
また、図9のS904で作成されたデバイスリストは、切替部612を介して第1の条件設定部613渡されているものとする。
まず、S1101において、第1の条件設定部613は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S1101でNo)、第1の条件設定部613は、S1102に処理を進める。
S1102では、第1の条件設定部613は、設定が完了したか判断する。本実施例では、図4に示した第1のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【0106】
上記S1102において、設定完了でないと判断した場合(No)、第1の条件設定部613は、S1104に処理を進める。
S1104では、第1の条件設定部613は、図4に示した設定画面の「OK」ボタン412を無効化し、S1101へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【0107】
一方、上記S1102において、設定完了と判断した場合(Yes)、第1の条件設定部613は、S1103に処理を進める。
S1103では、第1の条件設定部613は、図4に図示した設定画面の「OK」ボタン412を有効化し、S1101へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【0108】
また、上記S1101において、イベントが発生したと判断した場合(Yes)、第1の条件設定部613は、S1105に処理を進める。
S1105では、第1の条件設定部613は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【0109】
上記S1105において、イベントがファイルパス設定と判定した場合(Yes)、第1の条件設定部613は、S1106に処理を進める。
S1106では、第1の条件設定部613は、ドライバ取得部616を呼び出す。この際、第1の条件設定部613は、ドライバ取得部616に、切替部612から渡されたデバイスリスト(図9のS904で作成されたデバイスリスト)をドライバ取得部616に渡す。ドライバ取得部616は、後述するプリンタドライバ取得処理(図12)を行う。このプリンタドライバ取得処理が完了すると、第1の条件設定部613に制御が戻され、第1の条件設定部613は、S1101に処理を戻す。
【0110】
一方、上記S1105において、イベントがファイルパス設定でないと判定した場合(No)、第1の条件設定部613は、S1107に処理を進める。
S1107では、第1の条件設定部613は、イベントが「OK」ボタン412の押下か否かを判断する。本実施例では、イベントに図4に図示した設定画面の「OK」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
【0111】
上記S1107において、イベントが「OK」ボタン412の押下でないと判断した場合(No)、第1の条件設定部613は、S1101へ処理を戻す。
一方、上記S1107において、イベントが「OK」ボタン412の押下であると判断した場合(Yes)、第1の条件設定部613は、第1の条件設定画面(図4)上で設定されたアップロード条件を選択部611に渡し、本フローチャートの設定処理を終了する。これにより、選択部611に制御が戻る。
【0112】
図13は、図9のS910に示したアップロード条件設定処理の一例を示すフローチャートであり、特に図7のプラグイン切り換え画面にて「第2アップロード機能」が起動された場合に第2の条件設定部617が実行する第2のアップロード条件設定処理に対応する。
【0113】
なお、この処理は、図8に示す第2のアップロード条件設定画面が表示された状態で開始される。図8に示す第2のアップロード条件設定画面は、1度のインストール操作で複数の論理プリンタをインストールすることが可能なセットアッププログラムを生成するための条件を設定するためのものである。
【0114】
また、図9のS904で作成されたデバイスリストは、切替部612を介して第2の条件設定部617渡されているものとする。
まず、S1301において、第2の条件設定部617は、イベントが発生したか否かを判断する。
そして、イベントが発生していないと判定した場合(S1301でNo)、第2の条件設定部617は、S1302に処理を進める。
S1302では、第2の条件設定部617は、設定が完了したか判断する。本実施例では、図8に示す第2のアップロード条件設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。
【0115】
ここで、図8に示す第2のアップロード条件設定画面について説明する。
図8は、本実施例の管理装置101上で実行される管理アプリケーションにより提供される第2のアップロード条件設定画面の一例を示す図であり、図4と同一のものには同一の符号を付してある。なお、この画面は、管理装置101の表示部207に表示される。
【0116】
図8の第2のアップロード条件設定画面において、ユーザにより「ファイルの読み込み」ボタン801が押下されると、第2の条件設定部617は、図示しないファイル選択ダイアログを管理装置101の表示部207に表示する。そして、このファイル選択ダイアログからユーザによって拡張子".CSV"のファイルパスが指定されると、第2の条件設定部617は、該指定された拡張子".CSV"のファイル(外部ファイル)からプリンタリストを取得し、インストールするプリンタのリスト(プリンタリスト)802に表示する。第2の条件設定部617は、プリンタリスト802において、インストールするプリンタの情報(プリンタ名、ポート、コメント、設置場所等)をリストで表示する。なお、プリンタリスト802に一覧表示されたプリンタの情報には、PD209又はKBD206でON/OFFチェック可能なチェックボックスが設けられている。このチェックボックスにチェックされたプリンタ(1又は複数)が論理プリンタとしてクライアント102〜104にインストールされることとなる。
【0117】
以下、図13の説明に戻る。
上記S1302において、設定完了でないと判断した場合(No)、第2の条件設定部617は、S1304に処理を進める。
S1304では、第2の条件設定部617は、図8に示した設定画面の「OK」ボタンを無効化し、S1301へ処理を戻す。なお、無効化とは、OSに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することを示す。
【0118】
一方、上記S1302において、設定完了と判断した場合(Yes)、第2の条件設定部617は、S1303に処理を進める。
S1303では、第2の条件設定部617は、図8に示す設定画面の「OK」ボタン412を有効化し、S1301へ処理を戻す。なお、有効化とは、OSに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することを示す。
【0119】
また、上記S1301において、イベントが発生したと判断した場合(Yes)、第2の条件設定部617は、S1305に処理を進める。
S1305では、第2の条件設定部617は、イベントがファイルパス設定か否かを判断する。本実施例では、イベントに図8に示す設定画面の「参照」ボタン401を示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断する。
【0120】
上記S1305において、イベントがファイルパス設定と判定した場合(Yes)、第2の条件設定部617は、S1306に処理を進める。
S1306では、第2の条件設定部617は、ドライバ取得部616を呼び出す。この際、第2の条件設定部617は、ドライバ取得部616に、切替部612から渡されたデバイスリスト(図9のS904で作成されたデバイスリスト)をドライバ取得部616に渡す。ドライバ取得部616は、後述するプリンタドライバ取得処理(図12)を行い、プリンタドライバのインストーラを取得する。このプリンタドライバ取得処理が完了すると、第2の条件設定部617に制御が戻され、第2の条件設定部617は、S1307に処理を進める。
【0121】
S1307では、第2の条件設定部617は、プリンタリストを表示中か否かを判断する。例えば、図8に図示した設定画面の「インストールするプリンタのリスト」802のリストボックスを調べ、リストが1以上存在するときは、プリンタリストを表示中と判断する。
【0122】
上記S1307において、プリンタリストを表示中と判断した場合(Yes)、第2の条件設定部617は、S1311のプリンタリスト更新処理を行い、S1301に処理を戻す。なお、S1311のプリンタリスト更新処理については、後述する。
【0123】
一方、上記S1307において、プリンタリストを表示中でないと判断した場合(No)、第2の条件設定部617は、S1301に処理を戻す。
また、上記S1305において、イベントがファイルパス設定でないと判定した場合(No)、第2の条件設定部617は、S1308に処理を進める。
S1308では、第2の条件設定部617は、ファイルの読み込みが発生したか否かを判断する。本実施例では、イベントに図8に図示した設定画面の「ファイルの読み込み」ボタン801を示すIDと、左マウスボタン操作が含まれるときは、「ファイルの読み込み」と判断する。
【0124】
上記S1308において、ファイルの読み込みが発生したと判定した場合(Yes)、第2の条件設定部617は、S1309に処理を進める。
S1309では、第2の条件設定部617は、プリンタリストを表示する。詳細には、第2の条件設定部617は、ユーザによって図示しないファイル選択ダイアログから指定された拡張子".CSV"のファイルパスを取得し、同パス以下からプリンタリストを記載した拡張子".CSV"のファイルを取得する。さらに、第2の条件設定部617は、上記取得した拡張子".CSV"のファイルを開き、所定のフォーマットに従い、プリンタ名、ポート、コメント、設置場所等の論理プリンタ作成に用いる情報や、参考情報を取得する。前記取得した情報を図8に示すプリンタリスト802に、1行1レコードで表示する。さらに、論理プリンタ作成に必須情報(例えばプリンタ名)がない場合は、行全体の文字をグレー表示し、行先頭のチェックボックスをOFFにする。また、上記S1306で取得されたプリンタドライバに対応しないプリンタのレコードが表示された行全体の文字もグレー表示し、行先頭のチェックボックスをOFFにする。また、必須情報が全部そろっていて、且つ、上記S1306で取得されたインストーラに対応しないプリンタのレコードが表示された行の文字を黒表示し、行先頭のチェックボックスをONにする。そして、S1301に処理を戻す。
【0125】
なお、上記拡張子".CSV"のファイルは、予め管理者により作成され、管理装置101のHD205内に格納されているものとする。この拡張子".CSV"のファイルには、例えば、"PrinterName01,IP_192.27.22.11,xxx・・・xxx,21居室"のようなカンマで区切られた情報、プリンタ名,ポート,コメント,設置場所等の論理プリンタ作成に用いる情報が1又は複数レコード分記載されている。
【0126】
なお、上記S1311のプリンタリスト更新処理では、第2の条件設定部617は、上記S1306で取得されたプリンタドライバの情報に基づいて、上記S1306で取得されたインストーラに対応しないプリンタリスト802の行のグレー表示/黒表示、チェックボックスのON/OFFを更新する。
【0127】
また、上記S1308において、ファイルの読み込みが発生しなかったと判定した場合(No)、第2の条件設定部617は、S1310に処理を進める。
S1310では、第2の条件設定部617は、イベントが「OK」ボタン412の押下か否かを判断する。本実施例では、イベントに図8に示す設定画面の「OK」ボタン412を示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。
【0128】
上記S1310において、イベントが「OK」ボタン412の押下でないと判断した場合(No)、第2の条件設定部617は、S1301へ処理を戻す。
一方、上記S1310において、イベントが「OK」ボタン412の押下であると判断した場合(Yes)、第2の条件設定部617は、第2の条件設定画面(図8)上で設定されたアップロード条件を選択部611に渡し、本フローチャートの設定処理を終了する。これにより、選択部611に制御が戻る。
【0129】
次に、図11のS1106又は図13のS1306のプリンタドライバ取得処理を、図12を用いて説明する。
図12は、図11のS1106又は図13のS1306に示したドライバ取得部616が実行するプリンタドライバ取得処理の一例を示すフローチャートである。
なお、図11のS1106と図13のS1306とでは、管理装置101の表示部207に表示されている設定画面が異なる。図11のS1106では第1のアップロード条件の設定画面(図4)が表示され、図13のS1306では第2のアップロード条件の設定画面(図8)が表示されている。
【0130】
また、図9のS904で作成されたデバイスリストは、第1の条件設定部613又は第2の条件設定部617から渡されているものとする。
S1201において、ドライバ取得部616は、ドライバ情報ファイルを読み込む。詳細には、ドライバ取得部616は、ユーザによって図示しないファイル選択ダイアログから指定された"setup.exe"のパス情報を取得し、同パス以下からプリンタドライバのドライバ情報ファイル(setup.inf)を検索する。ドライバ情報ファイルが見つかったら、ドライバ取得部616は、所定のフォーマットに従いドライバ情報ファイル内を検索し、ドライバ種類、及びバージョン情報を読み出し、RAM202等の記憶装置に所定のワーク領域に保存する。なお、ドライバ取得部616は、上記パスからプリンタドライバのインストーラプログラム(setup.exe)を取得し、RAM202内に保持しておく。
【0131】
次に、S1202において、ドライバ取得部616は、上記S1201で取得したドライバの種類、及びバージョン情報を、アップロード条件の設定画面(図4又は図8)の「ドライバ種類:」テキストエリア402、及び「バージョン情報:」テキストエリア403にそれぞれ書き込む。
【0132】
次に、S1203において、ドライバ取得部616は、ドライバモデル名を設定する。詳細には、ドライバ取得部616は、上記S1201で読み込んだドライバ情報ファイル内を検索し、デバイスに相応しいドライバモデル名を取得する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、ドライバ情報ファイル(INFファイル)のモデルセクションに、ドライバモデル名とハードウェアIDを1つのエントリーとして記載する方法が開示されており、この情報を用いて、デバイスに相応しいドライバモデル名を取得する。本実施例では、この方法に従い、上記S1201で見つけたドライバ情報ファイル内から、デバイス(図9のS904で生成されたデバイスリストの先頭のデバイス)の持つハードウェアIDと同一の記載を全検索する。そして、見つけたドライバモデル名を、表示部207に表示しているアップロード条件設定画面(図4又は図8)の「ドライバモデル名」コンボボックス404におけるリストのエントリーに登録する。アップロード条件設定画面(図4又は図8)上ではリストの先頭候補となるドライバモデル名が選択状態に設定される。なお、ドライバモデル名が見つからなかった場合は、ドライバ情報ファイルに記載されている全てのドライバモデル名を「ドライバモデル名」コンボボックス404におけるリストのエントリーに登録する。この場合、初期状態ではどのドライバモデルも選択されていない状態でアップロード条件設定画面に表示される。なお、本ステップで用いるドライバモデル名は、図3の管理アプリケーションが表示しているデバイスリスト301から選択された先頭のデバイス用のドライバモデル名(即ち、図9のS904で生成されたデバイスリストの先頭のデバイスのドライバモデル名)とする。
【0133】
次に、S1204において、ドライバ取得部616は、上記S1203で設定された「ドライバモデル名」コンボボックス404の情報を表示名テキストボックスに設定し、本フローチャート処理を終了する。これにより、ドライバ取得部616を呼び出したプラグイン(第1の条件設定部613又は第2の条件設定部617)に制御が戻る。
【0134】
次に、図14を用いて、図9のS911のアップロード処理について説明する。
図14は、図9のS911に示すアップロード部615が実行するアップロード処理の一例を示すフローチャートである。なお、図9のS904で作成したデバイスリスト、切替部612で選択されたプラグイン名、論理プリンタ登録に必要な情報、及びインストーラプログラム等の情報は、選択部611から適宜渡されているものとする。
【0135】
また、アップロード部615は、選択部611から通知されたプラグイン名が「第1アップロード機能」である場合には図14(a)に示す第1のアップロード処理を実行し、一方、前記プラグイン名が「第2アップロード機能」である場合には図14(b)に示す第2のアップロード処理を実行するように制御する。
【0136】
まず、図14(a)に示す第1のアップロード処理から説明する。
まず、S1401において、アップロード部615は、作成部614を呼び出し、論理プリンタ登録に必要な情報、及びインストーラプログラムを作成部614に渡す。作成部614は、後述する図15に示すセットアッププログラム作成処理を行う。
【0137】
次に、作成部614によるセットアッププログラムの作成処理が完了すると、アップロード部615は、S1402に処理を進める。
S1402では、アップロード部615は、モデル名が一致しているか判断する。本実施例では、アップロード部615は、RAM202等のワーク領域に保持されたデバイスリスト(図9のS904で作成)から1レコードを取り出す。次に、取り出したレコード中のデバイス(カレントのデバイス)のモデル名と作成部614が作成したセットアッププログラムのドライバのモデル名とを比較する。そして、比較の結果が一致しているときは、モデル名が一致していると判断する。例えば、デバイスのモデル名が"C_iR−ADV C5051"のとき、ドライバのモデル名"C_iR−ADV C5051/5041"のようにデバイスモデル名を含む場合は、ドライバモデル名が一致していると判断する。
【0138】
上記S1402において、モデル名が一致していると判断した場合(Yes)、アップロード部615は、S1403に処理を進める。
S1403では、アップロード部615は、セットアッププログラムを送信する。詳細には、アップロード部615は、作成部614が作成したセットアッププログラムを、アップロード条件の設定画面(図4又は図8)の設定値に従い、カレントのデバイスに対応する印刷装置105の記憶部601に配置する。
【0139】
次に、S1404において、アップロード部615は、上記S1403でセットアッププログラムを送信した印刷装置105(カレントのデバイス)に、アップロード通知を行う。詳細には、アップロード部615は、プリンタ105に対して、アップロード番号、パス、ファイル名、及びプリンタが保持するダウンロードページの作成に必要な情報を通知する。S1404の処理を終了すると、アップロード部615は、S1405に処理を進める。
【0140】
また、上記S1402において、モデル名が一致していないと判断した場合(No)、アップロード部615は、そのままS1405に処理を進める。
S1405では、アップロード部615は、全デバイスへの処理が終了したか否かを判断する。詳細には、アップロード部615は、RAM202等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。
【0141】
上記S1405において、まだ全デバイスへの処理が終了していないと判断した場合(No)、アップロード部615は、S1402へ処理を戻し、他のデバイス(デバイスリストの次のレコード)に対して同様の処理を行う。
【0142】
一方、上記S1405において、全デバイスへの処理が終了したと判断した場合、アップロード部615は、アップロード処理を終了する。これにより、選択部611に制御が戻される。
【0143】
次に、図14(b)に示す第2のアップロード処理について説明する。なお、図14(a)と図14(b)とで同一のステップには同一のステップ番号を付してあり、ここでは異なる部分のみを説明する。
【0144】
図14(b)に示す第2のアップロード処理では、作成部614によるセットアッププログラムの作成処理(S1401)が完了すると、アップロード部615は、RAM202等のワーク領域に保持されたデバイスリスト(図9のS904で作成)内の全レコードに対して、S1403,S1404の処理を実行するように制御する。以下、図14(a)と同様であるので説明は省略する。
【0145】
次に、図14のS1401に示したセットアッププログラム作成処理を、図15、図16〜図18を用いて説明する。
図15は、図14のS1401に示す作成部614が実行するセットアッププログラム作成処理の一例を示すフローチャートである。なお、論理プリンタ登録に必要な情報、及びインストーラプログラム等は、アップロード部615から適宜渡されているものとする。
【0146】
S1501において、作成部614は、一時フォルダを作成する。例えば、OSが提供している機能を利用し、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
次に、S1502において、作成部614は、上記S1501で作成した一時フォルダに、図16(a)に示す初期セットアッププログラムを作成する。
【0147】
図16は、本実施例のセットアッププログラムの一例を示す図である。
図16(a)に示すように、初期セットアッププログラムは、ヘッダ部1601と、プログラム部1602から構成され、予めHD205内に記憶されている。
ヘッダ部1601には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として以下のようなものが含まれている。
【0148】
・Offset_to_entry:結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Size_of_all_entry:結合ファイルの情報を格納している領域の合計サイズ。
・size_of_file_entry:結合ファイルの情報を格納している領域のサイズ。
・num_of_entry:結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは全て「0」にセットされている。
【0149】
プログラム部1602には、ヘッダ部1601を参照し、結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
【0150】
以下、図15のフローチャートの説明に戻る。
上記S1502の初期セットアッププログラム作成処理を完了すると、作成部614は、S1503において、上記S1501で作成した一時フォルダ内に、論理プリンタ登録に必要な設定情報(第1の条件設定部613又は第2の条件設定部617で設定済み)を用いて、図17((a)又は(b))、図18(a)に示す情報ファイルを作成する。
【0151】
図17は、セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報を記載したファイルの一例を示す図であり、ファイル名は"setup.ini"とする。
【0152】
なお、図17(a)は、切替部612で選択されたプラグイン名が「第1アップロード機能」である場合に作成部614が作成する"setup.ini"ファイルの一例を示すものである。
【0153】
また、図17(b)は、切替部612で選択されたプラグイン名が「第2アップロード機能」である場合に作成部614が作成する"setup.ini"ファイルの一例を示すものである。
【0154】
図17(a)、図17(b)に示すように、"setup.ini"ファイルは、[DriverUploadInfo]セクションを有し、以下の設定が可能である。
・DriverModelName:ドライバモデル名
・PrinterName:PCにインストールする論理プリンタ名
・Comments:PCにインストールした論理プリンタに設定するコメント
・PortType:ポートの種類(1:IPアドレス、2:ホスト名、3:ポート名)
・PortName:ポート名
【0155】
なお、DriverModelNameは、図4又は図8のドライバモデル名404に基づいて設定される。また、PrinterNameは、図4の表示名405又は図8のプリンタリスト802内のプリンタ名に基づいて設定される。また、Commentsは、図4のコメント407又は図8のプリンタリスト802内のコメントに基づいて設定される。また、PortTypeとPortNameは、図4のポート408又は図8のプリンタリスト802内のポートに基づいて設定される。
【0156】
図17(a)は「第1アップロード機能」の場合であるため、1つの論理プリンタが記載されている。
「第1アップロード機能」の場合、アップロードされるセットアッププログラムは、アップロード先の印刷装置に対応する論理プリンタを作成するものとなる。そのため、ポート名(PortName)が空白の"setup.ini"が作成される。ポート名(PortName)は、セットアッププログラムがアップロードされた各印刷装置において、自らのIPアドレスやホスト名等が書きこまれることになる。
【0157】
図17(b)は「第2アップロード機能」の場合であり、この例では、2つの論理プリンタが記載されている。図8のインストールするプリンタのリスト802において、チェックボックスにチェックされたプリンタに対応する論理プリンタが記載されることとなる。
【0158】
第1の論理プリンタは、ドライバモデルが"C_iR−ADV C5045/5051"、論理プリンタ名が"C_iR−ADV C5051"、コメントが"3F share printer"、ポートの種類がIPアドレスを意味する"1"、ポート名が"IP_172.10.10.10"である。
【0159】
第2の論理プリンタは、ドライバモデルが"C_iR−ADV C5045/5051"、論理プリンタ名が"C_iR−ADV C5045"、コメントが"2F share printer"、ポートの種類がIPアドレスを意味する"1"、ポート名が"IP_172.10.10.11"である。
【0160】
図18は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルの一例を示す図であり、ファイル名は"silent.ini"である。
【0161】
図18は、結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルであり、ファイル名は"silent.ini"とする。
図18(a),図18(b)に示すように、"silent.ini"ファイルは、[InstallComplete]、[SelectJob]、及び[PrinterInfo]のセクションを有し、以下の設定が可能である。
【0162】
・Reboot:インストール終了後にPCのリブートを制御するフラグ(0:リブートなし、1:リブート)
・SelectJob:プリンタドライバのインストールモード(0:新規インストール、1:上書きインストール、2:インストールしない)
・PRT1:論理プリンタ名/ドライバモデル/接続ボートを指定する。
【0163】
図18(a)に示す例では、リブートなし、上書きインストールを指定している。論理プリンタ名、ドライバモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定される。
【0164】
以下、図15のフローチャートの説明に戻る。
次に、S1504において、作成部614は、図16(b)に示すように、上記S1502で作成した初期セットアッププログラム(1601及び1602)に、上記S1503で作成した情報ファイル("setup.ini"1603、"silent.ini"1605)と、上記図11のS1106又は図13のS1306で取得したプリンタドライバのインストーラプログラム("setup.exe"1604)を結合する。
【0165】
さらに、S1505において、作成部614は、上記S1504で結合処理したセットアッププログラムのヘッダ部1601を書き換え、図16(b)に示すようなセットアッププログラムを作成する。
【0166】
具体的には、作成部614は、図16(b)に示すように、ヘッダ部1601の"Offset_to_entry"には、各結合ファイルの情報を格納している領域1607のセットアッププログラム先頭からのオフセット"4096"を設定する。
【0167】
さらに、作成部614は、ヘッダ部1601の"Size_of_all_entry"には、各結合ファイルの情報を格納している各領域1606a〜cの合計サイズ"1536"を設定する。
【0168】
さらに、作成部614は、ヘッダ部1601の"size_of_file_entry"には、各結合ファイルの情報を格納している各領域1606a〜cのサイズ"512"を設定する。
【0169】
さらに、作成部614は、ヘッダ部1601の"num_of_entry"には、結合ファイルの情報を格納している領域1606a〜cの総数"3"を設定する。
さらに、作成部614は、結合ファイルの情報を格納する3つ領域1606a〜cを"Offset_to_entry"で指定される領域に確保する。そして、作成部614は、上記確保した3つの領域1606a〜cに、結合したファイルの情報を格納する。
【0170】
詳細には、作成部614は、先頭の領域から、上記S1503で作成した"setup.ini"ファイル1603、ドライバ取得部616が取得しアップロード部615から渡されたインストーラ"setup.exe"1604、上記S1503で作成した"silent.ini"ファイル1605の情報を、それぞれの領域1606a〜cにセットする。以下、詳細に示す。
【0171】
・OFFSET:結合されたファイルが位置するセットアッププログラム先頭からのオフセット
・Size:結合されたファイルのサイズ
・Type:結合されたファイルのタイプ(1:実行ファイル、2:テンポラリファイル、3:情報ファイル、4:その他)
・FILENAME:結合されたファイル名
【0172】
作成部614は、セットアッププログラムのヘッダー書き換え(S1505)を完了すると、セットアッププログラムの作成処理を終了する。これにより、アップロード部615に制御が戻る。
【0173】
次に、印刷装置105側の処理について説明する。
以下、図19を用いて、印刷装置105の監視部603が行う処理を説明する。監視部603は、プリンタ105の稼動と共に起動され、プリンタ105が稼動終了するまで動作するものとする。図19〜図21に示す処理を実現するためのプログラムは予め印刷装置105のPROM221にコンピュータ読み取り可能に記録され、PCPU220によって読み出され実行されているものとする。
【0174】
図19は、印刷装置105の監視部603が行う処理の一例を示すフローチャートである。
まず、S1901において、監視部603は、管理装置101からのセットアッププログラムのアップロード通知があるか否かを判断する。詳細には、監視部603は、所定の手続きに基づき双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。
【0175】
上記S1901において、アップロード通知があったと判断した場合、監視部603は、S1902において、監視部603はプログラム更新部604を呼び出す。同時に、監視部603は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をプログラム更新部604に渡す。これにより、プログラム更新部604は、後述の図20に示すセットアッププログラムの更新処理を行う。
【0176】
そして、セットアッププログラムの更新処理(S1902)が終了すると、監視部603は、S1903に処理を進める。
S1903では、監視部603は、アップロード結果通知を行う。詳細には、監視部603は、接続部226を介して、所定のフォーマットで作成したアップロード結果通知を、上記S1901で検知したアップロード通知の送信元(管理装置101)に送信する。このアップロード結果通知処理を完了すると、監視部603は、S1901に処理を戻す。
【0177】
一方、上記S1901において、アップロード通知がなかったと判断した場合、監視部603は、S1904に処理を進める。
S1904では、監視部603は、構成情報に変化があったか否かを判断する。詳細には、監視部603は、PRAM222等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があった場合には構成情報に変更があったと判断する。
【0178】
上記S1904において、構成情報に変更があったと判断した場合(Yes)、監視部603は、S1905に処理を進める。なお、この際、監視部603は、次回判定時の比較対象のために、PRAM222等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能な設置場所、機器名、IPアドレス等を例とする。
【0179】
S1905では、監視部603は、セットアッププログラムがアップロードされているかを判断する。詳細には、監視部603は、セットアッププログラムの管理装置からのアップロードがあった場合にその旨が管理情報として書き込まれるHD228等の記憶装置に予め用意された領域から、その管理情報を読み出す。そして、読み出した結果、セットアッププログラムの情報が1つ以上存在する場合、監視部603は、セットアッププログラムが管理装置からアップロードされていると判断する。
【0180】
上記S1905において、アップロードされたセットアッププログラムが存在しない(アップロード済みでない)と判断した場合(No)、監視部603は、S1901に処理を戻す。
【0181】
一方、上記S1905において、アップロードされたセットアッププログラムが存在する(アップロード済み)と判断した場合(Yes)、監視部603は、S1906に処理を進める。
【0182】
S1906では、監視部603は、プログラム更新部604を呼び出す。同時に、監視部603は、前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を1件読み出す。そして、読み出したアップロード番号、パス、ファイル名、およびダウンロードページの作成等に必要な情報に加え、更新指示とS1904で取得した構成情報をプログラム更新部604に渡す。これにより、プログラム更新部604は、後述の図20に示すセットアッププログラムの更新処理を行う。
【0183】
そして、セットアッププログラムの更新処理(S1906)が終了すると、監視部603は、S1907に処理を進める。
S1907では、監視部603は、管理装置101からアップロードされた全てのセットアッププログラムの更新処理が終了したか否かを判断する。詳細には、監視部603は、前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しない場合は、全てのセットアッププログラムの更新処理が終了したと判断する。
【0184】
上記S1907において、まだいずれかのセットアッププログラムの更新処理が終了していないと判定した場合(No)、監視部603は、S1906に処理を戻し、次のセットアッププログラムの更新処理を行う。
【0185】
一方、上記S1907において、全てのセットアッププログラムの更新処理が終了したと判定した場合(Yes)、監視部603は、S1901に処理を戻す。
また、上記S1904において、構成情報に変更がないと判断した場合(No)、監視部603は、S1908に処理を進める。
【0186】
S1908では、監視部603は、削除通知があったか否かを判断する。詳細には、監視部603は、双方向インタフェース211を介し、接続部226を通り受信するパケットを検索し、所定フォーマットの削除通知を見つけたときは、管理装置101からの削除通知があったと判断する。また、所定の手続きに基づき、Webサーバ機能部605からの通知を検索し、削除通知があったときは、Webサーバ機能部605から削除通知があったと判断する。
【0187】
上記S1908において、削除通知がなかったと判断した場合(No)、監視部603は、S1901に処理を戻す。
一方、上記S1908において、削除通知があったと判断した場合(Yes)、監視部603は、S1909に処理を進める。
【0188】
S1909では、監視部603は、プログラム更新部604を呼び出す。同時に、監視部603は、削除通知により得たアップロード番号および削除指示をプログラム更新部604に渡す。これにより、プログラム更新部604は、セットアッププログラムの削除処理を行う。
【0189】
そして、セットアッププログラムの削除処理(S1909)が終了すると、監視部603は、S1910に処理を進める。
S1910では、監視部603は、削除結果通知を行う。監視部603は、接続部226を介し、所定のフォーマットで作成した削除結果通知を、上記S1908で検知された削除通知の送信元(管理装置101)に送信し、S1901に処理を戻す。
【0190】
なお、IPアドレス等の構成情報の変化があった場合、本印刷装置から、他の印刷装置にその旨を通知するようにしてもよい。そして、この通知を受けた印刷装置は、保持している上記通知の送信元の印刷装置に対応するセットアッププログラムを更新するようにしてもよい。
【0191】
次に、図20を用いて、印刷装置105のプログラム更新部604によるセットアッププログラムの更新処理を説明する。
図20は、印刷装置105のプログラム更新部604が行うセットアッププログラムの更新処理の一例を示すフローチャートである。
なお、監視部603からの指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、PRAM222等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
【0192】
まず、S2001において、プログラム更新部604は、HD228等の記憶装置に配置された該当のセットアッププログラムを、PRAM222等の記憶装置に確保したワークエリアにコピーする。
【0193】
次に、S2002において、プログラム更新部604は、上記S2001でコピーしたセットアッププログラムに、監視部603から渡された構成情報を反映させる(セットアッププログラム更新)。例えば、セットアッププログラムに含まれるsetup.ini内に記載されるIPアドレスを上記構成情報に基づいて更新する。これにより、IPアドレス等の構成情報が変更された場合でも変更後の構成情報に対応するようにセットアッププログラムが更新されることとなる。また、上述したようにセットアッププログラムの作成時に「第1アップロード機能」が選択されてポート名(PortName)が空白のセットアッププログラムがアップロードされている場合にも、該セットアッププログラム内のポート名(PortName)を、その印刷装置のIPアドレス等で更新することができる。
【0194】
次に、S2003において、プログラム更新部604は、上記S2002で更新したセットアッププログラムを、上記S2001でコピーした元のファイルに上書き保存する。
次に、S2004において、プログラム更新部604は、監視部603から渡された構成情報を反映したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部605が公開するWebページ)に書き込む。これにより、Webサーバ機能部605がクライアント102のWebブラウザ620に送信するWebページ(図5)の内容が更新される。
【0195】
その後、プログラム更新部604は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部604は、更新完了など、本処理の結果を外部通知などするために監視部603に渡す。
【0196】
ここで、印刷装置105のプログラム更新部604が行うセットアッププログラムの削除処理(不図示)について説明する。
まず、プログラム更新部604は、HD228等の記憶装置に配置された該当のセットアッププログラムを、削除する。
【0197】
次に、プログラム更新部604は、該当のセットアッププログラムに関する情報を削除したダウンロード情報を、HD228等の記憶装置に記憶されるWebページ(Webサーバ機能部605が公開するWebページ)に書き込む。その後、プログラム更新部604は、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に、プログラム更新部604は、削除完了など、本処理の結果を外部通知などするために監視部603に渡す。
【0198】
以下、図21を用いて、プリンタ105のWebサーバ機能部605による処理を説明する。
図21は、プリンタ105のWebサーバ機能部605による処理の一例を示すフローチャートである。
まず、S2101において、Webサーバ機能部605は、ユーザによってリロードを指示されたか否かを判断する。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、Webブラウザなどからのリロードのリクエストがあるか判断する。リロードのリクエストが見つかった場合、リロードを指示されたと判断する。
【0199】
上記S2101において、リロード指示されていないと判断した場合(No)、Webサーバ機能部は、S2103に処理を進める。
S2103では、Webサーバ機能部605は、ユーザによってダウンロードを指示されたか否かを判断する。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。
【0200】
上記S2103において、ダウンロード指示がなかったと判断した場合(No)、Webサーバ機能部605は、S2101に処理を戻す。
一方、上記S2103において、ダウンロード指示があったと判断した場合(Yes)、Webサーバ機能部605は、S2104に処理を進める。
【0201】
S2104では、Webサーバ機能部605は、ダウンロードリクエストに指定されたセットアッププログラムをHD228等の記憶装置から取り出す。
次に、S2105において、Webサーバ機能部は、上記S2103で取り出したセットアッププログラムをダウンロード指示したクライアント102のWebブラウザ620に対して送信する。
【0202】
また、上記S2101において、リロード指示されたと判断した場合(Yes)、Webサーバ機能部は、S2102において、Webページを再構築し、リクエスト元のWebブラウザ620に、再構築したページを送出(Webページ更新)し、S2101に処理を戻す。
【0203】
なお、図示しないが、Webサーバ機能部605は、ユーザによって削除を指示されたか否かの判断も行う。詳細には、Webサーバ機能部605は、接続部226を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。そして、削除指示があったと判断した場合、Webサーバ機能部605は、監視部603に削除通知を行う。
【0204】
以下、図22を用いて、セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理について説明する。
図22は、セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理の一例を示すフローチャートである。セットアッププログラム602は、ユーザによってクライアント102へダウンロードされ、実行指示されることでクライアント102のCPU200により実行される。セットアッププログラム602が起動されると、クライアント102のRAM202等の記憶装置に確保されたプログラム領域にロードされ、クライアント102のCPU200によって実行され、セットアップモジュールが実現される。
【0205】
まず、S2201において、セットアップモジュールは、一時フォルダを作成する。例えば、OSが提供している機能を利用し、クライアント102のRAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
【0206】
次に、S2202において、セットアップモジュールは、上記S2201でフォルダ作成が成功したか否かを判断する。
上記S2202において、フォルダ作成が失敗したと判断した場合(No)、セットアップモジュールは、S2209に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
【0207】
一方、上記S2202において、フォルダ作成が成功したと判断した場合(Yes)、セットアップモジュールは、S2203に処理を進める。
S2203では、セットアップモジュールは、結合されているファイルを分離する。詳細には、セットアップモジュールは、図16(b)に示した"silent.ini"ファイル1605(例えば図18(a))、"setup.exe"ファイル1604、"setup.ini"ファイル1603(例えば図17(b))を、上記S2201で作成した一時フォルダに作成する。
【0208】
次に、S2204において、セットアップモジュールは、上記S2203のファイル分離処理が成功したか否かを判断する。
上記2204において、例えば、一時フォルダが書き込み禁止になっていた等の理由で、ファイル分離処理に失敗したと判断した場合(No)、セットアップモジュールは、S2209に処理を進め、クライアント102の表示部207にエラー表示を行い、処理を終了する。
【0209】
一方、上記2204において、ファイル分離処理に成功したと判断した場合(Yes)、セットアップモジュールは、S2205に処理を進める。
S2205では、セットアップモジュールは、分離した"silent.ini"ファイルを適宜更新する。例えば、分離した"silent.ini"ファイルが図18(a)に示すものであったとする。そして、図示しない処理でインストール後にクライアント102の再起動が必要になることが分かった場合、セットアップモジュールは、"silent.ini"ファイル内の[InstallComplete]セクションを"Reboot=0"から"Reboot=1"に書き換える。書き換えられた"silent.ini"の例を図18(b)に示す。図18(b)の例は、図17(b)の設定情報を反映するとともに、"Reboot=1"に書き換えた例である。
【0210】
次に、S2206において、セットアップモジュールは、インストーラを起動する。詳細には、セットアップモジュールは、上記S2203で分離したインストーラ(setup.exe)に、例えば以下のコマンドによって"silent.ini"ファイルを渡し、起動する。
【0211】
「setup.exe/s silent.ini/log silent.log」
上記コマンドは、情報ファイルとして"silent.ini"ファイルを指定し、結果格納ファイルとして"silent.log"ファイルを指定している。このコマンドにより、インストーラは、"silent.ini"ファイルの指示を読み、"silent.ini"に記載がない項目はデフォルト動作をし、その結果を"silent.log"に記載する。
【0212】
次に、S2207において、セットアップモジュールは、上記S2206で起動したインストーラの処理が完了したか否かを判断する。例えば、インストーラの戻り値が"0"のときは完了、"0"以外はエラーで終了したと判断する。
【0213】
上記S2207において、インストーラの処理が完了したと判断した場合(Yes)、セットアップモジュールは、S2210に処理を進める。なお、インストーラの処理が完了した場合、"silent.ini"ファイルの内容に基づく論理プリンタ、図18(b)の例では、"iR−ADV C5051"、"iR−ADV C5045"という名前の論理プリンタが生成されている。
【0214】
S2210では、セットアップモジュールは、インストーラにより生成された論理プリンタのプロパティを設定する。例えば、セットアップモジュールは、Microsoft社のWindows(登録商標)に用意されているWin32関数SetPrinter()を用いて設定する。この関数のPRINTTER_INFO_2構造体のメンバー"pComment"に上記S2203で分離した"setup.ini"ファイルに記載の"Comments"を指定することにより、プロパティ設定を行う。
【0215】
そして、上記S2210のプロパティ設定を終了すると、セットアップモジュールは、本フローチャートの処理を終了する。
一方、上記S2207において、インストーラの処理が完了しなかったと判断した場合(No)、セットアップモジュールは、S2208に処理を進める。
S2208では、セットアップモジュールは、インストーラが作成した"silent.log"からエラー内容を取り出し、S2209に処理を進める。
S2209では、セットアップモジュールは、上記S2210で取り出したエラー内容や、OSから取得できるエラー情報からから適宜エラーメッセージを作成し、クライアント102の表示部207にそのエラーメッセージを表示し、処理を終了する。
【0216】
以上説明したように、1度のインストール操作で複数の印刷装置の論理プリンタを情報処理装置へインストールするためのセットアップファイルを容易に印刷装置に登録することができる。そして、このセットアップファイルにより、ユーザは情報処理装置へプリンタドライバをインストールする際に、1度のインストール操作で複数の印刷装置の論理プリンタを適切にインストールすることが可能となり、インストール時のユーザの負荷を軽減することができる。
【0217】
また、上述のようなセットアップファイルを印刷装置に登録することができるので、別途ファイルサーバを用意する必要がない。また、セットアップファイルで複数の論理プリンタをインストールする場合でも、論理プリンタ数の増加に比べ、セットアップファイルのファイルサイズは増えない。このため、印刷装置の記憶資源を圧迫することなく、複数の論理プリンタをインストール可能なセットアップファイルを印刷装置に登録することができる。よって、ユーザ及び管理者の利便性が向上する。
【0218】
なお、本実施例では、印刷装置のプリンタドライバを情報処理装置にインストールするためのセットアップファイルを印刷装置に登録する構成について説明したが、上述のように、印刷装置は、スキャナ等の他の周辺装置であってもよい。そして、セットアッププログラム(セットアップファイル)は、印刷装置のプリンタドライバをインストールするものに限定されるものではなく、スキャン機能を備える周辺装置のデバイスドライバや、ファクシミリ機能を備える周辺装置のFAXドライバのように、周辺装置のデバイスドライバであればどのようなデバイスドライバをインストールするものであってもよい。
【0219】
以上、本発明によれば、ユーザが1度のインストール操作で容易に情報処理装置へ複数の周辺装置のデバイスドライバを適切にインストール可能にするデバイスドライバインストール環境を容易に構築することができる。
【0220】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【0221】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0222】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0223】
101 情報処理装置(管理装置)
102〜104 情報処理装置(クライアント)
105 印刷装置(プリンタ)
106 ネットワーク
【特許請求の範囲】
【請求項1】
周辺装置にデバイスドライバを登録するための管理装置であって、
デバイスドライバを登録する周辺装置を指定する指定手段と、
前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択手段と、
前記選択手段により前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定手段と、
前記選択手段により前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定手段と、
前記第1設定手段又は第2設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、
を有することを特徴とする管理装置。
【請求項2】
前記第2設定手段は、前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報を外部ファイルから読み込むことを特徴とする請求項1に記載の管理装置。
【請求項3】
前記第2設定手段は、前記外部ファイルから読み込んだ複数の周辺装置のデバイス情報のうち、前記指定されたインストーラプログラムが対応する周辺装置のデバイス情報のみを、前記インストーラプログラムが参照するデバイス情報として設定することを特徴とする請求項2に記載の管理装置。
【請求項4】
前記指定された周辺装置に登録されたセットアップファイルに含まれる前記指定された周辺装置のデバイス情報は、前記指定された周辺装置の設定の変更に応じて、前記指定された周辺装置により、更新されることを特徴とする請求項1乃至3のいずれか1項に記載の管理装置。
【請求項5】
前記第2アップロード機能は、プラグインプログラムとして、前記管理装置の第1アップロード機能を実現するプログラムに対して追加されて実現されることを特徴とする請求項1乃至4のいずれか1項に記載の管理装置。
【請求項6】
前記指定手段は、デバイスドライバを登録する周辺装置を複数指定可能であり、
前記登録手段は、前記セットアップファイルを前記指定された複数の周辺装置に登録することを特徴とする請求項1乃至5のいずれか1項に記載の管理装置。
【請求項7】
前記第1設定手段は、前記インストーラプログラムが参照するデバイス情報として前記指定されたいずれかの周辺装置のデバイス情報を設定し、
前記登録手段により前記各周辺装置に登録されたセットアップファイルに含まれる前記第1設定手段により設定されたデバイス情報は、前記各周辺装置の設定に応じて、前記各周辺装置により、それぞれ更新されることを特徴とする請求項6に記載の管理装置。
【請求項8】
前記登録手段により前記周辺装置に登録された前記セットアップファイルは、情報処理装置にダウンロードされて実行されると、前記セットアップファイルに含まれるインストーラプログラムにより前記セットアップファイルに含まれるデバイス情報に対応する周辺装置のデバイスドライバが前記情報処理装置にインストールされるように構成されたものであることを特徴とする請求項1乃至7のいずれか1項に記載の管理装置。
【請求項9】
周辺装置にデバイスドライバを登録するための管理装置の制御方法であって、
デバイスドライバを登録する周辺装置を指定する指定ステップと、
前記指定ステップで指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択ステップと、
前記選択ステップで前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定ステップと、
前記選択ステップで前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定ステップと、
前記第1設定ステップ又は第2設定ステップにて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録ステップと、
を有することを特徴とする管理装置の制御方法。
【請求項10】
コンピュータを、請求項1乃至8のいずれか1項に記載された手段として機能させるためのプログラム。
【請求項1】
周辺装置にデバイスドライバを登録するための管理装置であって、
デバイスドライバを登録する周辺装置を指定する指定手段と、
前記指定手段で指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択手段と、
前記選択手段により前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定手段と、
前記選択手段により前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定手段と、
前記第1設定手段又は第2設定手段にて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録手段と、
を有することを特徴とする管理装置。
【請求項2】
前記第2設定手段は、前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報を外部ファイルから読み込むことを特徴とする請求項1に記載の管理装置。
【請求項3】
前記第2設定手段は、前記外部ファイルから読み込んだ複数の周辺装置のデバイス情報のうち、前記指定されたインストーラプログラムが対応する周辺装置のデバイス情報のみを、前記インストーラプログラムが参照するデバイス情報として設定することを特徴とする請求項2に記載の管理装置。
【請求項4】
前記指定された周辺装置に登録されたセットアップファイルに含まれる前記指定された周辺装置のデバイス情報は、前記指定された周辺装置の設定の変更に応じて、前記指定された周辺装置により、更新されることを特徴とする請求項1乃至3のいずれか1項に記載の管理装置。
【請求項5】
前記第2アップロード機能は、プラグインプログラムとして、前記管理装置の第1アップロード機能を実現するプログラムに対して追加されて実現されることを特徴とする請求項1乃至4のいずれか1項に記載の管理装置。
【請求項6】
前記指定手段は、デバイスドライバを登録する周辺装置を複数指定可能であり、
前記登録手段は、前記セットアップファイルを前記指定された複数の周辺装置に登録することを特徴とする請求項1乃至5のいずれか1項に記載の管理装置。
【請求項7】
前記第1設定手段は、前記インストーラプログラムが参照するデバイス情報として前記指定されたいずれかの周辺装置のデバイス情報を設定し、
前記登録手段により前記各周辺装置に登録されたセットアップファイルに含まれる前記第1設定手段により設定されたデバイス情報は、前記各周辺装置の設定に応じて、前記各周辺装置により、それぞれ更新されることを特徴とする請求項6に記載の管理装置。
【請求項8】
前記登録手段により前記周辺装置に登録された前記セットアップファイルは、情報処理装置にダウンロードされて実行されると、前記セットアップファイルに含まれるインストーラプログラムにより前記セットアップファイルに含まれるデバイス情報に対応する周辺装置のデバイスドライバが前記情報処理装置にインストールされるように構成されたものであることを特徴とする請求項1乃至7のいずれか1項に記載の管理装置。
【請求項9】
周辺装置にデバイスドライバを登録するための管理装置の制御方法であって、
デバイスドライバを登録する周辺装置を指定する指定ステップと、
前記指定ステップで指定された周辺装置に該周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第1アップロード機能、又は前記指定された周辺装置に該周辺装置とは異なる装置を含む複数の周辺装置のデバイスドライバを情報処理装置にインストールするためのセットアップファイルを登録する第2アップロード機能を選択するための選択ステップと、
前記選択ステップで前記第1アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置のデバイス情報の設定を行うための第1設定ステップと、
前記選択ステップで前記第2アップロード機能が選択された場合に、デバイスドライバをインストールするインストーラプログラムの指定と、該インストーラプログラムが参照するデバイス情報として前記指定された周辺装置とは異なる装置を含む複数の周辺装置のデバイス情報の設定を行うための第2設定ステップと、
前記第1設定ステップ又は第2設定ステップにて指定されたインストーラプログラム及び設定されたデバイス情報を含むセットアップファイルを前記指定された周辺装置の記憶領域に登録する登録ステップと、
を有することを特徴とする管理装置の制御方法。
【請求項10】
コンピュータを、請求項1乃至8のいずれか1項に記載された手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2013−105235(P2013−105235A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−247254(P2011−247254)
【出願日】平成23年11月11日(2011.11.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月11日(2011.11.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]