(57)【要約】      （修正有）【課題】ドライバー本体とカスタム設定のデータが分離されているカスタムドライバーをアップグレードする際に、ドライバー本体あるいはカスタム設定のいずれかが更新されていなかった場合、その部分の処理時間により全体のインストール時間が冗長なものとなっていた。【解決手段】ドライバー本体とカスタム設定のそれぞれに関して、更新するかどうかを判断し、処理をスキップすることで全体のインストール時間を短縮することができる。【選択図】図８
2019070885.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置、印刷装置から構成される印刷システムであって、
ドライバーのバージョンからドライバーを更新するかどうかを判定する手段（S803）と、
ドライバーのインストールを行う手段（S804）と、
ドライバーの更新結果からカスタマイズを行うかを判定する手段（S903）と、
カスタム設定を適用するかを判断する手段（S905）と、
カスタム設定を適用する手段（S907）
を有することを特徴とした印刷システム。
【請求項２】
前記請求項1に記載のカスタム設定を適用するかを判断する手段（S905）が、
前記カスタム設定に埋め込まれたカスタム設定の新旧を示す情報により前記カスタム設定を適用するかを判断する手段（S1002）
を有することを特徴とした印刷システム。
【請求項３】
前記請求項1に記載のカスタム設定を適用するかを判断する手段（S905）が、
前記カスタム設定に埋め込まれたカスタム設定の内容を一意に判別可能な情報により前記カスタム設定を適用するかを判断する手段（S1007）
を有することを特徴とした印刷システム。
【請求項４】
前記請求項1に記載のカスタム設定を適用するかを判断する手段（S905）が、
前記カスタム設定内の全設定を比較することで前記カスタム設定を適用するかを判断する手段（S1010〜S1014）
を有することを特徴とした印刷システム。
【請求項５】
前記請求項1に記載のカスタム設定を適用する手段（S907）が、
既存のカスタム設定を保持しておくための更新ルールを読み込む手段（S1201）と
前記更新ルールにより前記既存のカスタム設定を保持しておくかを判断する手段（S1205）
であることを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カスタマイズされたプリンタードライバーの更新インストールに関する。
【背景技術】
【０００２】
プリンタードライバーにはコストを下げるために両面印刷やモノクロ印刷で設定を固定したいという市場要望がある。このため、通常はＩＴ管理者がプリンタードライバーの導入後に両面印刷固定の設定やモノクロ印刷固定を始めとするカスタム設定を行う。しかし、プリンタードライバーを部門や会社単位で一括導入する場合、導入した後にプリンタードライバー全てに対して個別に部門固有の設定やカスタマイズを行う必要があり、非常に作業時間が掛かってしまっていた。
【０００３】
このため、予めカスタム設定が反映されたカスタムドライバーを作成しておき、カスタムドライバーを用いることで、導入後に発生していたカスタマイズの作業を省力化するという方法がある。さらに特許文献1では、予め指定しておいた設定がインストール済みの類似のドライバーにあるかを検索し、検索された場合はその設定の選択値をインストール対象のドライバーのデフォルト値とすることで作業時間の短縮を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願2005-114862号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ただし、特許文献1では、プリンタードライバーのインストールは通常のインストールと同様であるため、インストールの処理時間そのものの短縮は行えなかった。
【０００６】
また、ドライバー本体とカスタム設定のデータが分離されているカスタムドライバーに関して、アップグレードの際に、更新の無い部分のインストールの処理時間は冗長なものといえる。例えば、同じバージョンで別のカスタマイズがされているものや、別のバージョンで同じカスタマイズがされているカスタムドライバーのアップグレードが該当する。具体例を挙げると、「v2.0の両面印刷固定設定」を『同じバージョンで別のカスタマイズ』がされている「v2.0のモノクロ印刷固定」のドライバーで更新する場合である。
【０００７】
この場合、ドライバー本体は共にv2.0であるため、カスタム部分の「両面印刷固定」を「モノクロ印刷固定」に置き換えるだけで実質更新したと言えるため、ドライバー本体の更新は必要ない。また、同様に別バージョンでも同じ「両面印刷固定設定」がされているドライバー同士の更新処理の場合、本体のドライバーのアップグレードを行うだけでカスタム部分の更新は必要ない。
【０００８】
このように、カスタムドライバーを用いて既存のドライバーのアップグレードを行う場合に冗長な部分があったため、そのアップグレード処理を短縮することが課題であった。
【課題を解決するための手段】
【０００９】
情報処理装置、印刷装置から構成される印刷システムであって、
ドライバーのバージョンからドライバーを更新するかどうかを判定する手段（S803）と、
ドライバーのインストールを行う手段（S804）と、
ドライバーの更新結果からカスタマイズを行うかを判定する手段（S903）と、
カスタム設定を適用するかを判断する手段（S905）と、
カスタム設定を適用する手段（S907）
を有することを特徴とした印刷システム。
【発明の効果】
【００１０】
本願によれば、ドライバー本体とカスタム設定のデータが分離されているカスタムドライバーに関して、ドライバー本体あるいはカスタム設定のそれぞれに対して更新するかどうか判定し、不要な処理を省略することで処理時間を短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】システム構成を示す図
【図２】クライアントコンピュータのハードウェア構成を示す図
【図３】ドライバーセットおよびカスタマイズツールの構成を示す図
【図４】カスタムモデルデータの一例
【図５】カスタム印刷設定データの一例
【図６】カスタム管理用データの一例
【図７】カスタム制御データの一例
【図８】本発明の基本処理のフロー
【図９】カスタマイズ処理の実行フロー
【図１０】カスタマイズ内容の比較フロー
【図１１】カスタム設定のバージョン情報の一例
【図１２】カスタマイズの更新処理フロー
【図１３】カスタマイズの更新ルールデータの一例
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
［実施例1］
図１に、本発明に係るシステム構成の概略を表す模式図を示す。このシステムは、情報処理装置の一例であるクライアントコンピュータ１０１とページ記述言語（ＰＤＬ）形式の印刷データを受信し印刷を行うことが可能なプリンター１０２を備える。これらは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）を含むネットワーク１０３を通じて相互に通信可能である。
【００１３】
なお、プリンター１０２は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ１０１は、ネットワーク１０３に対し一台に限らず、複数台接続されていても構わない。
【００１４】
図２は、図１のクライアントコンピュータ１０１のハードウェア構成を示すブロック図である。クライアントコンピュータ１０１において、中央演算処理装置（ＣＰＵ２０１）は、ランダムアクセスメモリ(ＲＡＭ２０２)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ１０１は、少なくとも１つのＣＰＵ２０１を備える。加えて、ＣＰＵ２０１が外部メモリ２０９に記憶されているプログラムに基づき処理を実行することによって、クライアントコンピュータ１０１のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００１５】
このＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０３は、リードオンリーメモリ（ＲＯＭ）である。ＲＯＭ２０３は、ブートプログラムや基本入出力システム(ＢＩＯＳ)等の各種プログラムが書き込まれてある。操作入力装置インターフェース(Ｉ／Ｆ)２０４は、キーボードやポインティングデバイス（マウス）タッチＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などの操作入力装置２０５を制御するインターフェースである。ディスプレイＩ／Ｆ２０６はディスプレイ２０７への画面表示を制御する。
【００１６】
外部メモリＩ／Ｆ２０８は、例えばハードディスク（ＨＤ）、ソリッドステートディスク（ＳＳＤ）等の外部メモリ２０９とのアクセスを制御する。外部メモリ２０９は、オペレーティングシステムプログラム（ＯＳ）２１０をはじめ、タッチパネル、デスクトップそれぞれに対応したアプリケーション２１２、プリンタードライバーを含むドライバー３００６を含む。そして、各種ファイル等を記憶し、クライアントコンピュータ１０１が読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ２１３は、ネットワーク１０３を介してプリンター１０２に接続され通信制御処理を行なう。
【００１７】
図３を用いて、カスタマイズツール全体の構成を説明する。まず、図３（Ａ）を用いてドライバーセットについて説明する。３０００は、ドライバーセットである。ドライバーセット３０００は、ドライバーをＯＳ２１０内に配置するために必要なドライバー３００６のファイル及びモジュールの集合である。３００６は、ドライバーであり、印刷時に必要なレンダリングなどのモジュールや機種依存ファイル群などを持つ。３００１は、機種依存ファイルである。機種依存ファイル３００１には、機種ごとの禁則のルールや機能の一覧、工場出荷値の印刷設定やロケールごとのデフォルトの印刷設定などのファイル群が置いてある。
【００１８】
３００２は、ドライバーＵＩモジュールである。ドライバーＵＩモジュール３００２は、ドライバー３００６がＯＳ２１０内に配置された後に、印刷時に呼び出され、印刷設定の変更を容易にすることが可能なモジュールである。また、ＯＳ２１０内に配置する前であっても他のアプリケーション２１２からロードして呼び出すことも可能である。３００３は、グラフィックスモジュールであり、ドライバー３００６が印刷をする際に印刷対象のファイルをＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換を行う。
【００１９】
ＩＮＦファイル３００７は、ドライバーセット３０００でサポートしている機種の一覧や、サポートしている機種のプリンタードライバーの必要なモジュールの一覧などの設定情報が記述されたファイルである。３００４は、インストーラであり、インストーラ３００４は、外部からの操作入力装置２０５を通じて起動された際にドライバー３００６をＯＳ２１０内に配置を行う。ＰｏｗｅｒＳｈｅｌｌアプリ３００５は、操作入力装置２０５から起動された場合や他のアプリケーション２１２から起動された際に、ＰｏｗｅｒＳｈｅｌｌのＡＰＩの呼び出しを行うことができるアプリケーションである。
【００２０】
ＰｏｗｅｒＳｈｅｌｌとは、Ｗｉｎｄｏｗｓ（商標登録）に内包されているコマンドラインベースの拡張可能なスクリプト言語であり、コマンドラインベースで様々なＯＳ２１０内のＡＰＩを呼び出すことができる。また、別ファイルとしてＰｏｗｅｒＳｈｅｌｌスクリプトを生成、あるいは生成済みのＰｏｗｅｒＳｈｅｌｌスクリプトを読み込み、実行するモジュールでも構わない。
【００２１】
図３（Ｂ）を用いて、カスタムドライバーセットの説明を行う。カスタムドライバーセットは、図３（Ａ）のドライバーセット３０００に対し、カスタム設定ファイルを追加した構成になっている。よって、図３（Ａ）で説明済みの番号は、説明を省略する。
３００８は、カスタム設定ファイルである。カスタム設定ファイル３００８は、インストール時にドライバー３００６がアクセスできる箇所に書き込まれることで、ドライバー３００６のインストール直後に、ドライバー３００６をカスタマイズされた設定に変更するために利用される。
【００２２】
カスタム設定ファイル３００８は、カスタムモデルデータ３００８１、カスタム機種データ３００８２、カスタム制御データ３００８３を持つ。カスタムモデルデータ３００８１は、カスタムドライバーセットでインストール対象のプリンターモデルの一覧のデータである。カスタムドライバーセットのユーザーは、カスタムドライバーセットの作成者が任意に選定したプリンターモデルのみ、インストールすることが可能になる。
【００２３】
カスタム機種データ３００８２は、カスタム印刷設定データ３００８２１、カスタム管理用データ３００８２２などのドライバー３００６をカスタマイズするためのデータを持つ。カスタム印刷設定データ３００８２１は、印刷設定をカスタマイズするための情報である。カスタム管理用データ３００８２２は、デバイス設定や管理者設定などをカスタマイズするための情報である。カスタム制御データ３００８３は、インストール時のカスタマイズ処理に関して記載した情報である。個々のカスタム設定ファイル３００８内のデータの詳細な説明については、後述する。
【００２４】
以下より、カスタム設定ファイル３００８のデータに関して例示する。なお、本説明ではこれらのデータを別々の形で紹介しているが、ひとつのファイルとしてまとめて定義されていても、もちろん構わない。
【００２５】
図4は、カスタムモデルデータ３００８１の一例であり、マークアップ記述言語で記述されている。カスタムモデルデータ３００８１は、Ｐｒｏｐｅｒｔｉｅｓ要素を持ち、Ｐｒｏｐｅｒｔｉｅｓ要素の中にＰｒｉｎｔｅｒＭｏｄｅｌ要素を１つから複数持つ。４００は、ＰｒｉｎｔｅｒＭｏｄｅｌ要素である。ＰｒｉｎｔｅｒＭｏｄｅｌ要素４００は子の要素として、Ｃｕｓｔｏｍｉｚｅｄ要素とＰｒｅｆｉｘＳｔｒｉｎｇ要素を持つ。４０１は、Ｃｕｓｔｏｍｉｚｅｄ要素であり、親の要素のＰｒｉｎｔｅｒＭｏｄｅｌをカスタムドライバーセットでインストール可能かどうかを示している。
【００２６】
Ｃｕｓｏｍｉｚｅｄ要素４０１がＯＮならばインストールが可能であることを表す。ＯＦＦの場合は、インストール不可であることを表す。４０２は、プリンターモデルを一意に定める情報が入力されたプリンターモデル識別子情報である。プリンターモデル識別子情報４０２は、カスタム機種データ３００８３を作成する際の名称に使われる。
【００２７】
図５は、カスタム機種データ３００８２に格納されている情報のひとつのカスタム印刷設定データ３００８２１の一例である。カスタム印刷設定データ３００８２１はマークアップ記述言語形式で作成されており、ドライバーセット３０００が持つ工場出荷値の印刷設定と比較した際の差分データを保持する。本例では、カスタム印刷設定データ３００８２１を、ＦｅａｔｕｒｅとＯｐｔｉｏｎの組み合わせで表現しており、Ｆｅａｔｕｒｅは、マークアップ記述言語におけるＯｐｔｉｏｎの親となる。
【００２８】
Ｆｅａｔｕｒｅは機能、Ｏｐｔｉｏｎは機能に対して選択されている設定を表し、差分設定５０１では、工場出荷値の印刷設定がカラーであるドライバーに対して、デフォルトの印刷設定をモノクロに変更する場合の一例である。具体的にはＯＳ２１０から提供されている標準設定であるｐｓｋ：ＰａｇｅＯｕｔｐｕｔＣｏｌｏｒに対してｐｓｋ：Ｍｏｎｏｃｈｒｏｍｅという設定がされている。なお、差分設定５０２も同様に工場出荷値の印刷設定と比較した際の差分データであるが、ＯＳ２１０の標準設定である差分設定５０１とは異なり、Ｆｅａｔｕｒｅの名称が「ｎＳ００００：」から始まるドライバー３００６が独自に定義している設定である。
【００２９】
図６は、カスタム機種データ３００８２に格納されている情報のひとつのカスタム管理用データ３００８２２の一例である。カスタム管理用データ３００８２２はＰｒｏｐｅｒｔｙという要素を持ち、各Ｐｒｏｐｅｒｔｙ要素は、管理者設定あるいはデバイス設定のいずれかの名称を表すＮａｍｅ属性を持つ。図６の例では管理設定６０１は管理者設定であり、割り付け印刷（Ｎｕｐ）設定を表すＣｏｎｆｉｇ：ＡｄｍｉｎＩｎｆｏＡｌｗａｙｓＮｕｐに対して「常に割り付けを行う」（ＡｌｗａｙｓＮｕｐ）が指定されている。また、管理設定６０２はデバイスのフィニッシャー等の取り付け情報を表している。
【００３０】
図７は、カスタム制御データ３００８３の一例である。図７のデータはカスタム設定を適用させるためのルールを管理する制御データ７０１であり、この記載を基準としてカスタム設定を適用するかどうかを決定する。制御データ７０１はＥｘｅｃｕｔｅＩｔｅｍという要素を持ち、子要素としてＴａｒｇｅｔＩｔｅｍ、Ｃｏｎｄｉｔｉｏｎ、Ａｃｔｉｏｎを持ち、インストール済みの「どのモジュール」が「どうだった際」にカスタム設定を「どうするか」が記載される。ＴａｒｇｅｔＩｔｅｍは、どのモジュールかを表す要素であり、ドライバー本体のインストールか（Ｉｎｓｔａｌｌａｔｉｏｎ）カスタム設定か（ＣｕｓｔｏｍＳｅｔｔｉｎｇｓ）のいずれかが対象となるかを表している。
【００３１】
Ｃｏｎｄｉｔｉｏｎはインストール済みの対象のモジュールが古いか（ｏｌｄ）、新しいか（ｎｅｗ）、同じバージョンか（ｓａｍｅ）等を表す。なお、その拡張として違った場合（ｄｉｆｆｅｒｅｎｔ）や新旧バージョンを問わず強制的に行う（ｆｏｒｃｅ）指定が存在する。なお、これらの条件を複数指定することで「新しい場合」と「同じ場合」のいずれかに回答する場合実行するよう指定することもできる。Ａｃｔｉｏｎは条件が該当した際にどうするかを上書きするか（ｏｖｅｒｗｒｉｔｅ）、削除するか（ｄｅｌｅｔｅ）、なにもしないか（ｎｏｔｈｉｎｇ）を表す。
【００３２】
ここでの定義７０２は「既存のドライバー」が「古いか同じ」場合に「上書きする」という情報を示している。また、定義７０３は「既存のドライバー」が「新しかった」場合には「なにもしない」定義となる。定義７０４は「既存のカスタム設定」が「古い」場合に「上書きする」という定義である。この他にも定義７０５のように「カスタム設定」が何かしら「違った場合」は「上書きする」指定や、定義７０６のように「カスタム設定」が「存在しない場合」には「なにもしない」等、カスタマイズされていないものはそのまま保持する指定も可能である。
【００３３】
後述の説明においては、原則として「古い場合は上書き」、「同等かそれ以上のバージョンの場合は処理をスキップする」という条件を例として用いるが、定義で「上位バージョンでも上書きする」等の指定があった場合は、そちらに従うものとする。
【００３４】
以下より、本実施例の処理フローの説明を行う。なお、本実施例におけるフローは特に断らない限りインストーラ３００４で実行されるものとする。本説明ではインストーラ３００４をインストール専用のアプリケーションを対象として説明を行うが、インストール操作と同等の処理を行うスクリプトやバッチファイルが対照でも構わない。また、各アプリケーション及びモジュールは、外部メモリ２０９に格納されており、必要に応じてＲＡＭ２０２にロードされ、クライアントコンピュータ１０１上のＣＰＵ２０１で実行される。
【００３５】
これらの処理を行うことで、本体のドライバーのインストールとドライバーに対するカスタム設定を適用のそれぞれに対して更新するかどうか判定し、不要な処理を省略することができる。
【００３６】
図８は本発明のメイン処理を示すフローである。まずクライアントコンピュータ１０１に既にインストール済みのドライバーがあるかどうかを判定する（Ｓ８０１）。既存のドライバーが存在した場合は、そのバージョン情報の取得を行う（Ｓ８０２）。取得した情報に基づき新規のドライバーがインストール対象であるかを判定する（Ｓ８０３）。基本的には、既存のドライバーよりも新規ドライバーの方が新しい場合、アップグレードとしてインストール対象であるという判定を行い、同バージョンや古いバージョンがインストール済みであった場合はインストール対象とはしない。
【００３７】
ただし、強制的に指定バージョンに揃えるような指定がされていた場合は、新規ドライバーの方が古い場合でもダウングレードとして、インストール対象とする判定を返す。既存のインストールドライバーが存在しないか、上書き対象である場合は、新規ドライバーのインストールを行う（Ｓ８０４）。最後にカスタマイズ処理の実行を行う（Ｓ８０５）。本処理の詳細は後述する。また、本処理は本体のドライバーのインストールが実行されたか、スキップされたかに関わらず実行される。ただし、本体のドライバーのインストールがエラーで終了した場合等はこの限りではない。
【００３８】
図９は、カスタマイズ処理の実行処理を示すフローである。まず制御データ７０１のような、どの条件でカスタマイズ処理を行うかを定義したカスタマイズ定義の取得を行う（Ｓ９０１）。
【００３９】
次に本体のドライバーが更新されたか、更新がスキップされたかといった更新結果の取得を行う（Ｓ９０２）。この際、単にスキップしただけでなく、旧バージョンだったためスキップしたのか、同バージョンで上書きの必要がなかったためスキップしたのか等の結果の詳細も含めて取得する。その結果を基にドライバーのカスタマイズを行う必要があるかの判定を行う（Ｓ９０３）。ドライバーが上書きされた場合はカスタマイズの必要があるという結果となるが、同バージョンだったため、ドライバーを上書きしなかった場合もカスタマイズだけは行う可能性があるため、この場合もカスタマイズの必要があるという判定を行う。
【００４０】
次に既存のドライバーから設定済みのカスタム情報の取得を行う（Ｓ９０４）。そこから取得した情報を用いてカスタム内容の比較を行いカスタマイズの更新が必要か、そうでないかの判定を行う（Ｓ９０５）。なお、本処理の詳細は後述する。判定した結果からカスタマイズの更新が必要かの分岐を行う（Ｓ９０６）。カスタマイズを実行する場合は、新規ドライバーのカスタム情報で既存のカスタム情報の上書きを行う（Ｓ９０７）。
【００４１】
図１０でカスタム情報を比較し、カスタマイズが必要かどうかの情報を返す。概要としては新規のカスタム情報の方が新しかった場合、あるいは旧カスタマイズと違った設定が指定されていた場合はカスタマイズの更新が必要との判定を返し、そうでなかった場合はカスタマイズが不要との情報を返す。また、ここで使用する情報は図１１の例のようにカスタム設定に埋め込まれたバージョンや日付などの情報やカスタム設定そのものの情報であり、前フローのＳ９０４の処理にて取得が行われているものとする。最初に、カスタム設定にバージョン情報１１０１や日付情報１１０２のように定量的に比較が可能な情報があるかを判定する（Ｓ１００１）。
【００４２】
比較が可能であった場合は、新旧の比較を行う（Ｓ１００２）。ここでは、バージョン情報１１０１や日付情報１１０２を例として挙げたが、「１．０ａｌｐｈａ」と「１．０ｂｅｔａ」のような表記を伴うものでも所定の比較方法やテーブルを読み込むことで比較が可能なものであるなら種類は問わない。次に既存のカスタム情報が新規のカスタム情報よりも古いかの判定を行う（Ｓ１００３）。
【００４３】
判定によりカスタマイズを行う必要がない場合はカスタマイズの更新が必要ないとの結果を返す（Ｓ１００４）。また、判定によりカスタマイズを行う必要がある場合はカスタマイズの更新が必要との結果を返す（Ｓ１００５）。カスタム情報に埋め込まれた情報がハッシュ値１１０３のように定量的な比較ができない情報であった場合はＳ１００７に遷移し、情報が埋め込まれてない場合はＳ１０１０に遷移する（Ｓ１００６）。Ｓ１００７の処理では埋め込まれたハッシュ値１１０３が同じかどうかの比較を行い違った場合はカスタマイズを行う必要があるとの判定をする。判定によりカスタマイズを行う必要がない場合はカスタマイズの更新が必要ないとの結果を返す（Ｓ１００８）。
【００４４】
また、判定によりカスタマイズを行う必要がある場合はカスタマイズの更新が必要との結果を返す（Ｓ１００９）。次にＳ１０１０以下の処理に関して説明する。Ｓ１０１０〜Ｓ１０１４では既存のカスタム設定が新規のカスタム設定と同じかどうかの判定を行うが、バージョン情報やハッシュ値等の比較を行うための情報が存在しないため、新規のカスタム設定のデータが存在しているかの比較を行う。まず新規のカスタム設定のひとつを取得する（Ｓ１０１０）。
【００４５】
次に取得したカスタム設定が既存のカスタム設定と同じであるかどうかの比較を行う（Ｓ１０１１）。そして未取得のカスタム設定が存在しているかを判定し、未取得のカスタム設定が存在していなかった場合は、カスタマイズの更新が必要ないという判定を行う（Ｓ１０１２）。設定の差異がないまま、Ｓ１０１２の条件で未取得のカスタム設定がないとの判定がされた場合はカスタマイズの更新が必要ないとの結果を返す（Ｓ１０１３）。Ｓ１０１１の判定で何かしら設定の差異が発見された場合はカスタマイズの更新が必要との結果を返す（Ｓ１０１４）。
【００４６】
これらの処理を行うことで、本体のドライバーのインストールとドライバーに対するカスタム設定を適用のそれぞれに対して更新するかどうか判定し、不要な処理の省略を行う。
【００４７】
［実施例2］
実施例１の処理を行うことで、カスタム設定の適用処理を省略していたが、全カスタム設定を上書きするため設定項目が多いとそれだけ時間がかかってしまうという問題があった。
【００４８】
このため、本実施例ではカスタマイズを実施しない設定を指定させることで、部分的に設定を適用することで、適用範囲外の更新処理の時間を短縮することができる。また、新規のカスタム設定に関しても適用する部分だけの定義をするだけで良くなるという利点も生まれる。
【００４９】
本処理の説明にあたり、図６を例に概要の説明を行う。まず、図６（Ａ）をインストール済みドライバーで設定されている既存のカスタム設定、図６（Ｂ）を上書き対象の新規のカスタム設定とする。このうち管理設定６０１は常に割り付け印刷（Ｎｕｐ）をさせる設定であり、ユーザーが特定のポリシーに従い任意に設定を行う部分である。一方で、管理設定６０２はインストールを行うドライバーが対象とするプリンターに取り付けられるオプション類に関する設定であり、ハードウェア的な増設や変更がない限りは基本的に変わることはない設定となる。
【００５０】
通常だと、この常に割り付け印刷（Ｎｕｐ）をさせる設定のドライバーを、常にモノクロ印刷を行う設定のドライバーに変更したい場合、管理設定６０２のオプション類に関する設定も含めた全項目分のカスタム設定を定義する必要があった。ここで、管理設定６０２のＰｒｏｐｅｒｔｙ要素以下のＮａｍｅ属性は「Ｃｏｎｆｉｇ：Ｐｒｉｎｔｅｒ〜」で開始されるため、このような名称で始まる設定は保持しておくというルールで設定を反映させることで部分的な設定の適用が可能となる。具体的には図６（Ａ）の設定に対して図６（Ｂ）のように管理設定６０２のオプション類に関する設定を含まない設定を適用することで、図６（Ｃ）のような設定とすることができる。
【００５１】
本実施例に関して、図１２、図１３を用いて、上記説明であったように特定のルールにあった設定を除外しつつ設定を適用する処理について説明する。まず図１３であるが、前述の「Ｃｏｎｆｉｇ：Ｐｒｉｎｔｅｒ〜」のように特定の名称で開始される設定を除外するための定義である。本設定はｒｕｌｅｓ要素を持ち、それ以下に子要素として除外するルール数分のｒｕｌｅ要素を持つ。ｒｕｌｅ要素の以下にはｐｈｒａｓｅ要素を持ち、本例では除外する対象の設定が「Ｃｏｎｆｉｇ：Ｐｒｉｎｔｅｒ．＊」のように正規表現で記載されている。なお、表現自体は単なる文字列を入力させておいて文字列の部分一致等の方法で対象設定を特定する等、特に正規表現以外の方法でも手法は構わない。
【００５２】
次に図１２のフローについて説明を行う。まず、図１３のような更新ルールの読み込みを行う（Ｓ１２０１）。次に新規のカスタム設定の読み込みを行う（Ｓ１２０２）。ここで既存のカスタム設定から一項目設定の取得を行う（Ｓ１２０３）。次にＳ１２０３で取得した項目が新規カスタム設定に存在しているか判定する（Ｓ１２０４）。
【００５３】
ここで新規のカスタム設定が存在していない場合は、Ｓ１２０５のステップに遷移し、既存のカスタム設定を保持するかどうかの判定に移る。次に処理の対象となっている既存の設定が、更新ルールにより保持する対象かどうかの判定を行う（Ｓ１２０５）。Ｓ１２０５のステップで処理の対象となっている既存の設定が保持する設定であると判定された場合は、設定を保持する（Ｓ１２０６）。また、処理の対象となっている既存の設定が保持する設定であると判定されなかった場合は設定を削除する（Ｓ１２０７）。
【００５４】
処理の対象となっている既存の設定に対する判定が完了したら未取得のカスタム設定が存在しているかを判定する（Ｓ１２０８）。既存のカスタム設定を保持するかの判定を全て終えたら、最後に新規のカスタム設定を適用する（Ｓ１２０９）。
【００５５】
以上の処理を行うことで、カスタマイズを実施しない部分を指定することで、部分的な設定の適用をさせることができる。
【符号の説明】
【００５６】
１０１  クライアントコンピュータ
１０２  プリンター
１０３  ネットワーク
【図１】
2019070885.tif 000003
【図２】
2019070885.tif 000004
【図３】
2019070885.tif 000005
【図４】
2019070885.tif 000006
【図５】
2019070885.tif 000007
【図６】
2019070885.tif 000008
【図７】
2019070885.tif 000009
【図８】
2019070885.tif 000010
【図９】
2019070885.tif 000011
【図１０】
2019070885.tif 000012
【図１１】
2019070885.tif 000013
【図１２】
2019070885.tif 000014
【図１３】
2019070885.tif 000015