(57)【要約】      （修正有）【課題】Ｖ４プリンタドライバのインストール時等に、外部の記憶領域に記憶された変更情報を、プリンタドライバの設定情報の既定値に容易に反映させることができるようにする。【解決手段】情報処理装置１０は、印刷を制御する情報処理装置であって、印刷に関する設定情報を制御するスクリプトを利用して設定情報を管理するプリンタドライバを、情報処理装置にインストールするインストール部と、スクリプトから利用可能な記憶領域である設定情報記憶部とは異なる記憶領域である変更情報記憶部から、設定情報の変更情報を取得する変更情報取得部と、変更情報取得部が取得した変更情報を、設定情報記憶部に保存する変更情報保存部と、スクリプトを利用して設定情報を管理する設定制御部と、を有する。設定情報記憶部に保存された変更情報を用いて設定制御部が作成した設定情報を、設定情報の既定値として設定する。【選択図】図６
2018049597.tif 000002
【特許請求の範囲】
【請求項１】
印刷を制御する情報処理装置であって、
前記印刷に関する設定情報を制御するスクリプトを利用して前記設定情報を管理するプリンタドライバを、前記情報処理装置にインストールするインストール部と、
前記スクリプトから利用可能な記憶領域である設定情報記憶部とは異なる記憶領域である変更情報記憶部から、前記設定情報の変更情報を取得する変更情報取得部と、
前記変更情報取得部が取得した前記変更情報を、前記設定情報記憶部に保存する変更情報保存部と、
前記スクリプトを利用して前記設定情報を管理する設定制御部と、
を有し、
前記設定情報記憶部に保存された前記変更情報を用いて前記設定制御部が作成した前記設定情報を、前記設定情報の既定値として設定する情報処理装置。
【請求項２】
前記変更情報保存部が前記変更情報を前記設定情報記憶部に保存するときに、前記設定情報記憶部に含まれる状態情報を所定の状態に設定する状態情報管理部を有する請求項１に記載の情報処理装置。
【請求項３】
前記インストール部が前記インストールを開始するときに、前記設定情報記憶部に含まれる状態情報を所定の状態に設定する状態情報管理部を有する請求項１に記載の情報処理装置。
【請求項４】
前記変更情報保存部が前記変更情報を前記設定情報記憶部に保存するときに、所定の状態を示す状態情報を前記設定情報に設定する状態情報管理部を有する請求項１に記載の情報処理装置。
【請求項５】
前記設定制御部は、
前記状態情報が前記所定の状態を示す場合、前記設定情報記憶部に保存された前記変更情報を用いて前記設定情報を作成する請求項２乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記設定情報記憶部に保存された前記変更情報を用いて作成された前記設定情報が、前記設定情報の既定値として設定された後、前記状態情報を前記所定の状態とは異なる状態に設定する請求項２又は３に記載の情報処理装置。
【請求項７】
前記設定制御部は、
前記状態情報が前記所定の状態に設定されていない場合、前記設定情報記憶部に保存された前記変更情報を用いずに前記設定情報を作成する請求項２乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記設定情報は、
第１の形式の第１の設定情報と、前記第１の形式とは異なる第２の形式の第２の設定情報とを含み、
前記設定制御部は、
前記第１の設定情報を前記第２の設定情報に変換する制御と、
前記第２の設定情報を前記第１の設定情報に変換する制御とを実行し、
前記状態情報が前記所定の状態を示す場合、前記第１の形式の設定情報を前記第２の設定情報に変換する際に、前記設定情報記憶部に保存された前記変更情報を用いて前記第２の設定情報を作成する請求項２乃至６のいずれか一項に記載の情報処理装置。
【請求項９】
前記設定制御部は、
前記設定情報記憶部に保存された前記変更情報を用いて作成された前記第２の設定情報を、前記第１の設定情報に変換し、
前記情報処理装置は、
変換された前記第１の設定情報を、前記設定情報の既定値として設定する設定情報変更部を有する請求項８に記載の情報処理装置。
【請求項１０】
前記設定制御部は、
前記設定情報記憶部に保存された前記変更情報を、前記プリンタドライバで設定可能な設定値を示す設定能力情報に反映する設定能力情報管理部を含む請求項１乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
前記プリンタドライバの設定画面を表示する設定画面表示部と、
前記設定情報記憶部に保存された前記変更情報を、前記設定画面に反映させる変更情報反映部と、
を有する請求項１乃至１０のいずれか一項に記載の情報処理装置。
【請求項１２】
請求項１乃至１０のいずれか一項に記載の情報処理装置と、
前記情報処理装置の制御に応じて印刷を実行する画像形成装置と、
を含む情報処理システム。
【請求項１３】
印刷を制御する情報処理装置を、
前記印刷に関する設定情報を制御するスクリプトを利用して前記設定情報を管理するプリンタドライバを、前記情報処理装置にインストールするインストール部と、
前記スクリプトから利用可能な記憶領域である設定情報記憶部とは異なる記憶領域である変更情報記憶部から、前記設定情報の変更情報を取得する変更情報取得部と、
前記変更情報取得部が取得した前記変更情報を、前記設定情報記憶部に保存する変更情報保存部と、
前記スクリプトを利用して前記設定情報を管理する設定制御部と、
として機能させ、
前記設定情報記憶部に保存された前記変更情報を用いて前記設定制御部が作成した前記設定情報を、前記設定情報の既定値として設定することを特徴とするプログラム。
【請求項１４】
印刷を制御する情報処理装置による情報処理方法であって、
前記印刷に関する設定情報を制御するスクリプトを利用して前記設定情報を管理するプリンタドライバを、前記情報処理装置にインストールするステップと、
前記スクリプトから利用可能な記憶領域である設定情報記憶部とは異なる記憶領域である変更情報記憶部から、前記設定情報の変更情報を取得するステップと、
前記取得した変更情報を、前記設定情報記憶部に保存するステップと、
前記設定情報記憶部に保存された前記変更情報を用いて前記設定情報を管理するステップと、
前記設定情報記憶部に保存された前記変更情報を用いて作成された前記設定情報を、前記設定情報の既定値として設定するステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）２０００からＷｉｎｄｏｗｓ７までのＷｉｎｄｏｗｓＯＳ（Operating System）では、Ｖｅｒｓｉｏｎ３（以降「Ｖ３」と称する）プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｖ３プリンタドライバに加え、Ｖｅｒｓｉｏｎ４（以降「Ｖ４」と称する）プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
【０００３】
また、Ｖ３プリンタドライバにおいて、所定の記憶領域に設定データが記憶されているかを判断し、設定データが記憶されている場合、設定データを印刷の設定に反映させるプリンタドライバが知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｖ３プリンタドライバは、所定の記憶領域に記憶した設定データを読み込むことができるので、例えば、インストール時等に、所定の記憶領域に記憶された設定データを、プリンタドライバの設定情報の既定値に反映させることができる。
【０００５】
一方、Ｖ４プリンタドライバは、プリンタドライバの設定情報を管理するスクリプトを利用して、設定情報の管理を行うが、このスクリプトは、プリンタドライバの管理領域とは異なる外部の記憶領域に記憶された設定データを読み込むことができない。したがって、Ｖ４プリンタドライバでは、インストール時等に、外部の記憶領域に記憶された設定データを読み込んで、プリンタドライバの設定情報の既定値に反映させることには困難を伴っていた。
【０００６】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、Ｖ４プリンタドライバのインストール時等に、外部の記憶領域に記憶された変更情報を、プリンタドライバの設定情報の既定値に容易に反映させることができるようにする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、印刷を制御する情報処理装置であって、前記印刷に関する設定情報を制御するスクリプトを利用して前記設定情報を管理するプリンタドライバを、前記情報処理装置にインストールするインストール部と、前記スクリプトから利用可能な記憶領域である設定情報記憶部とは異なる記憶領域である変更情報記憶部から、前記設定情報の変更情報を取得する変更情報取得部と、前記変更情報取得部が取得した前記変更情報を、前記設定情報記憶部に保存する変更情報保存部と、前記スクリプトを利用して前記設定情報を管理する設定制御部と、を有し、前記設定情報記憶部に保存された前記変更情報を用いて前記設定制御部が作成した前記設定情報を、前記設定情報の既定値として設定する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、Ｖ４プリンタドライバのインストール時等に、外部の記憶領域等に記憶された変更情報を、プリンタドライバの設定情報の既定値に容易に反映させることができるようになる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。
【図３】一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
【図４】クライアント装置の一例のソフトウェア構成を示す図である。
【図５】Ｖ４プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。
【図６】一実施形態に係るクライアント装置の機能構成の例を示す図である。
【図７】一実施形態に係るＶ４プリンタドライバのインストール処理の例を示すシーケンス図である。
【図８】一実施形態に係るＶ４プリンタドライバにおける設定情報の設定処理の例を示すシーケンス図である。
【図９】一実施形態に係るＶ４プリンタドライバにおける印刷処理の概要を示すシーケンス図である。
【図１０Ａ】第１の実施形態に係るプリンタドライバのインストール処理の例を示すフローチャートである。
【図１０Ｂ】第１の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図（１）である。
【図１０Ｃ】第１の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図（２）である。
【図１１】第１の実施形態に係る変更前の設定情報のイメージを示す図である。
【図１２】第１の実施形態に係る変更情報のイメージを示す図である。
【図１３】第１の実施形態に係る変更情報を反映した設定情報のイメージを示す図である。
【図１４】第２の実施形態に係るプリンタドライバのインストール処理の例を示すフローチャートである。
【図１５】一実施形態に係る変更前の設定能力情報のイメージを示す図である。
【図１６】一実施形態に係る変更情報を反映した設定能力情報のイメージを示す図である。
【図１７】一実施形態に係る設定画面のイメージを示す図である。
【図１８】第３の実施形態に係るクライアント装置の機能構成の例を示す図である。
【図１９Ａ】第３の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図（１）である。
【図１９Ｂ】第３の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図（２）である。
【図２０】一実施形態に係る変更情報の種類について説明するための図である。
【図２１】第３の実施形態に係るＰｒｉｎｔＴｉｃｋｅｔの例を示す図である。
【図２２】一実施形態に係る設定情報の設定処理の例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１１】
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を用いて説明する。図１は、一実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１２】
図１に示すように、本実施形態に係る情報処理システム１は、１台以上のクライアント装置１０と、１台以上の画像形成装置２０と、サーバ装置３０とを含み、これら装置はＬＡＮ（Local Area Network）等のネットワークＮを介して互いに通信可能に接続されている。
【００１３】
クライアント装置１０は、例えばＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等である。クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置２０に送信する。又は、クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置３０に送信する。
【００１４】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置２０が印刷可能なＰＤＬ（Page Description Language）形式に変換した電子データである。
【００１５】
画像形成装置２０は、例えばプリンタ、印刷機能を備えたＭＦＰ（Multifunction Peripheral）等である。画像形成装置２０は、クライアント装置１０又はサーバ装置３０から受信した印刷データを印刷する。
【００１６】
サーバ装置３０は、例えばＰＣ等である。サーバ装置３０は、例えば、クライアント装置１０から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置２０に送信する。
【００１７】
また、サーバ装置３０は、ファイルサーバとして機能しても良い。すなわち、サーバ装置３０は、例えば、クライアント装置１０から受信した印刷データを記憶しておき、画像形成装置２０からの要求に応じて、記憶した印刷データを要求元の画像形成装置２０に送信しても良い。
【００１８】
なお、以降では、１台以上のクライアント装置１０について、各々を区別するときは、「クライアント装置１０−１」、「クライアント装置１０−２」等と表す。同様に、１台以上の画像形成装置２０について、各々を区別するときは、「画像形成装置２０−１」、「画像形成装置２０−２」等と表す。
【００１９】
＜ハードウェア構成＞
次に、本実施形態に係る情報処理システム１に含まれるクライアント装置１０、画像形成装置２０、及びサーバ装置３０のハードウェア構成について、図２及び図３を用いて説明する。
【００２０】
≪クライアント装置１０及びサーバ装置３０≫
図２は、一実施形態に係るクライアント装置１０及びサーバ装置３０の一例のハードウェア構成を示す図である。なお、クライアント装置１０及びサーバ装置３０は、同様のハードウェア構成を有しているため、以降では、クライアント装置１０のハードウェア構成について説明する。
【００２１】
図２に示すように、本実施形態に係るクライアント装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４とを有する。また、クライアント装置１０は、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、ＨＤＤ（Hard Disk Drive）１０８とを有する。これらのハードウェアは、バスＢで互いに接続されている。
【００２２】
入力装置１０１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイ等を含み、クライアント装置１０による処理結果を表示する。なお、入力装置１０１及び表示装置１０２の少なくとも一方は、必要なときにクライアント装置１０に接続して利用する形態であっても良い。
【００２３】
通信Ｉ／Ｆ１０７は、クライアント装置１０をネットワークＮに接続するインタフェースである。クライアント装置１０は、通信Ｉ／Ｆ１０７を介して通信を行うことができる。
【００２４】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１０８に格納されるプログラムやデータには、クライアント装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２５】
なお、クライアント装置１０は、ＨＤＤ１０８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を有して良い。また、ＨＤＤ１０８は、格納しているプログラムやデータを所定のファイルシステムやＤＢにより管理している。
【００２６】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。クライアント装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取りや書き込みを行うことができる。記録媒体１０３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２７】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、ＯＳ設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）が格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００２８】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置１０全体の制御やその他の機能を実現する演算装置である。
【００２９】
本実施形態に係るクライアント装置１０及びサーバ装置３０は、図２に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３０】
≪画像形成装置２０≫
図３は、一実施形態に係る画像形成装置２０の一例のハードウェア構成を示す図である。
【００３１】
図３に示すように、本実施形態に係る画像形成装置２０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プロッタ２０５を有する。また、コントローラ２０１は、ＣＰＵ２１１と、ＲＡＭ２２１と、ＲＯＭ２３１と、ＮＶＲＡＭ２４１と、ＨＤＤ２５１とを有する。
【００３２】
ＲＯＭ２３１は、各種プログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ２２１は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ２４１は、例えば設定情報等を格納している。また、ＨＤＤ２５１は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００３３】
ＣＰＵ２１１は、ＲＯＭ２３１やＮＶＲＡＭ２４１、ＨＤＤ２５１等からプログラムやデータ、設定情報等をＲＡＭ２２１上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置２０全体の制御やその他の機能を実現する演算装置である。
【００３４】
操作パネル２０２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。画像形成装置２０は、外部Ｉ／Ｆ２０３を介して記録媒体２０３ａの読み取りや書き込みを行うことができる。なお、記録媒体２０３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３５】
通信Ｉ／Ｆ２０４は、画像形成装置２０をネットワークＮに接続するインタフェースである。画像形成装置２０は、通信Ｉ／Ｆ２０４を介して通信を行うことができる。プロッタ２０５は、印刷データを印刷する印刷装置である。
【００３６】
本実施形態に係る画像形成装置２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３７】
＜クライアント装置１０のソフトウェア構成＞
次に、本実施形態に係るクライアント装置１０のソフトウェア構成について、図４を用いて説明する。図４は、クライアント装置１０の一例のソフトウェア構成を示す図である。
【００３８】
図４に示すように、本実施形態に係るクライアント装置１０は、アプリケーション３０１と、ＯＳ３０２と、プリンタドライバ３０３と、ストアデバイスアプリ３０４とを有する。
【００３９】
アプリケーション３０１は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、ＯＳ３０２に印刷の指示（要求）を行うことができるアプリケーションソフトである。アプリケーション３０１には、ストアアプリ３１１と、デスクトップアプリ３２１とが含まれる。
【００４０】
ストアアプリ３１１は、例えば、Ｗｉｎｄｏｗｓ（登録商標）８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳにアプリケーションを提供する「Ｗｉｎｄｏｗｓストア」から、入手可能なアプリケーションである。ストアアプリ３１１では、「ストアアプリ  ＵＩ」が用いられる。なお、Ｗｉｎｄｏｗｓ８及びＷｉｎｄｏｗｓ８．１では、ＯＳ３０２によって提供される「Ｍｏｄｅｒｎ  ＵＩ」又は「Ｍｅｔｒｏ  ＵＩ」とも称されるＵＩからストアアプリ３１１が呼び出される。
【００４１】
一方、デスクトップアプリ３２１は、例えば、Ｗｉｎｄｏｗｓ７以前のバージョンのＷｉｎｄｏｗｓＯＳにおいても使用可能なアプリケーションである。
【００４２】
ＯＳ３０２は、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳである。
【００４３】
プリンタドライバ３０３は、例えば、Ｖｅｒｓｉｏｎ４プリンタドライバ（以降では、「Ｖ４プリンタドライバ」と表す。）である。Ｖ４プリンタドライバとは、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ３０３を「Ｖ４プリンタドライバ３０３」とも表す。
【００４４】
なお、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｗｉｎｄｏｗｓ２０００からＷｉｎｄｏｗｓ７で使用されていたＶｅｒｓｉｏｎ３プリンタドライバ（以降では、「Ｖ３プリンタドライバ」と表す。）に加えて、Ｖ４プリンタドライバも使用可能である。
【００４５】
プリンタドライバ３０３は、拡張設定部３１３と、設定制御部３２３と、描画部３３３とを含む。
【００４６】
拡張設定部３１３は、プリンタ拡張とも称され、デスクトップアプリ３２１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
【００４７】
設定制御部３２３は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部３１３は、例えば、設定制御部３２３により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。
【００４８】
また、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３が設定可能な機能の情報を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｙを返信する。更に、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３に設定されている各種機能の設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから取得し、取得した設定値を示すＰｒｉｎｔＴｉｃｋｅｔを返信する。また、ＰｒｉｎｔＴｉｃｋｅｔで示された設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【００４９】
なお、ＯＳ３０２に返信されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙやＰｒｉｎｔＴｉｃｋｅｔは、例えば、拡張設定部３１３が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【００５０】
描画部３３３は、アプリケーション３０１において印刷指示が行われた印刷対象データから印刷データを作成する。
【００５１】
ストアデバイスアプリ３０４は、ストアアプリ３１１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ３０４は、ストアアプリ３１１と同様に、「Ｗｉｎｄｏｗｓストア」から入手可能なアプリケーションである。
【００５２】
デスクトップアプリ３２１から印刷を行う場合、プリンタドライバ３０３は、拡張設定部３１３により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ３１１から印刷を行う場合、プリンタドライバ３０３は、ストアデバイスアプリ３０４により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【００５３】
拡張設定部３１３及びストアデバイスアプリ３０４は、ベンダ独自の印刷設定画面を表示するＵＩ部３０５を構成する。
【００５４】
＜Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域＞
次に、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について、図５を用いて説明する。図５は、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について説明するための図である。
【００５５】
図５に示すように、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＰｒｏｐｅｒｔｙＢａｇ４００と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、ＯＳ３０２によって提供されるＡＰＩ（Application Programming Interface）を用いて行うことができる。
【００５６】
図５に示すように、ＰｒｏｐｅｒｔｙＢａｇ４００には、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０と、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０と、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０とが含まれる。
【００５７】
ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０は、Ｖ４プリンタドライバ３０３を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０から各種情報の読み出しが可能である。一方で、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０に対して、情報の書き込みを行うことはできない。
【００５８】
ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０は、論理プリンタ（プリンタアイコン）毎の設定情報等を記憶する記憶領域である。拡張設定部３１３及びストアデバイスアプリ３０４は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部３２３及び描画部３３３は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出しが可能である。
【００５９】
なお、論理プリンタとは、例えば、ＯＳ３０２のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置１０の利用者は、１つの画像形成装置２０に対して、設定情報（例えば、用紙サイズや向き、印刷品質等）が異なる複数の論理プリンタを作成することができる。
【００６０】
ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、及びストアデバイスアプリ３０４は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に対して、各種情報の読み出し及び書き込みが可能である。
【００６１】
また、拡張設定部３１３及び描画部３３３は、更に、独自記憶領域５００に対して、各種情報の読み出し及び書き込みが可能である。
【００６２】
独自記憶領域５００は、例えばレジストリやファイル等を用いて実現され、ＰｒｏｐｅｒｔｙＢａｇ４００とは異なる記憶領域である。独自記憶領域５００は、Ｖ４プリンタドライバ３０３を提供するベンダ等によって定義される。
【００６３】
ストアデバイスアプリ３０４は、ＯＳ３０２の課す制約により、ＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。また、設定制御部３２３は、上述したＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇ及びＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ３０４及び設定制御部３２３は、独自記憶領域５００に対して、各種情報の読み出しや書き込み等を行うことができない。
【００６４】
このことは、ストアアプリ３１１に課されている制約と同様であり、例えば、ストアデバイスアプリ３０４及び設定制御部３２３が、ＯＳ３０２が使用するレジストリ等を変更し、ＯＳ３０２の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
【００６５】
＜機能構成＞
図６は、一実施形態に係るクライアント装置１０の機能構成の例を示す図である。
【００６６】
クライアント装置（情報処理装置）１０は、ＯＳ３０２、インストーラ６１０、プリンタドライバ３０３、及びストアデバイスアプリ３０４等のプログラムを実行する情報処理装置である。なお、図６に示すＯＳ３０２、プリンタドライバ３０３、及びストアデバイスアプリ３０４は、図４に示すＯＳ３０２、プリンタドライバ３０３、及びストアデバイスアプリ３０４に対応している。
【００６７】
インストーラ６１０は、クライアント装置１０にＶ４プリンタドライバであるプリンタドライバ３０３をインストールして、クライアント装置１０でプリンタドライバ３０３を利用できるようにするインストール用のプログラムである。
【００６８】
設定情報記憶部６３０は、印刷に関する設定情報を制御するスクリプト（禁則スクリプト等）を利用して、設定情報を管理するプリンタドライバ３０３のスクリプトから利用可能な記憶領域（例えば、ＰｒｏｐｅｒｔｙＢａｇ４００）である。
【００６９】
変更情報記憶部６２０は、設定情報記憶部６３０とは異なる記憶領域であり、印刷に関する設定情報の既定値を、管理者等の要望に応じて変更するための情報である変更情報Ａ６２１を記憶する。ここで、印刷に関する設定情報の既定値の一例を表１に示す。
【００７０】
【表１】
2018049597.tif 000003
表１は、プリンタドライバ３０３の印刷に関する設定情報の既定値の一例を示している。
【００７１】
表１の例では、プリンタドライバ３０３は、用紙サイズ、カラー設定、両面、集約、用紙種類等の設定項目を有しており、設定項目毎に選択肢と、デフォルトの設定値である既定値とが記憶されている。本実施形態では、プリンタドライバ３０３は、例えば、表１に示すような設定情報の既定値を保持しているものとする。
【００７２】
本実施形態では、クライアント装置１０を管理する管理者等は、変更情報Ａ６２１を変更情報記憶部６２０に格納して、インストーラ６１０を実行することにより、表１に示す設定情報の既定値をカスタマイズ（変更）することができる。
【００７３】
なお、設定情報の既定値のカスタマイズとは、プリンタドライバ３０３がクライアント装置１０にインストールされたときの設定情報の既定値を、情報処理システム１の管理者等が変更することを示す。例えば、プリンタドライバ３０３がインストール済のクライアント装置１０を利用する際に、印刷の設定情報を変更する操作等は、カスタマイズには含まれない。
【００７４】
設定情報の既定値のカスタマイズには、例えば、既定のカラー設定を「カラー」から「白黒」に変更する既定値の変更、カラー設定の選択肢を「白黒」のみに限定する印刷設定の限定や、固定化等が含まれる。
【００７５】
また、Ｖ４プリンタドライバでは、設定情報の既定値のカスタマイズを行う場合、設定制御部３２３とＵＩ部３０５とに対して、それぞれ、カスタマイズの処理が行われる。
【００７６】
（インストーラの機能構成）
インストーラ６１０は、インストール部６１１、変更情報取得部６１２、変更情報保存部６１３、状態情報管理部６１４、及び設定情報変更部６１５等を含む。
【００７７】
クライアント装置１０は、例えば、図２のＣＰＵ１０６でインストーラ６１０を実行することにより、インストール部６１１、変更情報取得部６１２、変更情報保存部６１３、状態情報管理部６１４、及び設定情報変更部６１５等を実現している。
【００７８】
インストール部６１１は、クライアント装置１０にプリンタドライバ３０３をインストールする一連の処理のうち、一般的なＶ４プリンタドライバのインストール処理を実行する。なお、インストール部６１１が実行するＶ４プリンタドライバのインストール処理については後述する。
【００７９】
変更情報取得部６１２は、変更情報記憶部６２０に記憶された変更情報Ａ６２１を取得（読み出し）する。
【００８０】
変更情報保存部６１３は、変更情報取得部６１２が取得した変更情報Ａ６２１を、設定情報記憶部６３０に保存する。なお、設定情報記憶部６３０に記憶される変更情報は、変更情報記憶部６２０に記憶された変更情報Ａ６２１と同じ情報で良いが、ここでは、変更情報記憶部６２０に記憶された変更情報Ａ６２１と区別するため、変更情報Ｂ６３１と表すものとする。
【００８１】
状態情報管理部６１４は、設定情報記憶部６３０に含まれる状態情報６３２を管理する。状態情報６３２のイメージを表２に示す。
【００８２】
【表２】
2018049597.tif 000004
表２に示すように、状態情報６３２は、現在の状態が、「無効」状態（第１の状態）であるか、「有効」状態（第２の状態、所定の状態）であるかを示す情報である。状態情報６３２は、通常は「無効」状態（設定値０）となっており、設定情報記憶部６３０に記憶した変更情報Ｂ６３１を、設定情報に反映させるとき（例えば、インストーラ６１０の動作中等）に、「有効」（設定値１）に設定される。
【００８３】
一例として、状態情報管理部６１４は、変更情報保存部６１３が、変更情報を設定情報記憶部６３０に記憶した後、設定情報記憶部６３０に含まれる状態情報６３２を「無効」状態から「有効」状態に変更する。
【００８４】
別の一例として、状態情報管理部６１４は、インストール部６１１が、前述したインストール処理を開始するとき（例えば、インストール処理を開始する前）に、設定情報記憶部６３０に含まれる状態情報６３２を「無効」状態から「有効」状態に変更する。
【００８５】
また、状態情報管理部６１４は、変更情報Ｂ６３１を反映した設定情報が設定情報の既定値として設定された後、設定情報記憶部６３０に含まれる状態情報６３２を「無効」状態に設定する。
【００８６】
設定情報変更部６１５は、変更情報Ｂ６３１を反映した設定情報を、設定情報の既定値として設定する。例えば、設定情報変更部６１５は、ＯＳ３０２で用意されているＡＰＩを用いて、設定制御部３２３が変更情報Ｂ６３１を反映して作成した設定情報を、設定情報の既定値として設定（保存）する。
【００８７】
（プリンタドライバの機能構成）
プリンタドライバ３０３は、印刷に関する設定情報を制御するスクリプト（禁則スクリプト等）を利用して設定情報を管理するプリンタドライバ（Ｖ４プリンタドライバ、又は同様のアーキテクチャのプリンタドライバ）である。プリンタドライバ３０３は、図４で前述したように、拡張設定部３１３、設定制御部３２３、及び描画部３３３を含む。
【００８８】
クライアント装置１０は、例えば、図２のＣＰＵ１０６で、プリンタドライバ３０３を実行することにより、拡張設定部３１３、設定制御部３２３、及び描画部３３３等を実現している。
【００８９】
設定制御部３２３は、印刷に関する設定情報を制御するスクリプト（禁則スクリプト等）を利用して、印刷に関する設定情報を管理する。設定制御部３２３は、設定情報管理部６４１、設定能力情報管理部６４２、及び排他設定制御部６４３を含む。
【００９０】
設定情報管理部６４１は、Ｄｅｖｍｏｄｅと呼ばれる形式（第１の形式）の設定情報（第１の設定情報）と、ＰｒｉｎｔＴｉｃｋｅｔと呼ばれる形式（第２の形式）の設定情報（第２の設定情報）とを、スクリプトを用いて相互に変換する。
【００９１】
本実施形態に係る印刷に関する設定情報には、Ｄｅｖｍｏｄｅ形式の第１の設定情報と、ＰｒｉｎｔＴｉｃｋｅｔ形式の第２の設定情報とが含まれる。
【００９２】
Ｄｅｖｍｏｄｅ形式の第１の設定情報は、ＤＥＶＭＯＤＥ構造体と呼ばれるバイナリ形式の設定情報である。設定情報の既定値は、このＤＥＶＭＯＤＥ構造体に記憶される。
【００９３】
ＰｒｉｎｔＴｉｃｋｅｔ形式の第２の設定情報は、ＰｒｉｎｔＳｃｈｅｍａと呼ばれる仕様に基づく印刷設定をＸＭＬ（Extensible Markup Language）形式で表現する設定情報である。
【００９４】
Ｖ４プリンタドライバは、基本的にＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を用いて処理を行うが、アプリケーション３０１によって、Ｄｅｖｍｏｄｅ形式で印刷の設定を行う場合と、ＰｒｉｎｔＴｉｃｋｅｔ形式で印刷の設定を行う場合とがある。したがって、Ｖ４プリンタドライバは、基本的に、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する機能と、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報からＤｅｖｍｏｄｅ形式の設定情報を作成する機能とを有している。なお、以下の説明の中で、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する処理、及びＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報からＤｅｖｍｏｄｅ形式の設定情報を作成する処理を含めて、設定情報を作成すると表現する場合がある。
【００９５】
さらに、本実施形態に係るプリンタドライバ３０３の設定情報管理部６４１は、状態情報６３２が、「有効」状態を示す場合、変更情報Ｂ６３１を用いて（反映させて）設定情報を作成する。また、設定情報管理部６４１は、状態情報６３２が、「無効」状態を示す場合、変更情報Ｂ６３１を用いないで（反映させないで）設定情報を作成する。
【００９６】
したがって、設定情報管理部６４１は、例えば、プリンタドライバ３０３のインストール作業中等には、変更情報Ｂ６３１の変更内容を設定情報に変更できるようになり、通常の使用時には、利用者が変更した設定情報等に影響を与えない。
【００９７】
設定能力情報管理部６４２は、プリンタドライバ３０３で設定可能な設定値を示す設定能力情報を管理する。プリンタドライバ３０３で設定可能な設定値には、例えば、用紙サイズ（Ａ４、Ｌｅｔｔｅｒ、Ｂ５等）、両面（しない、長辺綴じ、短辺綴じ等）、集約（しない、２ｉｎ１、４ｉｎ１等）等が含まれる。
【００９８】
設定能力情報管理部６４２は、例えば、アプリケーション３０１、又はＯＳ３０２から、プリンタドライバ３０３の設定能力情報の取得要求を受け付けた場合、取得要求の要求元に設定能力情報を提供する。
【００９９】
好ましくは、設定能力情報管理部６４２は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１の変更内容を、設定能力情報に反映する。
【０１００】
排他設定制御部６４３は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の中に、同時に設定することができない排他関係にある設定値が含まれている場合に、排他関係を解消するように設定値を変更する。
【０１０１】
例えば、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報に、用紙サイズ「Ｂ５」、給紙トレイ「トレイ２」が設定されており、トレイ２の用紙サイズが「Ａ４」である場合、排他設定制御部６４３は、例えば、給紙トレイを「自動選択」に自動的に変更する。
【０１０２】
拡張設定部３１３は、図４のデスクトップアプリ３２１から印刷を行う際に表示されるプリンタドライバ３０３の設定画面を表示する。拡張設定部３１３は、設定画面表示部６５１、設定変更部６５２、及び変更情報反映部６５３を含む。
【０１０３】
設定画面表示部６５１は、プリンタドライバ３０３の印刷設定の設定画面を、表示装置１０２等に表示させる。
【０１０４】
設定変更部６５２は、設定画面表示部６５１が表示させた印刷設定の設定画面を用いて、利用者が印刷設定を変更した場合、変更された設定を設定情報に反映する。
【０１０５】
変更情報反映部６５３は、設定情報記憶部６３０に記憶されている変更情報Ｂ６３１を取得し、設定画面表示部６５１が表示する設定画面に反映させる。
【０１０６】
ストアデバイスアプリ３０４は、図４のストアアプリ３１１から印刷を行う際に表示されるプリンタドライバ３０３の設定画面を表示する。ストアデバイスアプリ３０４は、設定画面表示部６６１、設定変更部６６２、及び変更情報反映部６６３を含む。なお、設定画面表示部６６１、設定変更部６６２、及び変更情報反映部６６３の機能は、拡張設定部３１３の拡張設定部３１３は、設定画面表示部６５１、設定変更部６５２、及び変更情報反映部６５３と同様である。
【０１０７】
＜Ｖ４プリンタドライバの基本的な処理の流れ＞
本実施形態に係るプリンタドライバ３０３の処理について説明する前に、一般的なＶ４プリンタドライバの基本的な処理の概要について説明する。
【０１０８】
（インストール処理）
図７は、一実施形態に係るＶ４プリンタドライバのインストール処理の例を示すシーケンス図である。この処理は、一般的なＶ４プリンタドライバのインストール時における設定制御部の処理の例を示している。なお、図７に示すインストーラ７２０は、一般的なＶ４プリンタドライバのインストーラであり、設定制御部７３０は、一般的なＶ４プリンタドライバの設定制御部であるものとする。
【０１０９】
ステップＳ７０１において、例えば、利用者の操作等に応じて、インストーラ７２０は、Ｖ４プリンタドライバのインストールを要求するインストール要求を、ＯＳ３０２に通知する。
【０１１０】
ステップＳ７０２において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、Ｖ４プリンタドライバの設定制御部７３０に要求する。
【０１１１】
ステップＳ７０３において、設定制御部７３０は、Ｄｅｖｍｏｄｅ構造体に記憶されたＤｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する。
【０１１２】
ステップＳ７０４において、設定制御部７３０は、作成したＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１１３】
ステップＳ７０５において、ＯＳ３０２は、通知されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の排他処理を、設定制御部７３０に要求する。
【０１１４】
ステップＳ７０６において、設定制御部７３０は、設定情報の排他処理を実行する。例えば、設定情報の中から同時に設定できない項目を抽出し、設定を変更する。
【０１１５】
ステップＳ７０７において、設定制御部７３０は、排他処理をしたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１１６】
ステップＳ７０８において、ＯＳ３０２は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報からＤｅｖｍｏｄｅ形式の設定情報への変換を、設定制御部７３０に要求する。
【０１１７】
ステップＳ７０９において、設定制御部７３０は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報から、Ｄｅｖｍｏｄｅ形式の設定情報を作成する。
【０１１８】
ステップＳ７１０において、設定制御部７３０は、作成したＤｅｖｍｏｄｅ形式の設定情報を、Ｄｅｖｍｏｄｅ構造体に保存する。
【０１１９】
ステップＳ７１１において、設定制御部７３０は、完了通知をＯＳ３０２に通知する。
【０１２０】
ステップＳ７１２において、ＯＳ３０２は、インストールの完了通知をインストーラ７２０に通知する。
【０１２１】
上記の処理により、クライアント装置１０にインストールされたＶ４プリンタドライバの設定情報は、排他処理が行われ、設定情報の既定値として設定される。
【０１２２】
（設定情報の設定処理）
図８は、一実施形態に係るＶ４プリンタドライバにおける設定情報の設定処理の例を示すシーケンス図である。この処理は、一般的なＶ４プリンタドライバにおける設定情報の設定処理の例を示している。
【０１２３】
ステップＳ８０１において、利用者が、アプリケーション３０１に対して、印刷の設定操作を行う。
【０１２４】
ステップＳ８０２において、アプリケーション３０１は、利用者による設定要求操作を受け付けると、ステップＳ８０３において、印刷設定の表示要求をＯＳ３０２に通知する。
【０１２５】
ステップＳ８０４において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、Ｖ４プリンタドライバの設定制御部７３０に要求する。
【０１２６】
ステップＳ８０５において、設定制御部７３０は、Ｄｅｖｍｏｄｅ構造体に記憶されたＤｅｖｍｏｄｅ形式の設定情報を読み出す。
【０１２７】
ステップＳ８０６において、Ｄｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する。なお、ステップＳ８０６の処理は、図７のステップＳ７０３の処理に対応している。
【０１２８】
ステップＳ８０７において、設定制御部７３０は、作成したＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１２９】
ステップＳ８０８において、ＯＳ３０２は、設定制御部７３０に設定能力情報（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）の作成を要求する。
【０１３０】
ステップＳ８０９において、設定制御部７３０は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報を作成する。
【０１３１】
ステップＳ８０９において、設定制御部７３０は、作成したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報を含む完了通知を、ＯＳ３０２に通知する。
【０１３２】
ステップＳ８１１において、ＯＳ３０２は、ＵＩ部３０５に設定画面の表示を指示する。この設定画面の表示の指示には、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報と、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報とが含まれる。
【０１３３】
なお、ＵＩ部３０５は、アプリケーション３０１が、ストアアプリ３１１の場合は、ストアデバイスアプリ３０４であり、アプリケーション３０１が、デスクトップアプリ３２１である場合は、拡張設定部３１３である。
【０１３４】
ステップＳ８１２において、ＵＩ部３０５は、現在の設定値であるＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報と、設定可能な設定値を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報とを用いて、設定情報の設定画面を表示装置１０２等に表示させる。
【０１３５】
ステップＳ８１３において、利用者は、設定情報の変更操作（変更操作）を行う。
【０１３６】
ステップＳ８１４において、ＵＩ部３０５は、利用者の設定操作に応じてＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を変更する。
【０１３７】
ステップＳ８１５において、ＵＩ部３０５は、変更されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１３８】
ステップＳ８１６において、ＯＳ３０２は、変更されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報から、Ｄｅｖｍｏｄｅ形式の設定情報への変換を要求する。
【０１３９】
ステップＳ８１７において、設定制御部７３０は、変更されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報から、Ｄｅｖｍｏｄｅ形式の設定情報を作成する。
【０１４０】
ステップＳ８１８において、設定制御部７３０は、作成したＤｅｖｍｏｄｅ形式の設定情報を、保存する。なお、ステップＳ８１７、Ｓ８１８の処理は、図７のステップＳ７０９、Ｓ７１０の処理に対応している。
【０１４１】
ステップＳ８１９、Ｓ８２０において、設定制御部７３０から、ＯＳ３０２、アプリケーション３０１に完了通知が通知される。
【０１４２】
（印刷処理）
図９は、一実施形態に係るＶ４プリンタドライバにおける印刷処理の概要を示すシーケンス図である。この処理は、一般的なＶ４プリンタドライバにおける印刷処理の概要のイメージを示している。実際の印刷時には、これ以外にも様々な処理が実行される。なお、描画部９２０は、一般的なＶ４プリンタドライバの描画部を示すものとする。
【０１４３】
ステップＳ９０１において、アプリケーション３０１は、利用者の印刷操作を受け付けると、ステップＳ９０２において、印刷要求をＯＳ３０２に通知する。
【０１４４】
ステップ９０３において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の印刷情報への変換を要求する。
【０１４５】
ステップＳ９０４において、設定制御部７３０は、Ｄｅｖｍｏｄｅ形式の設定情報を読み出しする。
【０１４６】
ステップＳ９０５において、設定制御部７３０は、Ｄｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する。
【０１４７】
ステップＳ８０６において、設定制御部７３０は、作成したＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１４８】
ステップＳ９０７において、ＯＳ３０２は、印刷対象データから印刷データの生成を要求する描画命令を描画部９２０に通知する。この通知には、例えば、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報が含まれる。
【０１４９】
ステップＳ９０８において、描画部９２０は、印刷データを生成し、ステップＳ９０９において、生成した印刷データをＯＳ３０２に通知する。
【０１５０】
ステップＳ９１０において、ＯＳ３０２は、描画部９２０から受け付けた印刷データを画像形成装置２０に送信する。
【０１５１】
ステップＳ９１１において、画像形成装置２０は、印刷データの印刷を実行し、印刷が完了すると、ステップＳ９１２において、完了通知をＯＳ３０２に通知する。
【０１５２】
図７から９に示すように、Ｖ４プリンタドライバの設定情報は、Ｄｅｖｍｏｄｅ形式で保存されており、Ｖ４プリンタドライバの処理はＰｒｉｎｔＴｉｃｋｅｔ形式で行われる。したがって、Ｖ４プリンタドライバでは、例えば、図７のステップＳ７０３、Ｓ７０９に示すような設定情報の作成処理が頻繁に実行される。
【０１５３】
＜処理の詳細＞
続いて、本実施形態に係るクライアント装置１０、インストーラ６１０、及びプリンタドライバ３０３による情報処理方法の流れについて説明を行う。
【０１５４】
［第１の実施形態］
図１０Ａは、第１の実施形態に係るプリンタドライバのインストール処理の例を示すフローチャートである。なお、図１０Ａに示す処理の開始時点において、設定情報記憶部６３０の状態情報６３２は、既定の状態である「無効」状態に設定されているものとする。
【０１５５】
なお、状態情報６３２は、現在の状態が、変更情報Ｂ６３１を用いた設定情報の作成を禁止する「無効」状態（第１の状態）であるか、変更情報Ｂ６３１を用いた設定情報の作成を許可する「有効」状態（第２の状態、所定の状態）であるかを示している。
【０１５６】
前述したように、状態情報６３２は、通常は「無効」状態（設定値０）となっており、設定情報記憶部６３０に記憶した変更情報Ｂ６３１を、設定情報に反映させるとき（例えば、インストーラ６１０の動作中等）に、「有効」（設定値１）に設定される。
【０１５７】
設定制御部７３０は、状態情報６３２が「有効」であるか、「無効」であるかを参照することにより、変更情報Ｂ６３１を設定情報に反映させて良いか否かを判断することができる。これにより、設定制御部７３０は、状態情報６３２が「無効」状態である場合、変更情報Ｂ６３１の設定情報への反映を行わないので、例えば、ユーザが意図的に変更した設定情報に対して、変更情報Ｂ６３１を反映させないように制御することができる。本実施形態では、インストール時に変更情報を反映させた後に、インストーラ６１０の状態情報管理部６１４がこの状態情報６３２を「無効」に設定することにより、この制御を実現している。
【０１５８】
ステップＳ１００１において、インストーラ６１０のインストール部６１１は、クライアント装置１０にプリンタドライバ３０３をインストールし、例えば、図７に示すようなＶ４プリンタドライバのインストール処理を開始させる。
【０１５９】
ステップＳ１００２において、プリンタドライバ３０３の設定制御部３２３は、ＯＳ３０２によって呼び出され、設定情報記憶部６３０の状態情報６３２が、「有効」状態であるか、「無効」状態であるかを判断する。
【０１６０】
状態情報６３２が「有効」状態である場合、設定制御部３２３は、処理をステップＳ１００８に移行させる。一方、状態情報６３２が「無効」状態である場合、設定制御部３２３は、処理をステップＳ１００３に移行させる。
【０１６１】
ここでは、前述したように状態情報６３２が「無効」状態に設定されているので、設定制御部３２３は、処理をステップＳ１００３に移行させる。
【０１６２】
ステップＳ１００３に移行すると、プリンタドライバ３０３の設定制御部３２３は、変更情報を用いないで（反映させないで）設定情報を作成する。例えば、設定制御部３２３は、図７のステップＳ７０３〜Ｓ７１０の処理を実行する。このステップＳ１００３により、図７に示す一般的なＶ４プリンタドライバのインストール処理が完了する。
【０１６３】
ステップＳ１００４において、インストーラ６１０の変更情報取得部６１２は、変更情報記憶部６２０から、変更情報Ａ６２１を取得する。なお、変更情報取得部６１２は、変更情報記憶部６２０に変更情報Ａ６２１が記憶されていない場合、例えば、処理を終了させる。
【０１６４】
ステップＳ１００５において、インストーラ６１０の変更情報保存部６１３は、変更情報取得部６１２が取得した変更情報Ａ６２１を、設定情報記憶部６３０に保存する。このとき、設定情報記憶部６３０に保存された変更情報を、以下の説明の中で、変更情報Ｂ６３１と呼ぶ。この変更情報Ｂ６３１は、ステップＳ１００８において、設定情報を作成するときに用いられる。
【０１６５】
なお、設定情報記憶部６３０に保存された変更情報Ｂ６３１の保存場所は、ステップＳ１００１においてプリンタドライバ３０３をインストールしたときの論理プリンタ名（プリンタアイコン名）から特定することができる。
【０１６６】
ステップＳ１００６において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を、「無効」状態から「有効」状態に変更する。なお、状態情報管理部６１４は、ステップＳ１００３、Ｓ１００４の処理を実行する前に、設定情報記憶部６３０の状態情報６３２を、「無効」状態から「有効」状態に変更するものであっても良い。要するに、状態情報管理部６１４は、変更情報保存部６１３が変更情報Ａ６２１を設定情報記憶部６３０に保存するときに、設定情報記憶部６３０に含まれる状態情報６３２を「有効」状態（所定の状態）に設定するものであれば良い。
【０１６７】
ステップＳ１００７において、インストーラ６１０の設定情報変更部６１５は、プリンタドライバ３０３に、設定情報の取得を要求する。これにより、ＯＳ３０２は設定制御部３２３を呼び出すようになる。
【０１６８】
ステップＳ１００２において、プリンタドライバ３０３の設定制御部３２３は、設定情報記憶部６３０の状態情報６３２が、「有効」状態であるか、「無効」状態であるかを判断する。
【０１６９】
ここでは、ステップＳ１００６において、状態情報６３２は「有効」に設定されているので、設定制御部３２３は、処理をステップＳ１００８に移行させる。
【０１７０】
ステップＳ１００８に移行すると、プリンタドライバ３０３の設定制御部３２３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を用いて（反映させて）、設定情報を作成する。
【０１７１】
図１１は、第１の実施形態に係る変更前の設定情報のイメージを示す図である。図１１に示す変更前の設定情報１１００には、カラー設定１１０１、用紙サイズ１１０２、両面１１３０、用紙種類１１０４、及び集約１１０５の設定情報が含まれている。
【０１７２】
変更前の設定情報１１００では、表１に示すように、カラー設定１１０１が「カラー（"psk:Color"）」、用紙サイズ１１０２が「Ａ４（"psk:ISOA4"）、両面１１３０が「しない（"psk:none"）」に設定されている。また、変更前の設定情報１１００では、用紙種類１１０４が「普通紙（"psk:Plain"）」、集約１１０５が「しない（"xsd:integer">1）」に設定されている。
【０１７３】
図１２は、第１の実施形態に係る変更情報のイメージを示す図である。図１２に示す変更情報１２００において、「item name」は、各機能（機能の名称）を示している。例えば、「item name="mediatype"」は用紙設定、「item name="duplex"」は両面、「item name="colorbw"」はカラー／モノクロ設定、「item name="layout"」を示している。
【０１７４】
また、「default」は、既定の設定値（デフォルト値）を指定された値に変更することを示している。例えば、「item name="mediatype" default="special"」は、用紙設定のデフォルト値を、特殊紙に設定することを示している。
【０１７５】
さらに、「hidden」は、プリンタドライバ３０３のＵＩ画面に設定項目を表示しないことを示している。例えば、「item name="duplex" hidden="yes"1」は、ＵＩ画面に、両面の設定項目を表示しないことを示している。
【０１７６】
また、「fixvalue」は、設定値を指定された値に固定して、設定値の変更を許可しないことを示している。例えば、「item name="colorbw" fixvalue="blackandwhite"」は、カラー／モノクロ設定の設定値を、モノクロに固定することを示している。
【０１７７】
さらに、「pickone」は、設定項目の選択肢を、「pickone name」で指定された選択肢のみに制限することを示している。例えば、「item name="layout" pickone name="2pagepersheet" pickone name="4pagepersheet"」は、集約の設定値の選択肢を、２ｉｎ１と４ｉｎ１に限定することを示している。
図１２の例では、変更情報１２００には、「用紙種類（mediatype）の既定値を特別紙（special）に設定する」変更情報１２０１、「両面（duplexｘ）のＵＩ表示をしない（hidden"yes"）に設定する」変更情報１２０２が含まれている。さらに、変更情報１２００には、「カラー／モノクロ設定（colorbw）を、モノクロ固定（fixvalue="blackandwhite"）に設定する」変更情報１２０３、「集約（layout）の選択肢を、２ｉｎ１／４ｉｎ１（"2pagespersheet" / "4pagespersheet"）に限定する」変更情報１２０４等が含まれている。
【０１７８】
なお、「hidden」は、プリンタドライバ３０３のＵＩ画面にその機能を表示しないことを示すものであり、その機能を利用できないようにするためのものではない。したがって、図１２に示す変更情報１２００の例では、プリンタドライバ３０３のＵＩ画面では両面設定の設定値を変更することはできないが、アプリケーション３０１から設定情報を用いて両面設定の設定値を変更して印刷することは可能である。
【０１７９】
これに対して「fixvalue」は、設定値を固定することを示すものであり、アプリケーション３０１からの設定の変更も禁止される。
【０１８０】
図１３は、第１の実施形態に係る変更情報を反映した設定情報のイメージを示す図である。図１３に示す変更情報を反映した設定情報１３００は、図１１に示す変更前の設定情報１１００から、図１２に示す変更情報１２００により、カラー設定１３０１、用紙種類１３０２、及び集約１３０３の設定が変更されている。
【０１８１】
例えば、図１３に示す変更情報を反映した設定情報１３００では、カラー設定１３０１は、「カラー（"psk:Color"）」から「白黒（"psk:Monochrome"）」に変更されている。また、用紙種類１３０２が、「普通紙（"psk:Plain"）」から「特別紙（"ns0000:Special"）」に変更されている。さらに、集約１３０３が、「しない（"xsd:integer">1）」から、「２ｉｎ１（"xsd:integer">2）」に変更されている。
【０１８２】
なお、図１２に示す変更情報１２００のうち、「両面（duplexｘ）のＵＩ表示をしない（hidden"yes"）に設定する」変更情報１２０２は、ＵＩに関する変更情報なので、設定情報１３００には反映されていない。
【０１８３】
このように、図１０ＡのステップＳ１００８において、プリンタドライバ３０３の設定制御部３２３は、変更前の設定情報１１００に対して、変更情報１２００を用いて（反映させて）、変更後の設定情報１３００を作成する。
【０１８４】
ステップＳ１００９において、インストーラ６１０の設定情報変更部６１５は、プリンタドライバ３０３の設定制御部３２３が、変更情報Ｂ６３１を反映して作成した設定情報を、プリンタドライバ３０３の設定情報の既定値として設定する。例えば、設定情報変更部６１５は、ＯＳ３０２によって提供される、プリンタドライバ３０３のデフォルト設定を変更するＡＰＩに、変更情報Ｂ６３１を反映した作成した設定情報を渡すことにより、プリンタドライバ３０３の設定情報の既定値を変更する。
【０１８５】
ステップＳ１０１０において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を、「無効」状態に設定する。
【０１８６】
（インストール処理のシーケンス図）
図１０Ｂ、１０Ｃは、第１の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図である。この処理は、図１０Ａに示したプリンタドライバのインストール処理に対応している。
【０１８７】
ステップＳ１０２１において、インストーラ６１０のインストール部６１１は、クライアント装置１０（ＯＳ３０２）にプリンタドライバ３０３をインストールする。この処理は、図９のステップＳ１００１の処理に対応している。
【０１８８】
ステップＳ１０２２において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、プリンタドライバ３０３の設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ｃｏｎｖｅｒｔＤｅｖＭｏｄｅＴｏＰｒｉｎｔＴｉｃｋｅｔ）等を用いて、ＤＥＶＭＯＤＥ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を要求する。
【０１８９】
ステップＳ１０２３において、設定制御部３２３は、設定情報記憶部６３０から状態情報６３２を取得する。このとき、状態情報６３２は「無効」に設定されているものとする。
【０１９０】
ステップＳ１０２４において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。このとき、設定情報記憶部６３０には、変更情報Ｂ６３１が記憶されていないものとする。
【０１９１】
ステップＳ１０２５において、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、Ｄｅｖｍｏｄｅ形式の設定情報を読出する。
【０１９２】
なお、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇは、ＯＳ３０２によって管理されている記憶領域である。例えば、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、ＤＥＶＭＯＤＥ構造体に記憶された、プリンタドライバ３０３のＤｅｖｍｏｄｅ形式の設定情報を取得することができる。また、設定制御部３２３が、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに記憶されたＤｅｖｍｏｄｅ形式の設定情報に変更を加えると、その変更内容が、ＯＳ３０２によってＤＥＶＭＯＤＥ構造体に反映される。
【０１９３】
ステップＳ１０２６において、設定制御部３２３は、読出したＤｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する。
【０１９４】
ステップＳ１０２７において、設定制御部３２３は、作成したＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０１９５】
ステップＳ１０２８において、ＯＳ３０２は、通知されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の排他処理を、設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ＶａｌｉｄａｔｅＰｒｉｎｔＴｉｃｋｅｔ）を用いて、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の排他処理を、設定制御部７３０に要求する。
【０１９６】
ステップＳ１０２９において、設定制御部３２３は、設定情報の排他処理を実行する。例えば、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の中から、利用可能でない設定項目や設定値を、変更、又は削除して、利用可能な設定情報を作成する。
【０１９７】
ステップＳ１０３０において、設定制御部３２３は、排他処理を行ったＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。なお、以下の説明の中で、ステップＳ１０２８〜Ｓ１０３０の処理を、「設定情報の排他処理１０６１」と呼ぶ場合がある。
【０１９８】
ステップＳ１０３１において、ＯＳ３０２は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報からＤｅｖｍｏｄｅ形式の設定情報への変換を、設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ｃｏｎｖｅｒＰｒｉｎｔＴｉｃｋｅｔＴｏＤｅｖｍｏｄｅ）等を用いて、ＰｒｉｎｔＴｉｃｋｅｔの設定情報からＤＥＶＭＯＤＥ形式の設定情報への変換を要求する。
【０１９９】
ステップＳ１０３２において、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔから設定情報を抽出し、ステップＳ１０３３において、設定制御部３２３は、抽出した設定情報をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【０２００】
ステップＳ１０３４において、設定制御部３２３は、ＯＳ３０２に完了通知を通知する。なお、以下の説明の中で、ステップＳ１０３１〜Ｓ１０３４の処理を、「Ｄｅｖｍｏｄｅ形式への変換処理１０６２」と呼ぶ場合がある。
【０２０１】
ステップＳ１０３５において、ＯＳ３０２は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇの変更内容を、ＤＥＶＭＯＤＥ構造体に反映し、ステップＳ１０３６において、インストーラ６１０に完了通知を通知する。なお、上記のステップＳ１０２２〜Ｓ１０３６の処理は、図１０ＡのステップＳ１００３の処理に対応している。
【０２０２】
続いて、図１０ＣのステップＳ１０３７において、インストーラ６１０の変更情報取得部６１２は、変更情報記憶部６２０から、変更情報Ａ６２１を読出する。なお、この処理は、図１０ＡのステップＳ１００４の処理に対応している。
【０２０３】
ステップＳ１０３８において、インストーラ６１０の変更情報保存部６１３は、変更情報取得部６１２が読出した変更情報Ａ６２１を、設定情報記憶部６３０に記憶する。以後、設定情報記憶部６３０に記憶された変更情報を、変更情報記憶部６２０に記憶された変更情報Ａ６２１と区別するため、変更情報Ｂ６３１と呼ぶ。なお、この処理は、図１０ＡのステップＳ１００５の処理に対応している。
【０２０４】
ステップＳ１０３９において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を「有効」（所定の状態）に設定する。なお、この処理は、図１０ＡのステップＳ１００６の処理に対応している。
【０２０５】
ステップＳ１０４０において、インストーラ６１０の設定情報変更部６１５は、ＯＳ３０２に対して、Ｄｅｖｍｏｄｅ形式の設定情報の取得を要求する。なお、この処理は、図１０ＡのステップＳ１００７の処理に対応している。
【０２０６】
ステップＳ１０４１において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報の取得要求に応じて、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、プリンタドライバ３０３の設定制御部３２３に要求する。例えば、ＯＳ３０２は、予め用意されたＡＰＩ（ｃｏｎｖｅｒｔＤｅｖＭｏｄｅＴｏＰｒｉｎｔＴｉｃｋｅｔ）等を用いて、ＤＥＶＭＯＤＥ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を要求する。
【０２０７】
ステップＳ１０４２において、設定制御部３２３は、設定情報記憶部６３０から状態情報６３２を取得する。このとき、状態情報６３２は、ステップＳ１０３９において「有効」に設定されている。
【０２０８】
ステップＳ１０４３において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。このとき、設定情報記憶部６３０には、ステップＳ１０３８において、変更情報Ｂ６３１が記憶されている。
【０２０９】
ステップＳ１０４４において、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、設定情報を読出する。
【０２１０】
ステップＳ１０４５において、設定制御部３２３は、ステップＳ１０４４で読出した設定情報に、ステップＳ１０４３で取得した変更情報を反映させて、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する。なお、この処理は、図１０ＡのステップＳ１００８の処理に対応している。
【０２１１】
ステップＳ１０４６において、設定制御部３２３は、作成したＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を含む完了通知を、ＯＳ３０２に通知する。
【０２１２】
ステップＳ１０４７において、ＯＳ３０２、及び設定制御部３２３は、図１０ＢのステップＳ１０２８〜Ｓ１０３０に示すような設定情報の排他処理１０６１を実行する。
【０２１３】
ステップＳ１０４８において、ＯＳ３０２、及び設定制御部３２３は、図１０ＢのステップＳ１０３１〜Ｓ１０３４に示すようなＤｅｖｍｏｄｅ形式への変換処理１０６２を実行する。
【０２１４】
ステップＳ１０４９において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報を含む完了通知をインストーラ６１０に通知する。
【０２１５】
ステップＳ１０５０において、インストーラ６１０の設定情報変更部６１５は、完了通知に含まれているＤｅｖｍｏｄｅ形式の設定情報を、プリンタドライバ３０３の設定情報の既定値として設定する。例えば、設定情報変更部６１５は、ＯＳ３０２によって提供される所定のＡＰＩを用いて、設定情報の既定値の設定を要求する。なお、この処理は、図１０ＡのステップＳ１００９の処理に対応している。
【０２１６】
ステップＳ１０５１において、ＯＳ３０２は、設定情報の既定値の設定を完了したことを示す完了通知をインストーラ６１０に通知する。
【０２１７】
ステップＳ１０５２において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を、「無効」状態に設定する。なお、この処理は、図１０ＡのステップＳ１０１０の処理に対応している。
【０２１８】
上記の処理により、Ｖ４プリンタドライバ３０３のインストール時等に、変更情報記憶部６２０に記憶した変更情報Ａ６２１を、プリンタドライバ３０３の設定情報の既定値に容易に反映させることができるようになる。
【０２１９】
なお、図１０Ａに示す処理では、ステップＳ１００１〜Ｓ１００３で、例えば、図７に示すＶ４プリンタドライバのインストール処理が完了した後、すぐに、ステップＳ１００４以降で、変更情報の反映処理を実行している。ただし、この処理は、一例であり、ステップＳ１００４以降の変更情報の反映処理は、Ｖ４プリンタドライバのインストールが終了した後、任意のタイミングで実行させることができる。
【０２２０】
［第２の実施形態］
図１４は、第２の実施形態に係るプリンタドライバのインストール処理の例を示すフローチャートである。第１の実施形態では、例えば、図７に示すようなＶ４プリンタドライバのインストールが終了した後で、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、設定情報の既定値に反映させていた。
【０２２１】
第２の実施形態では、Ｖ４プリンタドライバのインストール処理の中で、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、設定情報の既定値に反映させる場合の例について説明を行う。
【０２２２】
図１４は、第２の実施形態に係るプリンタドライバのインストール処理の例を示すフローチャートである。なお、本実施形態においても、図１４に示す処理の開始時点において、設定情報記憶部６３０の状態情報６３２は、既定の状態である「無効」状態に設定されているものとする。
【０２２３】
ステップＳ１４０１において、インストーラ６１０の変更情報取得部６１２は、変更情報記憶部６２０から、変更情報Ａ６２１を取得する。
【０２２４】
ステップＳ１４０２において、インストーラ６１０の変更情報保存部６１３は、変更情報取得部６１２が取得した変更情報Ａ６２１を、設定情報記憶部６３０に保存する。
【０２２５】
このとき、変更情報保存部６１３は、変更情報取得部６１２が取得した変更情報Ａ６２１を、設定情報記憶部６３０に保存するために、これからインストールするプリンタドライバ３０３の論理プリンタ名（プリンタアイコン名）を推定する。
【０２２６】
例えば、設定情報記憶部６３０がＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０である場合、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０は具体的には以下のレジストリである。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Printers\(論理プリンタ名)\QueueProperties
このレジストリ（ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０）は、本来はプリンタドライバ３０３をインストールするときに自動的に作成されるものであるが、インストール前に作成した場合でも、レジストリの内容をインストール時に読出すことが可能である。ただし、このレジストリの（論理プリンタ名）の部分は、ＯＳ３０２によってインストール時に変更されるので、変更情報保存部６１３は、この（論理プリンタ名）の部分を推定する必要がある。
【０２２７】
例えば、ＯＳ３０２がＷｉｎｄｏｗｓである場合、既に存在する倫理プリンタ名（例えば、「○○ Printer Driver」）でプリンタドライバ３０３をインストールすると、以下に示すように、論理プリンタ名が変更される。
日本語ＯＳの場合：「○○ Printer Driver （コピー１）」
英語ＯＳの場合：「○○ Printer Driver (Copy 1)」
このとき、変更される論理プリンタ名の変更ルールは、ＯＳ３０２によって異なるので、インストーラ６１０の変更情報保存部６１３は、プリンタドライバ３０３をインストールする環境に合わせて、（論理プリンタ名）の部分を推定（特定）する。また、変更情報保存部６１３は、変更情報取得部６１２が取得した変更情報Ａ６２１を、例えば、推定した論理プリンタ名に対応するレジストリ等に保存する。
【０２２８】
このとき、設定情報記憶部６３０に保存された変更情報を、以下の説明の中で、変更情報Ｂ６３１と呼ぶ。
【０２２９】
ステップＳ１４０３において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を、「有効」状態に変更する。
【０２３０】
ステップＳ１４０４において、インストーラ６１０のインストール部６１１は、クライアント装置１０にプリンタドライバ３０３をインストールし、例えば、図７に示すようなＶ４プリンタドライバのインストール処理を開始させる。
【０２３１】
なお、状態情報管理部６１４は、ステップＳ１４０４の処理の実行した後に、ステップＳ１４０３の処理を実行するものであっても良い。要するに、状態情報管理部６１４は、インストール部６１１がプリンタドライバ３０３のインストールを開始するときに、設定情報記憶部６３０に含まれる状態情報６３２を「有効」状態（所定の状態）に設定するものであれば良い。
【０２３２】
ステップＳ１４０５において、プリンタドライバ３０３の設定制御部３２３は、ＯＳ３０２によって呼び出され、設定情報記憶部６３０の状態情報６３２が、「有効」状態であるか、「無効」状態であるかを判断する。
【０２３３】
状態情報６３２が「有効」状態である場合、設定制御部３２３は、処理をステップＳ１４０６に移行させる。一方、状態情報６３２が「無効」状態である場合、設定制御部３２３は、処理をステップＳ１４０７に移行させる。
【０２３４】
ここでは、ステップＳ１４０３において、状態情報６３２が「有効」状態に設定されているので、設定制御部３２３は、処理をステップＳ１４０６に移行させる。
【０２３５】
なお、設定制御部３２３は、例えば、図８示す設定情報の変更処理、又は図９に示す印刷処理等でも、ＯＳ３０２に呼び出されるので、ステップＳ１４０５に示す判断処理、及びステップＳ１４０７に示す変更情報を反映しない設定情報の設定処理が、必要になる。これは、利用者が意図的に変更した設定情報を、変更情報で変更してしまうことを防止するためである。
【０２３６】
ステップＳ１４０６に移行すると、プリンタドライバ３０３の設定制御部３２３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を用いて（反映させて）設定情報を作成する。例えば、設定制御部３２３は、図７に示すＶ４プリンタドライバのインストール処理のステップＳ７０３からＳ７１０の処理を実行する。また、設定制御部３２３は、ステップＳ７０３でＤｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成する際に、変更情報Ｂ６３１を用いて（反映させて）設定情報を作成する。なお、設定情報への変更情報への反映方法は、図１１〜１３を用いて説明した第１の実施形態と同様である。
【０２３７】
この処理により、変更情報Ｂ６３１を用いて作成された設定情報が、プリンタドライバ３０３の設定情報の既定値として、Ｄｅｖｍｏｄｅ形式の設定情報で保存される。
【０２３８】
ステップＳ１４０８において、インストーラ６１０の状態情報管理部６１４は、設定情報記憶部６３０の状態情報６３２を、「無効」状態に設定する。
【０２３９】
上記の処理により、例えば、図７に示すようなＶ４プリンタドライバのインストール処理中に、変更情報を、プリンタドライバ３０３の設定情報の既定値に反映させることができるようになる。
【０２４０】
＜変更情報の設定能力情報への反映＞
第１、２の実施形態では、変更情報を、プリンタドライバ３０３の設定情報の既定値に反映する処理の例について説明を行った。
【０２４１】
さらに、プリンタドライバ３０３の設定制御部３２３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、プリンタドライバ３０３で設定可能な設定値を示す設定能力情報に反映する設定能力情報管理部６４２を有している。ここでは、設定能力情報管理部６４２による、変更情報Ｂ６３１の設定能力情報への反映について、具体的な一例を示して説明する。
【０２４２】
図１５は、一実施形態に係る変更前の設定能力情報のイメージを示す図である。設定能力情報１５００は、プリンタドライバ３０３が設定可能な印刷設定値の一覧を、ＸＭＬ形式のデータで表す情報である。
【０２４３】
図１５に示す設定能力情報１５００は、プリンタドライバ３０３の設定能力情報のうち、集約（psk:JobNUpAllDocumentsContiguously）に関する設定項目１５０１を抜粋したものである。
【０２４４】
プリンタドライバ３０３は、集約に関する設定項目１５０１の既定値として、図１５に示すように、「集約しない（１／１）」１５０２、「２ｉｎ１」１５０３、「４ｉｎ１」１５０４、及び「９ｉｎ１」の４つの選択肢を有している。
【０２４５】
一方、図１２に示す変更情報１２００には、「集約（layout）の選択肢を、２ｉｎ１／４ｉｎ１（"2pagespersheet" / "4pagespersheet"）に限定する」変更情報１２０４が含まれている。
【０２４６】
この場合、設定能力情報管理部６４２は、図１５に示す設定能力情報１５００に、図１２に示す変更情報１２００を反映して、図１６に示すような変更後の設定能力情報１６００を作成する。
【０２４７】
なお、図１５に示す設定能力情報１５００、及び図１６に示す設定能力情報１６００は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報である。
【０２４８】
図１６は、一実施形態に係る変更情報を反映した設定能力情報のイメージを示す図である。図１６に示す変更後の設定能力情報１６００では、集約に関する設定項目１５０１の選択肢が、「２ｉｎ１」１５０３、及び「４ｉｎ１」１５０４の２つに変更されている。
【０２４９】
上記のように、プリンタドライバ３０３の設定制御部３２３に含まれる設定能力情報管理部６４２は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、プリンタドライバ３０３の設定能力情報に反映させる。したがって、アプリケーション３０１は、設定能力情報を参照し、変更情報Ｂ６３１によって変更されたプリンタドライバ３０３の設定能力情報を認識することができるようになる。
【０２５０】
＜変更情報の設定画面への反映＞
プリンタドライバ３０３の拡張設定部３１３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、拡張設定部３１３が表示させる印刷の設定情報の設定画面に反映させる変更情報反映部６５３を有している。
【０２５１】
また、ストアデバイスアプリ３０４は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、ストアデバイスアプリ３０４が表示させる印刷の設定情報の設定画面に反映させる変更情報反映部６６３を有している。
【０２５２】
なお、ストアデバイスアプリ３０４の変更情報反映部６６３の処理内容は、拡張設定部３１３の変更情報反映部６５３の処理内容と同様なので、ここでは、拡張設定部３１３の変更情報反映部６５３について説明を行う。
【０２５３】
図１７は、一実施形態に係る設定画面のイメージを示す図である。
【０２５４】
図１７（ａ）は、プリンタドライバ３０３の拡張設定部３１３に含まれる設定画面表示部６５１が、表示させる設定画面１７１０の一例のイメージを示している。図１７（ａ）のに示す変更前の設定画面１７１０には、用紙サイズ１７１１、カラー設定１７１２、両面１７１３、集約１７１４、及び用紙種類１７１５の設定項目が含まれる。また、各設定項目の既定値が黒丸で示されている。例えば、用紙サイズ１７１１の既定値は「Ａ４」、カラー設定１７１２の既定値は「カラー」、両面１７１３の既定値は「しない」、集約１７１４の既定値は「しない」、用紙種類１７１５の既定値は「普通紙」に設定されている。
【０２５５】
一方、図１２に示す変更情報１２００には、「用紙種類（mediatype）の既定値を特別紙（special）に設定する」変更情報１２０１、「両面（duplexｘ）のＵＩ表示をしない（hidden"yes"）に設定する」変更情報１２０２が含まれている。
【０２５６】
さらに、変更情報１２００には、「カラー／モノクロ設定（colorbw）を、モノクロ固定（fixvalue="blackandwhite"）に設定する」変更情報１２０３、「集約（layout）の選択肢を、２ｉｎ１／４ｉｎ１（"2pagespersheet" / "4pagespersheet"）に限定する」変更情報１２０４等が含まれている。
【０２５７】
この場合、変更情報反映部６５３は、例えば、図１７（ａ）に示されるような変更前の設定画面１７１０に、図１２に示すような変更情報１２００を反映し、設定画面表示部６５１に、図１７（ｂ）に示すような変更後の設定画面１７２０を表示させる。
【０２５８】
例えば、図１７（ｂ）に示す変更後の設定画面１７２０において、用紙種類１７１５の既定値は、「用紙種類（mediatype）の既定値を特別紙（special）に設定する」変更情報１２０１が反映され、「特別紙」に変更されている。
【０２５９】
また、変更後の設定画面１７２０では、カラー設定１７１２の設定値は、「カラー／モノクロ設定（colorbw）を、モノクロ固定（fixvalue="blackandwhite"）に設定する」変更情報１２０３が反映され、モノクロに固定されている。
【０２６０】
さらに、変更後の設定画面１７２０では、「両面（duplexｘ）のＵＩ表示をしない（hidden"yes"）に設定する」変更情報１２０２が反映され、変更前の設定画面１７１０に表示されていた両面１７１３の設定項目が非表示となっている。
【０２６１】
さらにまた、変更後の設定画面１７２０において、集約１７１４の設定項目は、「集約（layout）の選択肢を、２ｉｎ１／４ｉｎ１（"2pagespersheet" / "4pagespersheet"）に限定する」変更情報１２０４が反映され、選択肢が２ｉｎ１／４ｉｎ１のみとなっている。
【０２６２】
上記のように、プリンタドライバ３０３の拡張設定部３１３に含まれる変更情報反映部６５３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、拡張設定部３１３が表示する設定情報の設定画面に反映させることができる。
【０２６３】
同様に、ストアデバイスアプリ３０４に含まれる変更情報反映部６６３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を、ストアデバイスアプリ３０４が表示する設定情報の設定画面に反映させることができる。
【０２６４】
なお、図６に示すクライアント装置１０の機能構成は一例である。例えば、インストーラ６１０に含まれる各機能構成の少なくとも一部は、プリンタドライバ３０３に含まれていても良い。
【０２６５】
また、クライアント装置１０は、プリンタドライバ３０３がインストールされる情報処理装置の一例である。プリンタドライバ３０３がインストールされる情報処理装置は、例えば、図１に示すサーバ装置３０等であっても良い。
【０２６６】
［第３の実施形態］
第１、２の実施形態では、インストーラ６１０の状態情報管理部６１４は、状態情報６３２を設定情報記憶部６３０に記憶して管理していた。第３の実施形態では、インストーラ６１０の状態情報管理部６１４が、状態情報をＰｒｉｎｔＴｉｃｋｅｔ（設定情報）に設定する場合の例について説明する。
【０２６７】
＜機能構成＞
図１８は、第３の実施形態に係るクライアント装置の機能構成の例を示す図である。第３の実施形態に係るクライアント装置１０の機能構成は、基本的に図６に示す一実施形態に係るクライアント装置１０の機能構成と同様である。
【０２６８】
ただし、第３の実施形態では、インストーラ６１０の状態情報管理部６１４は、現在の状態を示す状態情報を、設定情報記憶部６３０ではなく、メモリ１８０１上のＰｒｉｎｔＴｉｃｋｅｔ１８０２の中に設定する。
【０２６９】
メモリ１８０１は、例えば、クライアント装置１０のＲＡＭ１０４、ＨＤＤ１０８等によって実現される記憶領域である。
【０２７０】
ＯＳ管理領域１８０３は、例えば、クライアント装置１０のＲＡＭ１０４、ＨＤＤ１０８等によって実現される記憶領域のうち、ＯＳ３０２が管理する記憶領域（例えば、レジストリ等）である。ＯＳ３０２は、例えば、ＯＳ管理領域１８０３に記憶されるＤＥＶＭＯＤＥ構造体（以下、ＤＥＶＭＯＤＥと呼ぶ）１８０４に設定情報の既定値（デフォルト値）を記憶して管理する。これは、第１、２の実施形態でも同様である。
【０２７１】
＜処理の流れ＞
続いて、第３の実施形態に係る情報処理方法の処理の流れについて説明する。
【０２７２】
（インストール処理のシーケンス図）
図１９Ａ、１９Ｂは、第３の実施形態に係るプリンタドライバのインストール処理の例を示すシーケンス図である。なお、ここでは、図１９Ａ、１９Ｂに示す処理のうち、図１０Ｂ、１０Ｃに示した第１の実施形態に係るプリンタドライバのインストール処理と同様の処理に対する詳細な説明は省略し、第１の実施形態との相違点を中心に説明を行う。
【０２７３】
ステップＳ１９０１において、インストーラ６１０のインストール部６１１は、クライアント装置１０のＯＳ３０２にプリンタドライバ３０３をインストールする。
【０２７４】
ステップＳ１９０２において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、プリンタドライバ３０３の設定制御部３２３に要求する。
【０２７５】
ステップＳ１９０３において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。このとき、設定情報記憶部６３０には、変更情報Ｂ６３１が記憶されていないものとする。
【０２７６】
ステップＳ１９０４において、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、Ｄｅｖｍｏｄｅ形式の設定情報を読出する。
【０２７７】
ステップＳ１９０５において、設定制御部３２３は、読出したＤｅｖｍｏｄｅ形式の設定情報から、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報（以下、「ＰｒｉｎｔＴｉｃｋｅｔ」と呼ぶ）を作成する。
【０２７８】
ステップＳ１９０６において、設定制御部３２３は、作成したＰｒｉｎｔＴｉｃｋｅｔを含む完了通知を、ＯＳ３０２に通知する。
【０２７９】
ステップＳ１９０７において、ＯＳ３０２は、通知されたＰｒｉｎｔＴｉｃｋｅｔの排他処理を、設定制御部３２３に要求する。
【０２８０】
ステップＳ１９０８において、設定制御部３２３は、設定情報の排他処理を実行する。例えば、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔの中から、利用可能でない設定項目や設定値を、変更、又は削除して、利用可能な設定情報を作成する。
【０２８１】
ステップＳ１９０９において、設定制御部３２３は、排他処理を行ったＰｒｉｎｔＴｉｃｋｅｔを含む完了通知を、ＯＳ３０２に通知する。
【０２８２】
ステップＳ１９１０において、ＯＳ３０２は、ＰｒｉｎｔＴｉｃｋｅｔからＤｅｖｍｏｄｅ形式の設定情報への変換を、設定制御部３２３に要求する。
【０２８３】
ステップＳ１９１１において、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔから、状態情報を取得する。このとき、ＰｒｉｎｔＴｉｃｋｅｔには、状態情報が含まれていないか、「無効」状態を示す状態情報が含まれているものとする。
【０２８４】
ステップＳ１９１２において、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔから設定情報を抽出し、ステップＳ１９１３において、設定制御部３２３は、抽出した設定情報をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【０２８５】
ステップＳ１９１４において、設定制御部３２３は、ＯＳ３０２に完了通知を通知する。
【０２８６】
ステップＳ１９１５において、ＯＳ３０２は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇの変更内容を、ＤＥＶＭＯＤＥ１８０４に反映し、ステップＳ１９１６において、インストーラ６１０に完了通知を通知する。なお、以下の説明の中で、ステップＳ１９１１〜Ｓ１９１５の処理を、「設定情報の更新処理１９４０」と呼ぶ場合がある。
【０２８７】
続いて、図１９ＢのステップＳ１９１７において、インストーラ６１０の変更情報取得部６１２は、変更情報記憶部６２０から、変更情報Ａ６２１を読出する。
【０２８８】
ステップＳ１９１８において、インストーラ６１０の変更情報保存部６１３は、変更情報取得部６１２が読出した変更情報Ａ６２１を、設定情報記憶部６３０に記憶する。以後、設定情報記憶部６３０に記憶された変更情報を、変更情報Ｂ６３１と呼ぶ。
【０２８９】
続いて、インストーラ６１０は、ＰｒｉｎｔＴｉｃｋｅｔに、「有効」状態であることを示す状態情報を設定するために、ステップＳ１９１９〜Ｓ１９２６の処理を実行する。
【０２９０】
ステップＳ１９１９において、インストーラ６１０の状態情報管理部６１４は、ＯＳ３０２に対して、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の取得を要求する。例えば、状態情報管理部６１４は、予め定められたＡＰＩ（ＰＴＣｏｎｖｅｒｔＤｅｖＭｏｄｅＴｏＰｒｉｎｔＴｉｃｋｅｔ）等を用いて、ＯＳ３０２にＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の取得を要求する。
【０２９１】
ステップＳ１９２０において、ＯＳ３０２は、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の取得要求に応じて、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、設定制御部３２３に要求する。
【０２９２】
ステップＳ１９２１において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。このとき、設定情報記憶部６３０には、ステップＳ１９１８において、変更情報Ｂ６３１が記憶されている。
【０２９３】
ステップＳ１９２２において、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、設定情報を読出する。
【０２９４】
ステップＳ１９２３において、設定制御部３２３は、ステップＳ１９２２で読出した設定情報に、ステップＳ１９２１で取得した変更情報Ｂ６３１を反映させて、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報（ＰｒｉｎｔＴｉｃｋｅｔ）を作成する。このとき、設定制御部３２３は、変更情報Ｂ６３１のうち、デフォルト値の変更以外の変更を、ＰｒｉｎｔＴｉｃｋｅｔに反映させる。
【０２９５】
図２０は、一実施形態に係る変更情報の種類について説明するための図である。図２０に示すように、変更情報には、「デフォルト値の変更」、「ＵＩの非表示」、「設定値の固定」、「設定値の制限」等の種類がある。
【０２９６】
「デフォルト値の変更」は、設定情報の既定値の変更を指示するための情報であり、例えば、図１２に示す変更情報１２００において、「devicesettings」の「default="special"」等の設定が「デフォルト値の変更」に該当する。この情報により、図１２に示す変更情報１２００の例では、「item name="mediatype"」（用紙種類）のデフォルト値が「special」（特殊紙）に変更される。
【０２９７】
「ＵＩの非表示」は、ＵＩで表示しないことを指示するための情報であり、例えば、図１２に示す変更情報１２００において、「devicesettings」の「hidden="yes"」等の設定が、「ＵＩの非表示」に該当する。この情報により、図１２に示す変更情報１２００の例では、「item name="duplex"」（両面）の設定項目が、ＵＩに表示されなくなる。
【０２９８】
「設定値の固定」は、設定値を固定することを指示するための情報であり、例えば、図１２に示す変更情報１２００において、「featurelock」の「fixvalue="blackandwhite"」等の設定が、「設定値の固定」に該当する。この情報により、図１２に示す変更情報１２００の例では、「item name="colorbw"」（カラー設定）の設定値が、「fixvalue="blackandwhite"」（モノクロ）に固定される。
【０２９９】
「設定値の制限」は、設定値を制限することを指示するための情報であり、図１２に示す変更情報１２００において、「featurelock」の「pickone name="2pagespersheet"」、及び「pickone name="4pagespersheet"」等の設定が、「固定値の制限」に該当する。この情報により、図１２に示す変更情報の例では、「item name="layout"」（集約）の選択肢が、「pickone name="2pagespersheet"」（２ｉｎ１）、「pickone name="4pagespersheet"」（４ｉｎ１）に制限される。
【０３００】
また、図２０の「○」は、変更情報の設定を反映させることを示しており、「−」は、変更情報の設定を反映させないことを示している。例えば、「PrintTicket -> DEVMODE変換 状態情報が有効のとき」には、変更情報のうち、「デフォルト値の変更」、「設定値の固定」、及び「設定値の制限」が設定情報に反映される。また、「PrintTicket -> DEVMODE変換 状態情報が無効のとき」には、変更情報のうち、「設定値の固定」、及び「設定値の制限」が、設定情報に反映される。さらに、「PrintCapabilities を作成するとき」には、変更情報のうち、「設定値の固定」、及び「設定値の制限」が、設定情報に反映される。
【０３０１】
また、ＵＩ部がＵＩを表示するときには、変更情報のうち、「ＵＩの非表示」、「設定値の固定」、及び「設定値の制限」がＵＩ画面の表示に反映されることが示されている。
【０３０２】
ここで、図１９Ｂに戻り、シーケンス図の説明を続ける。
【０３０３】
ステップＳ１９２４において、設定制御部３２３は、作成したＰｒｉｎｔＴｉｃｋｅｔを含む完了通知を、ＯＳ３０２に通知する。ステップＳ１９２５において、ＯＳ３０２は、受付したＰｒｉｎｔＴｉｃｋｅｔを含む完了通知をインストーラ６１０に通知する。
【０３０４】
ステップＳ１９２６において、インストーラ６１０の状態情報管理部６１４は、「有効」状態（所定の状態）であることを示す状態情報を、ＰｒｉｎｔＴｉｃｋｅｔ（設定情報）に設定する。
【０３０５】
図２１は、第３の実施形態に係るＰｒｉｎｔＴｉｃｋｅｔの例を示す図である。図２１は、「有効」状態（所定の状態）であることを示す状態情報２１０１が設定されたＰｒｉｎｔＴｉｃｋｅｔ２１００の一例を示している。
【０３０６】
図２１に示す状態情報２１０１において、「ns0000:JobCustomSettingFlag」の部分が設定の名前を表し、「ns0000:On」の部分が「有効」状態を示す設定値を表している。なお、図２１に示すＰｒｉｎｔＴｉｃｋｅｔ２１００のうち、状態情報２１０１以外の部分は、ステップＳ１９２３で作成されたＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報の一例である。
【０３０７】
このように、本実施形態では、状態情報管理部６１４は、変更情報保存部６１３が変更情報を設定情報記憶部６３０に保存するとき（インストール時等）に、「有効」状態（所定の状態）を示す状態情報をＰｒｉｎｔＴｉｃｋｅｔ（設定情報）に設定する。
【０３０８】
ここで、再び図１９Ｂに戻り、シーケンス図の説明をさらに続ける。
【０３０９】
ステップＳ１９２７において、インストーラ６１０の設定情報変更部６１５は、ＯＳ３０２にＤｅｖｍｏｄｅ形式の設定情報の取得を要求する。この設定情報の取得の要求には、「有効」状態であることを示す状態情報２１０１を含むＰｒｉｎｔＴｉｃｋｅｔ２１００が含まれる。
【０３１０】
ステップＳ１９２８において、ＯＳ３０２は、ＰｒｉｎｔＴｉｃｋｅｔから、Ｄｅｖｍｏｄｅ形式の設定情報への変換を、設定制御部３２３に要求する。
【０３１１】
ステップＳ１９２９において、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔから状態情報を取得する。このとき、状態情報は「有効」状態に設定されている。
【０３１２】
ステップＳ１９３０において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。
【０３１３】
ステップＳ１９３１において、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔから設定情報を抽出する。
【０３１４】
ステップＳ１９３２において、設定制御部３２３は、抽出した設定情報に、変更情報（デフォルト値の変更を含む）を反映させて、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。例えば、設定制御部３２３は、変更情報のうち、図２０に示す「デフォルト値の変更」、「設定値の固定」、及び「設定値の制限」の情報を、設定情報に反映させる。
【０３１５】
ステップＳ１９３３において、設定制御部３２３は、必要に応じて変更情報の妥当性を解決する。妥当性を解決する処理には、例えば、変更情報の中にサポートされていない機能や、デフォルト設定としてサポートされていない情報が含まれている場合に、その情報を無視（デフォルト設定を変更しない）処理等が含まれる。また、妥当性を解決する処理には、例えば、変更情報のデフォルト値として同時に選択できない２つの設定値が設定されていた場合に、一方の設定値を有効にする、或いは両方の設定値を無効にする等の処理が含まれる。このように、妥当性を解決する処理には、設定制御部３２３は、通常の動作では選択されない変更情報が含まれていた場合に、どのように変更情報を適用するかを決定する処理が含まれる。
【０３１６】
ステップＳ１９３４において、設定制御部３２３は、Ｄｅｖｍｏｄｅ形式の設定情報を含む完了通知をＯＳ３０２に通知し、ステップＳ１９３５において、ＯＳ３０２は、通知された完了通知をインストーラ６１０に通知する。
【０３１７】
ステップＳ１９３６において、インストーラ６１０の設定情報変更部６１５は、完了通知に含まれているＤｅｖｍｏｄｅ形式の設定情報を、プリンタドライバ３０３の設定情報の既定値として設定する。例えば、設定情報変更部６１５は、ＯＳ３０２によって提供される所定のＡＰＩを用いて、ＯＳ３０２に設定情報の既定値の設定を要求する。
【０３１８】
ステップＳ１９３７において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報を設定情報の既定値に設定し、設定が完了したことを示す完了通知をインストーラ６１０に通知する。
【０３１９】
なお、本実施形態では、メモリ１８０１に一時的に記憶されるＰｒｉｎｔＴｉｃｋｅｔ１８０２に、「有効」状態であることを示す状態情報を設定するため、状態情報を「無効」状態に戻す処理は不要になる。
【０３２０】
以上、本実施形態においても、Ｖ４プリンタドライバのインストール時等に、外部の記憶領域に記憶された変更情報を、プリンタドライバの設定情報の既定値に容易に反映させることができるようになる。
【０３２１】
（設定情報の設定処理）
図２２は、一実施形態に係る設定情報の設定処理の例を示すシーケンス図である。この処理は、第１〜３の実施形態に係るプリンタドライバのインストール処理により、クライアント装置１０にプリンタドライバ３０３がインストールされた後に実行される処理の一例を示している。
【０３２２】
ステップＳ２２０１において、アプリケーション３０１は、ユーザの印刷の設定操作等に応じて、印刷設定の表示要求をＯＳ３０２に通知する。
【０３２３】
ステップＳ２２０２において、ＯＳ３０２は、Ｄｅｖｍｏｄｅ形式の設定情報からＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報への変換を、プリンタドライバ３０３の設定制御部３２３に要求する。
【０３２４】
ステップＳ２２０３において、設定制御部３２３は、ＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから、Ｄｅｖｍｏｄｅ形式の設定情報を読出する。
【０３２５】
ステップＳ２２０４において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。
【０３２６】
ステップＳ２２０５において、設定制御部３２３は、読出した設定情報に、取得した変更情報を反映してＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報（ＰｒｉｎｔＴｉｃｋｅｔ）を作成する。このとき、設定制御部３２３は、図２０に示すように、変更情報のうち、「設定値の固定」、及び「設定値の制限」に係る情報を反映したＰｒｉｎｔＴｉｃｋｅｔを作成する。
【０３２７】
ステップＳ２２０６において、設定制御部３２３は、作成したＰｒｉｎｔＴｉｃｋｅｔを含む完了通知を、ＯＳ３０２に通知する。
【０３２８】
ステップＳ２２０７において、ＯＳ３０２は、設定制御部３２３に設定能力情報（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）の作成を要求する。
【０３２９】
ステップＳ２１０８において、設定制御部３２３は、設定情報記憶部６３０から変更情報Ｂ６３１を取得する。
【０３３０】
ステップＳ２２０９において、設定制御部３２３は、取得した変更情報を反映したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報（以下、「ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ」と呼ぶ）を作成する。例えば、設定制御部３２３は、図２０に示すように、変更情報のうち、「設定値の固定」、及び「設定値の制限」に係る情報を反映したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを作成する。
【０３３１】
ステップＳ２２１０において、設定制御部３２３は、作成したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを含む完了通知を、ＯＳ３０２に通知する。
【０３３２】
ステップＳ２２１１において、ＯＳ３０２は、ＵＩ部３０５に設定画面の表示を指示する。この設定画面の表示の指示には、ＰｒｉｎｔＴｉｃｋｅｔ（設定情報）と、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（設定能力情報）とが含まれる。
【０３３３】
なお、ＵＩ部３０５は、アプリケーション３０１が、ストアアプリ３１１の場合は、ストアデバイスアプリ３０４であり、アプリケーション３０１が、デスクトップアプリ３２１である場合は、拡張設定部３１３である。
【０３３４】
ステップＳ２２１２において、ＵＩ部３０５は、設定情報記憶部６３０から、変更情報Ｂ６３１を取得する。
【０３３５】
ステップＳ２２１３において、ＵＩ部３０５は、ＰｒｉｎｔＴｉｃｋｅｔと、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓと、変更情報のうちの「ＵＩの非表示」、「設定値の固定」、及び「設定値の制限」とを用いて、設定情報の設定画面を表示装置１０２に表示させる。これにより、例えば、図１７（ｂ）に示すような設定画面１７２０が、表示装置１０２に表示される。
【０３３６】
ステップＳ２２１４において、ＵＩ部３０５は、利用者による設定操作（設定情報の変更操作）を受付する。
【０３３７】
ステップＳ２２１５において、ＵＩ部３０５は、利用者の設定操作をＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報に反映させる。
【０３３８】
ステップＳ２２１６において、ＵＩ部３０５は、変更されたＰｒｉｎｔＴｉｃｋｅｔを含む完了通知を、ＯＳ３０２に通知する。
【０３３９】
ステップＳ２２１７において、ＯＳ３０２は、変更されたＰｒｉｎｔＴｉｃｋｅｔから、Ｄｅｖｍｏｄｅ形式の設定情報への変換を、設定制御部３２３に要求する。
【０３４０】
ステップＳ２２１８において、設定制御部３２３、及びＯＳ３０２は、図１９ＡのステップＳ１９１１〜Ｓ１９１５に示すような設定情報の更新処理１９４０を実行する。
【０３４１】
このように、本発明の各実施形態に係るプリンタドライバ３０３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を反映させて、ＰｒｉｎｔＴｉｃｋｅｔ形式の設定情報を作成することができる。また、プリンタドライバ３０３は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を反映させて、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ形式の設定能力情報を作成することができる。さらに、ＵＩ部３０５は、設定情報記憶部６３０に記憶された変更情報Ｂ６３１を反映させて、ＵＩ画面（設定画面）を表示装置１０２に表示させることができる。
【０３４２】
以上、本発明の実施形態によれば、Ｖ４プリンタドライバにおいて、インストール時等に、外部の記憶領域に記憶された設定データを読み込んで、プリンタドライバの設定情報の既定値に容易に反映させることができるようになる。
【符号の説明】
【０３４３】
１          情報処理システム
１０        クライアント装置（情報処理装置）
２０        画像形成装置
３０        サーバ装置
３０１      アプリケーション
３０２      ＯＳ
３０３      プリンタドライバ
３０４      ストアデバイスアプリ
３０５      ＵＩ部
３１１      ストアアプリ
３１３      拡張設定部
３２１      デスクトップアプリ
３２３      設定制御部
３３３      描画部
６１１      インストール部
６１２      変更情報取得部
６１３      変更情報保存部
６１４      状態情報管理部
６１５      設定情報変更部
６２０      変更情報記憶部
６３０      設定情報記憶部
６４２      設定能力情報管理部
６５３、６６３      変更情報反映部
６５１、６６１      設定画面表示部
【先行技術文献】
【特許文献】
【０３４４】
【特許文献１】特開２０１３−１９０８９７号公報
【図１】
2018049597.tif 000005
【図２】
2018049597.tif 000006
【図３】
2018049597.tif 000007
【図４】
2018049597.tif 000008
【図５】
2018049597.tif 000009
【図６】
2018049597.tif 000010
【図７】
2018049597.tif 000011
【図８】
2018049597.tif 000012
【図９】
2018049597.tif 000013
【図１０Ａ】
2018049597.tif 000014
【図１０Ｂ】
2018049597.tif 000015
【図１０Ｃ】
2018049597.tif 000016
【図１１】
2018049597.tif 000017
【図１２】
2018049597.tif 000018
【図１３】
2018049597.tif 000019
【図１４】
2018049597.tif 000020
【図１５】
2018049597.tif 000021
【図１６】
2018049597.tif 000022
【図１７】
2018049597.tif 000023
【図１８】
2018049597.tif 000024
【図１９Ａ】
2018049597.tif 000025
【図１９Ｂ】
2018049597.tif 000026
【図２０】
2018049597.tif 000027
【図２１】
2018049597.tif 000028
【図２２】
2018049597.tif 000029