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