JP2019008673A - 情報処理装置およびドライバーインストール方法 - Google Patents
情報処理装置およびドライバーインストール方法 Download PDFInfo
- Publication number
- JP2019008673A JP2019008673A JP2017125593A JP2017125593A JP2019008673A JP 2019008673 A JP2019008673 A JP 2019008673A JP 2017125593 A JP2017125593 A JP 2017125593A JP 2017125593 A JP2017125593 A JP 2017125593A JP 2019008673 A JP2019008673 A JP 2019008673A
- Authority
- JP
- Japan
- Prior art keywords
- printer driver
- custom
- driver
- printer
- setting information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
【課題】USBのPnPインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールする情報処理装置およびドライバーインストール方法を提供する。【解決手段】インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録する登録手段とを有する。【選択図】図9
Description
本発明は、情報処理装置およびドライバーインストール方法に関し、特にカスタマイズしたプリンタードライバーに関する。
従来、コンピューター上で作成した文書や図といったファイルをアプリケーションから印刷する際には、プリンタードライバーを使って描画データをページ記述言語に変換しプリンターに送信するのが一般的である。またそのとき、用紙の種類や両面、カラー、給紙方法といった印刷設定は、アプリケーションが持つ印刷設定用のユーザーインターフェースか、プリンタードライバーが提供する印刷設定用のユーザーインターフェース(以降、UIとも呼ぶ)を使って行う。また、印刷に関する多様な要求に対応するため、各種の印刷設定の初期値を変更した個別対応のプリンタードライバーのリリースが必要とされている。個別対応のプリンタードライバーの要望に対してスピーディーに対応するために、インストール前のプリンタードライバーの設定値を変更可能なカスタマイズツールが存在する。この種のカスタマイズツールでは、例えば、プリンタードライバーの設定値の初期値を工場出荷値とは別の設定値に変更できる。また、カスタマイズツールでは、インストールする際に選択する機種を限定することができ、ユーザーがインストール時に適切な機種を選択させることも可能である。
特許文献1では、プリンタードライバーのインストール時において、カスタマイズ済みの機種のみをインストールの対象としてユーザーに表示することを可能にする手段が開示されている。
特許文献1では、機種の限定を行う場合に、プリンタードライバーのインストール情報を記述するINFファイルのモデル名称格納領域(リストセクション)を変更することによって機種の限定を実現していた。しかしながら、近年のWindows(登録商標)の方針変更に伴い、デジタル署名がないINFファイルでインストールすると必ずエラーになるようになった。つまり、INFファイルの記述を変更した場合、変更したINFファイルに対するデジタル署名の申請が必要になる。これを回避するために、プリンタードライバーのインストーラーは、INFファイルとは別のファイルに機種リストを保持し、UIに表示する際に、その機種リストを参照して表示するようにした。こうすることで、機種を選択してからインストールする場合は問題がないが、USBポート接続時に行うプラグアンドプレイ(以降PnP)インストール時には問題が発生する。
USBポート接続によるPnPインストールとは、インストーラーでは機種を選択せずに、対象のデバイスとPCとをUSBケーブルで接続した際に、対応するプリンタードライバーが自動的にインストールされる仕組みである。この場合、インストーラーではなくOSがインストール処理を行う。OSは通常INFファイルを参照して、USBケーブルで接続したデバイスに対応するプリンタードライバーを検索する。当然INFファイルに該当するデバイスがあればインストールは成功する。ここで問題となるのは、カスタマイズ対象ではないデバイスがUSBのPnPインストールされた場合である。インストーラーによるインストールであれば、カスタマイズ対象ではないデバイスのインストールは、機種リストに含めないことで制限できる。ところがUSBのPnPインストールでは、OSは、カスタマイズされていないINFファイルを参照してドライバーをインストールするため、カスタマイズされていないデバイスであっても通常のインストールは成功する。そしてこの場合、カスタマイズされていないプリンタードライバーがインストールされてしまう。
本発明は上記問題を鑑みて成されたもので、USBのPnPインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールする情報処理装置およびドライバーインストール方法を提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。
本発明の一側面によれば、接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできる情報処理装置であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段とを有する。
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段とを有する。
本発明により、USBのPnPインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールすることができる。
以下、本発明を実施するための形態について図面を用いて説明する。
[実施形態1]
●システム構成
図1(A)に、本発明に係るシステムの概略構成をあらわすブロック図を示す。このシステムは、クライアントコンピュータ100と、ページ記述言語(以下PDLと表記)形式の印刷データを受信し印刷を行なうことが可能なプリンター200を備える。これらはローカル・エリア・ネットワーク(LAN)に代表されるネットワーク300を介して接続され通信可能である。なおプリンター200は印刷機能のみを備えるシングルファンクションプリンタ(SFP)でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタ(MFP)でも構わない。
●システム構成
図1(A)に、本発明に係るシステムの概略構成をあらわすブロック図を示す。このシステムは、クライアントコンピュータ100と、ページ記述言語(以下PDLと表記)形式の印刷データを受信し印刷を行なうことが可能なプリンター200を備える。これらはローカル・エリア・ネットワーク(LAN)に代表されるネットワーク300を介して接続され通信可能である。なおプリンター200は印刷機能のみを備えるシングルファンクションプリンタ(SFP)でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタ(MFP)でも構わない。
図1(B)は、本発明の実施形態を適用可能なクライアントコンピュータ(あるいは情報処理装置)100のハードウェア構成を示すブロック図である。CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリケーション(以下アプリとも表記)1051や、プリンター用のドライバーセット1052や、ドライバーセット1052のカスタマイズツール1053や、オペレーティングシステム(OS)1054等を記憶する。アプリケーション1051(アプリ)や、ドライバーセット1052や、カスタマイズツール1053は、不図示のCD−ROMやUSBメモリあるいはネットワーク300を経由して補助記憶装置105に追加することが可能である。キーボード108やマウス・タッチパネルなどに代表されるポインティングデバイス109などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニター110などの出力機器に対してデータを出力する。プリンター200とは、通信I/F106を通じて接続されるネットワーク300を通して接続されている。また107は共通データシステムバスで、クライアントコンピュータ100を構成するハードウェアモジュール間でそれぞれのデータのやりとりに使われる。
●印刷処理システム
図2はクライアントコンピュータにおける印刷処理システムのブロック図である。ドライバー印刷システムは、OS提供のモジュールやプリンタードライバー等により構成され、XPS(XML Paper Specification)ファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム1054上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219は、オペレーティングシステム1054に含まれるモジュールである。GDIとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を持つ。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。XPS印刷パスとは、XPSファイル形式のままプリンタードライバー10522に渡され、そのファイルを受信したプリンタードライバー10522がページ記述言語などに置き換えてプリンター200に出力することができる。ポートモニター219は、デバイスにアクセスするプリントマネージャ218とドライバー間で通信を制御することができ、プリンタードライバー10522はポートモニター219を経由して印刷処理を行う。また、プリントマネージャ218はポートモニター219を通して、プリンター200と通信しAutoConfigを行う。GDItoXPS変換モジュール207、コンフィギュレーションモジュール208、フィルタパイプラインマネージャ212は、プリンタードライバー10522に含まれている。ただし、オペレーティングシステム1054から提供されているプリンタードライバー10522のモジュールという位置づけとする。コンフィギュレーションモジュール208は、プリンタードライバー10522が提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。さらに、印刷設定編集モジュール2081は、JavaScriptと呼ばれるスクリプト言語で記載され、プリンタードライバーが提供するDriverPropertyBag2082、2083を利用して印刷設定情報を編集する。プロパティバッグとは、プリンターの機種依存情報として利用するためのDriverPropertyBag2082と呼ばれるデータ群と、プリントキューに紐づいたQueuePropertyBag2083と呼ばれるデータ群が保持された領域を指す。
図2はクライアントコンピュータにおける印刷処理システムのブロック図である。ドライバー印刷システムは、OS提供のモジュールやプリンタードライバー等により構成され、XPS(XML Paper Specification)ファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム1054上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219は、オペレーティングシステム1054に含まれるモジュールである。GDIとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を持つ。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。XPS印刷パスとは、XPSファイル形式のままプリンタードライバー10522に渡され、そのファイルを受信したプリンタードライバー10522がページ記述言語などに置き換えてプリンター200に出力することができる。ポートモニター219は、デバイスにアクセスするプリントマネージャ218とドライバー間で通信を制御することができ、プリンタードライバー10522はポートモニター219を経由して印刷処理を行う。また、プリントマネージャ218はポートモニター219を通して、プリンター200と通信しAutoConfigを行う。GDItoXPS変換モジュール207、コンフィギュレーションモジュール208、フィルタパイプラインマネージャ212は、プリンタードライバー10522に含まれている。ただし、オペレーティングシステム1054から提供されているプリンタードライバー10522のモジュールという位置づけとする。コンフィギュレーションモジュール208は、プリンタードライバー10522が提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。さらに、印刷設定編集モジュール2081は、JavaScriptと呼ばれるスクリプト言語で記載され、プリンタードライバーが提供するDriverPropertyBag2082、2083を利用して印刷設定情報を編集する。プロパティバッグとは、プリンターの機種依存情報として利用するためのDriverPropertyBag2082と呼ばれるデータ群と、プリントキューに紐づいたQueuePropertyBag2083と呼ばれるデータ群が保持された領域を指す。
DriverPropertyBag2082は、ドライバーパッケージ内に存在するプリンターの機種依存データであり、プリンタードライバーインストール後にOS内の特定の領域に読み取り専用としてデータ群が保持される。
QueuePropertyBag2083は、Key−Valueペアのxml定義ファイルをOSに登録することで利用することが可能であり、Valueに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるGPDにもQueuePropertyBag2083の定義を記載することができる。本実施例では、ドライバーセット1052に含まれるインストーラーが通常のインストール処理を行った後に、カスタマイズ情報105232をQueuePropertyBag2083に登録することにより、カスタマイズドライバーを実現する。インストーラーがカスタマイズ情報105232をQueuePropertyBag2083に登録する処理の詳細については、後述するので参照されたい。
プリンタードライバー10522とフィルタパイプラインマネージャ212の各フィルタは、図1の補助記憶装置105にプリンタードライバー10522として格納されている。GDI印刷アプリケーション201とXPS印刷アプリケーション202は、図1(B)の補助記憶装置105にアプリ1051として格納されている。以下、GDI印刷アプリケーションをGDIアプリ、XPS印刷アプリケーションをXPSアプリと略す。ユーザーはキーボード108やタッチパネル/マウスなどに代表されるポインティングデバイス109などといった入力装置を使用して、出力装置のモニター110に映し出されたGDIアプリ201、もしくはXPSアプリ202から印刷処理を実行する。印刷処理はプリンターの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。
まずは、印刷したいプリンター200の選択を行う。ユーザーから見るとプリンター200の選択は、印刷を実行するプリンター200に対応したプリンタードライバー10522を選択することと同義である。プリンタードライバー10522の選択には、不図示のプリントキューを利用する。
次に印刷設定を作成する。印刷設定はまず、アプリケーション1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリ1051は、プリンタードライバー10522のコンフィギュレーションモジュール208を呼び出して、印刷設定データを作成して格納する。GDIアプリ201では印刷設定データとしてバイナリのDEVMODE203を用い、XPSアプリ202ではマークアップ言語のXMLで記載されたPrintTicket204を用いる。DEVMODE203は、オペレーティングシステム1054が定義する標準領域とプリンタードライバー10522が独自で定義する拡張領域とを持つ。PrintTicket204は、XML形式で記述された印刷設定情報で、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィギュレーションモジュール208は、機種依存ファイル(GPD)209を利用して、印刷設定データを作成する。このDEVMODE203もしくはPrintTicket204が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更する。機種依存ファイル(GPD)209は、GPDと呼ばれる印刷設定定義ファイルを指す。またこの機種依存ファイル(GPD)209である印刷設定定義ファイルには、デバイスの能力やデバイスのオプション構成、プリントキューに紐づくQueuePropertyBagの定義を記載することができる。
これらプリンター200に依存した専用の設定は、プリンターエクステンション210が持つユーザーインターフェースで設定する。プリンタードライバー10522は、ユーザーインターフェースの設定に従い、DEVMODE203もしくはPrintTicket204のプリンター200に依存した設定を変更する。PrintTicket204は印刷設定がXML形式で記述されているので、XPSアプリ202がすべての設定値を直接変更して書き換えることは容易だが、プリンターエクステンション210のユーザーインターフェースを使って設定変更してもかまわない。このプリンターエクステンション210は、プリンタードライバー10522の一種ではあるが、プリンタードライバー10522とは別のアプリケーションとしてインストールが行われる。
印刷設定は文書印刷のたびに作成するが、プリンター200のオプション機器や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンターエクステンション210がオペレーティングシステム1054のレジストリデータベース205に保存する。レジストリデータベース205が使用できないときは、プリンターエクステンション210は、アプリケーションデータ220に設定を保存する。印刷設定のデフォルト値はオペレーティングシステムのプリントマネージャ218が、レジストリデータベース205に保存する。レジストリデータベース205や、アプリケーションデータ220は、補助記憶装置105に保存される。
印刷設定が確定したら、ユーザーはアプリケーションから印刷処理を実行する。GDIアプリ201から印刷する場合は、OSのモジュールであるGDItoXPS変換モジュール207に描画データが送られ、XPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207はコンフィギュレーションモジュール208を呼び出し、印刷設定をDEVMODE203からPrintTicket204に変換する。変換する際には、コンフィギュレーションモジュール208によって、印刷設定編集モジュール2081が使用される。
一方、XPSアプリ202から印刷する場合は、XPSファイルをXPSアプリ自身が生成するのと、オペレーティングシステム1054がXPSアプリからの描画命令に応じてXPSファイルを生成するのと2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル206を生成する。
GDIアプリ201又はXPSアプリ202から印刷の指示が行われることでXPSスプールファイル206が生成されたら、プリントフィルタパイプライン211に処理が渡される。プリントフィルタパイプライン211は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィグレーションファイル216でフィルタの数や順番を制御する。本実施形態では以下の3つのフィルタで構成されている。一つ目はプリンター200と通信する機構を持つ通信フィルタ213。二つ目は製本印刷やスタンプ、ページ集約などのレイアウト処理を行う機構を持つレイアウトフィルタ214。三つ目はXPSスプールファイル206をレンダリングしてPDLに変換する機構を持つレンダラフィルタ215である。PDLとはPageDescriptionLanguage(ページ記述言語)の略称である。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター200が印刷できる状態になったら、キューに登録した順にポートモニター219を通して送信する。このようにして、アプリケーションからの印刷データをPDLデータに変換することがプリンタードライバーの主な役目であり、プリンターを通して印刷処理が行われる。
●ソフトウェアモジュールの説明
図3(A)はドライバーセット1052のモジュールおよびファイルの構成を示す図である。ドライバーセット1052は、インストーラー10521とプリンタードライバー10522で構成される。さらにプリンタードライバー10522は、インストール用の設定が記載されているINFファイル105221とドライバーUIモジュール105222とグラフィックスモジュール105223および機種依存ファイル105224とで構成される。
図3(A)はドライバーセット1052のモジュールおよびファイルの構成を示す図である。ドライバーセット1052は、インストーラー10521とプリンタードライバー10522で構成される。さらにプリンタードライバー10522は、インストール用の設定が記載されているINFファイル105221とドライバーUIモジュール105222とグラフィックスモジュール105223および機種依存ファイル105224とで構成される。
インストーラー10521は、INFファイル105221の記載を元に、プリンタードライバー10522をOS1054に設置する実行モジュールである。ユーザーからのプリンタードライバー10522のインストール要求をうけて、OS1054はインストーラー10521を補助記憶装置105からRAM1022にロードしCPU101を用いて実行する。本実施例ではプリンタードライバー10522はSFPやMFPなど複数のモデルに対応しており、INFファイル105221に複数のモデルに関する設置方法の情報が記載されている。プリンタードライバー10522設置の際は、ユーザーによるインストール対象のモデル選択や出力先のプリンター200の指定を受け付けインストールが実行される。
図1(A)の示すように、システム内に、複数台のプリンター200や、複数種類のプリンターのモデルが存在する場合がある。出力先のプリンター毎に、プリンタードライバー10522対応するモデルや印刷設定の初期値および印刷ジョブをそれぞれ管理する必要がある。そのためOS1054は、設置の際にプリンタキューと呼ばれる出力先のプリンター200を表すオブジェクトを生成しOS1054内に保持し、このプリンタキューに紐づけてプリンタードライバー10522の構成モジュールや印刷設定の初期値を管理する。OS1054にプリンタードライバー10522が設置されると、アプリ1051からの印刷設定要求や印刷要求をプリンタードライバー10522のモジュールで処理可能になり、対応するプリンター200で印刷することが可能になる。
アプリ1051からのプリンターへの印刷設定を受けた場合、OS1054は対応するドライバーUIモジュール105222をRAM1022にロードしCPU101で実行する。その実行をうけて印刷設定UI3000をモニター110に表示する。印刷設定UI3000の操作画面の一例を、図4Aと図4Bに示す。印刷設定UI3000は、複数のタブで構成されており、出力先の印刷設定とデバイス設定を受け付ける。図4Aの[基本]タブ3100は印刷設定のためのタブであり、両面印刷やカラー印刷などの印刷設定のためのさまざまUIコントロールが配置されている。UIコントロールへのキーボード108やポインティングデバイス109経由の操作を受け、ドライバーUIモジュール105222は現在の印刷設定を生成する。
図4Bの[デバイスの設定]タブ3200は、排紙オプションや両面ユニットなどのデバイスオプションを管理するタブである。さまざまなユーザー要望に応えるために、プリンタメーカーは、排紙オプションや両面ユニットなどのプリンター200に装着可能なハードェアをデバイスオプションとして販売する。例えば印刷出力物にステープルを行うハードウェアであるフィニッシャーは高価である。そのため一般的にフィニッシャーをプリンターの標準構成とは別売のデバイスオプションと販売する。ステープルするためには対応をするフィニッシャーをプリンター200に装着する必要がある。また両面印刷機能を滅多に使わないユーザーのために、低価格帯のプリンターでは、標準構成のプリンターには物理的な両面機構を含まず、デバイスオプションとして両面ユニットを装着した際にのみ、両面印刷が可能になるというプリンターも存在する。これらの状況に対応するため、現在の出力先のプリンター200でどのデバイスオプションが装着されているかを管理する必要がある。プリンター200と通信可能な場合、現在のデバイスオプションの設定は、デバイス情報取得ボタン3202を押下することにより、ネットワーク300経由でプリンター200より取得することが可能である。取得されたデバイス情報を元にドライバーUIモジュール105222は、現在のデバイスオプションの設置情報をデバイスオプション一覧3201に反映する。もしプリンター200と通信できない場合は、デバイスオプション一覧3201の各項目の選択を受け付けることにより、UIコントロール3203が変更され、手動で変更することも可能である。[デバイスの設定]タブ3200でのデバイスオプションの設定をうけて、ドライバーUIモジュール105222は、[基本]タブ3100で使えない印刷設定のUIコントロールを選択できない状態で表示とする。印刷設定UI3000の各タブで各種印刷設定を設定されたのち、最終的に"OK"のボタン3001の押下をうけた場合、ドライバーUIモジュール105222はOS1054に印刷設定とデバイスの設定を出力し、印刷設定要求を終了する。
●カスタマイズ概要
次にアプリ1051からの印刷要求を受けた場合の動作を説明する。OS1054は対応するドライバーUIモジュール105222をRAM1022にロードしCPU101で実行する。その実行をうけてグラフィックスモジュール105223で印刷要求に対するPDLを生成する。印刷設定要求で出力された印刷設定は、アプリ1051からの印刷要求の際に、グラフィックスモジュール105223に渡される。グラフィックスモジュール105223が印刷設定をPDLに変換することにより、両面印刷やカラー印刷など印刷機能の変更が可能になる。
次にアプリ1051からの印刷要求を受けた場合の動作を説明する。OS1054は対応するドライバーUIモジュール105222をRAM1022にロードしCPU101で実行する。その実行をうけてグラフィックスモジュール105223で印刷要求に対するPDLを生成する。印刷設定要求で出力された印刷設定は、アプリ1051からの印刷要求の際に、グラフィックスモジュール105223に渡される。グラフィックスモジュール105223が印刷設定をPDLに変換することにより、両面印刷やカラー印刷など印刷機能の変更が可能になる。
本実施例のプリンタードライバー10522は複数のモデルのプリンター200に対応する。それぞれプリンター200でサポートする印刷機能やデバイスオプションはモデルに依存して異なる。各モデルでの印刷機能やデバイスオプションのサポート情報は機種依存ファイル105224にまとめられている。ドライバーUIモジュール105222の実行時に機種依存ファイル105224を参照することにより、印刷設定UI3000に表示するUIコントロールを変更し、そのモデルがサポートしている印刷機能やデバイスオプションのみを表示する。
カスタマイズツール1053は、ドライバーセット1052の設置直後の印刷設定をカスタマイズするツールである。カスタマイズされた印刷設定をカスタム印刷設定情報あるいはカスタム設定情報などと呼ぶことがある。図3(B)にカスタマイズツール1053のモジュールおよびファイルの構成図を示す。カスタマイズツール1053は、ツール10531と、ツール用データ10532と、OS処理のエミュレータである疑似APIモジュール10533で構成される。カスタマイズツール1053でカスタマイズされたドライバーセット1052を用いて、プリンタードライバー10522をOS1054にインストールすると工場出荷時に決められた印刷設定UI3000での初期印刷設定と異なる印刷設定初期値に変更することができる。カスタマイズされたドライバーセットをカスタムドライバーあるいは、プリンタードライバーの場合にはカスタムプリンタードライバーと呼ぶことがある。カスタマイズされたドライバーセット1052の設置後すぐに印刷設定UI3000を開くことにより、カスタマイズされた状態を確認することができる。例えば、両面設定:オンや、カラーモード:モノクロおよびステープル:左上などプリンタードライバー10522の工場出荷時とは異なる初期値をインストール後のプリンタードライバー10522に適用することができる。
図3(A)のドライバーセット1052を元に、カスタマイズツール1053でカスタマイズされたドライバーセット1052のモジュールおよびファイルの構成図を図3(C)に示す。図3(A)と図3(C)の違いは、カスタマイズ設定ファイル10523のみである。カスタマイズ設定ファイル10523は、プリンタードライバー10522と関連づけられたカスタマイズ済みの印刷設定情報等(カスタマイズ情報およびツール設定情報)を含む。カスタマイズ設定ファイル10523は、さらにツール設定情報105231とカスタマイズ情報105232で構成される。ツール設定情報105231とは、カスタマイズの元となったドライバーセット1052のバージョンや、カスタマイズツール1053のバージョンなど、直接カスタマイズには影響しない情報を格納する。カスタマイズ情報105232には、ユーザーが設定した印刷設定初期値情報などを格納する。すなわちカスタム化されたデフォルト印刷設定の本体が、カスタマイズ情報105232に含まれている。カスタマイズ後にツール10531は、ドライバーセット1052にカスタマイズ設定ファイル10523を追加する。カスタマイズされたドライバーセット1052を使ってドライバーを設置すると、インストーラー10521は、カスタマイズ設定ファイル10523に従ってプリンタキューにカスタマイズ設定を適用する。この適用により工場出荷時とは異なる初期印刷設定をインストール後のプリンタードライバー10522の初期値として適用する。
●カスタマイズ処理
図5(A)のフローチャートを用いて、カスタマイズツール1053でのカスタマイズ処理を説明する。この処理は、ユーザーの指示をうけてOS1054がカスタマイズツール1053のツール10531を補助記憶装置105からRAM1022にロードしCPU101に実行を依頼することにより開始される(S400)。なお、本フローチャートの処理の主体は特に断らない限りツール10531である。本実施例のツール10531は、複数のダイアログを表示し設定に必要な順番にそって表示設定するウィザード形式のアプリで説明する。なお、特にウィザード形式のアプリに限定する必要はなく単一ダイアログのアプリなどでもよい。
図5(A)のフローチャートを用いて、カスタマイズツール1053でのカスタマイズ処理を説明する。この処理は、ユーザーの指示をうけてOS1054がカスタマイズツール1053のツール10531を補助記憶装置105からRAM1022にロードしCPU101に実行を依頼することにより開始される(S400)。なお、本フローチャートの処理の主体は特に断らない限りツール10531である。本実施例のツール10531は、複数のダイアログを表示し設定に必要な順番にそって表示設定するウィザード形式のアプリで説明する。なお、特にウィザード形式のアプリに限定する必要はなく単一ダイアログのアプリなどでもよい。
まずツール10531は、図6(A)に示す使用許諾書ダイアログ5000をモニター110に表示する(S401)。ポインティングデバイス109を用いたユーザーからの"はい"ボタン5001の押下をうけて処理を進める。次に図6(B)に示すカスタマイズ対象のモデル選択ダイアログ5100を表示する(S402)。モデル選択ダイアログ5100はカスタマイズの元となるドライバーセット1052のフォルダパス指定と、そのドライバーセット1052が対応するモデルのうちカスタマイズ対象とするモデルを選択するダイアログである。参照ボタン5101の押下をうけると、図6(C)に示すOS標準のフォルダー指定ダイアログ5200が表示される。この表示は、ツール10531がOS1054に依頼することでフォルダー指定ダイアログ5200の表示がモニター110に表示され、ユーザーによるフォルダーの指定を受け付ける。ポインティングデバイス109によるユーザーからの指定を受け付けると、OS1054は、カスタマイズの元となるドライバーセット1052のフォルダパスの情報をツール10531に返却する。ツール10531は、フォルダパスの位置に存在するドライバーセット1052がカスタマイズツール1053で対応しているものかを確認する。確認処理は、ドライバーセット1052の構成やINFファイル105221の記載およびドライバーUIモジュール105222のExport関数の有無をもとに行う。同確認処理や、またドライバーセット1052の各モジュールが圧縮されて格納されている場合の解凍処理およびバックアップのファイルコピー処理時間がかかる場合がある。そのため処理中は、図6(D)に示す処理の進行状況を示すプログレスダイアログ5110を、モデル選択ダイアログ5100の手前に表示する。ツール10531がドライバーセット1052をカスタマイズ可能と判断した場合には、図6(E)に示すカスタマイズ対象のモデル選択ダイアログ5100をモニター110に表示する。テキストボックス5102に、指定されたフォルダパスが表示され、またリストボックス5103に、指定されたフォルダパスのドライバーセット1052で対応するモデルの名称が列挙されている。リストボックス5103の各モデル名の前には、チェックボックス5104が存在する。カスタマイズ対象にしたいモデルのチェックボックス5104を一つ以上チェックすると、"次へ"のボタン5105が操作可能になる。その押下をうけてツール10531は、次に処理を進める。チェックボックス5104にチェックを付けたモデルがカスタマイズ対象に指定されたモデル群となる。ツール10531は、図5(A)の詳細カスタマイズ設定処理を実行する(S403)。ツール10531は図7(A)に示す詳細カスタマイズ設定ダイアログ6000を表示してカスタマイズ操作を受け付ける(S412)。この処理の詳細を図5(B)のフローチャートを用いて後で説明する。
ステップS403の設定のカスタマイズが完了したなら、カスタマイズツール1053でのカスタマイズ処理の最後ステップとして、ツール10531は、カスタマイズされたドライバーセット1052の出力処理を実行する(S404)。ツール10531は、図7(B)に示すカスタマイズされたドライバーセット1052の作成ダイアログ6100を表示する。カスタマイズされたドライバーセット1052の作成ダイアログ6100は、カスタマイズされたドライバーセット1052の保存先フォルダパスを指定するための参照ボタン6101を持つ。参照ボタン6101の押下を受けると、図7(C)に示すOS標準のフォルダー指定ダイアログ6200が表示される。この表示は、ツール10531がOS1054に依頼することで行われ、OS1054が同ダイアログへのフォルダーの指定操作を受け付ける。ポインティングデバイス109による指定操作を受け付けると、OS1054はフォルダパスの情報をツール10531に返却する。OS1054から戻されたフォルダパスの情報をうけて、ツール10531は、保存先のテキストボックス6102に表示する。カスタマイズされたドライバーセット1052の作成ダイアログ6100は、カスタマイズコードを指定するためにUIコントロール6103をもつ。このコントロールで受け付けたカスタムコードは、カスタマイズ設定ファイル10523のツール設定情報105231として、カスタマイズされたドライバーセット1052に保存される。プリンタードライバー10522の設置後は、印刷設定UI3000のバージョン情報ボタン3204を押下した際に表示されるダイアログでカスタムコードを確認することができる。
カスタマイズされたドライバーセット1052の作成ダイアログ6100の保存ボタン6105の押下をうけて、ツール10531は、図7(D)に示すカスタマイズされたドライバーセット1052の作成中ダイアログ6300をモニター110に表示する。カスタマイズされたドライバーセット1052の作成は、カスタマイズプリンタードライバー10522の元になったドライバーセットを保護するために丸ごとコピーし別のドライバーセット1052を作る必要がある。この処理は比較的時間を要する。そのためカスタマイズされたドライバーセット1052の作成中ダイアログ6300は、プログレスバー6301で処理の進行状況を表示する。最終的には、詳細カスタマイズ設定処理S403で生成したカスタマイズ設定を、カスタマイズ設定ファイル10523として、ドライバーセット1052に追加で保存する。これにより、図3(C)のようなカスタマイズされたドライバーセット1052が完成する(S405)。
図5(B)はステップS403の詳細を示す。ステップS403において、まずツール10531は図7(A)に示す詳細カスタマイズ設定ダイアログ6000を表示する(S411)。さらに同じダイアログへの操作を受け付ける(S412)。詳細カスタマイズ設定ダイアログ6000はカスタマイズ対象に指定されたモデル群を表示するリストビュー6001を持っている。リストビュー6001では、ひとつのモデルが選択状態になっており、ポインティングデバイス109により、選択状態のモデルを変更可能である。またリストビュー6001では、印刷設定、お気に入り、スタンプ、デバイス設定/管理者設定のカスタマイズ情報105232を示す。該当項目でカスタマイズが行われた場合は、"変更あり"という文字が表示される。リストビュー6001で一つのモデルを選択状態で、設定ボタン6002の押下を受け付ける(S413)。
設定ボタン6002の押下を受け付けると(S413の"はい")、詳細カスタマイズのために、図4Aに示した選択状態のモデルの印刷設定UI3000を表示する(S414)。印刷設定UI3000の表示処理は、ドライバーUIモジュール105222を、OS処理のエミュレータである疑似APIモジュール10533を用いて呼び出すことにより実現する。ドライバーUIモジュール105222の呼び出し時には、以前にカスタマイズしたカスタマイズ情報105232を受け渡す。このことにより、印刷設定UI3000の初期表示に、以前カスタマイズしたカスタマイズ情報105232を適用して表示することもできる。印刷設定UI3000への操作への応答および印刷設定の生成処理は、ドライバーUIモジュール105222が行う。印刷設定UI3000はドライバーセット1052に含まれるドライバーUIモジュール105222を用いるので、通常のアプリからの印刷設定の操作と同じ操作感で印刷設定を行え、その結果である印刷設定をカスタマイズ設定として入手することができる。印刷設定UI3000で、"OK"のボタン3001が押下されてUIが閉じられたかどうかを判断する(S415)。
"OK"のボタン3001が押下されてUIが閉じられた場合(S415の"はい")、現在選択中のモデルに対して詳細カスタマイズ設定を保存する(S416)。印刷設定UI3000で、"OK"以外のボタンが押下されてUIが閉じられた場合(S415の"いいえ")、何もしない。上記いずれかの手段で印刷設定UI3000が閉じられた後、ステップS411、すなわち詳細カスタマイズ設定ダイアログ6000に戻る。
一方ステップS413で、押されたボタンが設定ボタンでないと判定されたなら、詳細カスタマイズ設定ダイアログ6000で、"次へ"のボタン6003が押下されたかどうかを判断する(S418)。"次へ"のボタン6003が押下された場合(S418の"はい")、詳細カスタマイズ設定処理S403を終了する(S419)。
上記手順により、プリンター毎に印刷設定をカスタム化し、カスタムドラーバーセットとして保存することができる。
●カスタムドライバーのインストール
次に、図8のフローチャートを用いて、上記で作成したカスタマイズされたドライバーセット1052を使用したインストールする処理について説明する。このフローチャートの処理の主体は特に断らない限りインストーラー10521である。本処理はカスタマイズされたドライバーセット1052に含まれるインストーラー10521の実行ファイルをポインティングデバイス109などでダブルクリックすることなどで起動する(S700)。
次に、図8のフローチャートを用いて、上記で作成したカスタマイズされたドライバーセット1052を使用したインストールする処理について説明する。このフローチャートの処理の主体は特に断らない限りインストーラー10521である。本処理はカスタマイズされたドライバーセット1052に含まれるインストーラー10521の実行ファイルをポインティングデバイス109などでダブルクリックすることなどで起動する(S700)。
まず、図10(A)に示す通り、使用許諾書ダイアログ8000をモニター110に表示する(S701)。ポインティングデバイス109を用いたユーザーからの"はい"ボタン8001の押下をうけて図10(B)に示すプリンターのセットアップ方法選択ダイアログ8100を表示する(S702)。ポインティングデバイス109を用いたユーザーからどのセットアップ方法でインストールするかを受けて、さらに"次へ"ボタン8104の押下をうけて次の処理を進める。ユーザーの設定が「標準セットアップ8101」だった場合(S702の"標準セットアップ")、図10(C)のようなプリンターの選択画面8200を表示する。その際、クライアントコンピュータ100とネットワーク300を介して繋がっているインストール可能なプリンター200を探索する(S703)。探索して見つかったインストール可能なプリンター200のリストの中からさらに、カスタマイズ対象のプリンターのみを絞り込んで、プリンター一覧8201に表示する(S704)。ポインティングデバイス109を用いたユーザーからの"次へ"ボタン8202の押下をうけて、選択されているプリンタードライバー10522のネットワークインストール処理を行う(S705)。
図10(B)に示すプリンターのセットアップ方法選択ダイアログ8100で、ユーザーの設定が「カスタムセットアップ8102」だった場合、(S702の"カスタムセットアップ")、図10(D)のようなプリンターの選択画面8300を表示する。その際、カスタマイズ対象のプリンターのみリストして、プリンター一覧8301に表示する(S706)。ポインティングデバイス109を用いたユーザーからの"次へ"ボタン8302の押下をうけて、選択されているプリンタードライバー10522の詳細設定を行う(S707)。詳細設定の例として、プリンター名や接続先のポートや共有設定を行うかどうかの設定を行うことができる。上記詳細設定を選択されている全てのプリンターの数だけ行う(S708~S709)。選択されている全てのプリンターに対して設定が完了したら(S708の"はい")、選択されている全てのプリンターのインストール処理を行う(S710)。
図10(B)に示すプリンターのセットアップ方法選択ダイアログ8100で、ユーザーの設定が「USB接続セットアップ8103」だった場合(S702の"USB接続セットアップ")、図10(E)のようなメッセージ画面を表示する。ポインティングデバイス109を用いたユーザーからの"はい"ボタン8401の押下をうけてUSB接続のセットアップを開始する(S711)。ステップS711の詳細については図9を参照しt得説明する。それぞれのインストール処理が完了したら、処理を終了する(S712)。
●USBのプラグアンドプレイ(PnP)インストール
図9(A)のフローチャートを用いて、カスタマイズされたドライバーセット1052に含まれるインストーラー10521によるUSBのPnPインストールの動作について説明する。PnPインストールとは、オペレーティングシステムにより提供される自動インストール機能を用いたインストールということもできる。本動作は、図8で示したプリンターのセットアップ方法の選択処理(S702)において、「USB接続セットアップ」が選択された後、警告画面8400の"はい"ボタン8401の押下を受けて開始する(S730)。このフローチャートの処理の主体は、特に断らない限りインストーラー10521である。
図9(A)のフローチャートを用いて、カスタマイズされたドライバーセット1052に含まれるインストーラー10521によるUSBのPnPインストールの動作について説明する。PnPインストールとは、オペレーティングシステムにより提供される自動インストール機能を用いたインストールということもできる。本動作は、図8で示したプリンターのセットアップ方法の選択処理(S702)において、「USB接続セットアップ」が選択された後、警告画面8400の"はい"ボタン8401の押下を受けて開始する(S730)。このフローチャートの処理の主体は、特に断らない限りインストーラー10521である。
まず、インストーラー10521は、インストールするドライバーセット1052がカスタマイズドライバーかどうかを判断する(S731)。ドライバーセット1052がカスタマイズドライバーかどうかを判断する方法の例としては、インストール対象のドライバーセット1052に、カスタマイズ設定ファイル10523が含まれているかどうかで判断できる。上記の判断で、カスタマイズドライバーセットではなかった場合(S731の"いいえ"の場合)、通常のUSBのPnPインストールを行う(S732)。カスタマイズドライバーであった場合(S731の"はい"の場合)、クライアントコンピュータ100に既にインストールされているプリンタキューのリストを取得する(S733)。次に通常のUSBのPnPインストールを開始する(S734)。USBのPnPインストールは、開始はインストーラー10521が行うが、途中の処理はOS1054が制御する。そのため、USBのPnPインストールの完了や、どのプリンターがインストールされたのかをインストーラー10521自体が把握することができない。インストーラー10521は、USBのPnPインストールされたプリンタードライバーに対して、カスタマイズ情報105232を登録するためには、USBのPnPインストールの完了を知る必要がある。このため、一定の間隔を待って(S738)、毎回プリンタキューのリストを取得し(S735)、USBポートに接続したプリンタキューが増加したかどうかを調べる(S736)。調べた結果、USBポートに接続されているプリンタードライバー10522が増加していた場合、インストールが完了したとみなし、次の処理に進む(S737の"はい")。USBのPnPインストールが完了したら、インストールされたプリンタキューを調べ、追加されたプリンター200がカスタマイズ対象のドライバーかどうかを調べる(S739)。調べた結果、カスタマイズ対象のプリンタードライバー10522だった場合(S739の"はい")、カスタマイズ情報105232を登録する(S740)。カスタマイズ情報105232を登録する登録先として、QueuePropertyBag2083があげられる。QueuePropertyBag2083は、各プリンタキューに紐づけられたデータ群を扱うことができ、かつコンフィギュレーションモジュール208が参照することが可能である。なので、インストーラー10521がインストール時に、ここにカスタマイズ情報105232を登録することにより、カスタマイズプリンタードライバー10522を形成させることができる。
カスタマイズ対象のドライバーでなかった場合(S739の"いいえ")、USBのPnPインストールで追加したプリンタードライバー10522はカスタマイズ対象外であることをメッセージ通知する(S741)。通知するメッセージ内容の例を図9(B)に示したが、これに限定するものではない。
上記実施例により、インストーラー10521が制御できないUSBのPnPインストールにおいても、カスタマイズプリンタードライバー10522と判断した場合、カスタマイズ情報105232を登録し、カスタマイズドライバーとしてインストールできる。また、ユーザーが誤ってカスタマイズ対象外のプリンタードライバー10522をインストールしてしまった場合でも、ユーザーに通知することにより、管理者が期待した通りの印刷ができなくなる問題を未然に防ぐことができる。
[実施形態2]
実施例1においては、USBのPnPインストール時に、カスタマイズドライバー対象外のプリンタードライバー10522がインストールされた場合に、そのことをユーザーに通知し、それにより問題を未然に防ぐようにした。ただし、それでも印刷はできてしまうという問題があった。そもそも、このカスタマイズドライバーを作成したユーザー(IT管理者)は、インストール対象のプリンタードライバーを制限することで、それ以外のプリンタードライバーのインストールを許可しないことを期待していると考えられる。
実施例1においては、USBのPnPインストール時に、カスタマイズドライバー対象外のプリンタードライバー10522がインストールされた場合に、そのことをユーザーに通知し、それにより問題を未然に防ぐようにした。ただし、それでも印刷はできてしまうという問題があった。そもそも、このカスタマイズドライバーを作成したユーザー(IT管理者)は、インストール対象のプリンタードライバーを制限することで、それ以外のプリンタードライバーのインストールを許可しないことを期待していると考えられる。
上記のことを鑑み、実施例2では、USBのPnPインストールでカスタマイズ対象外のプリンタードライバー10522がインストールされた場合、そのプリンタキューを削除するようにする。ただし、カスタマイズ対象外のプリンタキューを削除するのは、IT管理者の許可を取るようにする。具体的には図12(A)に示す通り、カスタマイズツール1053の「カスタマイズされたドライバーセット1052の作成」画面9000に、「カスタマイズ設定が反映できない場合はプリンタキューを削除する」チェックボックス9001を設ける。このチェックボックスの設定を、カスタマイズされたドライバーセット1052を作成する際に、ツール設定情報105231として追加する。
図11のフローチャートを用いて、上記の処理を説明する。このフローは、実施形態1の図9の手順に代えて本実施形態で用いられる手順を示す。このドライバーインストールの手順の相違と、図7(B)のUIが図12(A)のUIに代わる点を除けば、本実施形態の構成や手順は実施形態1と同じで良い。図11において処理S901からS910は、図9(A)で説明したS731からS740までの処理と同じなので説明は省略する。
ステップS909において、インストールするドライバーがカスタム対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のドライバーだった場合(S909の"いいえ")、ドライバーを削除するかどうかの設定を参照する(S911)。具体的には、カスタマイズされたドライバーセット1052のツール設定情報105231に含まれる「カスタマイズ設定が反映できない場合はプリンタキューを削除する」がオンかオフかで判断する。「削除する」設定がオンの場合(S911の"はい")、追加されたドライバーを削除する(S912)。さらにカスタマイズ対象外のドライバーだったので、削除したことをメッセージ通知する(S913)。通知するメッセージ内容の例を図12(B)のダイアログ9100に示したが、これに限定するものではない。削除するがオフの場合(S911の"いいえ")、プリンタキューは削除せずに、追加したプリンタードライバーはカスタマイズ対象外であることをメッセージ通知する(S914)。この処理は、実施例1で示したS741のメッセージ通知処理と同様である。
上記実施例により、インストーラーが制御できないUSBのPnPインストールにおいても、カスタマイズ対象ドライバーと判断した場合、設定によりプリンタキューを削除する。これによりIT管理者がカスタマイズドライバーのみ使用させたい場合、対象外のプリンタードライバーはインストールできなくすることが可能となる。
[実施形態3]
実施例2においては、USBのPnPインストール時に、カスタマイズ対象外のプリンタキューをインストールさせないようにすることにより、IT管理者が意図したプリンター200のみ使用させるようにできた。
実施例2においては、USBのPnPインストール時に、カスタマイズ対象外のプリンタキューをインストールさせないようにすることにより、IT管理者が意図したプリンター200のみ使用させるようにできた。
実施例3では、さらに削除する前にカスタマイズ情報105232が登録できた場合は、カスタマイズ対象外のプリンター200であっても削除を行わないでカスタマイズプリンタードライバー10522としてインストールする。ただし、カスタマイズ情報105232は別のプリンターでカスタマイズした情報なので、機種に依存した情報はカスタマイズ情報105232として登録できない。上記のことを考慮し、図13のフローチャートを用いて、上記の処理を説明する。処理S1001からS1010は、図7(B)で説明したS731からS740までの処理と同じなので説明は省略する。
ステップS1009で、インストールするドライバーがカスタマイズ対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のプリンタードライバー10522ではなかった場合(S1009の"いいえ")、カスタマイズ情報105232に含まれる情報の種類に応じて、可能な情報を登録する(S1011)。図14は、カスタマイズ情報105232の中で、他のモデルに対しても登録可能かどうかを示した表である。たとえば印刷設定情報およびスタンプ情報については、インストールされたプリンターのモデルではない他のモデルにも登録してよい。またお気に入りおよびUIの表示設定に関しては、モデルが異なれば登録しない。デバイス設定および管理者設定に関しては、機種依存情報を除いた機種共通情報のみについては、他のモデルにも登録してよい。例えば、スタンプ情報は、プリンターの機種に依存したものではないので、どの機種に対しても登録が可能である。反対に、お気に入り情報は、機種に依存した情報が含まれるので、別のプリンタキューには登録できない。ただし、この情報のみに限定されるものではない。さらに、登録可能/不可能の切り分け方法は一例であり、これに限定されるものではない。
ステップS1012では、カスタマイズ情報105232が全て登録できた場合(S1012の"はい")、削除はしないでそのままカスタマイズプリンタードライバー10522としてインストールしたままとする。カスタマイズ情報105232が一部登録できなかった場合(S1012の"いいえ")、カスタマイズ設定が反映できなかったとみなし、ステップS1013以降の処理を行う。図14を例にとると、カスタマイズ情報が、印刷設定情報とスタンプ情報のみを含むであれば、インストールされたドライバーが、カスタム化されたドライバーでなくとも、カスタム情報を全てインストール可能である。この場合には、ステップS1012ではすべて登録できたと判断できる。一方、カスタマイズ情報にお気に入り設定が含まれていれば、お気に入り設定は異なるモデルに対して登録できないので、ステップS1012では全部の登録はできなかったと判断できる。
これ以降の処理であるS1013からS1016は、図11のS911からS914までの処理と同じなので説明は省略する。この処理により、カスタマイズ情報が登録できなかった場合に追加したドライバーを削除する旨の設定がオンであれば、追加したドライバーをアンイストールする。
上記実施例により、カスタマイズ対象外のモデルのUSBのPnPインストールにおいても、IT管理者が意図したカスタマイズドライバーとしてインストールすることが可能となる。なお、ステップS1011とS1012とを入れ替え、全てのカスタマイズ情報を登録できるのであると判定された場合にカスタマイズ情報を登録し、登録できないと判断したならステップS1013に分岐してもよい。
[実施形態4]
図15のフローチャートを用いて、カスタマイズ対象外のモデルがインストールされた場合、指定された連絡先に通知する処理について説明する。図16(A)は、カスタマイズツール1053の[カスタマイズドライバーセットの作成]画面12000である。その画面において、「カスタマイズ対象外のモデルがインストールされたら管理者へ通知する」チェックボックス12001があり、さらに通知先を入力できる欄12002がある。これらの入力情報は、ツール設定情報105231としてカスタマイズされたドライバーセット1052に追加する。上記のカスタマイズされたドライバーセット1052を使用して、USBのPnPインストールした処理について説明する。まず、処理S1101からS1110は、図9(A)で説明したS731からS740までの処理と同じなので説明は省略する。
図15のフローチャートを用いて、カスタマイズ対象外のモデルがインストールされた場合、指定された連絡先に通知する処理について説明する。図16(A)は、カスタマイズツール1053の[カスタマイズドライバーセットの作成]画面12000である。その画面において、「カスタマイズ対象外のモデルがインストールされたら管理者へ通知する」チェックボックス12001があり、さらに通知先を入力できる欄12002がある。これらの入力情報は、ツール設定情報105231としてカスタマイズされたドライバーセット1052に追加する。上記のカスタマイズされたドライバーセット1052を使用して、USBのPnPインストールした処理について説明する。まず、処理S1101からS1110は、図9(A)で説明したS731からS740までの処理と同じなので説明は省略する。
ステップS1109において、インストールするドライバーがカスタマイズ対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のドライバー1052ではなかった場合(S1109の"いいえ")、ツール設定情報105231に応じて、管理者に通知するかどうかを判断する(S1111)。具体的には、[カスタマイズ対象外のモデルがインストールされたら管理者へ通知する]がオンだった場合(S1111の"はい")、設定されている通知先へカスタマイズ対象外のプリンタードライバーがインストールされたことを通知する(S1112)。通知するメッセージ内容の例を図16(B)の警告画面12100に示したが、これに限定するものではない。[カスタマイズ対象外のモデルがインストールされたら管理者へ通知する]がオフだった場合(S1111の"いいえ")、カスタマイズ対象外のドライバーであることをメッセージ通知する(S1113)。この処理は、実施例1で示したS741のメッセージ通知処理と同様である。
上記実施例により、ユーザーが誤ってカスタマイズ対象外のモデルのUSBのPnPインストールされた場合、そのことをIT管理者に通知することができる。なお管理者へのメッセージを、たとえばメール等により予め登録された管理者の宛先に送信してもよい。
[実施形態5]
実施例1では、ユーザーが誤ってカスタマイズ対象外のプリンタードライバー10522をインストールしてしまった場合に、インストーラー10521がユーザーに通知していた。実施例5では、プリンタードライバー10522の印刷設定UI3000においても、カスタマイズ対象外のプリンタードライバーがインストールされたことを通知する。
実施例1では、ユーザーが誤ってカスタマイズ対象外のプリンタードライバー10522をインストールしてしまった場合に、インストーラー10521がユーザーに通知していた。実施例5では、プリンタードライバー10522の印刷設定UI3000においても、カスタマイズ対象外のプリンタードライバーがインストールされたことを通知する。
図17のフローチャートを用いて、カスタマイズ対象外のモデルがインストールされた場合のプリンタードライバー10522のUI画面起動処理について説明する。本処理は、通常のアプリ1051から印刷を行う際に表示される詳細設定画面の「プリンターのプロパティ」をポインティングデバイス109などでクリックすることなどで起動する(S1300)
まず、プリンタードライバー10522がカスタマイズしたプリンタードライバーかどうかを判断する(S1301)。カスタマイズしたプリンタードライバーかどうかを判断する方法として、ツール設定情報105231が登録されているかどうかで判断することが可能である。ツール設定情報105231がある場合、つまりカスタマイズされたドライバーだった場合(S1301の"はい")、カスタマイズ情報105232があるかどうかを判断する(S1302)。カスタマイズ情報105232がある場合(S1302の"はい")、登録されているカスタマイズ情報105232を反映した印刷設定画面を起動する(S1303)。カスタマイズ情報105232がない場合(S1302の"いいえ")、カスタマイズ情報105232が正しく作成されていないことをメッセージ通知する(S1304)。通知するメッセージ内容の例を図18の警告メッセージ画面14000に示したが、これに限定するものではない。
まず、プリンタードライバー10522がカスタマイズしたプリンタードライバーかどうかを判断する(S1301)。カスタマイズしたプリンタードライバーかどうかを判断する方法として、ツール設定情報105231が登録されているかどうかで判断することが可能である。ツール設定情報105231がある場合、つまりカスタマイズされたドライバーだった場合(S1301の"はい")、カスタマイズ情報105232があるかどうかを判断する(S1302)。カスタマイズ情報105232がある場合(S1302の"はい")、登録されているカスタマイズ情報105232を反映した印刷設定画面を起動する(S1303)。カスタマイズ情報105232がない場合(S1302の"いいえ")、カスタマイズ情報105232が正しく作成されていないことをメッセージ通知する(S1304)。通知するメッセージ内容の例を図18の警告メッセージ画面14000に示したが、これに限定するものではない。
上記実施例により、ユーザーが誤ってカスタマイズ対象外のモデルのUSBのPnPインストールされた場合、インストール時だけでなく、UI起動時にも通知することが可能となる。
さらに、本実施形態は、実施形態1乃至4と組み合わせて実施することもできる。
クライアントコンピュータ100、プリンター200、ネットワーク300、ドライバーセット1052、インストーラー10521、プリンタードライバー10522、カスタマイズツール1053、ツール10531
Claims (10)
- 接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできる情報処理装置であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段と
を有することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記カスタムプリンタードライバーではないと判定された場合に前記インストールされたプリンタードライバーを削除する削除設定ができる設定手段をさらに有し、
前記登録手段はさらに、前記カスタムプリンタードライバーではないと判定された場合には、前記削除設定であれば前記インストールされたプリンタードライバーを削除することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記登録手段はさらに、前記カスタムプリンタードライバーではないと判定された場合には、前記カスタム設定情報をデフォルトの設定情報として登録し、全てのカスタム設定情報の登録ができない場合には、前記メッセージを出力することを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記登録手段はさらに、全てのカスタム設定情報の登録ができない場合には、前記インストールされたプリンタードライバーを削除する設定であれば前記インストールされたプリンタードライバーを削除することを特徴とする情報処理装置。 - 請求項3または4に記載の情報処理装置であって、
登録できるカスタム設定情報には、印刷設定情報とスタンプ情報とを含むことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記登録手段は、前記メッセージを、あらかじめ登録されている管理者に通知することを特徴とする情報処理装置。 - 請求項1乃至6のいずれか一項に記載の情報処理装置であって、
前記自動インストール機能を用いたプリンタードライバーのインストールを含むインストール方法を選択するためのユーザーインターフェースを表示する手段をさらに有することを特徴とする情報処理装置。 - 請求項1乃至7のいずれか一項に記載の情報処理装置であって、
前記初期の設定情報を基に前記カスタム設定情報を作成するためのカスタマイズ手段をさらに有することを特徴とする情報処理装置。 - 接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできるドライバーインストール方法であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせ、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定し、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する
ことを特徴とするドライバーインストール方法。 - 接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を有するコンピューターによりプリンタードライバーをインストールさせるプログラムであって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段と
して前記コンピューターを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017125593A JP2019008673A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置およびドライバーインストール方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017125593A JP2019008673A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置およびドライバーインストール方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019008673A true JP2019008673A (ja) | 2019-01-17 |
Family
ID=65028923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017125593A Pending JP2019008673A (ja) | 2017-06-27 | 2017-06-27 | 情報処理装置およびドライバーインストール方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019008673A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966642B2 (en) | 2021-10-04 | 2024-04-23 | Seiko Epson Corporation | Information processing device, installation method, and program |
JP7507013B2 (ja) | 2020-06-02 | 2024-06-27 | シャープ株式会社 | 印刷システム、情報処理装置、制御プログラムおよび制御方法 |
-
2017
- 2017-06-27 JP JP2017125593A patent/JP2019008673A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7507013B2 (ja) | 2020-06-02 | 2024-06-27 | シャープ株式会社 | 印刷システム、情報処理装置、制御プログラムおよび制御方法 |
US11966642B2 (en) | 2021-10-04 | 2024-04-23 | Seiko Epson Corporation | Information processing device, installation method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4863450B2 (ja) | デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 | |
JP4847212B2 (ja) | 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体 | |
JP3634784B2 (ja) | 情報処理方法及び印刷制御装置 | |
JP5365337B2 (ja) | 動的装置機能に基づくジョブ・エディター・インターフェース | |
JP3639821B2 (ja) | 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
US20120281245A1 (en) | Information processing apparatus, information processing method, and storage medium | |
RU2560793C2 (ru) | Аппарат обработки информации, способ управления и носитель информации | |
US20190050173A1 (en) | Information processing apparatus, control method, and recording medium | |
US20200004473A1 (en) | Information apparatus, controlling method for information apparatus, and storage medium | |
JP5499584B2 (ja) | 印刷制御プログラム、情報処理装置、及び記録媒体 | |
JP6108864B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP5527992B2 (ja) | 印刷制御方法、印刷制御装置、及びコンピュータプログラム | |
US20120120443A1 (en) | Information processing apparatus, information processing system, and storage medium | |
US20080250430A1 (en) | Method and corresponding apparatus for creation of print drivers in a network | |
JP3774684B2 (ja) | 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体 | |
JP2019008673A (ja) | 情報処理装置およびドライバーインストール方法 | |
JP7387342B2 (ja) | アプリケーション、情報処理装置及び制御方法 | |
JP2017033052A (ja) | 画像形成装置における制御装置およびプログラム | |
JP3706823B2 (ja) | 印刷制御方法及び印刷制御装置及びコンピュータが実行可能な印刷データ処理を行う印刷制御プログラム並びにコンピュータが読み出し可能な記憶媒体 | |
US9270853B2 (en) | Exporting and importing for display on an image forming apparatus environment setting information of an application | |
US10310780B2 (en) | System and control method for installing printer driver | |
JP2020030697A (ja) | 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法 | |
JP2006171991A (ja) | 代行及び分散印刷システム | |
JP2019128856A (ja) | プリンタードライバーのカスタマイズツール | |
JP7328405B2 (ja) | 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション |