JP2019049825A - ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 - Google Patents
ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 Download PDFInfo
- Publication number
- JP2019049825A JP2019049825A JP2017173221A JP2017173221A JP2019049825A JP 2019049825 A JP2019049825 A JP 2019049825A JP 2017173221 A JP2017173221 A JP 2017173221A JP 2017173221 A JP2017173221 A JP 2017173221A JP 2019049825 A JP2019049825 A JP 2019049825A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- updated
- customization
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】エンハンスドポイントアンドプリント環境において、適切にカスタマイズドプリンタードライバーの更新インストール処理を行う。【解決手段】ポイントアンドプリント環境におけるドライバーの更新方法であって、クライアントにインストールされている更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かを判定し、エンハンスドポイントアンドプリントドライバーであると判定された場合、前記更新対象のドライバーに対して行われたカスタマイズの内容を示す第1のカスタマイズ情報と、更新に用いられるドライバーに対して行われたカスタマイズの内容を示す第2のカスタマイズ情報とを取得し、カスタマイズ情報における所定の情報の比較により、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致するか否かを判定し、一致すると判定された場合、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行う。【選択図】 図11
Description
本発明は、ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置に関する。
Microsoft(登録商標)のWindows8(登録商標)では、V4プリンタードライバーと呼ばれるアーキテクチャで動作するプリンタードライバーが導入されている。V4プリンタードライバーは、V3プリンタードライバーのアーキテクチャとして提供されていたXPS(XML Paper Specification)プリンタードライバーの後継となるアーキテクチャであり、XPS文書を利用した印刷パスを利用している。XPSは、XML形式で記載された文書データであり、印刷設定情報であるPrintTicketや描画命令を含むことができる。
V4プリンタードライバーアーキテクチャで動作する共有プリンターの仕組みとして、エンハンスドポイントアンドプリントと呼ばれる技術が存在する。エンハンスドポイントアンドプリントは、V3プリンタードライバーのポイントアンドプリントとは異なり、サーバー側にインストールされたプリンタードライバーのすべてが、モジュールクライアント側に渡されるわけではない。V4プリンタードライバーを構成する機種情報がクライアント側にダウンロードされ、さらにV4プリンタードライバーが扱うことができるデータ領域のキュープロパティバッグの情報の共有が行われる。ここでの機種情報としては、例えば、GPD(Generic Printer Description)と呼ばれる印刷設定定義ファイルなどが挙げられる。クライアント側のオペレーティングシステムにあらかじめインストールされているエンハンスドポイントアンドプリントドライバーがこれらの情報を読み込んで、クライアント側のドライバーとして動作する。
また、エンハンスドポイントアンドプリント環境ではプリンターエクステンションと呼ばれるV4プリンタードライバーアーキテクチャにおける印刷設定UIモジュールがクライアント側にダウンロードされない。そのため、クライアント側で表示される印刷設定UIは、サーバー側の印刷設定UIとは異なりユーザビリティの低いUI(例えば、ツリービュー形式)が表示される。その場合、サーバー側と同様の印刷設定UIを利用するために、クライアント側に対してサーバー側にインストールされているプリンタードライバーをインストールし、プリンタードライバーを更新することが望ましい。特にカスタマイズドプリンタードライバーと呼ばれる、カスタマイズツールで生成されたプリンタードライバーにおいては、印刷設定UIの制御を含む。そのため、サーバー側とクライアント側が印刷設定UIを含んだプリンタードライバーが同一のものであることが必要である。
カスタマイズドプリンタードライバーとは、印刷設定のデフォルト値を決められた値に制御され、印刷設定UIの各機能の表示/非表示を制御された状態でインストールされるプリンタードライバーのことを指す。カスタマイズドプリンタードライバーは、プリンタードライバーをインストールするインストーラーがカスタマイズ情報を読み込んで、プリンタードライバーインストール後に情報を反映することで実現ができる。
さらに、プリンタードライバーをインストールするインストーラーは、更新インストールの場合に共有プリンターであるか否かを判定して処理を変える必要がある。例えば、特許文献1では、更新対象のプリンタードライバーに対応するプリンターが共有プリンターであれば、そのプリンタードライバーを更新しないように制御する手段が提案されている。
特許文献1では、インストーラーが更新対象のプリンタードライバーが共有プリンターであるか否かを判定し、プリンタードライバーを更新するか否かを制御している。しかしながら、V4プリンタードライバーにおいては、エンハンスドポイントアンドプリント環境のように印刷設定UIモジュールが利用できないケース場合が多く存在する。このような状況下で更新インストールを行わない場合、クライアント側のユーザーはユーザビリティが低いUIを利用しなければならなくなる。その結果、特にカスタマイズドプリンタードライバーのようなUIと密接に関連する機能が利用できなくなってしまう。
更には、カスタマイズドプリンタードライバーのような、インストーラーが特定の情報を反映してカスタマイズ処理を行うプリンタードライバーに対しても考慮する必要がある。このとき、カスタマイズドプリンタードライバーのための特定の情報の更新に関してはサーバー側の管理者権限が必要になる。通常、キュープロパティバッグのアクセス権限は、クライアント側には与えられていない。そのため、インストーラーがカスタマイズドプリンタードライバーのための特定の情報を更新することができず、プリンタードライバーの更新に失敗する場合がある。
本発明は上記問題を鑑み、V4プリンタードライバーにおけるエンハンスドポイントアンドプリント環境で、かつ、カスタマイズドプリンタードライバーのように特定の情報が更新できないような環境を想定する。そしてこのような環境においても、適切にカスタマイズドプリンタードライバーのインストール処理を行うことを可能とする。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、ポイントアンドプリントのクライアント環境におけるドライバーの更新方法であって、クライアントにインストールされている更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かを判定する工程と、前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであると判定された場合、前記更新対象のドライバーに対して行われたカスタマイズの内容を示す第1のカスタマイズ情報と、更新に用いられるドライバーに対して行われたカスタマイズの内容を示す第2のカスタマイズ情報とを取得する工程と、前記第1のカスタマイズ情報および前記第2のカスタマイズ情報における所定の情報の比較により、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致するか否かを判定する工程と、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致すると判定された場合、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行う工程とを有する。
本発明により、エンハンスドポイントアンドプリントのような環境において、適切にカスタマイズドプリンタードライバーの更新インストール処理を行うことができる。
以下、本発明を実施するための形態について図面を用いて説明する。
<第1の実施形態>
図1は、本発明の実施形態を適用可能な代表的なコンピューターのハードウェア構成の例を示す図である。本実施形態では、主に情報処理装置であるクライアント100およびサーバー150の各コンピューターのハードウェア構成の一例に該当する。なお、ここでは、クライアント100とサーバー150とは、同一の構成を有した例を挙げて説明するが、これに限定するものではない。
図1は、本発明の実施形態を適用可能な代表的なコンピューターのハードウェア構成の例を示す図である。本実施形態では、主に情報処理装置であるクライアント100およびサーバー150の各コンピューターのハードウェア構成の一例に該当する。なお、ここでは、クライアント100とサーバー150とは、同一の構成を有した例を挙げて説明するが、これに限定するものではない。
CPU101は、主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリケーション1051や、プリンタードライバー1052や、カスタマイズツール1053、オペレーティングシステム1054等を記憶する。アプリケーション1051や、プリンタードライバー1052は、不図示のCD−ROMやUSBメモリあるいはネットワーク160を経由して補助記憶装置105に追加することが可能である。
キーボード1031やマウスもしくはタッチパネルなどに代表されるポインティングデバイス1032などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニター1041などの出力機器に対してデータを出力する。コンピューターとプリンター140とは、通信I/F106を通じて接続されるネットワーク160を通して接続されている。また、システムバス107は共通データシステムバスであり、ハードウェアモジュール間でそれぞれのデータのやりとりに使われる。
図2は、本発明の実施の形態におけるネットワーク160の環境を簡略した図である。印刷を行う文書や画像を作成する1または複数のクライアント100がネットワーク160に接続されている。また、クライアント100のユーザーやプリンター140を管理するサーバー150が接続されている。また、1または複数のプリンター140がネットワーク160に接続されている。ネットワーク160の構成としては、PAN(Personal Area Network)、LAN(Local Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)などの小規模から大規模までのネットワークがあり、特に限定するものではない。各機器は、ネットワーク160に接続され、通信可能となっている。また、クラウドなど、サーバー150やプリンター140がインターネット(不図示)を越えて接続されていてもよい。
図3は、本実施形態に係るクライアント100およびサーバー150における印刷処理システムの構成例を示す図である。印刷処理システムはXPSファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。印刷処理システムは、オペレーティングシステム1054上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219は、オペレーティングシステム1054から提供される。GDI(Graphics Device Interface)は、プリンター140の印刷イメージの生成を行うグラフィックスコンポーネントである。GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を備える。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。ポートモニター219は、デバイスにアクセスするプリントマネージャ218とプリンタードライバー1052間で通信を制御することができ、プリンタードライバー1052はポートモニター219を経由して印刷処理を行う。
コンフィギュレーションモジュール208は、プリンタードライバー1052が提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。印刷設定編集モジュール2081はスクリプト言語で記載され、プリンタードライバー1052が提供するドライバープロパティバッグ2082、キュープロパティバッグ2083を利用して印刷設定情報を編集する。ここで用いられるスクリプト言語の種類は、特に限定するものではない。ドライバープロパティバッグ2082は、プリンターの機種依存情報として利用するためのデータ群である。ドライバープロパティバッグ2082は、ドライバーパッケージ内に存在するプリンターの機種に依存するデータを示し、プリンタードライバーのインストール後にオペレーティングシステム1054内の特定の領域に読み取り専用としてデータ群が保持される。キュープロパティバッグ2083は、プリントキューに紐づいたデータ群が保持された記憶領域のことを指す。キュープロパティバッグ2083は、Key−ValueペアのXML定義ファイルをオペレーティングシステム1054に登録することで利用することが可能である。キュープロパティバッグ2083に含まれるValueに関しては、一定の権限により編集が可能である。
フィルタパイプラインマネージャ212の各フィルタは、図1の補助記憶装置105にプリンタードライバー1052として格納されている。GDI印刷アプリケーション201とXPS印刷アプリケーション202は、図1の補助記憶装置105にアプリケーション1051として格納されている。ユーザーはキーボード1031やポインティングデバイス1032などの入力装置を使用して、出力装置のモニター1041に映し出されたGDI印刷アプリケーション201、又はXPS印刷アプリケーション202のUIから印刷処理を実行する。印刷処理はプリンターの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。
[プリンタードライバーのインストールの流れ]
まず、プリンタードライバー1052をインストールする手段について説明する。図4(A)は、プリンタードライバーパッケージ300のファイル構成の例を示す図である。プリンタードライバーパッケージ300は、プリンタードライバー1052をインストールするためのインストーラー310とプリンタードライバー1052を含んで構成される。更にプリンタードライバー1052は、INFファイル240、プリンターエクステンション210、レイアウトフィルタ214、機種依存ファイル209、及びレンダラフィルタ215を含んで構成される。インストーラー310は、INFファイル240に記載されたインストール用の設定を元に、プリンタードライバー1052をオペレーティングシステム1054に設置する実行モジュールである。ユーザーからのプリンタードライバー1052のインストール要求に応じて、オペレーティングシステム1054は、インストーラー310を補助記憶装置105からRAM1022にロードし、CPU101を用いて実行させる。
まず、プリンタードライバー1052をインストールする手段について説明する。図4(A)は、プリンタードライバーパッケージ300のファイル構成の例を示す図である。プリンタードライバーパッケージ300は、プリンタードライバー1052をインストールするためのインストーラー310とプリンタードライバー1052を含んで構成される。更にプリンタードライバー1052は、INFファイル240、プリンターエクステンション210、レイアウトフィルタ214、機種依存ファイル209、及びレンダラフィルタ215を含んで構成される。インストーラー310は、INFファイル240に記載されたインストール用の設定を元に、プリンタードライバー1052をオペレーティングシステム1054に設置する実行モジュールである。ユーザーからのプリンタードライバー1052のインストール要求に応じて、オペレーティングシステム1054は、インストーラー310を補助記憶装置105からRAM1022にロードし、CPU101を用いて実行させる。
本実施形態では、プリンタードライバー1052は、SFP(Single Function Printer)やMFP(Multi−Function Printer)など複数のモデルに対応している。そのため、INFファイル240に複数のモデルに関する設置方法の情報が記載されている。プリンタードライバー1052を設置する際は、ユーザーによるインストール対象のモデル選択や出力先のプリンター140の指定を受け付け、その指定に基づいてインストールが実行される。
さらに、図2の示すように、システム内に複数台のプリンターや、複数種類のモデルのプリンターが存在する場合がある。出力先のプリンター毎に、プリンタードライバー1052に対応するモデルや印刷設定の初期値および印刷ジョブをそれぞれ管理する必要がある。そのため、オペレーティングシステム1054は、プリンタードライバー1052のインストールの際にプリンターキューを出力先のプリンター140を表すオブジェクトとして生成して保持する。そして、オペレーティングシステム1054は、このプリンターキューに紐づけてプリンタードライバー1052の構成モジュールや印刷設定の初期値を管理する。オペレーティングシステム1054にプリンタードライバー1052が設置されると、アプリケーション1051からの印刷設定要求や印刷要求をプリンタードライバー1052のモジュールで処理可能になり、対応するプリンター140での印刷処理が可能になる。
次に印刷設定が作成される。まず、アプリケーション1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリケーション1051は、プリンタードライバー1052のコンフィギュレーションモジュール208を呼び出し、印刷設定データを作成してRAM1022に格納する。GDI印刷アプリケーション201では印刷設定データとしてバイナリのDEVMODE203を用いる。一方、XPS印刷アプリケーション202ではマークアップ言語のXMLで記載されたPrintTicket204を用いる。DEVMODE203は、データ構造体で定義されており、オペレーティングシステム1054が定義する標準領域とプリンタードライバー1052が独自で定義する拡張領域を有する。PrintTicket204は、XML形式で記述された印刷設定情報であり、標準領域と拡張領域は名前空間によって記載が分けられている。
印刷設定データには機種固有の情報も含まれている。コンフィギュレーションモジュール208は、機種依存ファイル209を利用して、印刷設定データを作成する。このDEVMODE203もしくはPrintTicket204が印刷設定を保持しており、アプリケーション1051が直接、値を書き換えることで印刷設定を変更する。機種依存ファイル209は、GPDと呼ばれる印刷設定定義ファイルを指す。プリンター140に依存した印刷設定は、プリンターエクステンション210が備えるユーザーインターフェースを介して設定することができる。
プリンタードライバー1052は、ユーザーインターフェースの設定に従い、DEVMODE203もしくはPrintTicket204のプリンター140に依存した設定を変更する。プリンタードライバー1052がアプリケーション1051から印刷設定の変更指示を受けた場合、対応するプリンターエクステンション210がオペレーティングシステム1054によってRAM1022にロードされ、CPU101により実行される。その実行の結果、印刷設定UI3000がモニター1041に表示される。図5は、印刷設定UI3000の操作画面の一例を示す。図5に示すように、印刷設定UI3000は、複数のタブで構成されており印刷設定とデバイス設定を受け付ける。図5(A)に示すタブ3100は印刷設定のためのタブであり、両面印刷やカラー印刷などの印刷設定のための様々なUIコントロールが配置されている。プリンターエクステンション210は、UIコントロールへのキーボード1031やポインティングデバイス1032を介した操作に基づいて、現在の印刷設定を生成する。図5(B)に示すタブ3200は、排紙オプションや両面ユニットなどのデバイスオプションを管理するためのタブである。
様々なユーザー要望に応えるために、排紙オプションや両面ユニットなどのプリンター140に装着可能なハードェアがデバイスオプションとして提供される。例えば、印刷出力物にステープルを行うハードウェアであるフィニッシャーなどが、プリンターの標準構成とは別のデバイスオプションとして提供されている。このとき、ステープルするためには、対応するフィニッシャーをプリンター140に別途装着する必要がある。また、両面印刷機能を滅多に使わないユーザーのために、低機能もしくは単機能のプリンターでは標準構成のプリンターには物理的な両面機構を含まず、デバイスオプションとして両面ユニットを装着した際にのみ、両面印刷が可能になるというプリンターも存在する。
これらの状況に対応するため、現在の出力先のプリンター140でどのデバイスオプションが装着されているかを管理する必要がある。プリンター140と通信可能な場合、現在のデバイスオプションの設定は、デバイス情報取得ボタン3202を押下することにより、ネットワーク160経由でプリンター140より取得することが可能である。プリンターエクステンション210は、取得されたデバイス情報を元に、現在装着されているデバイスオプションの情報をデバイスオプション一覧3201に反映する。プリンター140と通信できない場合は、デバイスオプション一覧3201の各項目の選択を受け付けることにより、UIコントロール3203が変更され、手動で変更することも可能である。
プリンターエクステンション210は、タブ3200でのデバイスオプションの設定に応じて、タブ3100で使えない印刷設定のUIコントロールを選択できない状態で表示とする。印刷設定UI3000の各タブで各種印刷設定を設定された後、最終的にボタン3001の押下を受け付けた場合、プリンターエクステンション210は、オペレーティングシステム1054に印刷設定とデバイスの設定を出力し、印刷設定の変更処理を終了する。
本実施形態に係るプリンタードライバー1052は、複数のモデルのプリンター140に対応する。プリンター140の各モデルでサポートする印刷機能やデバイスオプションはモデルに依存して異なる。各モデルでの印刷機能やデバイスオプションのサポート情報は機種依存ファイル209にまとめられている。プリンターエクステンション210の実行時に機種依存ファイル209を参照することにより、印刷設定UI3000に表示するUIコントロールを変更し、そのモデルがサポートしている印刷機能やデバイスオプションのみを表示する。
印刷設定は文書印刷のたびに作成される。ここで、プリンター140のオプション機器や、ユーザーごとの環境設定など、設定を保持しておきたいものは、プリンターエクステンション210がオペレーティングシステム1054のレジストリデータベース205に保存する。レジストリデータベース205が使用できないときは、プリンターエクステンション210は、アプリケーションデータ220に設定を保存する。印刷設定のデフォルト値は、オペレーティングシステム1054のプリントマネージャ218が、レジストリデータベース205に保存する。レジストリデータベース205や、アプリケーションデータ220は、補助記憶装置105に保存される。
印刷設定が確定した後、ユーザーはアプリケーション1051から印刷処理を実行する。GDI印刷アプリケーション201から印刷する場合、オペレーティングシステム1054のモジュールであるGDItoXPS変換モジュール207に描画データが送られ、XPSスプールファイル206が作成される。このとき、GDItoXPS変換モジュール207は、コンフィギュレーションモジュール208を呼び出し、印刷設定をDEVMODE203からPrintTicket204に変換する。変換する際には、コンフィギュレーションモジュール208によって、印刷設定編集モジュール2081が使用される。一方、XPS印刷アプリケーション202から印刷する場合、XPSファイルをアプリケーション自身が生成する方法と、オペレーティングシステム1054がアプリケーションからの描画命令に応じてXPSファイルを生成する方法の2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル206を生成する。
GDI印刷アプリケーション201又はXPS印刷アプリケーション202から印刷の指示が行われることでXPSスプールファイル206が生成されたら、プリントフィルタパイプライン211に処理が渡される。プリントフィルタパイプライン211は複数のフィルタを通すことで印刷が行われる仕組みであり、フィルタコンフィグレーションファイル216でフィルタの数や順番を制御する。また、各フィルタで利用できるような共通領域であるプロパティバッグ217が存在する。
本実施形態において、フィルタパイプラインマネージャ212は、レイアウトフィルタ214、及び、レンダラフィルタ215を含んで構成される。レイアウトフィルタ214は、製本やスタンプのレイアウト処理を行う機構を持つ。レンダラフィルタ215は、XPSスプールファイル206をレンダリングしてPDL(Page Description Language)に変換する機構を持つ。PDLデータは、印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター140が印刷できる状態になったら、PDLデータは、キューに登録した順にポートモニター219を通して送信される。このようにして、アプリケーションからの印刷データをPDLデータに変換することがプリンタードライバー1052の主な役目であり、プリンターにより印刷処理が行われる。
[カスタマイズツール]
ここで、カスタマイズツール1053について説明する。カスタマイズツール1053は、プリンタードライバー1052がオペレーティングシステム1054に設置された直後の印刷設定をカスタマイズするためのツールである。図4(B)は、カスタマイズツール1053のモジュールおよびファイルの構成例を示す。カスタマイズツール1053は、ツール10531、ツール用データ10532、及び、オペレーティングシステム処理のエミュレータである疑似APIモジュール10533を含んで構成される。
ここで、カスタマイズツール1053について説明する。カスタマイズツール1053は、プリンタードライバー1052がオペレーティングシステム1054に設置された直後の印刷設定をカスタマイズするためのツールである。図4(B)は、カスタマイズツール1053のモジュールおよびファイルの構成例を示す。カスタマイズツール1053は、ツール10531、ツール用データ10532、及び、オペレーティングシステム処理のエミュレータである疑似APIモジュール10533を含んで構成される。
カスタマイズツール1053でカスタマイズされたカスタマイズドドライバーパッケージ400をオペレーティングシステム1054にインストールすると、工場出荷時に決められた印刷設定UI3000での初期設定と異なる印刷設定の初期値に変更することができる。例えば、
両面設定:オン
カラーモード:モノクロ
ステープル:左上
などプリンタードライバーが示す工場出荷時とは異なる初期値を、インストール後のプリンタードライバー1052に適用することができる。
両面設定:オン
カラーモード:モノクロ
ステープル:左上
などプリンタードライバーが示す工場出荷時とは異なる初期値を、インストール後のプリンタードライバー1052に適用することができる。
図4(C)は、図4(A)に示すプリンタードライバーパッケージ300を元に、カスタマイズツール1053でカスタマイズされたカスタマイズドドライバーパッケージ400のモジュールおよびファイルの構成例を示す。図4(A)と図4(C)の違いは、図4(C)に示すカスタマイズドプリンタードライバーパッケージ440では、カスタマイズ設定ファイル410が含まれる点である。カスタマイズ設定ファイル410は、ツール設定情報420とカスタマイズ情報430を含んで構成される。ツール設定情報420は、カスタマイズの元となったプリンタードライバーパッケージ300のバージョンや、カスタマイズツール1053のバージョンなど、カスタマイズには直接影響しない情報を格納する。カスタマイズ情報430は、カスタマイズされたことを表す一意の識別番号(カスタムコード)やユーザーが設定した印刷設定初期値情報などを格納する。
ツール10531は、カスタマイズにより、プリンタードライバーパッケージ300にカスタマイズ設定ファイル410を追加し、カスタマイズドドライバーパッケージ400として生成する。カスタマイズドドライバーパッケージ400を使ってプリンタードライバーをオペレーティングシステム1054に設置すると、インストーラー310は、カスタマイズ設定ファイル410に従ってプリンターキューにカスタマイズ設定を適用する。この適用により工場出荷時とは異なる設定値をインストール後のプリンタードライバー1052の初期値として適用する。
[カスタマイズ処理]
次に図6Aを用いて、カスタマイズツール1053でのカスタマイズ処理を説明する。この処理は、ユーザーの指示に応じて、オペレーティングシステム1054がカスタマイズツール1053のツール10531を補助記憶装置105からRAM1022にロードし、CPU101に実行を依頼することにより開始される。なお、本フローチャートの処理の主体は、特に断らない限りツール10531である。本実施形態に係るツール10531は、複数のダイアログを表示し、設定に必要な順番に沿って表示設定するウィザード形式のアプリを例に挙げて説明する。ここでは、図7に画面の表示例を示し、併せて説明を行う。なお、ウィザード形式のアプリに限定する必要はなく単一ダイアログのアプリなどでもよい。
次に図6Aを用いて、カスタマイズツール1053でのカスタマイズ処理を説明する。この処理は、ユーザーの指示に応じて、オペレーティングシステム1054がカスタマイズツール1053のツール10531を補助記憶装置105からRAM1022にロードし、CPU101に実行を依頼することにより開始される。なお、本フローチャートの処理の主体は、特に断らない限りツール10531である。本実施形態に係るツール10531は、複数のダイアログを表示し、設定に必要な順番に沿って表示設定するウィザード形式のアプリを例に挙げて説明する。ここでは、図7に画面の表示例を示し、併せて説明を行う。なお、ウィザード形式のアプリに限定する必要はなく単一ダイアログのアプリなどでもよい。
S601にて、ツール10531は、図7(A)に示す使用許諾書ダイアログ5000をモニター1041に表示する。ポインティングデバイス1032を用いたユーザーからのボタン5001の押下を受け付けたことに応じて、次の処理へ進む。
S602にて、ツール10531は、図7(B)に示すカスタマイズ対象のモデル選択ダイアログ5100を表示する。モデル選択ダイアログ5100は、カスタマイズの元となるプリンタードライバー1052のフォルダパス指定と、そのプリンタードライバー1052が対応するモデルのうちカスタマイズ対象とするモデルを選択するためのダイアログである。参照ボタン5101の押下を受け付けたことに応じて、図7(C)に示すオペレーティングシステム標準のフォルダー指定ダイアログ5200が表示される。この表示は、ツール10531がオペレーティングシステム1054に依頼することでフォルダー指定ダイアログ5200の表示がモニター1041に表示され、ユーザーによるフォルダーの指定を受け付ける。
ポインティングデバイス1032によるユーザーからの指定を受け付けたことに応じて、オペレーティングシステム1054は、カスタマイズの元となるプリンタードライバー1052のフォルダパスの情報をツール10531に返却する。ツール10531は、フォルダパスの位置に存在するプリンタードライバー1052がカスタマイズツール1053で対応しているものか否かを確認する。ツール10531は、プリンタードライバー1052の構成やINFファイル240の記載およびプリンターエクステンション210のExport関数の有無等に基づいて、確認処理を行う。ここでの確認処理や、プリンタードライバー1052の各モジュールが圧縮されて格納されている場合の解凍処理、およびバックアップのファイルコピー処理は、時間がかかる場合がある。そのため、これらの処理中において、ツール10531は、図7(D)に示す処理の進行状況を示すプログレスダイアログ5110を、モデル選択ダイアログ5100の手前(前面)に表示する。
ツール10531は、プリンタードライバー1052をカスタマイズ可能と判定した場合、図7(E)に示すカスタマイズ対象のモデル選択ダイアログ5100をモニター1041に表示する。テキストボックス5102に、指定されたフォルダパスが表示され、またリストボックス5103に、指定されたフォルダパスのプリンタードライバー1052で対応するモデルの名称が列挙されている。リストボックス5103の各モデル名の前には、チェックボックス5104が存在する。カスタマイズ対象にしたいモデルのチェックボックス5104を一つ以上チェックすると、ボタン5105が操作可能になる。その後、ボタン5105の押下を受け付けたことに応じて、ツール10531は、次の処理へ進む。ここで、チェックボックス5104にチェックを付けたモデルがカスタマイズ対象に指定されたモデル群となる。
S603にて、ツール10531は、詳細カスタマイズ設定処理を実行する。この処理の詳細を図6Bのフローチャートを用いて説明する。併せて、図8に画面の表示例を用いて、説明を行う。
S611にて、ツール10531は、図8(A)に示す詳細カスタマイズ設定ダイアログ6000を表示する。
S612にて、ツール10531は、詳細カスタマイズ設定ダイアログ6000への操作を受け付ける。詳細カスタマイズ設定ダイアログ6000はカスタマイズ対象に指定されたモデル群を表示するリストビュー6001を備える。図8(A)において、リストビュー6001では、一つのモデル(プリンター名「MFP 1000」)が選択状態になっており、ポインティングデバイス1032により、選択状態のモデルを変更可能である。また、リストビュー6001は、各プリンターに関するカスタマイズ情報430として、印刷設定、お気に入り、スタンプ、デバイス設定/管理者設定の項目を示している。該当項目でカスタマイズが行われた場合は、“変更あり”という文字が表示される。また、詳細カスタマイズ設定ダイアログ6000では、リストビュー6001で一つのモデルを選択状態では、設定ボタン6002の押下を受け付けることができる。
S613にて、ツール10531は、設定ボタン6002の押下を受け付けたか否かを判定する。設定ボタン6002の押下を受け付けた場合(S613にてYES)S614へ進み、受け付けていない場合(S613にてNO)S618へ進む。
S614にて、ツール10531は、詳細カスタマイズのために、選択状態のモデルに対する、図5(A)に示す印刷設定UI3000を表示する。印刷設定UI3000の表示処理は、プリンターエクステンション210を、疑似APIモジュール10533を用いて呼び出すことにより実現する。プリンターエクステンション210の呼び出し時には、以前にカスタマイズしたカスタマイズ情報430が受け渡される。これにより、印刷設定UI3000の初期表示に、以前カスタマイズしたカスタマイズ情報430を適用して表示することもできる。
印刷設定UI3000を介した操作への応答および印刷設定の生成処理は、プリンターエクステンション210が行う。印刷設定UI3000は、プリンタードライバー1052に含まれるプリンターエクステンション210を用いる。そのため、通常のアプリケーションからの印刷設定の操作と同じ操作感で印刷設定を行え、その結果である印刷設定をカスタマイズ情報として入手することができる。
S615にて、ツール10531は、印刷設定UI3000にてボタン3001が押下されることにより印刷設定UI3000が閉じられたか否かを判定する。ボタン3001の押下により印刷設定UI3000が閉じられた場合(S615にてYES)、S616へ進み、ボタン3001の押下以外の操作により印刷設定UI3000が閉じられた場合(S615にてNO)何もせずにS611へ戻る。
S616にて、ツール10531は、現在選択中のモデルに対して設定された詳細カスタマイズ設定を保存する。印刷設定UI3000が閉じられた後は、詳細カスタマイズ設定ダイアログ6000が再度表示される。
S617にて、ツール10531は、詳細カスタマイズ設定ダイアログ6000にてボタン6003が押下されたか否かを判定する。ボタン6003が押下された場合(S618にてYES)本処理フローを終了し、ボタン6003が押下されていない場合(S618にてNO)S612へ戻る。
図6Aの説明に戻る。S604にて、ツール10531は、カスタマイズドドライバーパッケージ400の出力処理を実行する。ここで、ツール10531は、図8(B)に示すカスタマイズドドライバーパッケージ400の作成ダイアログ6100を表示する。作成ダイアログ6100は、カスタマイズドドライバーパッケージ400の保存先フォルダパスを指定するための参照ボタン6101を備える。参照ボタン6101の押下を受けると、図8(C)に示すオペレーティングシステム標準のフォルダー指定ダイアログ6200が表示される。この表示は、ツール10531がオペレーティングシステム1054に依頼することで行われ、オペレーティングシステム1054が同ダイアログへのフォルダーの指定操作を受け付ける。ポインティングデバイス1032による指定操作を受け付けると、オペレーティングシステム1054はフォルダパスの情報をツール10531に返却する。オペレーティングシステム1054から戻されたフォルダパスの情報を用いて、ツール10531は、保存先のテキストボックス6102に表示する。
作成ダイアログ6100は、カスタムコードを指定するためのUIコントロール6103を備える。UIコントロール6103で受け付けたカスタムコードは、カスタマイズ設定ファイル410のツール設定情報420として、カスタマイズドドライバーパッケージ400に保存される。プリンタードライバー1052のオペレーティングシステム1054への設置後においては、カスタムコードは、印刷設定UI3000のバージョン情報ボタン3204を押下した際に表示されるダイアログで確認することができる。作成ダイアログ6100において保存ボタン6105の押下を受け付けると、ツール10531は、図8(D)に示すカスタマイズドドライバーパッケージ400の作成中ダイアログ6300をモニター1041に表示する。なお、ここでのカスタムコードは、ユーザーがUIコントロール6103を介して指定する構成としたが、これに限定するものではなく、システム側にて任意の値を識別情報として決定し、提示するようにしてもよい。
カスタマイズドドライバーパッケージ400の作成は、元になったプリンタードライバーパッケージ300を保護するために丸ごとコピーし、別のプリンタードライバーパッケージを作る必要がある。この処理は比較的時間を要する。そのため、作成中ダイアログ6300は、プログレスバー6301で処理の進行状況を表示する。最終的には、ツール10531は、詳細カスタマイズ設定処理(図6B)で生成したカスタマイズ設定を、カスタマイズ設定ファイル410として、カスタマイズドドライバーパッケージ400に追加で保存する。これにより、図4(C)に示す構成を持つカスタマイズドドライバーパッケージ400が作成される。そして、本処理フローを終了する。
[インストール処理]
次に本実施形態に係るインストール処理ついて説明する。本実施形態では、図2に示すように、サーバー150とクライアント100がネットワーク160を介して通信可能に接続されている。
次に本実施形態に係るインストール処理ついて説明する。本実施形態では、図2に示すように、サーバー150とクライアント100がネットワーク160を介して通信可能に接続されている。
サーバー150へのカスタマイズドドライバーパッケージ400の新規インストール方法、クライアント100の共有プリンター生成方法、そしてクライアント100へのカスタマイズドドライバーパッケージ400の更新インストール方法について、順に説明する。サーバー150へのカスタマイズドドライバーパッケージ400およびクライアント100へのカスタマイズドドライバーパッケージ400に利用するインストーラー310は、同一のモジュールであるためフローチャートは同一になる。なお、本実施形態では、サーバー環境におけるインストールは「新規インストール」とし、クライアント環境におけるインストールは「更新インストール」として説明する。
(新規インストール)
まず、サーバー150へのカスタマイズドドライバーパッケージ400の新規インストールについて、図9および図10を用いて説明する。なお、サーバー150へのカスタマイズドドライバーパッケージ400のインストールはシステム管理者が行い、クライアント100からのポイントアンドプリントを利用した共有プリンターの仕組みを利用することを想定する。つまり、システム管理者は、新規インストールの実行の際に、管理者権限を備えているものとする。本フローチャートの処理を行うモジュールはインストーラー310であり、以下の説明において記載がない限り、処理の主体はインストーラー310である。インストーラー310は、補助記憶装置105からRAM1022にロードされ、CPU101によって実行される。
まず、サーバー150へのカスタマイズドドライバーパッケージ400の新規インストールについて、図9および図10を用いて説明する。なお、サーバー150へのカスタマイズドドライバーパッケージ400のインストールはシステム管理者が行い、クライアント100からのポイントアンドプリントを利用した共有プリンターの仕組みを利用することを想定する。つまり、システム管理者は、新規インストールの実行の際に、管理者権限を備えているものとする。本フローチャートの処理を行うモジュールはインストーラー310であり、以下の説明において記載がない限り、処理の主体はインストーラー310である。インストーラー310は、補助記憶装置105からRAM1022にロードされ、CPU101によって実行される。
本処理は、サーバー150上において、カスタマイズドドライバーパッケージ400に含まれるインストーラー310の実行ファイルをポインティングデバイス1032などでダブルクリックすることなどで起動し、インストール処理が開始される。
S901にて、インストーラー310は、図10(A)に示す使用許諾書ダイアログ1000を表示する。ポインティングデバイス1032を用いたユーザーからのボタン1001の押下を受け付けると、次の処理へ進む。
S902にて、インストーラー310は、インストール対象となるモデルリストをモニター1041に提示する。具体的には、インストーラー310は、モニター1041に図10(B)に示すようなプリンター選択ダイアログ画面1002を表示する。ここでのインストール対象となるモデルリストは、図6Aおよび図6Bで選択し、カスタマイズしたモデルが一覧1003として列挙されるものとする。
S903にて、インストーラー310は、ユーザーからのインストール対象とするモデル選択を、一覧1003に設けられたラジオボタンに対する入力にて、受け付ける。本実施形態では、図10(B)のように一つのモデル(ここでは「MFP 1000」)が選択されているが、複数指定することも可能である。ポインティングデバイス1032を用いたユーザーからのボタン1004の押下を受け付けると、次の処理へ進む。
S904にて、インストーラー310は、サーバー150にインストールされているプリンタードライバー1052のモデル名リストをオペレーティングシステム1054に問い合わせて取得する。
S905にて、インストーラー310は、S903でユーザーから指定されたインストール対象となるモデルが、S904で取得したモデル名リストの中に存在するかを確認する。そして、インストーラー310は、各モデルに対応するプリンタードライバー1052がすでにインストールされているか否かを判定する。モデル名リストに含まれているモデルは、既に対応するプリンタードライバー1052がインストールされていることを示す。指定されたモデルがインストールされていると判定された場合(S905にてYES)S906へ進み、インストールされていないと判定された場合(S905にてNO)S907へ進む。
S906にて、インストーラー310は、カスタマイズドドライバーパッケージ400の更新インストール処理を行う。本工程の処理は、クライアント100にインストールする場合の処理として、図11を用いて後述する。従って、サーバー150に対する新規インストールの場合には、実行されない。その後、本処理フローを終了する。
S907にて、インストーラー310は、図10(C)に示すようなプリンター情報設定画面1005を表示し、インストールする際に必要な情報であるポート情報やプリンター名の入力、および共有プリンターの設定の入力を受け付ける。ここでは、項目1006に示す「プリンターを共有する」にチェックを行うことで、共有プリンターとしてインストールが行われる。ポインティングデバイス1032を用いたユーザーからのボタン1007の押下を受け付けると、次の処理へ進む。
S908にて、インストーラー310は、S907で入力されたプリンター情報を利用し、カスタマイズドドライバーパッケージ400を新規インストールする。
S909にて、インストーラー310は、キュープロパティバッグ2083にカスタマイズ情報430の内容を書き込む。カスタマイズ情報430には、前述の通り、カスタムコードや印刷設定の初期値等の情報が含まれ、これらの情報をプリンターエクステンション210が動作時に読み込み可能なキュープロパティバッグ2083に格納する。そして、本処理フローを終了する。
(ポイントアンドプリント)
次に本実施形態に係るポイントアンドプリントについて説明する。新規インストール(図9)において、S907にて共有プリンターの設定を行ってインストールを行ったため、クライアント100側からポイントアンドプリントによるプリンタードライバー1052のインストールが可能となる。具体的には、クライアント100において、サーバー150のサーバー名やIPアドレスを指定し、サーバー150にインストールしたプリンタードライバー1052のプリントキューを指定することでポイントアンドプリントすることが可能である。
次に本実施形態に係るポイントアンドプリントについて説明する。新規インストール(図9)において、S907にて共有プリンターの設定を行ってインストールを行ったため、クライアント100側からポイントアンドプリントによるプリンタードライバー1052のインストールが可能となる。具体的には、クライアント100において、サーバー150のサーバー名やIPアドレスを指定し、サーバー150にインストールしたプリンタードライバー1052のプリントキューを指定することでポイントアンドプリントすることが可能である。
ただし、前述したように、V4プリンタードライバーアーキテクチャとしてのプリンタードライバー1052のポイントアンドプリントは、エンハンスドポイントアンドプリントとなる。そのため、サーバー150とクライアント100との間において、機種依存ファイル209やデータ領域であるキュープロパティバッグ2083のデータ領域の共有のみ行われる。さらに、クライアント100側からはキュープロパティバッグ2083は情報の読み込みは可能であるが、書き込みを行う場合にはサーバー150の管理者の権限が必要になる。
ここでエンハンスドポイントアンドプリントによって構成されたプリンタードライバーをエンハンスドポイントアンドプリントドライバーと呼ぶ。エンハンスドポイントアンドプリントドライバーはオペレーティングシステムにあらかじめインストールされ、必要最低限のドライバー情報をサーバーからダウンロードすることで共有プリンターの機能が利用できるプリンタードライバーを意味する。
ここでエンハンスドポイントアンドプリントによって構成されたプリンタードライバーをエンハンスドポイントアンドプリントドライバーと呼ぶ。エンハンスドポイントアンドプリントドライバーはオペレーティングシステムにあらかじめインストールされ、必要最低限のドライバー情報をサーバーからダウンロードすることで共有プリンターの機能が利用できるプリンタードライバーを意味する。
さらに、他のモジュールであるレイアウトフィルタ214やレンダラフィルタ215、プリンターエクステンション210はクライアント100にはダウンロードされない。これに対し、クライアント100のシステム管理者は、サーバー150側と同じカスタマイズドドライバーパッケージ400を更新インストールすることで、プリンターエクステンション210を含むインストール処理を行う。これにより、図5に示すような各UIがクライアント100側で利用できないことを避けることができる。ここでは、クライアント100へのカスタマイズドドライバーパッケージ400の更新インストール方法について、図9と図11を用いて説明する。
本フローチャートの処理を行うモジュールはクライアント100に設置されたインストーラー310であり、以下の説明において記載がない限り、処理の主体はインストーラー310である。インストーラー310は、補助記憶装置105からRAM1022にロードされ、CPU101によって実行される。インストーラー310が、クライアント100にカスタマイズドドライバーパッケージ400をインストールする処理は、図9のフローチャートが基本となり、S904までの処理は同一であるため省略する。ここでは、S905にてインストールするモデル名がすでにインストール済と判定した場合において(S905にてYES)、更新インストール処理(S906)について、図11を用いて説明する。
S1101にて、インストーラー310は、インストール済と判定したモデル名のプリンタードライバー1052が共有プリンターか否かを判定する。共有プリンターであると判定された場合(S1101にてYES)S1102へ進み、共有プリンターでないと判定された場合(S1101にてNO)S1107へ進む。
S1102にて、インストーラー310は、インストール済と判定したモデル名のプリンタードライバー1052がエンハンスドポイントアンドプリントドライバーであるか否かを判定する。エンハンスドポイントアンドプリントドライバーでない(すなわち、通常の共有プリンター)と判定した場合(S1102にてNO)S1106へ進み、エンハンスドポイントアンドプリントドライバーであると判定した場合(S1102にてYES)S1103へ進む。
S1103にて、インストーラー310は、インストールされている対象モデルのプリンタードライバー1052のキュープロパティバッグ2083にアクセスし、カスタマイズ情報430を取得する。ここでのカスタマイズ情報430には、更新対象のプリンタードライバーをカスタマイズした際に設定されたカスタムコードが含まれる。
S1104にて、インストーラー310は、S1103にて取得したカスタマイズ情報430のカスタムコードと、インストールするカスタマイズドドライバーパッケージ400のカスタマイズ情報430のカスタムコードとが一致するか否かを判定する。カスタムコードを比較することにより、インストールされているプリンタードライバー1052と今からインストールするカスタマイズドドライバーパッケージ400が同一か否かの判定が可能となる。なお、同一か否かの判定方法は他にも存在し、他の方法やカスタムコード以外の所定の情報を用いてもよい。例えば、プリンタードライバーのバージョンや、プリンタードライバー1052の署名ファイルのタイムスタンプの比較などに基づいて、インストール済みのプリンタードライバー1052と今からインストールするカスタマイズドドライバーパッケージ400が同一か否かを判定してもよい。また、複数の情報を組み合わせて同一か否かを判定してもよい。カスタムコードが一致する場合(S1104にてYES)S1105へ進み、一致しない場合(S1104にてNO)S1106へ進む。
S1105にて、インストーラー310は、カスタマイズドドライバーパッケージ400の更新インストールのみ行い、キュープロパティバッグ2083の更新を行わない。本工程における、カスタマイズドドライバーパッケージ400の更新インストールのみ行い、キュープロパティバッグ2083の更新を行わない処理については、図12を用いて後述する。その後、本処理フローを終了する。
S1106にて、インストーラー310は、カスタマイズドドライバーパッケージ400の更新インストール及びキュープロパティバッグ2083を更新しない。これは、S1102にて通常の共有プリンターであると判定された場合に(S1102にてNO)、すでにクライアント100に対してプリンターエクステンション210などのプリンタードライバーモジュールがインストールされているものとして判定し、本工程が行われる。また、キュープロパティバッグ2083の更新に関してもサーバー150側の管理者権限が必要なため、インストーラー310は、キュープロパティバッグ2083の更新を行わない。この場合、インストーラー310は、ユーザーに対して更新が行われていないメッセージ表示を行う。また、S1104にて、インストール済みのプリンタードライバー1052と今からインストールするカスタマイズドドライバーパッケージ400が違うものであると判定された場合に(1104にてNO)、本工程が行われる。本工程の後、本処理フローを終了する。
S1107にて、インストーラー310は、カスタマイズドドライバーパッケージ400を更新インストールし、さらにカスタマイズ情報430をキュープロパティバッグ2083に反映するように更新する。これは、共有プリンターでないと判定された場合(S1101にてNO)において、クライアント100の管理者権限があればカスタマイズドドライバーパッケージ400の更新およびキュープロパティバッグ2083の更新が可能であるためである。そして、本処理フローを終了する。
図12を用いてS1105における処理について説明する。カスタマイズドドライバーパッケージ400を更新インストールする場合、通常のプリンターに対して、インストーラー310は、カスタマイズ情報430を用いてクライアント100のキュープロパティバッグ2083の更新処理を行う(S1107)。ただし、S1105の工程における処理では、対象のプリンタードライバーがエンハンスドポイントアンドプリントドライバー、かつ、サーバー150にインストールされたドライバーと同一であると判定された場合、カスタマイズ情報430を用いたキュープロパティバッグ2083に対する更新処理を行わず、カスタマイズドドライバーパッケージ400にあるプリンタードライバー1052の更新処理のみ行う。具体的には、プリンターエクステンション210やレイアウトフィルタ214、レンダラフィルタ215、機種依存ファイル209、INFファイル240の更新インストール処理が行われる。なお、この時、上述したように、クライアント100におけるプリンタードライバー1052のキュープロパティバッグ2083と、サーバー150におけるプリンタードライバー1052のキュープロパティバッグ2083とはデータが共有されている。
また、カスタマイズ情報430が一部異なる場合でも、プリンタードライバー1052のバージョンが同一であると判定された場合には、プリンタードライバー1052のみの更新を行うケースがあってもよい。例えば、サーバー150には「両面をデフォルト」および「2in1をデフォルト」という情報が設定されたカスタマイズドドライバーがインストールされ、クライアント100にエンハンスドポイントアンドプリントがされている環境を想定する。その場合、カスタマイズドドライバーパッケージ400のカスタマイズ情報430が、サーバー150にインストール済みのカスタマイズ情報430と比較して少ない場合、ユーザーに対して通知を行った上で、キュープロパティバッグ2083の更新は行わず、カスタマイズドドライバーパッケージ400の更新インストールを行ってもよい。今回の例でいえば「両面をデフォルト」という情報のみがカスタマイズドドライバーパッケージ400のカスタマイズ情報430に記載されているような場合などが該当する。ここでの通知方法は、メッセージを画面上に表示するようにしてもよいし、別に設けられた画面を表示するようにしてもよい。
これは、クライアント100の更新インストール後のプリンタードライバー1052は、サーバー150のカスタマイズ情報430が反映されることになるため、結果的に同一になるためである。つまり、更新インストールの際に、サーバー150におけるプリンタードライバー1052のキュープロパティバッグ2083と、カスタマイズドドライバーパッケージ400に含まれるカスタマイズ情報とはデータの内容が完全一致となる必要はない。言い換えると、サーバー150におけるプリンタードライバー1052のキュープロパティバッグ2083の内容が、カスタマイズドドライバーパッケージ400に含まれるカスタマイズ情報の設定内容を包含する関係であれば、上記の更新インストールは可能である。
このような構成でも、サーバー150とクライアント100とのドライバーの同一性を維持することができる。
以上、本実施形態により、カスタマイズされたプリンタードライバー1052のエンハンスドポイントアンドプリント環境において、プリンターエクステンション210を含んだカスタマイズドドライバーパッケージ400の更新インストールを適切に行うことができる。
<その他の実施形態>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…クライアント、140…プリンター、150…サーバー、310…インストーラー、410…カスタマイズ設定ファイル、420…ツール設定情報、430…カスタマイズ情報、1052…プリンタードライバー、1053…カスタマイズツール、2083…キュープロパティバッグ
Claims (14)
- ポイントアンドプリントのクライアント環境におけるドライバーの更新方法であって、
クライアントにインストールされている更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かを判定する工程と、
前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであると判定された場合、前記更新対象のドライバーに対して行われたカスタマイズの内容を示す第1のカスタマイズ情報と、更新に用いられるドライバーに対して行われたカスタマイズの内容を示す第2のカスタマイズ情報とを取得する工程と、
前記第1のカスタマイズ情報および前記第2のカスタマイズ情報における所定の情報の比較により、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致するか否かを判定する工程と、
前記更新対象のドライバーと前記更新に用いられるドライバーとが一致すると判定された場合、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行う工程と
を有することを特徴とする更新方法。 - 前記所定の情報は、ドライバーをカスタマイズする際に設定された識別情報であることを特徴とする請求項1に記載の更新方法。
- 前記更新に用いられるドライバーは、プリンターを管理するサーバーにインストールされており、
前記識別情報は、前記サーバーにインストールされたドライバーをカスタマイズした際に設定されることを特徴とする請求項2に記載の更新方法。 - 前記所定の情報は、ドライバーのバージョンであることを特徴とする請求項1に記載の更新方法。
- 前記所定の情報は、ドライバーに対応する署名ファイルのタイムスタンプであることを特徴とする請求項1に記載の更新方法。
- 前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーでないと判定された場合、又は、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致しないと判定された場合は、前記更新対象のドライバーの更新を行わないことを特徴とする請求項1乃至5のいずれか一項に記載の更新方法。
- 前記更新対象のドライバーが共有プリンターとして設定されたプリンターに対応するドライバーであるか否かを判定する工程を更に有し、
前記共有プリンターとして設定されたプリンターに対応するドライバーであると判定された場合に、前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かが判定されることを特徴とする請求項1乃至6のいずれか一項に記載の更新方法。 - 前記更新対象のドライバーが前記共有プリンターとして設定されたプリンターに対応するドライバーでないと判定された場合、ドライバーのプログラムの更新を行い、更に、前記第2のカスタマイズ情報を反映させることで、前記更新対象のドライバーの更新を行うことを特徴とする請求項7に記載の更新方法。
- 前記第1のカスタマイズ情報の設定内容が前記第2のカスタマイズ情報の設定内容を包含する関係にあるか否かを更に判定する工程を有し、
前記更新対象のドライバーと更新に用いられるドライバーとが一致し、且つ、前記第1のカスタマイズ情報の設定内容が前記第2のカスタマイズ情報の設定内容を包含する関係にあると判定された場合、前記クライアントのユーザーにその旨を通知した上で、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行うことを特徴とする請求項1乃至8のいずれか一項に記載の更新方法。 - 前記更新において、カスタマイズドドライバーパッケージが用いられ、
前記カスタマイズドドライバーパッケージは、ドライバーのプログラムと、当該ドライバーのプログラムをインストールするためのインストーラーと、前記ドライバーに対して行われたカスタマイズの内容を示すカスタマイズ情報とを含んで構成されることを特徴とする請求項1乃至9のいずれか一項に記載の更新方法。 - 前記クライアントと、プリンターを管理するサーバーとが通信可能に接続され、
前記カスタマイズ情報の反映は、前記クライアントと前記サーバーとがデータを共有しているキュープロパティバッグに対して行われることを特徴とする請求項1乃至10のいずれか一項に記載の更新方法。 - 前記ドライバーは、V4プリンタードライバーであることを特徴とする請求項1乃至11のいずれか一項に記載の更新方法。
- ポイントアンドプリントの環境においてドライバーのインストールが可能なコンピューターに、
前記コンピューターにインストールされている更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かを判定する工程と、
前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであると判定された場合、前記更新対象のドライバーに対して行われたカスタマイズの内容を示す第1のカスタマイズ情報と、更新に用いられるドライバーに対して行われたカスタマイズの内容を示す第2のカスタマイズ情報とを取得する工程と、
前記第1のカスタマイズ情報および前記第2のカスタマイズ情報における所定の情報の比較により、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致するか否かを判定する工程と、
前記更新対象のドライバーと前記更新に用いられるドライバーとが一致すると判定された場合、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行う工程と
を実行させるためのプログラム。 - ポイントアンドプリントの環境においてドライバーのインストールが可能な情報処理装置であって、
前記情報処理装置にインストールされている更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであるか否かを判定する手段と、
前記更新対象のドライバーがエンハンスドポイントアンドプリントドライバーであると判定された場合、前記更新対象のドライバーに対して行われたカスタマイズの内容を示す第1のカスタマイズ情報と、更新に用いられるドライバーに対して行われたカスタマイズの内容を示す第2のカスタマイズ情報とを取得する手段と、
前記第1のカスタマイズ情報および前記第2のカスタマイズ情報における所定の情報の比較により、前記更新対象のドライバーと前記更新に用いられるドライバーとが一致するか否かを判定する手段と、
前記更新対象のドライバーと前記更新に用いられるドライバーとが一致すると判定された場合、ドライバーのプログラムの更新を行い、前記第2のカスタマイズ情報の内容を反映させないことで、前記更新対象のドライバーの更新を行う手段と
を有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017173221A JP2019049825A (ja) | 2017-09-08 | 2017-09-08 | ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017173221A JP2019049825A (ja) | 2017-09-08 | 2017-09-08 | ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019049825A true JP2019049825A (ja) | 2019-03-28 |
Family
ID=65906222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017173221A Pending JP2019049825A (ja) | 2017-09-08 | 2017-09-08 | ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019049825A (ja) |
-
2017
- 2017-09-08 JP JP2017173221A patent/JP2019049825A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152332B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP7229680B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP6552189B2 (ja) | 情報処理装置、制御方法およびドライバーインストールプログラム | |
US7231435B2 (en) | Network system, information processing apparatus, information processing method, and control program | |
JP4863450B2 (ja) | デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 | |
US8537438B2 (en) | Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program | |
US9122428B2 (en) | Information processing apparatus allowing a user certain print setting operations in an environment where an image processing apparatus is undetermined | |
JP2020004158A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP7186815B2 (ja) | 情報処理装置及びプログラム及び方法 | |
JP5361358B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
JP2011242950A (ja) | 情報処理装置および制御方法およびプログラム | |
JP2020107241A (ja) | 情報処理装置、制御方法及びアプリケーションプログラム | |
US20150355871A1 (en) | Information processing apparatus, method for controlling information processing apparatus, and storage medium | |
JP5533790B2 (ja) | ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置 | |
JP2017033052A (ja) | 画像形成装置における制御装置およびプログラム | |
JP2019049825A (ja) | ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 | |
WO2021131981A1 (ja) | 情報処理装置、制御方法およびプログラム | |
JP4903064B2 (ja) | 印刷制御装置、印刷制御方法、及び印刷制御プログラム | |
JP2019008673A (ja) | 情報処理装置およびドライバーインストール方法 | |
JP5972436B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2020030697A (ja) | 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法 | |
JP5726344B2 (ja) | 情報処理装置、制御方法、プログラム | |
JP7242203B2 (ja) | 情報処理装置、アプリケーションおよび制御方法 | |
JP2020071693A (ja) | 情報処理装置、及びその制御方法並びにプログラム | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション |