(57)【要約】【課題】デバイスドライバの設定情報のデフォルト値のカスタム化と、各デバイスの個別環境へ設定情報を対応させることとを両立させる。【解決手段】プリンタドライバのコンピュータへのインストール時に、印刷設定のデフォルト値が保存されたＵＰＤファイルを読み、そこに含まれるＰｒｅＣｏｎｆｉｇフラグをテストする（Ｓ１２０３）。セットされている場合には、プリンタからその構成情報を取得し（Ｓ１２０４）、ＵＰＤファイルに保存されている、印刷設定のデフォルト値に対応する構成情報と、取得した構成情報とを比較する（Ｓ１２０７）。一致していなければＵＰＤファイルに保存された印刷設定のデフォルト値と、プリンタから取得した構成情報とが矛盾するか判定し（Ｓ１２０８）、矛盾があれば警告を出力する（Ｓ１２０９ー１２１１）。【選択図】図１２
2006277345.tif 000002
【特許請求の範囲】
【請求項１】
動作設定情報を保持するデバイスドライバプログラムであって、
前記デバイスドライバプログラムがコンピュータにインストールされた際に、所定の判定指示情報を読み取ることで、前記動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を判定するか否かを判断する判断工程と、
前記判断工程により整合性の有無を判定すると判断された場合に、前記インストールに引き続いて、前記駆動制御対象のデバイスから、そのデバイスの構成情報である実デバイス構成情報を取得する取得工程と、
前記デバイスドライバプログラムにあらかじめ設定されて保持している動作設定情報と、前記実デバイス構成情報との整合の有無を判定する整合性判定工程と、
前記整合性判定工程により整合性がないと判定された場合には、ユーザに対する警告を出力する警告工程と
をコンピュータにより実行させることを特徴とするデバイスドライバプログラム。
【請求項２】
前記取得工程と前記整合性判定工程との間において、あらかじめ設定されて保持しているデフォルト構成情報と、前記実デバイス構成情報とを比較する比較工程をさらにコンピュータにより実行させ、
前記比較工程により、前記デフォルト構成情報と前記実デバイス構成情報とが一致すると判定された場合に、前記整合性判定工程を実行することを特徴とする請求項１に記載のデバイスドライバプログラム。
【請求項３】
前記所定の判定指示情報は、前記デバイスドライバプログラムをインストールするためのドライバセット内に記述されていることを特徴とする請求項１または２に記載のデバイスドライバプログラム。
【請求項４】
前記警告工程では、前記整合性判定工程により整合性がないと判定された場合に、あらかじめ設定されている宛先に対して警告メッセージを送信することを特徴とする請求項１乃至３のいずれか１項に記載のデバイスドライバプログラム。
【請求項５】
デフォルトの動作設定情報と前記実デバイス構成情報との整合性の有無を判定するか否かを示す、あらかじめ設定されて保持している判定指示情報をテストする工程を、前記取得工程の前にさらにコンピュータにより実行させ、
前記判定指示情報が、前記実デバイス構成情報を取得することを示している場合に、前記取得工程乃至前記警告工程をコンピュータにより実行させることを特徴とする請求項１乃至４のいずれか１項に記載のデバイスドライバプログラム。
【請求項６】
デバイスドライバの動作設定情報をカスタマイズ可能なカスタマイズ用プログラムであって、
デバイスドライバをインストールするためのドライバセットを読み込む読込工程と、
前記読込工程で読み込まれたドライバセットのデバイスドライバがインストールされた際に初期的に保持する動作設定情報を編集する設定編集工程と、
その動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を当該デバイスドライバのインストール時に判定することを示す判定指示情報を設定する設定工程と、
前記判定指示情報および前記設定編集工程により編集された動作設定情報を、前記デバイスドライバをインストールするためのドライバセットに保存する保存工程と
をコンピュータにより実行させることを特徴とするカスタマイズ用プログラム。
【請求項７】
前記判定指示情報に基づく整合性の判定により整合性がないと判定される場合に、警告メッセージを送信すべき宛先情報を設定する宛先設定工程をコンピュータにより実行させることを特徴とする請求項６記載のカスタマイズ用プログラム。
【請求項８】
動作設定情報を保持する情報処理装置であって、
前記デバイスドライバプログラムがコンピュータにインストールされた際に、所定の判定指示情報を読み取ることで、前記動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を判定するか否かを判断する判断手段と、
前記判断手段により整合性の有無を判定すると判断された場合に、前記インストールに引き続いて、前記駆動制御対象のデバイスから、そのデバイスの構成情報である実デバイス構成情報を取得する取得手段と、
前記デバイスドライバプログラムにあらかじめ設定されて保持している動作設定情報と、前記実デバイス構成情報との整合の有無を判定する整合性判定手段と、
前記整合性判定手段により整合性がないと判定された場合には、ユーザに対する警告を出力する警告手段と
を備えることを特徴とする情報処理装置。
【請求項９】
あらかじめ設定されて保持しているデフォルト構成情報と、前記実デバイス構成情報とを比較する比較手段をさらに備え、
前記比較手段により、前記デフォルト構成情報と前記実デバイス構成情報とが一致すると判定された場合に、前記整合性判定手段を実行することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記所定の判定指示情報は、前記デバイスドライバプログラムをインストールするためのドライバセット内に記述されていることを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記警告手段は、前記整合性判定手段により整合性がないと判定された場合に、あらかじめ設定されている宛先に対して警告メッセージを送信することを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
デフォルトの動作設定情報と前記実デバイス構成情報との整合性の有無を判定するか否かを示す、あらかじめ設定されて保持している判定指示情報をテストする手段をさらに備え、
前記判定指示情報が、前記実デバイス構成情報を取得することを示している場合に、前記取得手段乃至前記警告手段を機能させることを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
デバイスドライバの動作設定情報をカスタマイズ可能な情報処理装置であって、
デバイスドライバをインストールするためのドライバセットを読み込む読込手段と、
前記読込手段で読み込まれたドライバセットのデバイスドライバがインストールされた際に初期的に保持する動作設定情報を編集する設定編集手段と、
その動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を当該デバイスドライバのインストール時に判定することを示す判定指示情報を設定する設定手段と、
前記判定指示情報および前記設定編集手段により編集された動作設定情報を、前記デバイスドライバをインストールするためのドライバセットに保存する保存手段と
をコンピュータにより実行させることを特徴とする情報処理装置。
【請求項１４】
前記判定指示情報に基づく整合性の判定により整合性がないと判定される場合に、警告メッセージを送信すべき宛先情報を設定する宛先設定手段をさらに備えることを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
動作設定情報を保持する情報処理方法であって、
前記デバイスドライバプログラムがコンピュータにインストールされた際に、所定の判定指示情報を読み取ることで、前記動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を判定するか否かを判断する判断工程と、
前記判断工程により整合性の有無を判定すると判断された場合に、前記インストールに引き続いて、前記駆動制御対象のデバイスから、そのデバイスの構成情報である実デバイス構成情報を取得する取得工程と、
前記デバイスドライバプログラムにあらかじめ設定されて保持している動作設定情報と、前記実デバイス構成情報との整合の有無を判定する整合性判定工程と、
前記整合性判定工程により整合性がないと判定された場合には、ユーザに対する警告を出力する警告工程と
を備えることを特徴とする情報処理方法。
【請求項１６】
デバイスドライバの動作設定情報をカスタマイズ可能な情報処理方法であって、
デバイスドライバをインストールするためのドライバセットを読み込む読込工程と、
前記読込工程で読み込まれたドライバセットのデバイスドライバがインストールされた際に初期的に保持する動作設定情報を編集する設定編集工程と、
その動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を当該デバイスドライバのインストール時に判定することを示す判定指示情報を設定する設定工程と、
前記判定指示情報および前記設定編集工程により編集された動作設定情報を、前記デバイスドライバをインストールするためのドライバセットに保存する保存工程と
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等のホスト装置とプリンタ等の周辺装置とを含むコンピュータシステムにおいて、ホスト装置で周辺装置を制御するためのデバイスドライバに関する。特に、ホスト装置にデバイスドライバをインストールした際のデフォルトの動作設定情報をカスタマイズ可能なデバイスドライバと、そのカスタマイズを実行するためのカスタマイズ用プログラム等に関する。
【背景技術】
【０００２】
コンピュータ周辺デバイスは、コンピュータにインストールされ実行されるデバイスドライバにより個々のデバイスに対応した制御がされている。コンピュータ周辺デバイスのひとつにプリンタがある。プリンタドライバは、駆動制御対象のプリンタを設定されている動作設定情報に従って制御している。動作設定情報には、たとえば両面印刷の有無やページレイアウトなどの情報が含まれている。プリンタドライバがコンピュータにインストールされた際には、あらかじめ与えられている動作設定情報がそのデフォルト値（初期値）として設定される。しかしながら、動作設定情報はプリンタの構成や使用環境に応じて設定されるべきものであり、デフォルト値のままでは実際の構成や環境に適合するとは限らない。
【０００３】
このため特許文献１等においては、ドライバのインストール時に、利用者に制御機能の制限を選択させ、選択された制限の範囲内で対話的に機能設定を行うドライバのインストーラが提案されている。
【特許文献１】特開２００３−１５０３４１号公報（段落００１１〜００１４）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１等のインストーラでも、個々のコンピュータについて動作設定情報を、その構成や環境に適した値に変更しなくてはならないことに変わりはない。このため、コンピュータの大量導入やシステム管理者等による一元管理になじまない。インストール時に設定されるデフォルト値自体をカスタマイズしたとしても、やはり個々のプリンタについてはその構成や環境がすべて同一とは限らない。そのため、インストールされたプリンタドライバの動作設定情報のデフォルト値と、当該プリンタの構成や環境が整合しているか個々のプリンタドライバについて判定する必要があることに変わりはない。その一方で、エンドユーザが使用できる機能を制限するために、プリンタが実装している機能であっても、その利用を限定したいといったユーザニーズも存在する。これはプリンタドライバに限らず、周辺デバイス一般について同様である。
【０００５】
本発明は上記従来例に鑑みてなされたもので、デバイスドライバの動作設定情報のデフォルト値を変更可能であるとともに、動作設定情報のデフォルト値をデバイスの現実の構成や環境に即して変更することと、動作設定情報のデフォルト値をデバイスの現実の構成や環境からは独立してそのまま適用することとを両立させることが可能なデバイスドライバおよびそのカスタマイズ用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は以下の構成を備える。
【０００７】
動作設定情報を保持するデバイスドライバプログラムであって、
前記デバイスドライバプログラムがコンピュータにインストールされた際に、所定の判定指示情報を読み取ることで、前記動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を判定するか否かを判断する判断工程と、
前記判断工程により整合性の有無を判定すると判断された場合に、前記インストールに引き続いて、前記駆動制御対象のデバイスから、そのデバイスの構成情報である実デバイス構成情報を取得する取得工程と、
前記デバイスドライバプログラムにあらかじめ設定されて保持している動作設定情報と、前記実デバイス構成情報との整合の有無を判定する整合性判定工程と、
前記整合性判定工程により整合性がないと判定された場合には、ユーザに対する警告を出力する警告工程とをコンピュータにより実行させることを特徴とする。
【０００８】
あるいは、デバイスドライバの動作設定情報をカスタマイズ可能なカスタマイズ用プログラムであって、
デバイスドライバをインストールするためのドライバセットを読み込む読込工程と、
前記読込工程で読み込まれたドライバセットのデバイスドライバがインストールされた際に初期的に保持する動作設定情報を編集する設定編集工程と、
その動作設定情報と、駆動制御対象のデバイスの構成情報である実デバイス構成情報との整合性の有無を当該デバイスドライバのインストール時に判定することを示す判定指示情報を設定する設定工程と、
前記判定指示情報および前記設定編集工程により編集された動作設定情報を、前記デバイスドライバをインストールするためのドライバセットに保存する保存工程とをコンピュータにより実行させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、デバイスドライバによるデバイスの駆動制御に先立って制御対象のデバイスから実デバイス構成情報を取得するか否かを選択することができ、多様なユーザニーズに対応することができる。
【００１０】
また、実デバイス構成情報を取得する場合には、カスタマイズ済みの動作設定情報のデフォルト値と現実のデバイス構成とに整合性がなければ警告メッセージを表示することで、ユーザに不整合があることをことを知らせることができる。
【００１１】
さらに、実デバイス構成情報を取得しない場合には、動作設定情報のデフォルト値をそのまま当該デバイスに適用し、利用可能な機能を制限することができる。
【発明を実施するための最良の形態】
【００１２】
［第１実施形態］
＜印刷システムの構成＞
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。図１は、本発明の一実施の形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、ホストコンピュータ３０００（情報処理装置）と、このホストコンピュータ３０００よりの印刷データを受信して印刷を行うプリンタ１５００（印刷装置）を備えている。
【００１３】
ホストコンピュータ３０００において、ＣＰＵ１は、ＲＡＭ２に記憶されているプログラムに従って、システムバス４に接続される各デバイスを総括的に制御している。このＲＡＭ２はまたＣＰＵ１の主メモリ、ワークエリア等としても機能している。ＲＯＭ３は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントＲＯＭ３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ３ｂ、及び各種データを記憶するデータＲＯＭ３ｃに区分けして構成されている。
【００１４】
キーボードコントローラ（ＫＢＣ）５は、キーボード（ＫＢ）９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０への表示を制御している。ディスクコントローラ（ＤＫＣ）７は、ハードディスクなどの外部メモリ１１へのアクセスを制御している。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース２１を介してプリンタ１５００に接続され、プリンタ１５００との間で通信制御処理を行う。
【００１５】
外部メモリ１１は、例えばハードディスク（ＨＤ）やＭＯ或はフレキシブルディスク（ＦＤ）等であり、図示の如く、オペレーティングシステムプログラム（以下、ＯＳ）２０５をはじめ各種アプリケーション（例えば、図形、イメージ、文字、表等が混在した文書処理を行う文書処理アプリケーションプログラム）２０１、印刷処理関連プログラム２０４を記憶している他に、ユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム２０４は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。また、この印刷処理関連プログラム２０４は、プリンタ制御コマンドの生成等を行うソフトウエアモジュールであるプリンタドライバ２０４１、プリンタドライバＵＩ制御モジュール２０４２をも含んでいる。また、印刷動作のための動作設定情報である印刷設定情報２０４１ａも外部メモリ１１に保存されている。印刷設定には、たとえば両面印刷の有無やレイアウト（シート媒体の１面に配置するページレイアウト）、利用する給紙トレイ、用紙の縦横の別、用紙の種類、印刷順序（昇順か降順かの別）、製本印刷の指定、ウオーターマークの重畳等を指定するための情報が含まれる。さらに、印刷設定情報のデフォルト値（初期値）を保存するドライバ情報ファイル（設定定義情報またはＵＰＤ（User-Interface Printer Description）ファイルとも呼ぶ。）１０００も外部メモリ１１に保存されている。
【００１６】
外部メモリ１１に記憶された、本実施の形態に係るカスタマイズツールプログラム（以下、単にカスタマイズツール）を含むアプリケーション２０１は、ＲＡＭ２にロードされてＣＰＵ１により実行される。またＣＰＵ１は、例えばＲＡＭ２へのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧ（What You See Is What You Get）を可能としている。更に、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面（プリンタドライバＵＩ制御モジュール２０４２により制御される）を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ２０４１に対する印刷設定を変更操作することができる。
【００１７】
次にプリンタ１５００の構成について説明する。ＣＰＵ１２は、プリンタ１５００の全体の動作を制御している。ＲＡＭ１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのＲＡＭ１９は、ＮＶＲＡＭ（不揮発ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＲＯＭ１３は、各種フォントを記憶するフォントＲＯＭ１３ａ、ＣＰＵ１２により実行される制御プログラム等を記憶するプログラムＲＯＭ１３ｂ、及び各種データを記憶するデータＲＯＭ１３ｃを備えている。入力部１８は、ホストコンピュータ３０００との間でデータの送受信を行う。印刷部インターフェース１６は、プリンタエンジンである印刷部１７とのインターフェースを制御している。
【００１８】
外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御されており、オプションとして接続されるハードディスク（ＨＤ）、ＭＯ、フレキシブルディスク（ＦＤ）、ＩＣカード等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ１４が接続されていない場合には、ＲＯＭ１３のデータＲＯＭ１３ｃに、ホストコンピュータ３０００で利用される情報等を記憶することになる。尚、この外部メモリ１４は１個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
【００１９】
操作部１５０１には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている（不図示）。また、不図示のＮＶＲＡＭを有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
【００２０】
ＣＰＵ１２は、ＲＯＭ１３のプログラムＲＯＭ１３ｂに記憶された制御プログラム等に基づき、印刷部インターフェース１６を介して印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。またＣＰＵ１２は入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、ホストコンピュータ３０００から送信される印刷データを受信すると共に、プリンタ１５００内の情報等をホストコンピュータ３０００に通知可能に構成されている。
【００２１】
オプションインターフェース２２は、プリンタに取り着けられるオプションユニット２３とのインターフェースである。オプションユニット２３には、たとえば両面印刷のための用紙の反転機構を提供する両面ユニットや、大量の用紙を積載可能な給紙ユニット、排出された用紙をソートするソータやステープル処理や穿孔処理等を施すためのフィニッシャユニット等が含まれる。オプションユニット２３は必ずしも接続されているとは限らない。プリンタ１５００はオプションユニット２３が接続されると、その接続を検出するためのセンサを備えている。そのため、コンピュータ３０００からプリンタの構成情報が要求されると、オプションユニットが接続されている場合にはオプションユニットを含む構成情報を、コンピュータ３０００に応答することができる。
【００２２】
図２は、所定のアプリケーション（本発明のカスタマイズツールを含む）及び印刷処理関連プログラムを起動して、ホストコンピュータ３０００のＲＡＭ２にプログラムやデータがロードされた状態でのＲＡＭ２のメモリマップを示す図である。
【００２３】
ＲＡＭ２には、図示の如く、ＢＩＯＳ２０６、ＯＳ２０５をはじめ、アプリケーション２０１、印刷処理関連プログラム２０４、及び関連データ２０３がロードされている。更に空きメモリ領域２０２も確保されている。これにより、アプリケーション２０１及び印刷処理関連プログラム２０４が実行可能な状態となる。尚、印刷処理関連プログラム２０４に含まれるプリンタドライバＵＩ制御モジュール２０４２（図１）は、ユーザによる印刷設定指令に応じてＣＲＴ１０に印刷設定画面を表示し、ＫＢ９などを使用したユーザからの設定を可能にする。印刷処理関連プログラム２０４にはプリンタドライバ２０４１も含まれる。また、プリンタドライバプログラムを、そのインストール前にカスタマイズするためのプログラム（カスタマイズツール）２０１ａは、アプリケーション２０１の一つとしてＲＡＭにロードされる。カスタマイズツールの実行モジュール（実行可能なプログラム）は、プリンタドライバのカスタマイズという所期の目的を達成した後はＲＡＭ２から削除されてもよい。そのため、カスタマイズツール２０１ａとそれによってカスタマイズされたプリンタドライバ２０４１（プリンタドライバセットと呼ぶ）は同時にＲＡＭ２に存在しない場合もあるが、図２では説明のために２つを記載してある。
【００２４】
＜ＵＰＤファイルの内容＞
図９は、設定定義情報であるＵＰＤファイル１０００のデータフォーマットを説明する図である。図９に示すように、ＵＰＤファイルは、ヘッダ９０１、ＩＤ定義部９０２、データ部９０３を含む。ＩＤ定義９０２には、データ９０３に格納されているデータのＩＤとデータの格納位置（アドレス）との組データが格納されている。したがって、ＩＤ定義部９０２には、ＩＤの数に相当する組データが格納されている。ＵＰＤファイルはプリンタドライバ毎、すなわちプリンタの機種毎に存在する。よって機種毎に異なるカスタマイズを行うことが可能である。
【００２５】
カスタマイズツールによりカスタマイズされたＵＰＤファイルには、ＩＤ定義９０２内にカスタマイズされたデフォルト値であることを示す所定のＩＤ（たとえば「ＣＵＳＴＵＭＩＺＥＤ」）と、そのデータ格納位置の番地Ｘが格納されている。カスタマイズされていないＵＰＤファイルについては、カスタマイズされたことを示すＩＤがＩＤ定義部９０２に含まれていない。そのため、ＩＤ定義部９０２を参照することで、カスタマイズされているか否かを判定することができる。
【００２６】
またＩＤ定義９０２ではカスタマイズ用のＩＤを使用しているため、新しいバージョンのプリンタドライバに、それ以前にカスタマイズしたプリンタドライバの設定を引き継ぐこともできる。
【００２７】
図１０は、カスタマイズ済みのＵＰＤファイルを模式的に示したものである。図の１０００がＵＰＤファイル、１００１が印刷設定に用いられるデフォルト値（すなわち初期値）を格納するためのデフォルトデータ格納部である。１００２は、デバイスの構成情報のデフォルト値を設定するためのデフォルトデバイス設定格納部、１００３は、プリンタドライバのＵＩを介してユーザによりチェックボタンやテキストボックスなどで設定されるその他の設定の格納部である。デフォルトデバイス設定格納部１００２には、カスタマイズ処理時に設定されたデバイスの構成情報が格納されている。このデフォルトデバイス設定格納部に格納されたデバイス構成情報は、プリンタドライバがインストールされ、現実の駆動制御の対象となるデバイスの構成からは独立して設定されたものである。デフォルトデバイス設定格納部１００２には、デフォルトのデバイス構成情報が、デバイスモードのデータ構造で格納されている。デバイスモードのデータ構造とは、現実のプリンタのデバイス構成情報を管理するためのデータ構造である。
【００２８】
図１０の例では、デフォルトデータ格納部１００１においては、両面設定に対応した設定パラメータｄｍＤｕｐｌｅｘと、ページレイアウトに対応した設定パラメータｄｍＮｕｐとが、それぞれｄｍＤｕｐｌｅｘ＝ＯＮ、ｄｍＮｕｐ＝１となっている。これは、両面印刷設定がオンに設定され、レイアウト設定として、シートの片面あたりのページ数を１ページとする設定がされていることを示す。
【００２９】
また、デフォルトデバイス設定格納部１００２においては、両面ユニットに対応する構成パラメータＤｕｐｌｅｘＵｎｉｔと、給紙ユニットに対応する構成パラメータＩｎｐｕｔＢｉｎがそれぞれＤｕｐｌｅｘＵｎｉｔ＝ＯＮ、ＩｎｐｕｔＢｉｎ＝５００となっている。これは、両面ユニットが備えられ、給紙ユニットの容量が５００枚であることを示している。
【００３０】
さらに、データ格納部１００３においては、設定パラメータＰｒｅＣｏｎｆｉｇとパラメータＣｏｎｔａｃｔとが含まれる。パラメータＰｒｅＣｏｎｆｉｇは、プリンタドライバがインストールされたデバイスの構成情報（実デバイス構成情報と呼ぶ。）をチェックするか否かを示す情報である。パラメータＣｏｎｔａｃｔは、実デバイス構成情報をチェックした結果、デフォルトデバイス設定格納部１００２に格納された構成情報と矛盾する場合、すなわち整合性がない場合に警告メッセージを通知する宛先の情報を示す。メッセージはたとえば電子メールで送信される。図１０においては、パラメータＰｒｅＣｏｎｆｉｇ＝ＯＮ、Ｃｏｎｔａｃｔ＝Ａｄｍｉｎｉｓｔａｒｔｏｒ＠ＸＸＸＸ．ｃｏ．ｊｐとなっている。これは、実デバイス構成情報のチェックを行うこと、および、警告メッセージの宛先が「Ａｄｍｉｎｉｓｔａｒｔｏｒ＠ＸＸＸＸ．ｃｏ．ｊｐ」であることを示している。
【００３１】
また、データ部には、設定変更を許さないパラメータを特定するための情報を格納することができる。利用者はカスタマイズツールをもちいて設定変更を許さないパラメータを指定すると、それを特定するための情報が格納される。設定変更を許さないパラメータは、たとえばプリンタドライバのＵＩにおいては、設定値の選択や入力が出来ないようにグレーアウト形式などで表示される。
【００３２】
＜カスタマイズ処理＞
図８は、本実施形態におけるプリンタドライバのカスタマイズ処理の概要を示した図である。本実施形態におけるプリンタドライバのカスタマイズは、ＵＰＤファイルを編集することで、インストールされたままの印刷設定のデフォルト値の他に、利用者に設定値の変更を許す印刷設定の項目などもカスタマイズできる。図８において、８００は、カスタマイズツール２０１ａ（図８では符号８０１で示す。）によるカスタマイズに対応したカスタマイズ対応ドライバセットである。８０１はカスタマイズツール、８０２はカスタマイズ済みのドライバセットである。ユーザは、カスタマイズツール８０１を起動し、カスタマイズの対象となる、外部メモリ１１に保存されたカスタマイズ対応ドライバセット８００を、カスタマイズツール８０１を用いてメモリ等に読み込む。カスタマイズ対応ドライバセット８００には、プリンタドライバのプログラムグラムコードファイルと、ＵＰＤファイル８０４とを含む。カスタマイズツール８０１は、ユーザによるカスタマイズ設定操作に応じて、ＲＡＭ等に読み込まれたＵＰＤファイル８０４を編集する。カスタマイズ設定が終了すると、カスタマイズツール８００は、カスタマイズされたＵＰＤファイル８０５を含むカスタマイズ済みドライバセット８０２を生成して、外部メモリ１１に保存する。
【００３３】
カスタマイズ対応のプリンタドライバは、カスタマイズツール８００によりカスタマイズ済みＵＰＤファイル８０５を、インストール時又は初回の起動時に読み込む。そしてＵＰＤファイルのＩＤ定義９０２を参照して、カスタマイズされていることを示すＩＤに対応付けて格納されたデフォルトデータ９０３を読み込むように実装される。
【００３４】
たとえば、カスタマイズツールによりカスタマイズされたＵＰＤファイルには、ＩＤ定義９０２内にカスタマイズされたデフォルト値であることを示す所定のＩＤ（たとえば「ＣＵＳＴＵＭＩＺＥＤ」）と、そのデータ格納位置の番地Ｘが格納されている。カスタマイズされていないＵＰＤファイルについては、カスタマイズされたことを示すＩＤがＩＤ定義部９０２に含まれていない。
【００３５】
そこで、カスタマイズ済みドライバセット８０２内のカスタマイズ対応のプリンタドライバは、そのインストール完了又は初回起動時には、ＩＤ定義９０２内に「ＣＵＳＴＵＭＩＺＥＤ」を示すＩＤ情報が記憶されていた場合、その情報に対応して記憶されている番地からデータを読み出すように実装されている。この読み出されるデータが印刷設定情報のデフォルト値となる。よって、このプリンタドライバは、インストール完了時又は初回起動時には、ＵＰＤファイルのＩＤ定義部９０２内に「ＣＵＳＴＵＭＩＺＥＤ」を示すＩＤを含むとき、そのＩＤ定義から対応するデータの番地Ｘを読み出す。最初に読み出されるのは、デフォルトデータ格納部１００１に格納された、印刷設定情報のデフォルト値である。続いて、そのプリンタドライバは、デフォルトデバイス設定格納部１００２に格納されたデバイス構成情報のデフォルト値を読み出す。いずれの格納部も、番地Ｘを元に参照可能にアドレスが振られている。たとえば、それぞれの格納部は、番地Ｘに対して一定のオフセットを加えたアドレスにある。
【００３６】
尚、ここで番地Ｘは絶対アドレスであっても良く、或はヘッダ９０１にデータ９０３の先頭アドレスを格納しておき、番地Ｘにはこのデータ９０３の先頭番地からのオフセットアドレスをセットしても良い。
【００３７】
図１１は、図８のカスタマイズツール８０１を使用してカスタマイズドライバを生成する際の、ユーザの操作（図右側）と、カスタマイズツール８０１の処理フロー（図左側）を示したものである。図１１を用いて、カスタマイズドライバ生成時の処理を説明する。
【００３８】
まずユーザによりカスタマイズツール８０１が起動されると（Ｓ１１０１）、カスタマイズツールプログラムは、図３に示すカスタマイズツールのＵＩが表示される（Ｓ１１０２）。図３は、カスタマイズツール８０１のＵＩ例で、カスタマイズツールウィンドウ３００、ドライバセット格納位置指定メニュー３０１、元となるカスタマイズ対応ドライバセット（特にＵＰＤファイル）の格納位置を示すテキストボックス３０２、印刷設定情報のデフォルト値を設定するためのカスタマイズドライバ設定画面を表示させるプロパティボタン３０３、プリンタドライバのインストール時にデバイス構成情報の取得の有無を指定するためのチェックボックス３０４、管理者連絡先を指定するテキストボックス３０５、カスタマイズドライバセットの格納位置を指定するテキストボックス３０６、カスタマイズドライバの作成を実行するためのボタン３０７からなっている。
【００３９】
ユーザはメニュー３０１のなかの「開く」ボタンを押下することによって表示されるダイアログ（不図示）から、元となるドライバセットの格納位置を指定する（Ｓ１１０３）。指定された格納位置とドライバセットの名称はテキストボックス３０２に表示される。元となるドライバセットが確定した後に、ユーザによりプロパティボタン３０３が押下されると（Ｓ１１０４）、確定されたドライバセット（ドライバ情報ファイル（ＤＬＬ）及び設定定義情報ファイル（ＵＰＤ）ファイル、インストール定義ファイル（ＩＮＦファイル）を含んでいる）が読み込まれ図４に示すようなカスタマイズドライバ設定画面４００を表示する（Ｓ１１０５）。
【００４０】
カスタマイズドライバの設定画面４００が表示された際に、ユーザは「デバイスの設定」シート４０１を選択してデバイスの設定シートをアクティブ状態にし、カスタマイズする印刷設定の前提となるデバイス構成を指定できる（Ｓ１１０６）。図４の例では、両面ユニットチェックボックス４０２にＯＮが、給紙ユニットコンボボックス４０３に５００枚カセットが指定されている。ユーザは適用ボタン４０６、またはＯＫボタン４０４を押下することで、デバイスの設定を確定する。ここでは処理を続行するため、適用ボタン４０６が押下されたこととする。これにより、操作結果を示すパラメータが一時的に保存される。
【００４１】
デバイス構成が設定された後、ユーザは設定画面４００の任意のシートを選択して、所望のドライバ設定に変更する（Ｓ１１０７）。図５の例では、仕上げシート５０１が選択され、両面設定チェックボックス５０２にＯＮ、ページレイアウト設定５０３に１ページ/枚が指定されている。
【００４２】
ひととおりドライバの印刷設定情報の編集が終了すると、ＯＫボタン４０４、または適用ボタン４０６を押下することでドライバの設定を確定する。ここでは、処理を続行しないので、ＯＫボタン４０４を押下してドライバ設定画面４００をクローズする（Ｓ１１０８）。これにより、操作結果を示すパラメータが一時的に保存される。
【００４３】
ドライバ設定画面４００がクローズされると、再びカスタマイズツール画面３００に戻り、ユーザはその他の設定を変更できる（Ｓ１１０９）。ここでは、カスタマイズされたドライバをインストールする際に、使用するデバイスの構成情報を取得するか否かを指定するためのチェックボックス３０４がＯＮに設定されている。管理者の連絡先指定のテキストボックス３０５に、管理者の連絡先の電子メールアドレスが指定されている。さらに、ドライバの作成先の格納位置をテキストボックス３０６に指定した後、作成ボタン３０７を押下することで、カスタマイズツールがカスタマイズドライバセットの作成処理を実行する（Ｓ１１１０）。
【００４４】
カスタマイズツール８０１は、前記Ｓ１１０６、Ｓ１１０７、Ｓ１１０９で設定された内容を、一時的に保存したパラメータに基づいてＵＰＤファイル８０４に反映する編集を行う。その後、カスタマイズ済みドライバセットの一部として格納する（Ｓ１１１１、Ｓ１１１２）。これにより、Ｓ１０１１、Ｓ１０１２で作成されたカスタマイズ済みのＵＰＤファイルを含めて、カスタマイズ済みドライバセット８０５が作成される（Ｓ１０１３）。カスタマイズされたＵＰＤファイルは、図９、図１０で説明したとおり、カスタマイズされたことを示すＩＤとデータのアドレスの組がＩＤ定義部に格納され、そのアドレスで示されるロケーションには、ＵＩ画面における操作に応じて設定されたパラメータが保存される。たとえば、デバイスの設定シート４０１において両面ユニットのチェックボックスがチェックされれば、ＵＰＤファイルのデータ部パラメータＤｕｐｌｅｘＵｎｉｔ＝ＯＮという設定値が保存される。こうしてＵＰＤファイルのデータ部には、カスタマイズされた印刷設定情報のデフォルト値と、デバイス構成情報のデフォルト値とが格納されている。
【００４５】
本実施の形態に係るカスタマイズツールでは、カスタマイズされたデータに対して、カスタマイズ用に定義されたＩＤが与えられる。そして、そのＩＤに対応してカスタマイズされたデータの値を保存している。ＩＤ定義部９０２に使用したいカスタマイズデータのＩＤが定義されていない場合は、そのカスタマイズデータに対応する新たなＩＤがＩＤ定義９０２に追加される。カスタマイズされたデフォルト値のＩＤは、たとえばドライバとともに作成されたカスタマイズ前のデフォルト値に対応するＩＤ以外のＩＤであればよい。そしてカスタマイズ前のデフォルトデータに対応するＩＤを一定の値に決めておけば、カスタマイズ用に定義されたＩＤはそれ以下の値で、しかも対応するデフォルトデータに対して固有の値であればよい。
【００４６】
このようにしてプリンタドライバ、特にＵＰＤファイルのカスタム化が可能であり、カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、カスタマイズツールにより作成されたＵＰＤファイルを読み込み、カスタマイズ情報を元に動作する。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。本実施例によるカスタマイズツールでは、カスタマイズデータとして、図４のデバイスの設定シート４０１で設定されるデバイス設定に用いられる初期値データ、図５の仕上げシート５０１の他で設定される印刷設定に用いられる初期値データと、チェックボタン３０４で指定されるインストール時にデバイス情報を取得するか否かを示すデータ、および管理者の連絡先をＵＰＤファイルに対して書き込みを行う。
【００４７】
＜カスタム化されたドライバのインストール＞
図７は、カスタマイズ済みドライバを運用するユーザ環境を示す図である。ここでは、両面ユニットが装着されたデバイス７０１と、両面ユニットが装着されていないデバイス７０２が設置されたユーザ環境を想定している。また、デバイス７０１と７０２は、同じプリンタドライバにより駆動制御されるデバイス（すなわち同じモデル）とする。パーソナルコンピュータ７０３を使用しているユーザは、両面機能を持つデバイス７０１を使用し、パーソナルコンピュータ７０４を使用しているユーザは、両面機能を持たないデバイス７０２を使用している。
【００４８】
図１２は、図１１のフローで作成されたカスタマイズ済みドライバセット８０２を管理者が各ユーザに配布し、ユーザがＰＣに実際にインストールする際のカスタマイズ対応ドライバ内部の処理フローを示したものである。管理者が遠隔操作によりインストールを行う場合も同様である。図７に示すユーザ環境において、ＰＣ７０３、ＰＣ７０４それぞれのＰＣに、同じカスタマイズ済みドライバセットをインストールすることを想定して説明する。
【００４９】
ユーザがプリンタの追加ボタンなどで、カスタマイズ済みドライバセットのＩＮＦファイルを指定することで、インストールの処理が開始される。ＩＮＦファイルとはウインドウズ（登録商標）環境下において、インストールスクリプトを自動的に実行させるためのファイルである。本実施形態はウインドウズ（登録商標）環境で実施される例を説明する。ただし、他のオペレーティングシステムであっても、プログラムをインストールするためのプログラム等に相違はあっても本質的には本実施形態と同様に発明を実現可能である。
【００５０】
このプリンタのインストール処理において、ＰＣ７０３を使用しているユーザはデバイス７０１のポートを、ＰＣ７０４を使用しているユーザはデバイス７０２のポートを指定する。ここで、デバイス７０１、デバイス７０２は、ＬＰＴやＵＳＢなどのローカル接続であってもよいし、ＴＣＰ／ＩＰポートなどのネットワーク接続であってもよい。
【００５１】
インストール処理が開始されると、ＩＮＦファイルに記述されているカスタマイズ済みドライバセットに含まれる構成ファイル（たとえばＵＰＤファイルやドライバプログラムファイル等）が、所定のシステムフォルダにコピーされる。システムフォルダに必要なファイルがコピーされた後、システムスプーラからドライバ内部のイベント処理関数が呼ばれ、インストール初期化処理を実行する（Ｓ１２０１）。初期化処理では、必要なレジストリの作成処理などが実行される。
【００５２】
初期化処理が終了すると、カスタマイズ対応済みドライバは、システムフォルダにコピーされているＵＰＤファイルを読み込む（Ｓ１２０２）。ここでは、図１０に示すデータ部９０３が、ＲＡＭ２上にマップされる。
【００５３】
ステップＳ１２０２で読み込んだデータ部９０３を参照し、パラメータＰｒｅＣｏｎｆｉｇの値をテストする（Ｓ１２０３）。パラメータＰｒｅＣｏｎｆｉｇは、インストール時の構成情報取得が有効になっているか否かを示す情報である。図１０の例では、ＰｒｅＣｏｎｆｉｇがＯＮとなっているため、ステップＳ１２０４に進む。ステップＳ１２０４では、現在接続されているプリンタに対してデバイス構成情報を要求して取得する。取得したデバイス構成情報はＲＡＭ２上にマップされる。図１６はデバイス７０１とデバイス７０２からそれぞれ取得されたデバイス構成情報１６０１，１６０２の一例である。デバイス７０１は両面ユニットが装着されているので、ＤｕｐｌｅｘＵｎｉｔがＯＮ、デバイスの７０２は両面ユニットが装着されていないので、ＤｕｐｌｅｘＵｎｉｔがＯＦＦになっている。
【００５４】
次に、ステップＳ１２０２で読み込まれたＵＰＤファイルのデータ内からデータ格納部１００２のデバイス構成情報のデフォルト値を取得する（Ｓ１２０５）。そして、ステップＳ１２０４で取得した現在のデバイス構成情報と、ステップＳ１２０５で取得したＵＰＤファイル内のデバイス構成情報すなわち、カスタマイズドライバ作成時に設定されたデバイス構成情報の内容を比較する（Ｓ１２０６）。すなわち図１０のデータ格納部１００３内のデバイス構成情報と図１６のデバイス構成情報とを比較することになる。
【００５５】
ステップＳ１２０６の結果を元に、カスタマイズ生成時の構成情報と現在のデバイス構成情報が同じであるか判定する（Ｓ１２０７）。ステップＳ１２０７で、カスタマイズ生成時の構成情報と異なると判断された場合には、次のステップに進み、カスタマイズ作成時の構成情報が現在のデバイス構成情報と同じであると判断された場合には処理を終了する。たとえば図７のユーザ環境においては、ＰＣ７０３にインストールされたカスタマイズ済みドライバは、カスタマイズ生成時と同じ構成であると判断される。そのため、処理が終了する。一方ＰＣ７０４にインストールされたカスタマイズ済みドライバは、カスタマイズ生成時と異なると判断されることになるため、次のステップＳ１２０８に進む。
【００５６】
次に、図１０のＵＰＤファイル内に格納されている印刷設定情報のデフォルト値と、現在のデバイス構成情報との間に矛盾がないかを判断する（Ｓ１２０８）。たとえば、デバイス７０２の現在のデバイス構成情報ではパラメータＤｕｐｌｅｘＵｎｉｔがＯＦＦであるにもかかわらず、データ格納部１００１では、両面設定のパラメータｄｍＤｕｐｌｅｘがＯＮになっている。ステップＳ１２０８においては、ＰＣ７０４にインストールされたカスタマイズ済みデバイスドライバのデフォルト設定値には、デバイス構成情報との矛盾があると判断される。この矛盾を検知する仕組みとしては、プログラム上で設定の矛盾を検知しても良いし、別ファイルに矛盾設定の規則を格納しておいても良い。いずれにしても、互いに照合する項目をあらかじめ決めておき、その項目の値が互いに一定の値でない場合には矛盾があるすなわち整合性がないと判定される。たとえば、矛盾と判定される項目名（パラメータ識別子）とその値の組をテーブルに登録しておくことで実現される。もちろん逆に整合していると判定される項目名とその値の組であってもよい。パラメータＤｕｐｌｅｘＵｎｉｔの値と、両面設定のパラメータｄｍＤｕｐｌｅｘとは互いに同じ値でなければ矛盾であるから、たとえば「ＤｕｐｌｅｘＵｎｉｔ＝オンかつｄｍＤｕｐｌｅｘ＝オフ」「ＤｕｐｌｅｘＵｎｉｔ＝オフかつｄｍＤｕｐｌｅｘ＝オン」という組があらかじめ登録され、これに該当する場合にはステップＳ１２０８で矛盾有りと判定される。
【００５７】
矛盾が生じる構成と設定との例はこのほか、フィニッシャユニットがないにも関わらずステープル等のフィニッシュ設定がデフォルト値で設定されていること（オプションユニットとその設定の矛盾）、存在しない給紙ユニットからの給紙設定が設定されていることや印刷できないサイズの用紙に対する印刷の設定がされていること（給紙設定の矛盾）などがある。
【００５８】
ＰＣ７０４のように矛盾があると判断された場合には次のステップＳ１２０９の処理に進み、図６に示すような矛盾がある旨のメッセージ６００を表示する。それ以外の場合には、ステップＳ１２１２に進みインストール処理を終了する。
【００５９】
なおステップＳ１２０９においては、どのオプション設定に矛盾が生じているかの情報をメッセージ上に表示することが望ましい。このためには、上述の矛盾を判定するためのテーブルに、ユーザに認識可能な形式でその項目名や矛盾の内容を示すメッセージを登録しておき、矛盾があると判定された場合には該当するメッセージを表示する。
【００６０】
さらに矛盾があると判定された場合には管理者の連絡先を表示する。この場合には、たとえば以下のように処理が行われる。メッセージ６００のＯＫボタンがユーザにより押下された後、データ格納部１００３に管理者の連絡先情報が格納されているか否かを判断し（Ｓ１２１０）、格納されていれば、次のステップＳ１２１１に進み、格納されている連絡先に図１５に示すような内容のメールを送信し、Ｓ１２１２に進んで処理を終了する。メールの内容は、たとえばデータ格納部１００３に連絡先情報とともに格納しておくことも出来るし、固定のメッセージを表示しても良い。ただし、矛盾を生じたコンピュータ名（識別子）およびプリンタ名（識別子）は少なくとも含まれる。
【００６１】
また、Ｓ１２１０で連絡先がないと判断された場合には、Ｓ１２１２に進み処理を終了する。
【００６２】
一方、ステップＳ１２０３で、パラメータＰｒｅＣｏｎｆｉｇがオフであると判定された場合、すなわちインストール時の構成情報取得（および現実のデバイス構成情報のチェック）が有効でないと判断された場合には、ステップＳ１２１２に進み、インストール終了処理を実行し、全体の処理を終了する。
【００６３】
以上の手順により、カスタマイズされたプリンタドライバのインストール処理を行うことが出来る。本実施形態ではインストール処理時に、印刷設定情報のデフォルト値と、ドライバが現実に駆動制御する対象のプリンタの構成情報との間に矛盾がないか、その判定をするか否かの指定にしたがって判定する。このため、指定がされている場合には、前述の矛盾が生じるコンピュータに限って矛盾があることを警告により知ることが出来る。一方その指定がされていない場合には、プリンタの構成とは無関係に印刷設定情報のデフォルト値をそのままコンピュータに使用させることができる。この結果、印刷設定情報のデフォルト値を現実のプリンタ構成に合わせる作業を効率的に行うことが出来る。また、ユーザによりデフォルトの印刷設定をそのまま利用させることが出来る。さらに、そのいずれかを選択することができる。
【００６４】
＜印刷設定のデフォルト値の例＞
図１４にプリンタドライバＵＩ制御モジュール２０４２が実行された際の印刷設定画面１４００の例を示す。カスタマイズ済みドライバセット８０２がコンピュータ上にインストールされた後、初めて印刷設定画面が表示されるときや、「標準に戻す」ボタン１４０１が押下されたときには、印刷設定情報のデフォルト値（デフォルトデータとも呼ぶ。）が表示される。このとき、図２の印刷処理関連プログラム２０４、特にプリンタドライバＵＩ制御モジュール２０４２は、ＵＰＤファイルのデータ部から、印刷設定情報のデフォルト値を読み込み、それを印刷設定情報２０４１ａに複製するとともにその値を印刷設定画面１４００上に表示する。図１４の表示例は、図１０に示した印刷設定に対応したものである。読み込まれるデフォルトデータは図１３のフローで決定される。
【００６５】
図１３において、ステップＳ１３０１で表示部すなわち図１４のＵＩ画面からデフォルト値の取得要求があると（あるいはインストール後初めて起動されると）、判定部ではステップＳ１３０２でユーザが指定した（すなわちカスタマイズされた）デフォルト値が記憶部（外部メモリ１１）のＵＰＤファイル１０００に記憶されているか判定する。この判定はＩＤ定義部に格納されたＩＤを参照して行われる。ユーザがカスタマイズしたデフォルト値が記憶されていた場合は、ステップＳ１３０３でカスタマイズ済みフォルト値を読み、印刷設定情報２０４１ａに複製するとともに、ステップＳ１３０４で図１４のＵＩ画面１４００に表示する。ユーザがカスタマイズしたデフォルト値が記憶されていなかった場合は、ステップＳ１３０５で、あらかじめ設定され保存されている、カスタマイズされていない工場出荷時のデフォルト値を読み、ステップＳ１３０４で印刷設定情報２０４１ａに複製するとともに、インターフェイス１４００に表示する。ここでステップＳ１３０２の判定基準は、図９を参照して「ＵＰＤファイルの内容」の欄で述べるＵＰＤファイルのＩＤ定義部である。カスタマイズデータに対応するＩＤがＩＤ定義部に定義されているか否かが判定の基準となる。カスタマイズデータに対応するＩＤがあれば、ユーザが指定したデフォルトが存在すると判定される。
【００６６】
このようにして、カスタム化された、あるいはカスタム化されていないデフォルト値が印刷設定情報としてプリンタドライバにより参照される。この後、特に印刷設定の変更がおこなわれないかぎり、プリンタドライバはデフォルト値にしたがって印刷コマンドを作成し、印刷処理が行われる。
【００６７】
＜実施形態のプリンタドライバによる効果＞
この結果、プリンタドライバのインストール時に設定される印刷設定情報のデフォルト値（初期値）を、カスタム化することができる。また、カスタム化したデフォルト値を現実のプリンタの構成と照合することも、現実のプリンタの構成とは無関係に使用することも、いずれも可能である。
【００６８】
［他の実施形態］
なお、本実施形態におけるプリンタドライバを、周辺装置一般のドライバに置き換えることもできる。すなわち、プリンタドライバに限らず、利用者により動作設定情報を設定可能であり、その動作設定情報のうち設定可能な項目やデフォルト値（初期値）等をカスタマイズ可能なデバイスドライバについて本発明を適用可能である。
【００６９】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００７１】
【図１】本実施形態における印刷処理システムのブロック構成図である。
【図２】本実施形態におけるＲＡＭ２のメモリマップを示す図である。
【図３】本実施形態におけるカスタマイズツールのＵＩ例を示す図である。
【図４】本実施形態におけるデバイス設定のカスタマイズＵＩ画面例を示す図である。
【図５】本実施形態における印刷設定のカスタマイズＵＩ画面例を示す図である。
【図６】本実施形態におけるデバイス設定の矛盾通知メッセージ例を示す図である。
【図７】本実施形態におけるユーザ環境の一例を示す図である。
【図８】本実施形態におけるカスタマイズ時の構成例を示す図である。
【図９】本実施形態におけるプリンタドライバを構成する一ファイルであるＵＰＤファイルの模式図である。
【図１０】本実施形態におけるプリンタドライバを構成する一ファイルであるＵＰＤファイルの模式図である。
【図１１】本実施形態におけるカスタマイズドライバ作成時の処理フロー図である。
【図１２】本実施形態におけるカスタマイズ済みプリンタドライバのインストール時の処理フロー図である。
【図１３】本実施形態におけるカスタマイズ済みプリンタドライバのＵＩ表示時の処理フロー図である。
【図１４】本実施形態におけるプリンタドライバ設定画面ＵＩの例を示す図である。
【図１５】本実施形態における矛盾設定通知メールの例を示す図である。
【図１６】本実施形態におけるデバイス構成情報の例を示す図である。
【図１】
2006277345.tif 000003
【図２】
2006277345.tif 000004
【図３】
2006277345.tif 000005
【図４】
2006277345.tif 000006
【図５】
2006277345.tif 000007
【図６】
2006277345.tif 000008
【図７】
2006277345.tif 000009
【図８】
2006277345.tif 000010
【図９】
2006277345.tif 000011
【図１０】
2006277345.tif 000012
【図１１】
2006277345.tif 000013
【図１２】
2006277345.tif 000014
【図１３】
2006277345.tif 000015
【図１４】
2006277345.tif 000016
【図１５】
2006277345.tif 000017
【図１６】
2006277345.tif 000018