(57)【要約】      （修正有）【課題】ＯＳがサポートするドライバだけでなく、それより旧世代のＯＳがサポートしていた旧世代ドライバに対する互換性を有するようなＯＳで、旧世代のドライバのサポートが取りやめとなり、インストールできなくなる場合に、ユーザがインストールできない理由を知ることができるようにする。【解決手段】旧世代ドライバをОＳにインストールする時に、インストールに失敗すると、ドライバが作成された日付を参照し、その日付が基準日より新しければ、その失敗の原因が、ＯＳにより旧世代ドライバのインストールが制限されているものと推定し、その原因を示すメッセージを出力してユーザに報知する。【選択図】図１０
2017162106.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにより制御され、デバイスドライバをインストールする情報処理装置であって、
インストール対象である対象ドライバのインストールを試み、インストール中のエラーの発生を検出する検出手段と、
前記検出手段によりエラーが検出された場合、前記対象ドライバの作成日または認証日が所定の基準日より前か否か判定する第一の判定手段と、
前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合には、前記エラーの原因が、前記対象ドライバの前記オペレーティングシステムへのインストールの制限である可能性を示すメッセージを出力し、前記対象ドライバの作成日または認証日が前記基準日より前であると判定された場合には、前記エラーの原因はそのほかの原因であることを示すメッセージを出力する原因判別手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記オペレーティングシステムのバージョン情報を読み込む手段と、
前記バージョン情報と、前記対象ドライバをインストール可能なオペレーティングシステムを示す互換情報とに基づいて、前記対象ドライバを前記オペレーティングシステムにインストール可能な否かを判定する第二の判定手段と、
前記第二の判定手段によりインストール可能でないと判定された場合には、前記対象ドライバはインストールの対象ではないことを示すメッセージを出力する手段と
を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段により前記エラーが検出された場合、前記対象ドライバをインストールしようとする日付が、前記対象ドライバについて設定されている期限日より前であるか否かを判定する第三の判定手段を更に有し、
前記原因判別手段は、前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合であっても、前記第三の判定手段により、前記対象ドライバをインストールしようとする日付が、前記対象ドライバについて設定されている期限日より前であると判定された場合には、前記エラーの原因は前記そのほかの原因であることを示すメッセージを出力することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記原因判別手段は、前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定され、かつ、前記対象ドライバより新しい世代のドライバを前記情報処理装置が有する場合には、前記新しい世代のドライバをインストールするかの指示をユーザから受け付け、前記ユーザによる指示に応じて前記新しい世代のドライバをインストールすることを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記原因判別手段は、前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合であり、かつ、前記第三の判定手段により、前記対象ドライバをインストールしようとする日付が、前記対象ドライバについて設定されている期限日より前ではないと判定され、かつ、前記対象ドライバより新しい世代のドライバを有する場合には、前記新しい世代のドライバをインストールする指示をユーザから受け付け、前記ユーザによる指示に応じて前記新しい世代のドライバをインストールすることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記第一の判定手段は、前記対象ドライバに関連付けられた参照ファイルから、前記基準日を取得し、前記対象ドライバの認証ファイルから前記対象ドライバの作成日または認証日を取得することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第三の判定手段は、前記対象ドライバに関連付けられた参照ファイルから前記期限日を取得することを特徴とする請求項３又は５に記載の情報処理装置。
【請求項８】
前記対象ドライバは、前記オペレーティングシステムがサポートする旧世代プリンタドライバであることを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
オペレーティングシステムにより制御されるコンピュータにデバイスドライバをインストールするためのプログラムであって、
インストール対象である対象ドライバのインストールを試み、インストール中のエラーの発生を検出する検出手段と、
前記検出手段によりエラーが検出された場合、前記対象ドライバの作成日または認証日が所定の基準日より前か否か判定する第一の判定手段と、
前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合には、前記エラーの原因が、前記対象ドライバの前記オペレーティングシステムへのインストールの制限である可能性を示すメッセージを出力し、前記対象ドライバの作成日または認証日が前記基準日より前であると判定された場合には、前記エラーの原因はそのほかの原因であることを示すメッセージを出力する原因判別手段と
して前記コンピュータを機能させるためのプログラム。
【請求項１０】
オペレーティングシステムにより制御される情報処理装置によりデバイスドライバをインストールするインストール方法であって、
インストール対象である対象ドライバのインストールを試み、インストール中のエラーの発生を検出する検出工程と、
前記検出工程によりエラーが検出された場合、前記対象ドライバの作成日または認証日が所定の基準日より前か否か判定する第一の判定工程と、
前記第一の判定工程により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合には、前記エラーの原因が、前記対象ドライバの前記オペレーティングシステムへのインストールの制限である可能性を示すメッセージを出力し、前記対象ドライバの作成日または認証日が前記基準日より前であると判定された場合には、前記エラーの原因はそのほかの原因であることを示すメッセージを出力する原因判別工程と
を有することを特徴とするインストール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及びデバイスドライバのインストール方法に関する。
【背景技術】
【０００２】
印刷データの作成などの処理を行うプリンタドライバをホストコンピューターにインストールするためにインストーラと呼ばれるプログラムがある。インストーラは、プリンタドライバをインストール可能なオペレーティングシステム（以降ＯＳと呼ぶ）のバージョンやポート設定などの情報を記載した参照ファイルを参照してプリンタドライバをインストールする。例えば参照ファイルには、バージョン４、５、および６のＯＳにはプリンタドライバをインストールできるが、バージョン３にはインストールできないことを表す情報等が記録されている。
【０００３】
またオペレーティングシステムのバージョンアップに伴い、ドライバのアーキテクチャーも変更されることがある。そのような場合には、バージョンアップされたオペレーティングシステムに適合するアーキテクチャー（新アーキテクチャーと呼ぶ）のドライバ（新ドライバとも呼ぶ）が提供されないと、そのドライバで制御されるデバイスが利用できなくなる可能性がある。そのような事態を防止するために、バージョンアップされたオペレーティングシステムは、旧バージョンのオペレーティングシステムに適合したアーキテクチャー（旧アーキテクチャと呼ぶ）のドライバ（レガシードライバとも呼ぶ）に対しても互換性を持つように作られていることがある。このようなオペレーティングシステムでは、新ドライバに加えて、レガシードライバについてもサポートを継続する必要がある。しかし旧アーキテクチャーのドライバをサポートする負担を軽減すべく、旧アーキテクチャーのドライバすべてや、或いは、旧アーキテクチャーを持ち、かつ新たに作成または認証されたドライバを、新バージョンのオペレーティングシステムへインストールすることが不可とされることがある。
【０００４】
一方、昨今では、ホストコンピューターが、ネットワークで接続されたインターネット上のＯＳ配信サーバなどから新しいＯＳの更新情報を受け、ＯＳの更新処理を実行する自動更新システムが提供されている。ホストコンピューターと印刷装置とがネットワーク等で接続された場合、ホストコンピューターにインストールされているＯＳのバージョンと印刷装置のコントローラなどのバージョンとの組み合わせに基づいて装置の制御方法を選択すること印刷が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１１７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような自動更新システムによりオペレーティングシステムがバージョンアップされた場合、新オペレーティングシステムが、レガシードライバのインストールを制限したオペレーティングシステムであることもあり得る。この場合インストーラを用いて旧アーキテクチャーのドライバをインストールしようとしてもインストールできないことがあり得る。ユーザの視点から見れば、ドライバがいきなりインストールできなくなってしまったように見え、その原因を特定することが困難である。
【０００７】
本発明は上記従来例に鑑みたもので、ドライバのインストールができない場合、特に、オペレーティングシステムとの互換性が失われたことが原因でドライバのインストールができない場合に、その原因をユーザに知らせることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を有する。
【０００９】
オペレーティングシステムにより制御され、デバイスドライバをインストールする情報処理装置であって、
インストール対象である対象ドライバのインストールを試み、インストール中のエラーの発生を検出する検出手段と、
前記検出手段によりエラーが検出された場合、前記対象ドライバの作成日または認証日が所定の基準日より前か否か判定する第一の判定手段と、
前記第一の判定手段により、前記対象ドライバの作成日または認証日が前記基準日より前でないと判定された場合には、前記エラーの原因が、前記対象ドライバの前記オペレーティングシステムへのインストールの制限である可能性を示すメッセージを出力し、前記対象ドライバの作成日または認証日が前記基準日より前であると判定された場合には、前記エラーの原因はそのほかの原因であることを示すメッセージを出力する原因判別手段とを有する。
【発明の効果】
【００１０】
本発明によって、ドライバのインストールができない場合、その原因をユーザに知らせることができる。
【図面の簡単な説明】
【００１１】
【図１】システムの全体図
【図２】プリンタドライバのモジュール構成図
【図３】（ａ）ブリタンドライバのインストール方法フローチャート、（ｂ）プリンタドライバのプリントキュー登録方法フローチャート
【図４】（ａ）プリントキュー登録ユーザＩ／Ｆを示す図、（ｂ）プリントキュー追加ユーザＩ／Ｆを示す図
【図５】プリンタドライバのシステム構成図
【図６】（ａ）登録キューファイルを示す図、（ｂ）プリンタ仕様記述ファイルを示す図、（ｃ）プリンタ仕様記述ファイルのＯＳでの保存例を示す図
【図７】ＯＳの更新処理詳細のフローチャート
【図８】ＯＳのＹデーとＸデー、ＬｅｇａｃｙドライバとＮｅｗドライバの違いを示す図
【図９】ドライバファイル構成図１
【図１０】本発明を表すドライバインストーラのフローチャート１
【図１１】エラーメッセージの表示例１を示す図
【図１２】ドライバファイル構成図２
【図１３】本発明を表すドライバインストーラのフローチャート２
【図１４】ドライバファイル構成図３
【図１５】本発明を表すドライバインストーラのフローチャート３
【図１６】ドライバインストーラでのエラーメッセージの表示例２を示す図
【図１７】ホストコンピュータのブロック図
【発明を実施するための形態】
【００１２】
＜実施例１＞
図１〜図１４は本発明による実施例を示す図である。これら図を参照して第1の実施例を説明する。
［システム構成］
図１は、本発明を表すシステムの全体図であり、ホストコンピュータ（すなわち情報処理装置）１０１、ＯＳサーバ１０２、印刷装置１０３はそれぞれネットワーク１００に接続されている。本実施例では、ホストコンピュータ１０１上のオペレーティングシステムのインストーラはＣＤ−ＲＯＭなどの外部メディアやネットワーク上のＯＳサーバ１０２から供給され、ホストコンピュータのＲＡＭにロードされたプログラムをＣＰＵで実施することによって実現されるものとする。
【００１３】
図１７は、ホストコンピュータ１０１の装置内部構成を示すブロック図である。ホストコンピュータ１０１において、ＣＰＵ１１１は、ＲＡＭ１１２に記憶されているプログラムに従って、システムバス１１４に接続される各デバイスを総括的に制御している。このＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等としても機能している。ＲＯＭ１１３は、システムの基本的な各種プログラム及びデータを格納している。表示操作部Ｉ／Ｆ１１５は、表示操作部１１６への情報の表示制御を行う。また、表示操作部１１６は表示機能を持つと同時にタッチパネルとなっておりユーザからの入力を制御する。ネットワークＩ／Ｆ１１７はネットワークモジュール１１８の制御を行い、ネットワーク通信を実現する。外部メモリＩ／Ｆ１１９は、例えばフラッシュメモリー、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ等の外部メモリ１２１とのアクセスを制御する。外部メモリ１２１は、該オペレーティングシステムプログラム（以下、ＯＳ）１２２をはじめ各種アプリケーション１２６を記憶し、ホストコンピュータ１０１が保存または、読み取り可能な記憶媒体として機能する。なお、ＯＳ１２２はアプリケーションを動作させるためのアプリケーションフレームワーク１２３、ＯＳ１２２が提供する各種システムプログラム１２４、及び各種ユーティリティ関数などを格納したライブラリ１２５を備えている。またシステムプログラム１２４による各種設定はユーザ設定情報システム保存領域１３０に格納される。またアプリケーション１２６はアプリケーション実行コードを備えている。さらにアプリケーション１２６は、ユーザＩ／Ｆの制御部１２７、オペレーティングシステム１２２のシステムプログラム１２４により設定された値を取得する、システム設定取得部１２８を有する。また、ユーザがアプリケーション１２６で設定したユーザ設定情報の保存領域１２９を備えている。アプリケーション１２６の一例に、プリンタドライバ等のデバイスドライバをインストールするためのインストーラがある。またＯＳ１２２は、新アーキテクチャ（あるいは新世代）のプリンタドライバをサポートするバージョンのオペレーティングシステムである。ＯＳ１２２はさらに、旧アーキテクチャーのプリンタドライバ（或いは旧世代プリンタドライバ）に対しても互換性を有しており、旧アーキテクチャーのプリンタドライバ（或いは新世代プリンタドライバ）を一定の制限の下でインストールできる。新世代のプリンタドライバをネイティブプリンタドライバ、旧世代のプリンタドライバを互換プリンタドライバとも呼ぶ。一定の制限とは、たとえば所定の基準日以前に作成または認証された互換プリンタドライバのインストールを許すが、基準日以降に作成または認証された互換プリンタドライバのインストールを許さないなどというものである。あるいは、基準日以降に作成または認証された互換プリンタドライバのインストールを、所定の日付までは許すが、それ以降は許さないなどという制限もあり得る。
【００１４】
なお、ＯＳサーバ１０２の装置内部構成は、基本的に図１７のホストコンピュータ１０１の装置内部構成と同じである。ＯＳサーバ１０２は、ネットワーク１００に接続されているホストコンピュータ１０１からの更新情報の問い合わせを受けた場合、データベース（図示せず）に保存されているＯＳの更新情報を比較し、必要に応じて問い合わせ元のホストコンピュータ１０１へデータベースに保存されているＯＳのデータを送信する。
【００１５】
［プリンタドライバインストール基本フロー］
本実施例では、更新対象のソフトウェアとしてプリンタドライバを例に説明する。まずはこのプリンタドライバのインストールについて説明する。インストール対象となるプリンタドライバは図２に示すようなモジュール群で構成されている。プリンタドライバ２０１は、グラフィックレンダリングモジュール２０２、ＵＩ制御モジュール２０３、プリンタ仕様記述ファイル２０４、色処理モジュール２０５、入出力制御モジュール２０６を含む。なお、プリンタドライバの機能によってはこの他のモジュールから構成されることもある。
【００１６】
このプリンタドライバ２０１はいくつかの構成の仕方がある。たとえばひとつのプリンタドライバで複数のプリンタを対応するために、グラフィックレンダリングモジュール２０２およびＵＩ制御モジュール２０３を複数のプリンタに対応できるように構成しておく。この場合、プリンタ仕様記述ファイル２０４に関しては、対応しているプリンタ分、プリンタドライバに同梱しておく。このような構成で、ＵＩ制御モジュール２０３はプリンタ仕様記述ファイル２０４に合わせてＵＩを表示し、制御する。またグラフィックレンダリングモジュール２０２は、各プリンタに合わせたページ記述言語およびプリンタ制御コマンドを発行する。すなわち各プリンタに合わせたページ記述言語およびプリンタ制御コマンドで構成される印刷ジョブを作成する。
【００１７】
次に、このような構成のプリンタドライバ２０１をホストコンピュータ１０１へインストールする基本手順を説明する。図３（ａ）はプリンタドライバのインストール手順を示したものである。ユーザはプリンタドライバが格納されたＣＤ−ＲＯＭを準備するか、ネットワーク経由でプリンタドライバインストーラを入手しているものとする。ユーザは入手したステップ３０１（図３（ａ）では"Ｓ３０１"と表示。以降同様）において、ユーザは入手したプリンタドライバインストーラ（以下、単にインストーラとも呼ぶ。）を起動する。ユーザはインストーラを外部メモリ１２１に複製してから起動してもよいし、ＣＤ−ＲＯＭに格納されていればそのまま起動してもよい。起動されたインストーラは、オペレーティングシステムによりＲＡＭ１１２に展開されＣＰＵ１１１により実行される。この動作をきっかけとしてステップ３０２において、インストーラはプリンタドライバ２０２の各モジュールを外部メモリ１２１の所定の場所に格納する。格納場所は印刷システムによって異なるが、一例として、ＣＵＰＳ（Ｃｏｍｍｏｎ  Ｕｎｉｘ  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）では、／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／である。
【００１８】
このディレクトリ以下にベンダー毎にプリンタドライバモジュールを格納することになっている。さらにベンダー毎のディレクトリの下にさらにプリンタドライバの種類に分けて格納することも可能である。たとえば、ＡＢＣというベンダーのＰＤＬ１とＰＤＬ２という異なるプリンタドライバがあるとき、それぞれ
／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／ＡＢＣ／ＰＤＬ１／、
／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／ＡＢＣ／ＰＤＬ２／
というディレクトリを作成して、そのディレクトリ下にプリンタドライバを格納することが可能となっている。
【００１９】
次に、ステップ３０２ではプリンタドライバ２０１の各モジュールを外部メモリ１２１の上記ディレクトリに格納する動作となる。これでプリンタドライバのインストールは完了するが、実際にプリンタに出力するには、ユーザはプリンタドライバ２０１を使用してプリンタを登録する必要がある。
【００２０】
［プリントキュー登録手順］
図３（ｂ）はプリントキューを登録する手順を示したものである。この手順に沿って、必要な図を用いながら流れを説明する。図３（ｂ）は、ユーザ操作に応じてオペレーティングシステムにより実行される処理である。
【００２１】
ステップ４０１において、ユーザはプリントキュー登録のダイアログを開く。このステップにおいて、ＯＳ１２２はプリンタ登録のためのプログラムコードを外部メモリ１２１からＲＡＭ１１２に読みだして実行する。図４（ａ）はＯＳ１２２が表示するプリンタ登録ダイアログ５０１を示したものである。ユーザが、プリントキュー登録のためにＯＳ１２２により用意されているアイコン等を操作すると、その操作に応じてＯＳ１２２がプリンタ登録ダイアログ５０１を表示する。このプリンタ登録ダイアログ５０１すなわちプリンタ登録ユーザＩ／Ｆには、現在登録されているプリンタ一覧を表示するための登録プリントキューリスト５０２、そして登録プリントキューリスト５０２で選択されているプリンタの詳細情報を表示するプリンタ詳細表示領域５０３が含まれる。また、この画面には、プリントキューを登録するためのボタン５０４、現在登録プリントキューリスト５０２で選択されているプリンタを削除するためのボタン５０５も表示される。なお、ボタン５０６はこのダイアログを閉じるためのボタンである。
【００２２】
次にステップ４０２において、ユーザはプリンタ登録ダイアログ５０１のプリントキュー追加ボタン５０４をクリックする。このユーザ操作に応じて、ステップ４０３においてＯＳ１２２はプリントキュー登録ダイアログ６０１を表示する。ここで表示されたダイアログ６０１に対して、ユーザはステップ４０４おいて、必要な情報を入力して、プリントキューすなわち論理プリンタの追加を行う。図４（ｂ）はＯＳ１２２が表示するプリントキュー登録ダイアログを示したものである。プリントキュー登録ダイアログ（プリンタ追加ダイアログとも呼ぶ）６０１において、テキストボックス６０２は接続されているプリンタのネットワークアドレスこの例ではＩＰアドレスを指定するコントロールである。テキストボックス６０３はプリントキューを識別するためのプリンタの名前を入力するコントロールである。テキストボックス６０４はプリンタが設置されている場所を入力するコントロールである。プリンタの名前６０３およびプリンタの場所６０４は、登録プリントキューリスト５０２およびプリンタ詳細５０３に表示する際に使用される文字列となる。ドロップダウンリスト６０５はプリントキューを登録する際に、プリントキューが使用するプリンタドライバを選択するコントロールである。ここでリストされるプリンタドライバは、先に説明したＯＳ１２２のプリンタドライバ格納ディレクトリ（／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ）に格納されているプリンタドライバをＯＳ１２２がリストし、そのリストから選択される。図４（ｂ）の例では、アドレスが１９２．１６８．１．１０、プリントキューの名前が"ＰｒｉｎｔｅｒＣ"、場所が"２Ｆ"、またプリンタドライバとして"ＡＢＣ  ＰＤＬ１"を選択している状態である。この状態で追加ボタン６０６をクリックすると、ＯＳ１２２は指定されたパラメータを持つプリントキューを追加登録する。なお、追加を行わないでこのダイアログを閉じるときはダイアログクローズボタン６０７をクリックする。
【００２３】
次にステップ４０５において、ＯＳ１２２はユーザが指定したプリントキューをシステムに登録する。このステップについて、図５〜図６（ｃ）を使用して詳細な説明を行う。
【００２４】
図５はすでにプリンタドライバがインストールされ、さらにプリントキューが登録された状態を示すシステムブロック図である。図５において、グラフィックレンダリングモジュール７０３は前述した手順によりＯＳ１２２の所定のディレクトリ（／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／）にインストールされたプリンタドライバのグラフィックレンダリングモジュール２０２である。同様に、ＵＩ制御モジュール７０５は、インストールされたプリンタドライバのＵＩ制御モジュール２０３である。色処理モジュール７０４は、インストールされたプリンタドライバの色処理制御モジュール２０５である。入出力制御モジュール７０８は、インストールされたプリンタドライバの入出力制御モジュール２０６である。また、プリンタ仕様記述ファイル７０６は、インストールされたプリンタドライバのプリンタ仕様記述ファイル２０４である。なお７０７のバックエンドモジュールはＯＳ１２２が提供するものであり、グラフィックレンダリングモジュール７０３が生成した印刷データを、該データをプリンタへ送信する入出力制御モジュール７０８へ受け渡しするためのモジュールである。また、プリントキュー登録情報７０９、プリンタ仕様記述ファイル７１０、プリンタ設定ファイル７１１は、図３（ｂ）のステップ４０５におけるプリンタ登録の過程でＯＳ１２２が生成するものであり、以下その詳細を説明する。
【００２５】
ステップ４０５において、ＯＳ７０２はプリントキュー登録ダイアログ６０１に入力された情報をあつめ、プリンタの登録作業を行う。この登録は以下のように実行される。図６（ａ）は登録するプリントキューの情報が記述されたファイルであり、マークアップ言語で記述している。このファイルは例えば、プリントキュー登録ダイアログ６０１において各項目への入力が行われた後、追加ボタン６０６が押されたことをきっかけとして作成される。プリンタータグ８０１はプリントキューの識別子を含み、識別子はプリンタ名とプリンタのアドレスとをアンダースコアでつなげて記述されている。プリンタ名８０２はプリンタの名前を記述している。設置場所８０３は入力された場所を記述している。アドレス８０４は実際のプリントキューの記述を行っており、この例ではｌｐｄプロトコルにより１９２．１６８．１．１０のＩＰアドレスに送信することを示す。プリンタドライバ名８０５はこのプリンタが使用するプリンタドライバの名称（ここではＡＢＣ  ＰＤＬ１）を記述している。プリンタータグ８０６はこのプリンタの記述が終了することを示している。ＯＳ７０２はステップ４０５においてこのプリントキュー登録情報を作成し、このプリントキュー登録情報を外部メモリ１２１の所定のファイルに追記する。所定のファイルとは、たとえばＣＵＰＳシステムでは、／ｅｔｃ／ｃｕｐｓ／ディレクトリに格納されているｐｒｉｎｔｅｒｓ．ｃｏｎｆファイルである。これがプリントキュー登録情報７０９となる。なお、複数のプリントキューが登録されている場合、ｐｒｉｎｔｅｒｓ．ｃｏｎｆにはそのプリントキュー分、それぞれの対応するプリンタに対して図６（ａ）の記述が繰り返されることになる。
【００２６】
続いてステップ４０５においてＯＳ７０２はプリンタ仕様記述ファイル７０６をシステムに登録する。図５においてＯＳ７０２はプリンタドライバのＵＩ制御モジュール７０５から登録するプリンタのプリンタ仕様記述ファイル７０６を取得し、プリントキューごとに用意されたシステム所定の箇所にプリンタ使用記述ファイル７１０を登録する。
【００２７】
プリンタ仕様記述ファイル７０６の登録の方法を説明する前に、プリンタ仕様記述ファイル７０６そのものの説明を行う。図６（ｂ）はプリンタ仕様記述ファイル７０６の一例を示したものである。このファイルはプリンタの仕様記述フォーマットに沿って記述される。以下、フォーマットも踏まえながら説明する。行９０１はコメントを記述している。コメントは行頭が"＊％"となっている。行９０２はベンダー名を記述している。行９０３はこのプリンタ仕様記述ファイル７０６が対応するプリンタ名を記述している。行９０４はこのプリンタ仕様記述ファイル７０６が対応しているページ記述言語を記述している。行９０５はプリンタドライバのバージョンを記述している。このあと、このプリンタの機能仕様が記述されている。機能仕様は、＊ＯｐｅｎＵＩの行から＊ＣｌｏｓｅＵＩの行までがひとつの機能となっている。＊ＯｐｅｎＵＩのあとには"＊"を先頭に付加した機能名、機能名の後には"："で区切り、その機能の選択する際の種類を示す。この種類には、"ＰｉｃｋＯｎｅ"と"Ｂｏｏｌｅａｎ"があり、"ＰｉｃｋＯｎｅ"は選択肢の中からひとつを選択する機能であることを表している。また、"Ｂｏｏｌｅａｎ"はこの機能がＯｎ／Ｏｆｆで制御されることを表している。
【００２８】
行９０６は、＊ＰａｇｅＳｉｚｅという機能であり、この機能は選択肢のなかからひとつを選択するものであること（ＰｉｃｋＯｎｅ）を表している。行９０６の次の行にはこの機能のデフォルト値を行９０７に記述する。この行は文字列"＊Ｄｅｆａｕｌｔ"で始まり、この後につづけて前の行で定義した機能名を付加する。この行では、ＰａｇｅＳｉｚｅという機能のデフォルトがＡ４であることを示している。次の行から行９１０の＊ＣｌｏｓｅＵＩのところまではこの機能の選択肢を１行に１選択肢記述する。たとえば行９０８では、ＰａｇｅＳｉｚｅの選択肢のひとつとしてＡ３があることを表している。なお、これはページサイズを選択する機能を記述しており、ページサイズは選択肢が多いため途中を省略している。この機能の最後の記述は行９１０であり、＊ＣｌｏｓｅＵＩの後に＊ＯｐｅｎＵＩで記述した機能名を記述する。これでひとつの機能が表現されている。つぎの行９１１から行９１６まではもうひとつの機能の記述である。重複する説明は省略するが、このブロックでは、Ｄｕｐｌｅｘという機能があり、どれかひとつの選択肢を選択するものであり、選択肢はＮｏｎｅ、Ｓｉｍｐｌｅｘ、Ｄｕｐｌｅｘから選択することを表している。実際にはこれは両面印刷指定の機能を表現したものであり、Ｎｏｎｅは指定しないためプリンタのデフォルト設定に従い、Ｓｉｍｐｌｅｘは片面、Ｄｕｐｌｅｘは両面印刷を意味する。
【００２９】
次に、ＯＳ７０２がこのプリンタ仕様記述ファイル７０６を登録する方法について説明する。ＯＳ７０２はプリンタに対応するこのプリンタ仕様記述ファイル７０６をＵＩ制御モジュール７０５から取得し、システムの所定の場所に格納する。図６（ｃ）は格納場所とそのファイルを例示したものである。格納場所は外部メモリ１２１の／ｅｔｃ／ｃｕｐｓ／ｐｐｄ／ディレクトリ、格納するファイルはファイル名としてプリンタの名前とそのあと、アンダースコアに続いてプリンタのアドレスを付加したファイル名としている。ここで追加したプリンタ仕様記述ファイル７１０は"ＰｒｉｎｔｅｒＣ＿１９２．１６８．１．１０＿．ｐｐｄ"１００４となっている。図５において、ＯＳ７０２はプリンタ仕様記述ファイル７０６をプリンタ仕様記述ファイル７１０に格納していることを示している。以上のステップにより、プリントキューの登録が完了する。
【００３０】
［ＯＳの更新方法］
次に、ホストコンピュータ１０１内のＯＳ１２２の更新方法の一例を説明する。図７において、まずユーザがホストコンピュータ１０１の電源を入れるなどして、起動操作を行う（Ｓ１１０１）。その後、ＲＯＭ１１４などに記録されているシステムＢＩＯＳ、ブートローダーなどが順に起動され、次にＯＳ１２２が起動される（Ｓ１１０２）。ステップ１１０３以下はＯＳ１２２による処理となる。ＯＳ１２２の起動後、ＯＳ１２２はネットワーク１００上のＯＳサーバ１０２に記憶されているＯＳ１７２の更新情報を問い合わせる（Ｓ１１０３）。ＯＳ１２２はその応答を受信し、更新情報があるとＯＳ１２２が判断した場合（Ｓ１１０４）、ＯＳ１２２は前記ネットワーク１００上のＯＳサーバ１０２からＯＳ１２２の更新版をダウンロードし、インストールする（Ｓ１１０５）。ステップ１１０５の更新処理は更新されるソフトウェアの数分だけ繰り返され、更新するソフトウェアがないと判断した（Ｓ１１０８）後、およびＳ１１０４で更新情報がないと判断した場合、ＯＳ１２１の起動は完了する（Ｓ１１０７）。
【００３１】
［ＯＳの更新時期とドライバの作成（あるいは認証受領）時期との相関］
本実施例を説明する上でのＯＳの更新時期とドライバの作成（あるいは認証受領）時期との相関の一例を図８に示す。
【００３２】
基準日１２０１は、、旧アーキテクチャーのプリンタドライバが、レガシードライバであるかニュードライバであるかを区別するための日付である。基準日１２０１以前に作成または認証された旧アーキテクチャーのドライバはレガシードライバと定義され、基準日１２０１より後に作成または認証された旧アーキテクチャーのドライバはニュードライバと定義される。本例では、ＯＳは、レガシードライバのインストールを制限しないが、ニュードライバのインストールを制限する。基準日１２０１を以降、Ｙデーとも呼ぶ。図の例で言えば、Ｙデーは２０ｘｘ年７月０１日であり、同年の３月３１日に作成、または認証されたプリンタドライバ１２０３はレガシードライバである。一方、Ｙデーよりあとの２０ｘｘ年１１月３０日に作成、または認証されたプリンタドライバ１２０４はニュードライバである。
【００３３】
次に、ＯＳの更新によりニュードライバ１２０４がインストールできなくなってしまう境界の日付である期限日１２０２をここではＸデー１２０２とも呼び、同図では２０ｙｙ年１月１日とする（ただし、ｙｙはｘｘ以降とする）。図でも表わしているように、Ｘデー以前では古いアーキテクチャーのプリンタドライバのレガシードライバ１２０３、ニュードライバ１２０４の両方ともインストール可能であるが、Ｘデー以降はニュードライバ１２０４はこのＯＳにはインストールできなくなる。
【００３４】
［ドライバのインストールファイルセット］
次に、本実施例を表すプリンタドライバのインストールファイルのセット（全構成）を図９に示す。インストールセット１３０１は通常、コンパクトディスクやＤＶＤなどのメディア１３００に記録され印刷装置１０３と一緒に商品として同梱されている。このメディア１３００の中にはインストールセット１３０１の他にも印刷装置１０３を使用する上で便利なアプリケーションソフトウェアなども含まれることが多い。インストールセット１３０１はプリンタドライバとともに頒布されるソフトウェアであり、プリンタドライバをインストールするためのインストーラ１３０２やインストーラ１３０２が動作するために必要なインストーラ用参照ファイル１３０３、インストーラが付加的にインストールするモジュールや機能上必要とするモジュールなどを含んだインストーラ用関連ファイル１３０４、そしてインストールされるプリンタドライバそのもののドライバセット１３０５などで構成される。インストーラ用参照ファイル１３０３やインストーラ用関連ファイルなどはドライバに関連付けられている。
【００３５】
図９ではインストーラ用参照ファイル１３０３を更に詳細に説明している。インストーラ用参照ファイルは一般的にテキストファイルであり、プリンタドライバ１３０５をインストール可能なＯＳを定義している章（図では「インストール可能ＯＳ」と記す）やレガシードライバとニュードライバの判定分岐日となるＹデー（基準日）などが記載されている。インストール可能なＯＳを定義している情報は、オペレーティングシステムに対する互換情報と呼ぶこともできる。ドライバセット１３０５には、インストールされるプリンタドライバを構成するドライバモジュールファイルの他に、インストールされるドライバファイルの詳細を定義している情報ファイル（図ではＩＮＦファイルと示す）やプリンタドライバをＯＳにインストールする際に事前に認証を受けたことを証明する認証ファイル（図ではカタログファイルと示す）などが含まれる。認証ファイルは、認証を受けたことを示す認証情報と呼ぶこともできる。
【００３６】
［プリンタドライバ更新処理］
プリンタドライバインストーラ１３０２の動作フローを図１０に示す。ユーザがインストーラのモジュール１３０２をマウス（図示せず）のダブルクリックなどで起動させたのち、ステップ（図では"Ｓ"と記載）１４０１で、インストーラ１３０２が起動されたＯＳ１２２の属性情報特にバージョン情報を読みこむ。なおインストール対象のドライバは、たとえばインストーラがホストコンピュータに接続されたデバイスに適合するものを選択肢として示し、そのうちからユーザにより選択されたものなどである。該当する選択肢がひとつであれば、それをインストール対象としても良い。
【００３７】
次にステップ１４０２でインストーラ１３０２用の参照ファイル１３０３の記載内容を読みこむ。本実施例ではどのＯＳにインストール可能か否かの情報と、レガシードライバとニュードライバの判定分岐日となる基準日（Ｙデー）の情報（図では"ＬＩＭ"）を読み込む。ステップ１４０３では、ステップ１４０１、および１４０２で読み込んだ情報に基づいて、現在動作中のＯＳが対象ドライバをインストール可能なＯＳでない（図ではＩＤ＝０）かどうかを判定する。ステップ１４０３での判定結果がＹＥＳ（すなわちインストール不可）であれば起動中のＯＳはインストーラ１３０２のサポート外ＯＳである旨のメッセージをステップ１４０４で表示し、インストーラの動作を終了する。一方、ステップ１４０３での判断がＮＯ、つまり現在動作中のＯＳが、対象ドライバをインストール可能なＯＳであると判断した場合には、次のステップ１４０５でプリンタドライバのインストール動作を開始する。プリンタドライバのインストールは、たとえばインストーラがオペレーティングシステムのＡＰＩ等を用いることでオペレーティングシステムと協働して追行する。インストールは例えばアーカイブされたファイルの回答及び複製と、種々の設定項目の設定、レジストリ等への登録などを含む。したがってインストール処理においては、インストーラ自身が検出したエラーやオペレーティングシステムで検出されたエラーなどによりインストールが失敗する場合もある。
【００３８】
なんらかの理由で該プリンタドライバインストーラ１３０２がエラーを検知（あるいは検出）した場合（ステップ１４０６）、ステップ１４０７でプリンタドライバファイル１３０５に含まれるカタログファイルの作成された時間情報（以降、タイムスタンプと呼ぶ：図では"ＴＳ"）とステップ１４０２で読み込んだＹデーの情報（ＬＩＭ）とを比較する（ステップ１４０８）。カタログファイルのタイムスタンプがＹデーより前の日付であれば、プリンタドライバはレガシードライバであり、本来は正しくこのＯＳにインストールできるはずである。そのため、インストールに失敗した原因は、プリンタドライバがニュードライバであることにはなく、別原因のエラーであると考えられる。そこで、従来の機能と同じくインストールエラーが発生した旨のエラーメッセージを表示する（ステップ１４１０）。
【００３９】
一方、ステップ１４０８でカタログファイルのタイムスタンプがＹデー以降の日付であれば、インストールしようとしたプリンタドライバがニュードライバとＯＳ１２２に判断されて、インストールできなくなっている可能性がある。そこでその場合には、インストールしようとしたドライバがニュードライバのためにインストールできない旨のエラーメッセージをステップ１４１０で表示する。このようにステップ１４０８はインストールエラーの原因判別を行うための工程である。
【００４０】
図１１には、各エラーメッセージの表示例を表しており、ステップ１４０４の表示例をエラーメッセージ１５０１に、ステップ１４０９の表示例をエラーメッセージ１５０３に、そしてステップ１４１０の表示例をエラーメッセージ１５０５にそれぞれ表す。
【００４１】
以上の構成及び手順のように、本実施例のプリンタドライバインストーラは以下のように動作する。なお本例では、図８に示す期限日であるＸデーについては参照ファイルに記録されておらず、オペレーティングシステムだけが期限日を知っているものとしている。
１．インストールセットに含まれたインストーラ用参照ファイルから、インストール可能ＯＳおよびレガシー／ニュードライバの基準となる基準日を読み取る。
２．インストーラが稼働しているＯＳに、インストール（クリーンインストールおよび上書きインストールを含む）しようとする対象ドライバをインストール可能か否かを判定する。可能なら、対象ドライバのインストールを開始する。インストールは、たとえばドライバモジュールをはじめとするプログラムやデータファイルの複製と、ＯＳへの登録とにより行われる。可能でないならその旨のメッセージを出力する。
３．インストール中にエラーが発生していないかチェックする。エラーが発生したなら、カタログファイル（すなわち認証情報）が作成された作成日（または認証日）を参照し、参照ファイルに含まれた基準日と比較する。カタログ情報の作成日が基準日以後であれば、エラーは、ＯＳがその作成日のドライバのインストールを許していないために生じた可能性がある。そこでその旨のメッセージを出力する。そうでなければ、その他のエラーが生じたものとしてメッセージを出力する。なお、カタログファイルの作成日が基準日以後であるか基準日より前であるかを判定しているが、カタログ情報の作成日が基準日より後であるか基準日以前であるかを判定してもよい。これは基準日の定義次第である。
【００４２】
このようにして、インストールが失敗した場合に、その原因が、インストール対象のドライバのカタログ情報の作成日が基準日以後（あるいは基準日よび後）であることにある可能性を、ユーザに提示することができる。すなわち、インストールを制限された旧世代の（旧アーキテクチャーの）ドライバをインストールしようとしたことが失敗の原因となった可能性をユーザに知らせることができる。
【００４３】
＜実施例２＞
次に、第二の実施例を表すプリンタドライバのインストールファイルのセット（全構成）を図１２に示す。インストールセット１６０１は通常、コンパクトディスクやＤＶＤなどのメディア１６００に記録され印刷装置１０３と一緒に商品として同梱されている。このメディア１６００の中にはインストールセット１６０１の他にも印刷装置１０３を使用する上で便利なアプリケーションソフトウェアなども含まれることが多い。インストールセット１６０１はプリンタドライバとともに頒布されるソフトウェアであり、プリンタドライバをインストールするためのインストーラ１６０２やインストーラ１６０２が動作するために必要なインストーラ用参照ファイル１６０３、インストーラが付加的にインストールするモジュールや機能上必要とするモジュールなどを含んだインストーラ用関連ファイル１６０４、そしてインストールされるプリンタドライバそのもののファイルセット１６０５などで構成される。
【００４４】
同図ではインストーラ用参照ファイル１６０３を更に詳細に説明している。この参照ファイル１６０３は一般的にテキストファイルとなっており、プリンタドライバ１６０５をインストール可能なＯＳを定義している章（図では「インストール可能ＯＳ」と記す）やレガシードライバとニュードライバの判定分岐日となるＹデー（基準日）と、さらにＯＳ１２２の更新によりＮｅｗドライバ１２０４がインストールできなくなってしまう境界の日付情報としてのＸデー（期限日）などの情報が記載されている。
【００４５】
プリンタドライバファイル１６０５には、インストールされるプリンタドライバを構成するファイルの他に、インストールされるドライバファイルの詳細を定義している情報ファイル（図ではＩＮＦファイルと示す）やプリンタドライバをＯＳにインストールする際に事前に認証を受けたことを証明する認証ファイル（図ではカタログファイルと示す）などが含まれる。
【００４６】
次に、本第二の実施例を表す、プリンタドライバインストーラ１６０２の動作フローを図１３に示す。ユーザがインストーラのモジュール１３０２をマウス（図示せず）のダブルクリックなどで起動したのち、ステップ１７０１で、インストーラ１６０２が起動されたＯＳ１２２のバージョン情報を読みこむ。なおインストール対象のドライバは、たとえばインストーラがホストコンピュータに接続されたデバイスに適合するものを選択肢として示し、そのうちからユーザにより選択されたものなどである。該当する選択肢がひとつであれば、それをインストール対象としても良い。
【００４７】
次にステップ１７０２でインストーラ用参照ファイル１６０３の記載内容を読みこむ。本実施例ではどのＯＳにインストール可能か否かの情報とレガシードライバとニュードライバの判定分岐日となるＹデーの情報（図では"ＬＩＭ１"）、およびＯＳ１２２の更新によりニュードライバ１２０４がインストールできなくなってしまう境界の日付情報としてのＸデー（期限日）の情報（図では"ＬＩＭ２"）などを読み込む。ステップ１７０３では、ステップ１７０１、および１７０２で読み込んだ情報に基づいて、現在動作中のＯＳが、インストール対象ドライバをインストール可能なＯＳでない（図ではＩＤ＝０）かどうかを判定する。ステップ１７０２の判定でＹＥＳ（すなわちインストール不可）であれば、起動中のＯＳはインストーラ１６０２のサポート外ＯＳである旨のメッセージをステップ１７０４で表示し、インストーラの動作を終了する。一方、ステップ１７０３の判断がＮＯ、つまり現在動作中のＯＳが、対象ドライバをインストール可能なＯＳであると判断した場合には、次のステップ１７０５でプリンタドライバのインストール動作を開始する。
【００４８】
なんらかの理由で該プリンタドライバインストーラ１６０２がエラーを検知した場合（ステップ１７０６−ＹＥＳ）、ステップ１７０７でプリンタドライバファイル１６０５に含まれるカタログファイルの作成された時間情報（図では"ＴＳ"）と読み込んだＹデーの情報（ＬＩＭ１）とを比較する（ステップ１７０８）。カタログファイルの作成日がＹデーすなわち基準日以降であれば（すなわちニュードライバであれば）ステップ１７０９に分岐する。次にステップ１７０９では、現在の日時情報をＯＳ１２２から取得し、Ｘデーの情報（ＬＩＭ２）と比較する。ここで現在の日時がＸデー（ＬＩＭ２）すなわち期限日より前でなければ（すなわち現在の日付が期限日以降であれば）、インストールされるプリンタドライバはＹデーを過ぎて作成されたドライバであり、かつ現在の日時も既にＸデーを過ぎてしまっていると判断される。これらのことからインストール対象のプリンタドライバがニュードライバとＯＳ１２２に判断されて、インストールできなくなっている可能性がある旨のエラーメッセージ１５０３をステップ１７１０で表示する。
【００４９】
一方、プリンタドライバのカタログファイルのタイムスタンプがＹデーより前の期日であるか、あるいはＹデー以降のものであっても現在の日時がＸデーより前であれば、インストール対象のプリンタドライバは、本来は正しくこのＯＳにインストールできるはずである。そのため、別原因のエラーであることから、従来の機能と同じくインストールエラーが発生した旨のエラーメッセージ１５０５を表示する（ステップ１７１１）。
【００５０】
ステップ１７０４の表示例、ステップ１７１０の表示例、およびステップ１７１１の表示例は第一の実施例と同様、図１１に表す。本実施例では、ステップ１７０４が１５０１、ステップ１７１０が１５０３、そしてステップ１７１１が１５０５である。
【００５１】
以上の構成及び手順により本実施例によれば、ドライバのインストールに失敗した場合に、ニュードライバを期限日以降にインストールしようとしたことが失敗の原因である可能性をユーザに提示することができる。すなわち、インストールを制限された旧世代の（旧アーキテクチャーの）ドライバをインストールしようとしたことが失敗の原因となった可能性をユーザに知らせることができる。
【００５２】
＜実施例３＞
次に、第三の実施例を表すプリンタドライバのインストールファイルのセット（全構成）を図１４に示す。インストールセット１８０１は通常、コンパクトディスクやＤＶＤなどのメディア１８００に記録され印刷装置１０３と一緒に商品として同梱されている。このメディア１８００の中にはインストールセット１８０１の他にも印刷装置１０３を使用する上で便利なアプリケーションソフトウェアなども含まれることが多い。インストールセット１８０１はプリンタドライバとともに頒布されるソフトウェアである。インストールセット１８０１は、プリンタドライバをインストールするためのインストーラ１８０２やインストーラ１８０２が動作するために必要な世代ごとのプリンタドライバ用のインストーラ用参照ファイル１８０３とインストーラ用参照ファイル１８０４を含む。さらにインストールセット１８０１は、インストーラが付加的にインストールするモジュールや機能上必要とするモジュールなどを含んだインストーラ用関連ファイル１８０５、そしてインストールされるプリンタドライバそのものである世代ごとのドライバファイルセット１８０６、１８０７などで構成される。なお図１４の例では、ひとつのデバイス（ここではプリンタ）向けのインストーラ用参照ファイルおよびドライバファイルとして、第Ｎ世代のファイルおよび、それよりも１世代新しい第Ｎ＋１世代のファイルが含まれている。
【００５３】
第Ｎ＋１世代ドライバとは、ＯＳ１２２が進化していく過程でドライバの構成や動作条件、動作内容など、大きく第Ｎ世代ドライバから進化したドライバをここでは便宜的にこう呼ぶことにする。これは例えばＷｉｎｄｏｗｓ（登録商標）で言えば、ＷｉｎｄｏｗｓＮＴ３．５１まで対応していたＶ１ドライバ、ＷｉｎｄｏｗｓＮＴ４．０からＷｉｎｄｏｗｓＸＰまで対応していたＶ２ドライバなどが相当すると考えて良い。本実施例では、ひとつのインストーラセットの中に複数世代のプリンタドライバを内包しているケースであり、図下部のインストーラ用参照ファイル１８０４は、第Ｎ世代プリンタドライバ用のインストーラ用参照ファイル１８０３との差分のみを記載した記述例である。ファイルセット１８０７は第Ｎ＋１世代プリンタドライバ用ファイルセットであり、ドライバそのものは異なるものの、ファイル構成については基本的には第Ｎ世代プリンタドライバのファイル構成と大きな違いはないものとする。
【００５４】
同図では第Ｎ世代プリンタドライバ用のインストーラ用参照ファイル１８０３を更に詳細に説明している。このインストーラ用参照ファイル１８０３は、一般的にテキストファイルとなっており、プリンタドライバ１８０６をインストール可能なＯＳを定義している章（図では「インストール可能ＯＳ」と記す）やレガシードライバとニュードライバの判定分岐日（基準日）となるＹデーなどが記載されている。プリンタドライバファイル１８０６には、インストールされるプリンタドライバを構成するファイルの他に、インストールされるドライバファイルの詳細を定義している情報ファイル（図ではＩＮＦファイルと示す）やプリンタドライバをＯＳにインストールする際に事前に認証を受けたことを証明する認証ファイル（図ではカタログファイルと示す）などが含まれる。
【００５５】
次に本実施例を表すフローチャートを図１５に示す。ユーザがインストーラのモジュール１８０２をマウス（図示せず）のダブルクリックなどで起動したのち、ステップ１９０１で、インストーラが起動されたＯＳ１２２のバージョン情報を読みこむ。なおインストール対象のドライバは、たとえばインストーラがホストコンピュータに接続されたデバイスに適合するものを選択肢として示し、そのうちからユーザにより選択されたものなどである。該当する選択肢がひとつであれば、それをインストール対象としても良い。本例では、第Ｎ世代プリンタドライバがインストール対象として選択されているものとする。次にステップ１９０２でインストーラ用参照ファイルのうち、第Ｎ世代インストーラ用の参照ファイル１８０３の記載内容を読みこむ。本実施例ではどのＯＳにインストール可能か否かの情報とレガシードライバとニュードライバの判定分岐日となるＹデーの情報（図では"ＬＩＭ"）を読み込む。ステップ１９０３では、ステップ１９０１、および１９０２で読み込んだ情報に基づいて、現在動作中のＯＳが、インストール対象ドライバをインストール可能なＯＳでない（図ではＩＤ＝０）かどうかを判定する。ステップ１９０３での判定がＹＥＳであれば起動中のＯＳはインストーラ１８０２のサポート外ＯＳである旨のメッセージをステップ１９０４で表示し、インストーラの動作を終了する。一方、ステップ１９０３の判断がＮＯ、つまり現在動作中のＯＳが、対象ドライバをインストール可能なＯＳであると判断した場合には、次のステップ１９０５でプリンタドライバのインストール動作を開始する。
【００５６】
なんらかの理由で該プリンタドライバインストーラ１８０２がエラーを検知した場合（ステップ１９０６−ＹＥＳ）、ステップ１９０７で第Ｎ世代用プリンタドライバファイル１８０６に含まれるカタログファイルの作成された時間情報（以降、タイムスタンプと呼ぶ：図では"ＴＳ"）と前記読み込んだＹデーの情報（ＬＩＭ）とを比較する（ステップ１９０８）。カタログファイルのタイムスタンプがＹデーより前の日付であれば、プリンタドライバは、本来は正しくこのＯＳにインストールできるはずである。そのため、オペレーティングシステムによる旧世代のドライバのインストール制限とは別原因のエラーであると判断できる。そのことから、従来の機能と同じくインストールエラーが発生した旨のエラーメッセージを表示する（ステップ１９１０）。一方、ステップ１９０８でカタログファイルのタイムスタンプがＹデー以降であれば、プリンタドライバがニュードライバとＯＳ１２２に判断されたことになる。そこで、ステップ１９０９ではプリンタドライバインストーラのインストール対象ドライバとして第Ｎ＋１世代プリンタドライバが同梱されているかどうかを参照ファイルの記載内容やファイルの存在等で判定する。第Ｎ＋１世代プリンタドライバが同梱されていると判断された場合には、次にステップ１９１０で、ユーザに対して第Ｎ＋１世代プリンタドライバをインストールして良いかどうかのメッセージを表示する。メッセージの表示例を図１６に示す。この画面でボタン２００２が押下されてインストールが指示されれば、第Ｎ＋１世代ドライバ（図ではＶ４ドライバ）をステップ１９１１でインストールする。一方、ボタン２００１の押下によりキャンセルされれば、ステップ１９１２で、インストール対象のプリンタドライバがニュードライバとＯＳ１２２に判断されて、インストールできなくなっている可能性がある旨のエラーメッセージを表示する。
【００５７】
なお、本実施例の判断に、第二の実施例で示した、Ｘデーとの比較を加えても良い。その場合には、図１５のステップ１９０９の直前に図１３のステップ１７０９を挿入し、判定の結果ＹＥＳならＳ１９１０に分岐させ、ＮＯならＳ１９０９に分岐させる。
【００５８】
以上の構成及び手順により本実施例によれば、ドライバのインストールに失敗した場合に、ニュードライバをインストールしようとしたことが失敗の原因である可能性をユーザに提示することができる。すなわち、インストールを制限された旧世代の（旧アーキテクチャーの）ドライバをインストールしようとしたことが失敗の原因となった可能性をユーザに知らせることができる。それに加えて、インストールの失敗がＯＳによる旧世代のドライバのインストールの制限にあるものと推定される場合には、新世代のドライバのインストールをユーザに促すことができる。
【００５９】
なお本実施例では、旧世代（第Ｎ世代）ドライバは例えばウインドウズ（登録商標）Ｖ３ドライバであり、新世代（第Ｎ＋１世代）ドライバはＶ４ドライバである。なお旧世代とは、オペレーティングシステムの世代のことであり、旧世代のオペレーティングシステム用のドライバが旧世代ドライバである。同様に、新世代のオペレーティングシステム用のドライバが新世代ドライバである。また実施例１，２におけるニュードライバおよびレガシードライバはいずれも旧世代ドライバであり、ニューＶ３ドライバおよびレガシーＶ３ドライバと呼ぶことができる。Ｖ４ドライバは、ウインドウズ（登録商標）８以降でサポートされており（すなわちインストール可能であり）、それより前の世代のウインドウズ（登録商標）にはサポートされていない。
【００６０】
［その他の実施例］
なお実施例ではインストーラを手動で起動するものとして説明したが、サーバ等からドライバの更新情報をホストコンピュータが受信し、それをきっかけとしてインストーラが実行される場合にも本実施例に係る発明を適用することができる。
【００６１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
１３０１  インストールセット、１３０２  インストーラ、１３０３  インストーラ用参照ファイル、１３０４  インストーラ用関連ファイル、１３０５  ドライバファイル
【図１】
2017162106.tif 000003
【図２】
2017162106.tif 000004
【図３】
2017162106.tif 000005
【図４】
2017162106.tif 000006
【図５】
2017162106.tif 000007
【図６】
2017162106.tif 000008
【図７】
2017162106.tif 000009
【図８】
2017162106.tif 000010
【図９】
2017162106.tif 000011
【図１０】
2017162106.tif 000012
【図１１】
2017162106.tif 000013
【図１２】
2017162106.tif 000014
【図１３】
2017162106.tif 000015
【図１４】
2017162106.tif 000016
【図１５】
2017162106.tif 000017
【図１６】
2017162106.tif 000018
【図１７】
2017162106.tif 000019