(57)【要約】      （修正有）【課題】ＵＳＢのＰｎＰインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールする情報処理装置およびドライバーインストール方法を提供する。【解決手段】インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録する登録手段とを有する。【選択図】図９
2019008673.tif 000002
【特許請求の範囲】
【請求項１】
接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできる情報処理装置であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段と
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記カスタムプリンタードライバーではないと判定された場合に前記インストールされたプリンタードライバーを削除する削除設定ができる設定手段をさらに有し、
前記登録手段はさらに、前記カスタムプリンタードライバーではないと判定された場合には、前記削除設定であれば前記インストールされたプリンタードライバーを削除することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記登録手段はさらに、前記カスタムプリンタードライバーではないと判定された場合には、前記カスタム設定情報をデフォルトの設定情報として登録し、全てのカスタム設定情報の登録ができない場合には、前記メッセージを出力することを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記登録手段はさらに、全てのカスタム設定情報の登録ができない場合には、前記インストールされたプリンタードライバーを削除する設定であれば前記インストールされたプリンタードライバーを削除することを特徴とする情報処理装置。
【請求項５】
請求項３または４に記載の情報処理装置であって、
登録できるカスタム設定情報には、印刷設定情報とスタンプ情報とを含むことを特徴とする情報処理装置。
【請求項６】
請求項１に記載の情報処理装置であって、
前記登録手段は、前記メッセージを、あらかじめ登録されている管理者に通知することを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の情報処理装置であって、
前記自動インストール機能を用いたプリンタードライバーのインストールを含むインストール方法を選択するためのユーザーインターフェースを表示する手段をさらに有することを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の情報処理装置であって、
前記初期の設定情報を基に前記カスタム設定情報を作成するためのカスタマイズ手段をさらに有することを特徴とする情報処理装置。
【請求項９】
接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできるドライバーインストール方法であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせ、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定し、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する
ことを特徴とするドライバーインストール方法。
【請求項１０】
接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を有するコンピューターによりプリンタードライバーをインストールさせるプログラムであって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段と
して前記コンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびドライバーインストール方法に関し、特にカスタマイズしたプリンタードライバーに関する。
【背景技術】
【０００２】
従来、コンピューター上で作成した文書や図といったファイルをアプリケーションから印刷する際には、プリンタードライバーを使って描画データをページ記述言語に変換しプリンターに送信するのが一般的である。またそのとき、用紙の種類や両面、カラー、給紙方法といった印刷設定は、アプリケーションが持つ印刷設定用のユーザーインターフェースか、プリンタードライバーが提供する印刷設定用のユーザーインターフェース（以降、ＵＩとも呼ぶ）を使って行う。また、印刷に関する多様な要求に対応するため、各種の印刷設定の初期値を変更した個別対応のプリンタードライバーのリリースが必要とされている。個別対応のプリンタードライバーの要望に対してスピーディーに対応するために、インストール前のプリンタードライバーの設定値を変更可能なカスタマイズツールが存在する。この種のカスタマイズツールでは、例えば、プリンタードライバーの設定値の初期値を工場出荷値とは別の設定値に変更できる。また、カスタマイズツールでは、インストールする際に選択する機種を限定することができ、ユーザーがインストール時に適切な機種を選択させることも可能である。
【０００３】
特許文献１では、プリンタードライバーのインストール時において、カスタマイズ済みの機種のみをインストールの対象としてユーザーに表示することを可能にする手段が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５９９２０６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、機種の限定を行う場合に、プリンタードライバーのインストール情報を記述するＩＮＦファイルのモデル名称格納領域（リストセクション）を変更することによって機種の限定を実現していた。しかしながら、近年のＷｉｎｄｏｗｓ（登録商標）の方針変更に伴い、デジタル署名がないＩＮＦファイルでインストールすると必ずエラーになるようになった。つまり、ＩＮＦファイルの記述を変更した場合、変更したＩＮＦファイルに対するデジタル署名の申請が必要になる。これを回避するために、プリンタードライバーのインストーラーは、ＩＮＦファイルとは別のファイルに機種リストを保持し、ＵＩに表示する際に、その機種リストを参照して表示するようにした。こうすることで、機種を選択してからインストールする場合は問題がないが、ＵＳＢポート接続時に行うプラグアンドプレイ（以降ＰｎＰ）インストール時には問題が発生する。
【０００６】
ＵＳＢポート接続によるＰｎＰインストールとは、インストーラーでは機種を選択せずに、対象のデバイスとＰＣとをＵＳＢケーブルで接続した際に、対応するプリンタードライバーが自動的にインストールされる仕組みである。この場合、インストーラーではなくＯＳがインストール処理を行う。ＯＳは通常ＩＮＦファイルを参照して、ＵＳＢケーブルで接続したデバイスに対応するプリンタードライバーを検索する。当然ＩＮＦファイルに該当するデバイスがあればインストールは成功する。ここで問題となるのは、カスタマイズ対象ではないデバイスがＵＳＢのＰｎＰインストールされた場合である。インストーラーによるインストールであれば、カスタマイズ対象ではないデバイスのインストールは、機種リストに含めないことで制限できる。ところがＵＳＢのＰｎＰインストールでは、ＯＳは、カスタマイズされていないＩＮＦファイルを参照してドライバーをインストールするため、カスタマイズされていないデバイスであっても通常のインストールは成功する。そしてこの場合、カスタマイズされていないプリンタードライバーがインストールされてしまう。
【０００７】
本発明は上記問題を鑑みて成されたもので、ＵＳＢのＰｎＰインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールする情報処理装置およびドライバーインストール方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を有する。
【０００９】
本発明の一側面によれば、接続されたプリンターに対応したプリンタードライバーをインストールする自動インストール機能を用いてプリンタードライバーをインストールできる情報処理装置であって、
インストールするプリンタードライバーが、初期の設定情報をカスタム化したカスタム設定情報に関連づけられたカスタムプリンタードライバーである場合に、
前記自動インストール機能を用いてプリンタードライバーをインストールさせるインストール手段と、
前記プリンタードライバーのインストールの後で、前記自動インストール機能によりインストールされたプリンタードライバーが、前記カスタムプリンタードライバーであるか判定する判定手段と、
前記インストールされたプリンタードライバーが前記カスタムプリンタードライバーであると判定された場合には前記カスタム設定情報をデフォルトの設定情報として登録し、前記カスタムプリンタードライバーではないと判定された場合には、メッセージを出力する登録手段とを有する。
【発明の効果】
【００１０】
本発明により、ＵＳＢのＰｎＰインストール時にカスタマイズ対象外のプリンタードライバーを適切にインストールすることができる。
【図面の簡単な説明】
【００１１】
【図１】（Ａ）システムの概略構成をあらわすブロック図である。（Ｂ）クライアントコンピュータのハードウェア構成を示すブロック図である。
【図２】クライアントコンピュータにおける印刷処理システムのブロック図である。
【図３】ドライバーセット等のモジュールおよびファイルの構成図である。
【図４Ａ】印刷設定ＵＩの基本タブの模式図である。
【図４Ｂ】印刷設定ＵＩのデバイスの管理タブの模式図である。
【図５】カスタマイズツールでのカスタマイズ処理のフローチャートである。
【図６】ダイアログの模式図である。
【図７】詳細カスタマイズ設定ダイアログの模式図である。
【図８】実施例１におけるカスタマイズされたドライバーセットを使用したインストールする処理のフローチャートである。
【図９】（Ａ）実施例１におけるインストーラーによるＵＳＢのＰｎＰインストールの動作のフローチャートである。（Ｂ）実施例１における警告メッセージダイアログの模式図である。
【図１０】ダイアログの模式図である。
【図１１】実施例２におけるインストーラーによるＵＳＢのＰｎＰインストールの動作のフローチャートである。
【図１２】実施例２における作成ダイアログと警告メッセージダイアログの模式図である。
【図１３】実施例３におけるインストーラーによるＵＳＢのＰｎＰインストールの動作のフローチャートである。
【図１４】実施例３におけるカスタマイズ情報の種類に応じて登録可能かどうかの一覧である。
【図１５】実施例４におけるインストーラーによるＵＳＢのＰｎＰインストールの動作のフローチャートである。
【図１６】実施例４における作成ダイアログと警告メッセージダイアログの模式図である。
【図１７】実施例５におけるＰｎＰインストール完了後のドライバーＵＩモジュールの動作のフローチャートである。
【図１８】実施例５における警告メッセージダイアログの模式図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
［実施形態１］
●システム構成
図１（Ａ）に、本発明に係るシステムの概略構成をあらわすブロック図を示す。このシステムは、クライアントコンピュータ１００と、ページ記述言語(以下ＰＤＬと表記)形式の印刷データを受信し印刷を行なうことが可能なプリンター２００を備える。これらはローカル・エリア・ネットワーク(ＬＡＮ)に代表されるネットワーク３００を介して接続され通信可能である。なおプリンター２００は印刷機能のみを備えるシングルファンクションプリンタ（ＳＦＰ）でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタ（ＭＦＰ）でも構わない。
【００１４】
図１（Ｂ）は、本発明の実施形態を適用可能なクライアントコンピュータ（あるいは情報処理装置）１００のハードウェア構成を示すブロック図である。ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーション(以下アプリとも表記)１０５１や、プリンター用のドライバーセット１０５２や、ドライバーセット１０５２のカスタマイズツール１０５３や、オペレーティングシステム（ＯＳ）１０５４等を記憶する。アプリケーション１０５１（アプリ）や、ドライバーセット１０５２や、カスタマイズツール１０５３は、不図示のＣＤ−ＲＯＭやＵＳＢメモリあるいはネットワーク３００を経由して補助記憶装置１０５に追加することが可能である。キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス１０９などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニター１１０などの出力機器に対してデータを出力する。プリンター２００とは、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク３００を通して接続されている。また１０７は共通データシステムバスで、クライアントコンピュータ１００を構成するハードウェアモジュール間でそれぞれのデータのやりとりに使われる。
【００１５】
●印刷処理システム
図２はクライアントコンピュータにおける印刷処理システムのブロック図である。ドライバー印刷システムは、ＯＳ提供のモジュールやプリンタードライバー等により構成され、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム１０５４上で動作している。プリントマネージャ２１８、ＧＤＩｔｏＸＰＳ変換モジュール２０７、フィルタパイプラインマネージャ２１２、ポートモニター２１９は、オペレーティングシステム１０５４に含まれるモジュールである。ＧＤＩとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、ＧＤＩｔｏＸＰＳ変換モジュール２０７は、ＧＤＩで描画されたデータをＸＰＳデータへ変換する機能を持つ。フィルタパイプラインマネージャ２１２は、ＸＰＳ印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。ＸＰＳ印刷パスとは、ＸＰＳファイル形式のままプリンタードライバー１０５２２に渡され、そのファイルを受信したプリンタードライバー１０５２２がページ記述言語などに置き換えてプリンター２００に出力することができる。ポートモニター２１９は、デバイスにアクセスするプリントマネージャ２１８とドライバー間で通信を制御することができ、プリンタードライバー１０５２２はポートモニター２１９を経由して印刷処理を行う。また、プリントマネージャ２１８はポートモニター２１９を通して、プリンター２００と通信しＡｕｔｏＣｏｎｆｉｇを行う。ＧＤＩｔｏＸＰＳ変換モジュール２０７、コンフィギュレーションモジュール２０８、フィルタパイプラインマネージャ２１２は、プリンタードライバー１０５２２に含まれている。ただし、オペレーティングシステム１０５４から提供されているプリンタードライバー１０５２２のモジュールという位置づけとする。コンフィギュレーションモジュール２０８は、プリンタードライバー１０５２２が提供する印刷設定編集モジュール２０８１を使用して印刷設定情報を編集することができる。さらに、印刷設定編集モジュール２０８１は、ＪａｖａＳｃｒｉｐｔと呼ばれるスクリプト言語で記載され、プリンタードライバーが提供するＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２、２０８３を利用して印刷設定情報を編集する。プロパティバッグとは、プリンターの機種依存情報として利用するためのＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２と呼ばれるデータ群と、プリントキューに紐づいたＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３と呼ばれるデータ群が保持された領域を指す。
【００１６】
ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２は、ドライバーパッケージ内に存在するプリンターの機種依存データであり、プリンタードライバーインストール後にＯＳ内の特定の領域に読み取り専用としてデータ群が保持される。
【００１７】
ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３は、Ｋｅｙ−Ｖａｌｕｅペアのｘｍｌ定義ファイルをＯＳに登録することで利用することが可能であり、Ｖａｌｕｅに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるＧＰＤにもＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３の定義を記載することができる。本実施例では、ドライバーセット１０５２に含まれるインストーラーが通常のインストール処理を行った後に、カスタマイズ情報１０５２３２をＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３に登録することにより、カスタマイズドライバーを実現する。インストーラーがカスタマイズ情報１０５２３２をＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３に登録する処理の詳細については、後述するので参照されたい。
【００１８】
プリンタードライバー１０５２２とフィルタパイプラインマネージャ２１２の各フィルタは、図１の補助記憶装置１０５にプリンタードライバー１０５２２として格納されている。ＧＤＩ印刷アプリケーション２０１とＸＰＳ印刷アプリケーション２０２は、図１（Ｂ）の補助記憶装置１０５にアプリ１０５１として格納されている。以下、ＧＤＩ印刷アプリケーションをＧＤＩアプリ、ＸＰＳ印刷アプリケーションをＸＰＳアプリと略す。ユーザーはキーボード１０８やタッチパネル／マウスなどに代表されるポインティングデバイス１０９などといった入力装置を使用して、出力装置のモニター１１０に映し出されたＧＤＩアプリ２０１、もしくはＸＰＳアプリ２０２から印刷処理を実行する。印刷処理はプリンターの選択、印刷設定の作成、描画データの変換と３つの処理を順番に行うことで実行する。
【００１９】
まずは、印刷したいプリンター２００の選択を行う。ユーザーから見るとプリンター２００の選択は、印刷を実行するプリンター２００に対応したプリンタードライバー１０５２２を選択することと同義である。プリンタードライバー１０５２２の選択には、不図示のプリントキューを利用する。
【００２０】
次に印刷設定を作成する。印刷設定はまず、アプリケーション１０５１が印刷設定用のメモリ領域をＲＡＭ１０２２に確保する。そして、アプリ１０５１は、プリンタードライバー１０５２２のコンフィギュレーションモジュール２０８を呼び出して、印刷設定データを作成して格納する。ＧＤＩアプリ２０１では印刷設定データとしてバイナリのＤＥＶＭＯＤＥ２０３を用い、ＸＰＳアプリ２０２ではマークアップ言語のＸＭＬで記載されたＰｒｉｎｔＴｉｃｋｅｔ２０４を用いる。ＤＥＶＭＯＤＥ２０３は、オペレーティングシステム１０５４が定義する標準領域とプリンタードライバー１０５２２が独自で定義する拡張領域とを持つ。ＰｒｉｎｔＴｉｃｋｅｔ２０４は、ＸＭＬ形式で記述された印刷設定情報で、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィギュレーションモジュール２０８は、機種依存ファイル（ＧＰＤ）２０９を利用して、印刷設定データを作成する。このＤＥＶＭＯＤＥ２０３もしくはＰｒｉｎｔＴｉｃｋｅｔ２０４が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更する。機種依存ファイル（ＧＰＤ）２０９は、ＧＰＤと呼ばれる印刷設定定義ファイルを指す。またこの機種依存ファイル（ＧＰＤ）２０９である印刷設定定義ファイルには、デバイスの能力やデバイスのオプション構成、プリントキューに紐づくＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇの定義を記載することができる。
【００２１】
これらプリンター２００に依存した専用の設定は、プリンターエクステンション２１０が持つユーザーインターフェースで設定する。プリンタードライバー１０５２２は、ユーザーインターフェースの設定に従い、ＤＥＶＭＯＤＥ２０３もしくはＰｒｉｎｔＴｉｃｋｅｔ２０４のプリンター２００に依存した設定を変更する。ＰｒｉｎｔＴｉｃｋｅｔ２０４は印刷設定がＸＭＬ形式で記述されているので、ＸＰＳアプリ２０２がすべての設定値を直接変更して書き換えることは容易だが、プリンターエクステンション２１０のユーザーインターフェースを使って設定変更してもかまわない。このプリンターエクステンション２１０は、プリンタードライバー１０５２２の一種ではあるが、プリンタードライバー１０５２２とは別のアプリケーションとしてインストールが行われる。
【００２２】
印刷設定は文書印刷のたびに作成するが、プリンター２００のオプション機器や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンターエクステンション２１０がオペレーティングシステム１０５４のレジストリデータベース２０５に保存する。レジストリデータベース２０５が使用できないときは、プリンターエクステンション２１０は、アプリケーションデータ２２０に設定を保存する。印刷設定のデフォルト値はオペレーティングシステムのプリントマネージャ２１８が、レジストリデータベース２０５に保存する。レジストリデータベース２０５や、アプリケーションデータ２２０は、補助記憶装置１０５に保存される。
【００２３】
印刷設定が確定したら、ユーザーはアプリケーションから印刷処理を実行する。ＧＤＩアプリ２０１から印刷する場合は、ＯＳのモジュールであるＧＤＩｔｏＸＰＳ変換モジュール２０７に描画データが送られ、ＸＰＳスプールファイル２０６が作成される。このときＧＤＩｔｏＸＰＳ変換モジュール２０７はコンフィギュレーションモジュール２０８を呼び出し、印刷設定をＤＥＶＭＯＤＥ２０３からＰｒｉｎｔＴｉｃｋｅｔ２０４に変換する。変換する際には、コンフィギュレーションモジュール２０８によって、印刷設定編集モジュール２０８１が使用される。
【００２４】
一方、ＸＰＳアプリ２０２から印刷する場合は、ＸＰＳファイルをＸＰＳアプリ自身が生成するのと、オペレーティングシステム１０５４がＸＰＳアプリからの描画命令に応じてＸＰＳファイルを生成するのと２通りの方法がある。どちらの方法であっても、印刷の途中でＸＰＳスプールファイル２０６を生成する。
【００２５】
ＧＤＩアプリ２０１又はＸＰＳアプリ２０２から印刷の指示が行われることでＸＰＳスプールファイル２０６が生成されたら、プリントフィルタパイプライン２１１に処理が渡される。プリントフィルタパイプライン２１１は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィグレーションファイル２１６でフィルタの数や順番を制御する。本実施形態では以下の３つのフィルタで構成されている。一つ目はプリンター２００と通信する機構を持つ通信フィルタ２１３。二つ目は製本印刷やスタンプ、ページ集約などのレイアウト処理を行う機構を持つレイアウトフィルタ２１４。三つ目はＸＰＳスプールファイル２０６をレンダリングしてＰＤＬに変換する機構を持つレンダラフィルタ２１５である。ＰＤＬとはＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ（ページ記述言語）の略称である。ＰＤＬデータは印刷処理のスケジュール管理を行うプリントマネージャ２１８で管理され、キュー（待ち行列）に印刷ジョブが次々と登録される。プリンター２００が印刷できる状態になったら、キューに登録した順にポートモニター２１９を通して送信する。このようにして、アプリケーションからの印刷データをＰＤＬデータに変換することがプリンタードライバーの主な役目であり、プリンターを通して印刷処理が行われる。
【００２６】
●ソフトウェアモジュールの説明
図３（Ａ）はドライバーセット１０５２のモジュールおよびファイルの構成を示す図である。ドライバーセット１０５２は、インストーラー１０５２１とプリンタードライバー１０５２２で構成される。さらにプリンタードライバー１０５２２は、インストール用の設定が記載されているＩＮＦファイル１０５２２１とドライバーＵＩモジュール１０５２２２とグラフィックスモジュール１０５２２３および機種依存ファイル１０５２２４とで構成される。
【００２７】
インストーラー１０５２１は、ＩＮＦファイル１０５２２１の記載を元に、プリンタードライバー１０５２２をＯＳ１０５４に設置する実行モジュールである。ユーザーからのプリンタードライバー１０５２２のインストール要求をうけて、ＯＳ１０５４はインストーラー１０５２１を補助記憶装置１０５からＲＡＭ１０２２にロードしＣＰＵ１０１を用いて実行する。本実施例ではプリンタードライバー１０５２２はＳＦＰやＭＦＰなど複数のモデルに対応しており、ＩＮＦファイル１０５２２１に複数のモデルに関する設置方法の情報が記載されている。プリンタードライバー１０５２２設置の際は、ユーザーによるインストール対象のモデル選択や出力先のプリンター２００の指定を受け付けインストールが実行される。
【００２８】
図１（Ａ）の示すように、システム内に、複数台のプリンター２００や、複数種類のプリンターのモデルが存在する場合がある。出力先のプリンター毎に、プリンタードライバー１０５２２対応するモデルや印刷設定の初期値および印刷ジョブをそれぞれ管理する必要がある。そのためＯＳ１０５４は、設置の際にプリンタキューと呼ばれる出力先のプリンター２００を表すオブジェクトを生成しＯＳ１０５４内に保持し、このプリンタキューに紐づけてプリンタードライバー１０５２２の構成モジュールや印刷設定の初期値を管理する。ＯＳ１０５４にプリンタードライバー１０５２２が設置されると、アプリ１０５１からの印刷設定要求や印刷要求をプリンタードライバー１０５２２のモジュールで処理可能になり、対応するプリンター２００で印刷することが可能になる。
【００２９】
アプリ１０５１からのプリンターへの印刷設定を受けた場合、ＯＳ１０５４は対応するドライバーＵＩモジュール１０５２２２をＲＡＭ１０２２にロードしＣＰＵ１０１で実行する。その実行をうけて印刷設定ＵＩ３０００をモニター１１０に表示する。印刷設定ＵＩ３０００の操作画面の一例を、図４Ａと図４Ｂに示す。印刷設定ＵＩ３０００は、複数のタブで構成されており、出力先の印刷設定とデバイス設定を受け付ける。図４Ａの[基本]タブ３１００は印刷設定のためのタブであり、両面印刷やカラー印刷などの印刷設定のためのさまざまＵＩコントロールが配置されている。ＵＩコントロールへのキーボード１０８やポインティングデバイス１０９経由の操作を受け、ドライバーＵＩモジュール１０５２２２は現在の印刷設定を生成する。
【００３０】
図４Ｂの[デバイスの設定]タブ３２００は、排紙オプションや両面ユニットなどのデバイスオプションを管理するタブである。さまざまなユーザー要望に応えるために、プリンタメーカーは、排紙オプションや両面ユニットなどのプリンター２００に装着可能なハードェアをデバイスオプションとして販売する。例えば印刷出力物にステープルを行うハードウェアであるフィニッシャーは高価である。そのため一般的にフィニッシャーをプリンターの標準構成とは別売のデバイスオプションと販売する。ステープルするためには対応をするフィニッシャーをプリンター２００に装着する必要がある。また両面印刷機能を滅多に使わないユーザーのために、低価格帯のプリンターでは、標準構成のプリンターには物理的な両面機構を含まず、デバイスオプションとして両面ユニットを装着した際にのみ、両面印刷が可能になるというプリンターも存在する。これらの状況に対応するため、現在の出力先のプリンター２００でどのデバイスオプションが装着されているかを管理する必要がある。プリンター２００と通信可能な場合、現在のデバイスオプションの設定は、デバイス情報取得ボタン３２０２を押下することにより、ネットワーク３００経由でプリンター２００より取得することが可能である。取得されたデバイス情報を元にドライバーＵＩモジュール１０５２２２は、現在のデバイスオプションの設置情報をデバイスオプション一覧３２０１に反映する。もしプリンター２００と通信できない場合は、デバイスオプション一覧３２０１の各項目の選択を受け付けることにより、ＵＩコントロール３２０３が変更され、手動で変更することも可能である。[デバイスの設定]タブ３２００でのデバイスオプションの設定をうけて、ドライバーＵＩモジュール１０５２２２は、[基本]タブ３１００で使えない印刷設定のUIコントロールを選択できない状態で表示とする。印刷設定ＵＩ３０００の各タブで各種印刷設定を設定されたのち、最終的に"ＯＫ"のボタン３００１の押下をうけた場合、ドライバーＵＩモジュール１０５２２２はＯＳ１０５４に印刷設定とデバイスの設定を出力し、印刷設定要求を終了する。
【００３１】
●カスタマイズ概要
次にアプリ１０５１からの印刷要求を受けた場合の動作を説明する。ＯＳ１０５４は対応するドライバーＵＩモジュール１０５２２２をＲＡＭ１０２２にロードしＣＰＵ１０１で実行する。その実行をうけてグラフィックスモジュール１０５２２３で印刷要求に対するＰＤＬを生成する。印刷設定要求で出力された印刷設定は、アプリ１０５１からの印刷要求の際に、グラフィックスモジュール１０５２２３に渡される。グラフィックスモジュール１０５２２３が印刷設定をＰＤＬに変換することにより、両面印刷やカラー印刷など印刷機能の変更が可能になる。
【００３２】
本実施例のプリンタードライバー１０５２２は複数のモデルのプリンター２００に対応する。それぞれプリンター２００でサポートする印刷機能やデバイスオプションはモデルに依存して異なる。各モデルでの印刷機能やデバイスオプションのサポート情報は機種依存ファイル１０５２２４にまとめられている。ドライバーＵＩモジュール１０５２２２の実行時に機種依存ファイル１０５２２４を参照することにより、印刷設定ＵＩ３０００に表示するＵＩコントロールを変更し、そのモデルがサポートしている印刷機能やデバイスオプションのみを表示する。
【００３３】
カスタマイズツール１０５３は、ドライバーセット１０５２の設置直後の印刷設定をカスタマイズするツールである。カスタマイズされた印刷設定をカスタム印刷設定情報あるいはカスタム設定情報などと呼ぶことがある。図３（Ｂ）にカスタマイズツール１０５３のモジュールおよびファイルの構成図を示す。カスタマイズツール１０５３は、ツール１０５３１と、ツール用データ１０５３２と、ＯＳ処理のエミュレータである疑似ＡＰＩモジュール１０５３３で構成される。カスタマイズツール１０５３でカスタマイズされたドライバーセット１０５２を用いて、プリンタードライバー１０５２２をＯＳ１０５４にインストールすると工場出荷時に決められた印刷設定ＵＩ３０００での初期印刷設定と異なる印刷設定初期値に変更することができる。カスタマイズされたドライバーセットをカスタムドライバーあるいは、プリンタードライバーの場合にはカスタムプリンタードライバーと呼ぶことがある。カスタマイズされたドライバーセット１０５２の設置後すぐに印刷設定ＵＩ３０００を開くことにより、カスタマイズされた状態を確認することができる。例えば、両面設定：オンや、カラーモード：モノクロおよびステープル：左上などプリンタードライバー１０５２２の工場出荷時とは異なる初期値をインストール後のプリンタードライバー１０５２２に適用することができる。
【００３４】
図３（Ａ）のドライバーセット１０５２を元に、カスタマイズツール１０５３でカスタマイズされたドライバーセット１０５２のモジュールおよびファイルの構成図を図３（Ｃ）に示す。図３（Ａ）と図３（Ｃ）の違いは、カスタマイズ設定ファイル１０５２３のみである。カスタマイズ設定ファイル１０５２３は、プリンタードライバー１０５２２と関連づけられたカスタマイズ済みの印刷設定情報等（カスタマイズ情報およびツール設定情報）を含む。カスタマイズ設定ファイル１０５２３は、さらにツール設定情報１０５２３１とカスタマイズ情報１０５２３２で構成される。ツール設定情報１０５２３１とは、カスタマイズの元となったドライバーセット１０５２のバージョンや、カスタマイズツール１０５３のバージョンなど、直接カスタマイズには影響しない情報を格納する。カスタマイズ情報１０５２３２には、ユーザーが設定した印刷設定初期値情報などを格納する。すなわちカスタム化されたデフォルト印刷設定の本体が、カスタマイズ情報１０５２３２に含まれている。カスタマイズ後にツール１０５３１は、ドライバーセット１０５２にカスタマイズ設定ファイル１０５２３を追加する。カスタマイズされたドライバーセット１０５２を使ってドライバーを設置すると、インストーラー１０５２１は、カスタマイズ設定ファイル１０５２３に従ってプリンタキューにカスタマイズ設定を適用する。この適用により工場出荷時とは異なる初期印刷設定をインストール後のプリンタードライバー１０５２２の初期値として適用する。
【００３５】
●カスタマイズ処理
図５（Ａ）のフローチャートを用いて、カスタマイズツール１０５３でのカスタマイズ処理を説明する。この処理は、ユーザーの指示をうけてＯＳ１０５４がカスタマイズツール１０５３のツール１０５３１を補助記憶装置１０５からＲＡＭ１０２２にロードしＣＰＵ１０１に実行を依頼することにより開始される（Ｓ４００）。なお、本フローチャートの処理の主体は特に断らない限りツール１０５３１である。本実施例のツール１０５３１は、複数のダイアログを表示し設定に必要な順番にそって表示設定するウィザード形式のアプリで説明する。なお、特にウィザード形式のアプリに限定する必要はなく単一ダイアログのアプリなどでもよい。
【００３６】
まずツール１０５３１は、図６（Ａ）に示す使用許諾書ダイアログ５０００をモニター１１０に表示する（Ｓ４０１）。ポインティングデバイス１０９を用いたユーザーからの"はい"ボタン５００１の押下をうけて処理を進める。次に図６（Ｂ）に示すカスタマイズ対象のモデル選択ダイアログ５１００を表示する（Ｓ４０２）。モデル選択ダイアログ５１００はカスタマイズの元となるドライバーセット１０５２のフォルダパス指定と、そのドライバーセット１０５２が対応するモデルのうちカスタマイズ対象とするモデルを選択するダイアログである。参照ボタン５１０１の押下をうけると、図６（Ｃ）に示すＯＳ標準のフォルダー指定ダイアログ５２００が表示される。この表示は、ツール１０５３１がＯＳ１０５４に依頼することでフォルダー指定ダイアログ５２００の表示がモニター１１０に表示され、ユーザーによるフォルダーの指定を受け付ける。ポインティングデバイス１０９によるユーザーからの指定を受け付けると、ＯＳ１０５４は、カスタマイズの元となるドライバーセット１０５２のフォルダパスの情報をツール１０５３１に返却する。ツール１０５３１は、フォルダパスの位置に存在するドライバーセット１０５２がカスタマイズツール１０５３で対応しているものかを確認する。確認処理は、ドライバーセット１０５２の構成やＩＮＦファイル１０５２２１の記載およびドライバーＵＩモジュール１０５２２２のＥｘｐｏｒｔ関数の有無をもとに行う。同確認処理や、またドライバーセット１０５２の各モジュールが圧縮されて格納されている場合の解凍処理およびバックアップのファイルコピー処理時間がかかる場合がある。そのため処理中は、図６（Ｄ）に示す処理の進行状況を示すプログレスダイアログ５１１０を、モデル選択ダイアログ５１００の手前に表示する。ツール１０５３１がドライバーセット１０５２をカスタマイズ可能と判断した場合には、図６（Ｅ）に示すカスタマイズ対象のモデル選択ダイアログ５１００をモニター１１０に表示する。テキストボックス５１０２に、指定されたフォルダパスが表示され、またリストボックス５１０３に、指定されたフォルダパスのドライバーセット１０５２で対応するモデルの名称が列挙されている。リストボックス５１０３の各モデル名の前には、チェックボックス５１０４が存在する。カスタマイズ対象にしたいモデルのチェックボックス５１０４を一つ以上チェックすると、"次へ"のボタン５１０５が操作可能になる。その押下をうけてツール１０５３１は、次に処理を進める。チェックボックス５１０４にチェックを付けたモデルがカスタマイズ対象に指定されたモデル群となる。ツール１０５３１は、図５（Ａ）の詳細カスタマイズ設定処理を実行する（Ｓ４０３）。ツール１０５３１は図７（Ａ）に示す詳細カスタマイズ設定ダイアログ６０００を表示してカスタマイズ操作を受け付ける（Ｓ４１２）。この処理の詳細を図５（Ｂ）のフローチャートを用いて後で説明する。
【００３７】
ステップＳ４０３の設定のカスタマイズが完了したなら、カスタマイズツール１０５３でのカスタマイズ処理の最後ステップとして、ツール１０５３１は、カスタマイズされたドライバーセット１０５２の出力処理を実行する（Ｓ４０４）。ツール１０５３１は、図７（Ｂ）に示すカスタマイズされたドライバーセット１０５２の作成ダイアログ６１００を表示する。カスタマイズされたドライバーセット１０５２の作成ダイアログ６１００は、カスタマイズされたドライバーセット１０５２の保存先フォルダパスを指定するための参照ボタン６１０１を持つ。参照ボタン６１０１の押下を受けると、図７（Ｃ）に示すＯＳ標準のフォルダー指定ダイアログ６２００が表示される。この表示は、ツール１０５３１がＯＳ１０５４に依頼することで行われ、ＯＳ１０５４が同ダイアログへのフォルダーの指定操作を受け付ける。ポインティングデバイス１０９による指定操作を受け付けると、ＯＳ１０５４はフォルダパスの情報をツール１０５３１に返却する。ＯＳ１０５４から戻されたフォルダパスの情報をうけて、ツール１０５３１は、保存先のテキストボックス６１０２に表示する。カスタマイズされたドライバーセット１０５２の作成ダイアログ６１００は、カスタマイズコードを指定するためにＵＩコントロール６１０３をもつ。このコントロールで受け付けたカスタムコードは、カスタマイズ設定ファイル１０５２３のツール設定情報１０５２３１として、カスタマイズされたドライバーセット１０５２に保存される。プリンタードライバー１０５２２の設置後は、印刷設定ＵＩ３０００のバージョン情報ボタン３２０４を押下した際に表示されるダイアログでカスタムコードを確認することができる。
【００３８】
カスタマイズされたドライバーセット１０５２の作成ダイアログ６１００の保存ボタン６１０５の押下をうけて、ツール１０５３１は、図７（Ｄ）に示すカスタマイズされたドライバーセット１０５２の作成中ダイアログ６３００をモニター１１０に表示する。カスタマイズされたドライバーセット１０５２の作成は、カスタマイズプリンタードライバー１０５２２の元になったドライバーセットを保護するために丸ごとコピーし別のドライバーセット１０５２を作る必要がある。この処理は比較的時間を要する。そのためカスタマイズされたドライバーセット１０５２の作成中ダイアログ６３００は、プログレスバー６３０１で処理の進行状況を表示する。最終的には、詳細カスタマイズ設定処理Ｓ４０３で生成したカスタマイズ設定を、カスタマイズ設定ファイル１０５２３として、ドライバーセット１０５２に追加で保存する。これにより、図３（Ｃ）のようなカスタマイズされたドライバーセット１０５２が完成する（Ｓ４０５）。
【００３９】
図５（Ｂ）はステップＳ４０３の詳細を示す。ステップＳ４０３において、まずツール１０５３１は図７（Ａ）に示す詳細カスタマイズ設定ダイアログ６０００を表示する（Ｓ４１１）。さらに同じダイアログへの操作を受け付ける（Ｓ４１２）。詳細カスタマイズ設定ダイアログ６０００はカスタマイズ対象に指定されたモデル群を表示するリストビュー６００１を持っている。リストビュー６００１では、ひとつのモデルが選択状態になっており、ポインティングデバイス１０９により、選択状態のモデルを変更可能である。またリストビュー６００１では、印刷設定、お気に入り、スタンプ、デバイス設定／管理者設定のカスタマイズ情報１０５２３２を示す。該当項目でカスタマイズが行われた場合は、"変更あり"という文字が表示される。リストビュー６００１で一つのモデルを選択状態で、設定ボタン６００２の押下を受け付ける（Ｓ４１３）。
【００４０】
設定ボタン６００２の押下を受け付けると（Ｓ４１３の"はい"）、詳細カスタマイズのために、図４Ａに示した選択状態のモデルの印刷設定ＵＩ３０００を表示する（Ｓ４１４）。印刷設定ＵＩ３０００の表示処理は、ドライバーＵＩモジュール１０５２２２を、ＯＳ処理のエミュレータである疑似ＡＰＩモジュール１０５３３を用いて呼び出すことにより実現する。ドライバーＵＩモジュール１０５２２２の呼び出し時には、以前にカスタマイズしたカスタマイズ情報１０５２３２を受け渡す。このことにより、印刷設定ＵＩ３０００の初期表示に、以前カスタマイズしたカスタマイズ情報１０５２３２を適用して表示することもできる。印刷設定ＵＩ３０００への操作への応答および印刷設定の生成処理は、ドライバーＵＩモジュール１０５２２２が行う。印刷設定ＵＩ３０００はドライバーセット１０５２に含まれるドライバーＵＩモジュール１０５２２２を用いるので、通常のアプリからの印刷設定の操作と同じ操作感で印刷設定を行え、その結果である印刷設定をカスタマイズ設定として入手することができる。印刷設定ＵＩ３０００で、"ＯＫ"のボタン３００１が押下されてＵＩが閉じられたかどうかを判断する（Ｓ４１５）。
【００４１】
"ＯＫ"のボタン３００１が押下されてＵＩが閉じられた場合（Ｓ４１５の"はい"）、現在選択中のモデルに対して詳細カスタマイズ設定を保存する（Ｓ４１６）。印刷設定ＵＩ３０００で、"ＯＫ"以外のボタンが押下されてＵＩが閉じられた場合（Ｓ４１５の"いいえ"）、何もしない。上記いずれかの手段で印刷設定ＵＩ３０００が閉じられた後、ステップＳ４１１、すなわち詳細カスタマイズ設定ダイアログ６０００に戻る。
【００４２】
一方ステップＳ４１３で、押されたボタンが設定ボタンでないと判定されたなら、詳細カスタマイズ設定ダイアログ６０００で、"次へ"のボタン６００３が押下されたかどうかを判断する（Ｓ４１８）。"次へ"のボタン６００３が押下された場合（Ｓ４１８の"はい"）、詳細カスタマイズ設定処理Ｓ４０３を終了する（Ｓ４１９）。
【００４３】
上記手順により、プリンター毎に印刷設定をカスタム化し、カスタムドラーバーセットとして保存することができる。
【００４４】
●カスタムドライバーのインストール
次に、図８のフローチャートを用いて、上記で作成したカスタマイズされたドライバーセット１０５２を使用したインストールする処理について説明する。このフローチャートの処理の主体は特に断らない限りインストーラー１０５２１である。本処理はカスタマイズされたドライバーセット１０５２に含まれるインストーラー１０５２１の実行ファイルをポインティングデバイス１０９などでダブルクリックすることなどで起動する（Ｓ７００）。
【００４５】
まず、図１０（Ａ）に示す通り、使用許諾書ダイアログ８０００をモニター１１０に表示する（Ｓ７０１）。ポインティングデバイス１０９を用いたユーザーからの"はい"ボタン８００１の押下をうけて図１０（Ｂ）に示すプリンターのセットアップ方法選択ダイアログ８１００を表示する（Ｓ７０２）。ポインティングデバイス１０９を用いたユーザーからどのセットアップ方法でインストールするかを受けて、さらに"次へ"ボタン８１０４の押下をうけて次の処理を進める。ユーザーの設定が「標準セットアップ８１０１」だった場合（Ｓ７０２の"標準セットアップ"）、図１０（Ｃ）のようなプリンターの選択画面８２００を表示する。その際、クライアントコンピュータ１００とネットワーク３００を介して繋がっているインストール可能なプリンター２００を探索する（Ｓ７０３）。探索して見つかったインストール可能なプリンター２００のリストの中からさらに、カスタマイズ対象のプリンターのみを絞り込んで、プリンター一覧８２０１に表示する（Ｓ７０４）。ポインティングデバイス１０９を用いたユーザーからの"次へ"ボタン８２０２の押下をうけて、選択されているプリンタードライバー１０５２２のネットワークインストール処理を行う（Ｓ７０５）。
【００４６】
図１０（Ｂ）に示すプリンターのセットアップ方法選択ダイアログ８１００で、ユーザーの設定が「カスタムセットアップ８１０２」だった場合、（Ｓ７０２の"カスタムセットアップ"）、図１０（Ｄ）のようなプリンターの選択画面８３００を表示する。その際、カスタマイズ対象のプリンターのみリストして、プリンター一覧８３０１に表示する（Ｓ７０６）。ポインティングデバイス１０９を用いたユーザーからの"次へ"ボタン８３０２の押下をうけて、選択されているプリンタードライバー１０５２２の詳細設定を行う（Ｓ７０７）。詳細設定の例として、プリンター名や接続先のポートや共有設定を行うかどうかの設定を行うことができる。上記詳細設定を選択されている全てのプリンターの数だけ行う（Ｓ７０８~Ｓ７０９）。選択されている全てのプリンターに対して設定が完了したら（Ｓ７０８の"はい"）、選択されている全てのプリンターのインストール処理を行う（Ｓ７１０）。
【００４７】
図１０（Ｂ）に示すプリンターのセットアップ方法選択ダイアログ８１００で、ユーザーの設定が「ＵＳＢ接続セットアップ８１０３」だった場合（Ｓ７０２の"ＵＳＢ接続セットアップ"）、図１０（Ｅ）のようなメッセージ画面を表示する。ポインティングデバイス１０９を用いたユーザーからの"はい"ボタン８４０１の押下をうけてＵＳＢ接続のセットアップを開始する（Ｓ７１１）。ステップＳ７１１の詳細については図９を参照しｔ得説明する。それぞれのインストール処理が完了したら、処理を終了する（Ｓ７１２）。
【００４８】
●ＵＳＢのプラグアンドプレイ（ＰｎＰ）インストール
図９（Ａ）のフローチャートを用いて、カスタマイズされたドライバーセット１０５２に含まれるインストーラー１０５２１によるＵＳＢのＰｎＰインストールの動作について説明する。ＰｎＰインストールとは、オペレーティングシステムにより提供される自動インストール機能を用いたインストールということもできる。本動作は、図８で示したプリンターのセットアップ方法の選択処理（Ｓ７０２）において、「ＵＳＢ接続セットアップ」が選択された後、警告画面８４００の"はい"ボタン８４０１の押下を受けて開始する（Ｓ７３０）。このフローチャートの処理の主体は、特に断らない限りインストーラー１０５２１である。
【００４９】
まず、インストーラー１０５２１は、インストールするドライバーセット１０５２がカスタマイズドライバーかどうかを判断する（Ｓ７３１）。ドライバーセット１０５２がカスタマイズドライバーかどうかを判断する方法の例としては、インストール対象のドライバーセット１０５２に、カスタマイズ設定ファイル１０５２３が含まれているかどうかで判断できる。上記の判断で、カスタマイズドライバーセットではなかった場合（Ｓ７３１の"いいえ"の場合）、通常のＵＳＢのＰｎＰインストールを行う（Ｓ７３２）。カスタマイズドライバーであった場合（Ｓ７３１の"はい"の場合）、クライアントコンピュータ１００に既にインストールされているプリンタキューのリストを取得する（Ｓ７３３）。次に通常のＵＳＢのＰｎＰインストールを開始する（Ｓ７３４）。ＵＳＢのＰｎＰインストールは、開始はインストーラー１０５２１が行うが、途中の処理はＯＳ１０５４が制御する。そのため、ＵＳＢのＰｎＰインストールの完了や、どのプリンターがインストールされたのかをインストーラー１０５２１自体が把握することができない。インストーラー１０５２１は、ＵＳＢのＰｎＰインストールされたプリンタードライバーに対して、カスタマイズ情報１０５２３２を登録するためには、ＵＳＢのＰｎＰインストールの完了を知る必要がある。このため、一定の間隔を待って（Ｓ７３８）、毎回プリンタキューのリストを取得し（Ｓ７３５）、ＵＳＢポートに接続したプリンタキューが増加したかどうかを調べる（Ｓ７３６）。調べた結果、ＵＳＢポートに接続されているプリンタードライバー１０５２２が増加していた場合、インストールが完了したとみなし、次の処理に進む（Ｓ７３７の"はい"）。ＵＳＢのＰｎＰインストールが完了したら、インストールされたプリンタキューを調べ、追加されたプリンター２００がカスタマイズ対象のドライバーかどうかを調べる（Ｓ７３９）。調べた結果、カスタマイズ対象のプリンタードライバー１０５２２だった場合（Ｓ７３９の"はい"）、カスタマイズ情報１０５２３２を登録する（Ｓ７４０）。カスタマイズ情報１０５２３２を登録する登録先として、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３があげられる。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３は、各プリンタキューに紐づけられたデータ群を扱うことができ、かつコンフィギュレーションモジュール２０８が参照することが可能である。なので、インストーラー１０５２１がインストール時に、ここにカスタマイズ情報１０５２３２を登録することにより、カスタマイズプリンタードライバー１０５２２を形成させることができる。
【００５０】
カスタマイズ対象のドライバーでなかった場合（Ｓ７３９の"いいえ"）、ＵＳＢのＰｎＰインストールで追加したプリンタードライバー１０５２２はカスタマイズ対象外であることをメッセージ通知する（Ｓ７４１）。通知するメッセージ内容の例を図９（Ｂ）に示したが、これに限定するものではない。
【００５１】
上記実施例により、インストーラー１０５２１が制御できないＵＳＢのＰｎＰインストールにおいても、カスタマイズプリンタードライバー１０５２２と判断した場合、カスタマイズ情報１０５２３２を登録し、カスタマイズドライバーとしてインストールできる。また、ユーザーが誤ってカスタマイズ対象外のプリンタードライバー１０５２２をインストールしてしまった場合でも、ユーザーに通知することにより、管理者が期待した通りの印刷ができなくなる問題を未然に防ぐことができる。
【００５２】
［実施形態２］
実施例１においては、ＵＳＢのＰｎＰインストール時に、カスタマイズドライバー対象外のプリンタードライバー１０５２２がインストールされた場合に、そのことをユーザーに通知し、それにより問題を未然に防ぐようにした。ただし、それでも印刷はできてしまうという問題があった。そもそも、このカスタマイズドライバーを作成したユーザー（ＩＴ管理者）は、インストール対象のプリンタードライバーを制限することで、それ以外のプリンタードライバーのインストールを許可しないことを期待していると考えられる。
【００５３】
上記のことを鑑み、実施例２では、ＵＳＢのＰｎＰインストールでカスタマイズ対象外のプリンタードライバー１０５２２がインストールされた場合、そのプリンタキューを削除するようにする。ただし、カスタマイズ対象外のプリンタキューを削除するのは、ＩＴ管理者の許可を取るようにする。具体的には図１２（Ａ）に示す通り、カスタマイズツール１０５３の「カスタマイズされたドライバーセット１０５２の作成」画面９０００に、「カスタマイズ設定が反映できない場合はプリンタキューを削除する」チェックボックス９００１を設ける。このチェックボックスの設定を、カスタマイズされたドライバーセット１０５２を作成する際に、ツール設定情報１０５２３１として追加する。
【００５４】
図１１のフローチャートを用いて、上記の処理を説明する。このフローは、実施形態１の図９の手順に代えて本実施形態で用いられる手順を示す。このドライバーインストールの手順の相違と、図７（Ｂ）のＵＩが図１２（Ａ）のＵＩに代わる点を除けば、本実施形態の構成や手順は実施形態１と同じで良い。図１１において処理Ｓ９０１からＳ９１０は、図９（Ａ）で説明したＳ７３１からＳ７４０までの処理と同じなので説明は省略する。
【００５５】
ステップＳ９０９において、インストールするドライバーがカスタム対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のドライバーだった場合（Ｓ９０９の"いいえ"）、ドライバーを削除するかどうかの設定を参照する（Ｓ９１１）。具体的には、カスタマイズされたドライバーセット１０５２のツール設定情報１０５２３１に含まれる「カスタマイズ設定が反映できない場合はプリンタキューを削除する」がオンかオフかで判断する。「削除する」設定がオンの場合（Ｓ９１１の"はい"）、追加されたドライバーを削除する（Ｓ９１２）。さらにカスタマイズ対象外のドライバーだったので、削除したことをメッセージ通知する（Ｓ９１３）。通知するメッセージ内容の例を図１２（Ｂ）のダイアログ９１００に示したが、これに限定するものではない。削除するがオフの場合（Ｓ９１１の"いいえ"）、プリンタキューは削除せずに、追加したプリンタードライバーはカスタマイズ対象外であることをメッセージ通知する（Ｓ９１４）。この処理は、実施例１で示したＳ７４１のメッセージ通知処理と同様である。
【００５６】
上記実施例により、インストーラーが制御できないＵＳＢのＰｎＰインストールにおいても、カスタマイズ対象ドライバーと判断した場合、設定によりプリンタキューを削除する。これによりＩＴ管理者がカスタマイズドライバーのみ使用させたい場合、対象外のプリンタードライバーはインストールできなくすることが可能となる。
【００５７】
［実施形態３］
実施例２においては、ＵＳＢのＰｎＰインストール時に、カスタマイズ対象外のプリンタキューをインストールさせないようにすることにより、ＩＴ管理者が意図したプリンター２００のみ使用させるようにできた。
【００５８】
実施例３では、さらに削除する前にカスタマイズ情報１０５２３２が登録できた場合は、カスタマイズ対象外のプリンター２００であっても削除を行わないでカスタマイズプリンタードライバー１０５２２としてインストールする。ただし、カスタマイズ情報１０５２３２は別のプリンターでカスタマイズした情報なので、機種に依存した情報はカスタマイズ情報１０５２３２として登録できない。上記のことを考慮し、図１３のフローチャートを用いて、上記の処理を説明する。処理Ｓ１００１からＳ１０１０は、図７（Ｂ）で説明したＳ７３１からＳ７４０までの処理と同じなので説明は省略する。
【００５９】
ステップＳ１００９で、インストールするドライバーがカスタマイズ対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のプリンタードライバー１０５２２ではなかった場合（Ｓ１００９の"いいえ"）、カスタマイズ情報１０５２３２に含まれる情報の種類に応じて、可能な情報を登録する（Ｓ１０１１）。図１４は、カスタマイズ情報１０５２３２の中で、他のモデルに対しても登録可能かどうかを示した表である。たとえば印刷設定情報およびスタンプ情報については、インストールされたプリンターのモデルではない他のモデルにも登録してよい。またお気に入りおよびＵＩの表示設定に関しては、モデルが異なれば登録しない。デバイス設定および管理者設定に関しては、機種依存情報を除いた機種共通情報のみについては、他のモデルにも登録してよい。例えば、スタンプ情報は、プリンターの機種に依存したものではないので、どの機種に対しても登録が可能である。反対に、お気に入り情報は、機種に依存した情報が含まれるので、別のプリンタキューには登録できない。ただし、この情報のみに限定されるものではない。さらに、登録可能／不可能の切り分け方法は一例であり、これに限定されるものではない。
【００６０】
ステップＳ１０１２では、カスタマイズ情報１０５２３２が全て登録できた場合（Ｓ１０１２の"はい"）、削除はしないでそのままカスタマイズプリンタードライバー１０５２２としてインストールしたままとする。カスタマイズ情報１０５２３２が一部登録できなかった場合（Ｓ１０１２の"いいえ"）、カスタマイズ設定が反映できなかったとみなし、ステップＳ１０１３以降の処理を行う。図１４を例にとると、カスタマイズ情報が、印刷設定情報とスタンプ情報のみを含むであれば、インストールされたドライバーが、カスタム化されたドライバーでなくとも、カスタム情報を全てインストール可能である。この場合には、ステップＳ１０１２ではすべて登録できたと判断できる。一方、カスタマイズ情報にお気に入り設定が含まれていれば、お気に入り設定は異なるモデルに対して登録できないので、ステップＳ１０１２では全部の登録はできなかったと判断できる。
【００６１】
これ以降の処理であるＳ１０１３からＳ１０１６は、図１１のＳ９１１からＳ９１４までの処理と同じなので説明は省略する。この処理により、カスタマイズ情報が登録できなかった場合に追加したドライバーを削除する旨の設定がオンであれば、追加したドライバーをアンイストールする。
【００６２】
上記実施例により、カスタマイズ対象外のモデルのＵＳＢのＰｎＰインストールにおいても、ＩＴ管理者が意図したカスタマイズドライバーとしてインストールすることが可能となる。なお、ステップＳ１０１１とＳ１０１２とを入れ替え、全てのカスタマイズ情報を登録できるのであると判定された場合にカスタマイズ情報を登録し、登録できないと判断したならステップＳ１０１３に分岐してもよい。
【００６３】
［実施形態４］
図１５のフローチャートを用いて、カスタマイズ対象外のモデルがインストールされた場合、指定された連絡先に通知する処理について説明する。図１６（Ａ）は、カスタマイズツール１０５３の[カスタマイズドライバーセットの作成]画面１２０００である。その画面において、「カスタマイズ対象外のモデルがインストールされたら管理者へ通知する」チェックボックス１２００１があり、さらに通知先を入力できる欄１２００２がある。これらの入力情報は、ツール設定情報１０５２３１としてカスタマイズされたドライバーセット１０５２に追加する。上記のカスタマイズされたドライバーセット１０５２を使用して、ＵＳＢのＰｎＰインストールした処理について説明する。まず、処理Ｓ１１０１からＳ１１１０は、図９（Ａ）で説明したＳ７３１からＳ７４０までの処理と同じなので説明は省略する。
【００６４】
ステップＳ１１０９において、インストールするドライバーがカスタマイズ対象のプリンタードライバーかどうかを調べた結果、カスタマイズ対象外のドライバー１０５２ではなかった場合（Ｓ１１０９の"いいえ"）、ツール設定情報１０５２３１に応じて、管理者に通知するかどうかを判断する（Ｓ１１１１）。具体的には、[カスタマイズ対象外のモデルがインストールされたら管理者へ通知する]がオンだった場合（Ｓ１１１１の"はい"）、設定されている通知先へカスタマイズ対象外のプリンタードライバーがインストールされたことを通知する（Ｓ１１１２）。通知するメッセージ内容の例を図１６（Ｂ）の警告画面１２１００に示したが、これに限定するものではない。[カスタマイズ対象外のモデルがインストールされたら管理者へ通知する]がオフだった場合（Ｓ１１１１の"いいえ"）、カスタマイズ対象外のドライバーであることをメッセージ通知する（Ｓ１１１３）。この処理は、実施例１で示したＳ７４１のメッセージ通知処理と同様である。
【００６５】
上記実施例により、ユーザーが誤ってカスタマイズ対象外のモデルのＵＳＢのＰｎＰインストールされた場合、そのことをＩＴ管理者に通知することができる。なお管理者へのメッセージを、たとえばメール等により予め登録された管理者の宛先に送信してもよい。
【００６６】
［実施形態５］
実施例１では、ユーザーが誤ってカスタマイズ対象外のプリンタードライバー１０５２２をインストールしてしまった場合に、インストーラー１０５２１がユーザーに通知していた。実施例５では、プリンタードライバー１０５２２の印刷設定ＵＩ３０００においても、カスタマイズ対象外のプリンタードライバーがインストールされたことを通知する。
【００６７】
図１７のフローチャートを用いて、カスタマイズ対象外のモデルがインストールされた場合のプリンタードライバー１０５２２のＵＩ画面起動処理について説明する。本処理は、通常のアプリ１０５１から印刷を行う際に表示される詳細設定画面の「プリンターのプロパティ」をポインティングデバイス１０９などでクリックすることなどで起動する（Ｓ１３００）
まず、プリンタードライバー１０５２２がカスタマイズしたプリンタードライバーかどうかを判断する（Ｓ１３０１）。カスタマイズしたプリンタードライバーかどうかを判断する方法として、ツール設定情報１０５２３１が登録されているかどうかで判断することが可能である。ツール設定情報１０５２３１がある場合、つまりカスタマイズされたドライバーだった場合（Ｓ１３０１の"はい"）、カスタマイズ情報１０５２３２があるかどうかを判断する（Ｓ１３０２）。カスタマイズ情報１０５２３２がある場合（Ｓ１３０２の"はい"）、登録されているカスタマイズ情報１０５２３２を反映した印刷設定画面を起動する（Ｓ１３０３）。カスタマイズ情報１０５２３２がない場合（Ｓ１３０２の"いいえ"）、カスタマイズ情報１０５２３２が正しく作成されていないことをメッセージ通知する（Ｓ１３０４）。通知するメッセージ内容の例を図１８の警告メッセージ画面１４０００に示したが、これに限定するものではない。
【００６８】
上記実施例により、ユーザーが誤ってカスタマイズ対象外のモデルのＵＳＢのＰｎＰインストールされた場合、インストール時だけでなく、ＵＩ起動時にも通知することが可能となる。
【００６９】
さらに、本実施形態は、実施形態１乃至４と組み合わせて実施することもできる。
【符号の説明】
【００７０】
クライアントコンピュータ１００、プリンター２００、ネットワーク３００、ドライバーセット１０５２、インストーラー１０５２１、プリンタードライバー１０５２２、カスタマイズツール１０５３、ツール１０５３１
【図１】
2019008673.tif 000003
【図２】
2019008673.tif 000004
【図３】
2019008673.tif 000005
【図４Ａ】
2019008673.tif 000006
【図４Ｂ】
2019008673.tif 000007
【図５】
2019008673.tif 000008
【図６】
2019008673.tif 000009
【図７】
2019008673.tif 000010
【図８】
2019008673.tif 000011
【図９】
2019008673.tif 000012
【図１０】
2019008673.tif 000013
【図１１】
2019008673.tif 000014
【図１２】
2019008673.tif 000015
【図１３】
2019008673.tif 000016
【図１４】
2019008673.tif 000017
【図１５】
2019008673.tif 000018
【図１６】
2019008673.tif 000019
【図１７】
2019008673.tif 000020
【図１８】
2019008673.tif 000021