JP6557594B2 - インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法 - Google Patents

インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法 Download PDF

Info

Publication number
JP6557594B2
JP6557594B2 JP2015252410A JP2015252410A JP6557594B2 JP 6557594 B2 JP6557594 B2 JP 6557594B2 JP 2015252410 A JP2015252410 A JP 2015252410A JP 2015252410 A JP2015252410 A JP 2015252410A JP 6557594 B2 JP6557594 B2 JP 6557594B2
Authority
JP
Japan
Prior art keywords
architecture
driver
operating system
device driver
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015252410A
Other languages
English (en)
Other versions
JP2017117232A5 (ja
JP2017117232A (ja
Inventor
洋史 菊地
洋史 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015252410A priority Critical patent/JP6557594B2/ja
Priority to US15/375,461 priority patent/US10346102B2/en
Priority to CN201611215949.9A priority patent/CN107038002A/zh
Publication of JP2017117232A publication Critical patent/JP2017117232A/ja
Publication of JP2017117232A5 publication Critical patent/JP2017117232A5/ja
Application granted granted Critical
Publication of JP6557594B2 publication Critical patent/JP6557594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Description

本発明は、例えばコンピューター周辺装置の動作環境を設定するプラグアンドプレイ技術に関する。
コンピューターと周辺機器とを接続するだけで適切なドライバーが自動でコンピューターにインストールされて周辺機器が使用可能になる技術をプラグアンドプレイと呼ぶ。一方、複数のPDL(Page Description Language:ページ記述言語)をサポートするプリンターが存在する。これらのプリンターでは対応する全てのPDLに対するプラグアンドプレイID(PnP ID)を使用してコンピューターでプラグアンドプレイを実施させて、対応する全てのPDL用のプリンタードライバーをコンピューターにインストールすることができる。しかしながら特定のPDLしか使用しないユーザーにとって、使用しないPDL用のプリンタードライバーは必要ない。そのため特許文献1のようにどのPDLのプラグアンドプレイを発生させるかをプリンター上でユーザーに選択させることができる技術が知られている。
また、近年、Windows(登録商標)OS(Operating System)におけるV3プリンタードライバーとV4プリンタードライバー等のように、同じOS上で動作するアーキテクチャの異なるプリンタードライバーが存在する。アーキテクチャの異なるプリンタードライバーは見た目や使用方法が異なるため、どちらのアーキテクチャのプリンタードライバーを使用するかも含めて特許文献1の方法でユーザーにPnP IDを選択させることができるプリンターも出てきている。
特開2007−097156号公報
しかしながら、将来、OSが古いアーキテクチャのプリンタードライバーをサポートしなくなることが考えられる。特許文献1の方法で、サポートされない古いアーキテクチャのプリンタードライバー用のPnP IDがプリンターに設定してあると、将来のOSにおいて該当するプリンタードライバーがプラグアンドプレイでインストールできなくなるという課題が生じる。ユーザーはPnP IDを新しいアーキテクチャのプリンタードライバー用のPnP IDに変更しておくことでプラグアンドプレイインストールできるようになるが、手間がかかる。なお、プリンターは周辺装置の一例であり、他の周辺装置についても同様である。
本発明は上記従来例に鑑みて成されたもので、プラグアンドプレイの対象を選択し直すことなく適切なプリンタードライバーをプラグアンドプレイでインストールできる、インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法を提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。
本発明の第1の側面によれば、周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われる。
また本発明の第2の側面によれば、周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
当該プログラムは、
デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われる。
本発明によれば、プラグアンドプレイの対象を選択し直すことなく適切なプリンタードライバーがプラグアンドプレイでインストールできる。
コンピューターとプリンターとの接続形態を示す図である。 コンピューターとプリンターの構成を示す図である。 PnP IDを選択させるプリンターパネルのUI遷移を示す図である。 実施例1、2におけるドライバーのインストールセットの構成を示した図である。 第一、第二のV3セットアップ情報ファイルの内容を示した図である。 第一、第二のV4セットアップ情報ファイルの内容を示した図である。 実施例1のインストーラーのプラグアンドプレイインストール処理フローである。 OSのプラグアンドプレイ処理のフロー図である。 実施例2のインストーラーのプラグアンドプレイインストール処理フローである。 実施例3におけるドライバーのインストールセットの構成を示した図である。 第三のV3、V4セットアップ情報ファイルの内容を示した図である。
以下、本発明を実施するための形態について図面を用いて説明する。
<コンピューターと周辺装置とを含むシステム>
図1は実施例1における情報処理装置であるコンピューター1000とプリンター2000との接続形態を示す図である。ここでは周辺装置の一例としてプリンターを用いて説明する。図1(a)ではネットワーク100に対してコンピューター1000とプリンター2000が接続されている。本実施例はプラグアンドプレイに関するものであるが、図1(a)はWSD(Web Services on Devices) Discoveryによるネットワークプラグアンドプレイを例としたものである。一方、図1(b)はUSBプラグアンドプレイにおけるコンピューター1000とプリンター2000との接続形態を示している。コンピューター1000とプリンター2000はUSBケーブル200によって接続されている。本実施例はプラグアンドプレイによるものであれば、ネットワーク接続時でもUSB接続時でも変わらず実施が可能である。
図2はコンピューター1000とプリンター2000の構成をブロック図として示した図である。始めに実施例1におけるコンピューター1000の構成について説明する。コンピューター1000はCPU1041とメモリ1042とを含む制御部1040が全体を制御している。表示部1010はディスプレイなどの出力装置、操作部1020はマウスやキーボードなどの入力装置を示す。また、記憶部1030にはOS(オペレーティングシステム)1031や各種プログラム1032などのソフトウェアが保存されている。それらのプログラムは必要に応じてメモリ1042にロードされ、CPU1041によって実行される。OS1031はコンピューター1000の基本動作をつかさどるソフトウェアである。各種プログラム1032にはプリンタードライバーをはじめとするデバイスドライバーや、デバイスドライバーをインストールするためのインストーラープログラムを含む。ネットワーク通信部1050はネットワーク100に接続して外部装置とのデータの入出力を行う。USB通信部1060はUSB(Universal Serial Bus)で接続された周辺装置などの外部装置とのデータの入出力を行う。実施例1におけるコンピューター1000の処理は全て記憶部1030に記憶されたソフトウェアを制御部1040におけるメモリ1042にロードしてCPU1041が実行することによって実現される。なお、CPUはCentral Processing Unitの略である。
次に、実施例1におけるプリンター2000の構成を説明する。プリンター2000はCPU2041とメモリ2042とを含む制御部2040が全体を制御している。表示部2010はパネルなどの出力装置、操作部2020はタッチパネルや各種ボタンによる入力装置を示す。これらのユーザーインターフェイスデバイスを用いてPnP IDの設定等の操作が行われる。また、記憶部2030にはOS2031や各種プログラム2032が保存されている。これらのソフトウェアは必要に応じてメモリ2042にロードされ、CPU2041によって実行される。OS2031はプリンター2000の基本動作をつかさどるソフトウェアである。ネットワーク通信部2050はネットワーク100に接続して外部装置とのデータの入出力を行う。USB通信部2060はUSBで接続されたコンピューターなどの外部装置とのデータの入出力を行う。印刷部2070は、制御部2040の指示に従って用紙にトナーやインクを定着させて目的の画像を物理用紙上に形成することで印刷を行う。実施例1におけるプリンター2000の処理は全て記憶部2030に記憶されたソフトウェアを制御部2040におけるメモリ2042にロードしてCPU2041が実行することによって実現される。
<PnP IDの選択>
図3はPnP IDをユーザーに選択させるためのパネル上のユーザーインタフェース(UI)の遷移を示す図である。選択されたPnP IDは、例えば記憶部2030あるいはメモリ2042の不揮発領域に記憶され、PnPによりインストールされるデバイスドライバーに対応する識別情報としてコンピューター等のホスト装置に通知される。ここで示すユーザーインタフェースはプリンター2000の表示部2010であるパネルに表示され、タッチパネルや各種ボタンなどの操作部1020によるユーザーからの入力を受け付けて遷移する。「システム管理設定」2110はプリンター2000の各種システム管理を設定するためのUIである。本実施例におけるPnP IDの設定は「ページ記述言語(PnP)」2111をシステム管理者が選択することで可能になる。選択後のUIが「ページ記述言語(PnP)」2120の画面である。ここでは「ネットワーク」2121と「USB」2122のそれぞれに対してPnP IDが指定できる。
「ネットワーク」2121を選択後のUIが「ネットワーク PnP ID」2130の画面である。プリンター2000のシステム管理者はこの画面でネットワークプラグアンドプレイをさせたいPnP IDを指定する。プリンター2000はここで指定されたPnP IDをコンピューター1000との接続時にコンピューターに対して送信する。デフォルトの設定は「PDL1(V3)」2132であるが、ここにはプリンター2000がPnP IDとして使用できるIDが全て列挙されている。「FAX(V3)」2131はコンピューター1000上で動作するV3アーキテクチャのファクシミリドライバー(FAXドライバー)をプラグアンドプレイで接続するためのPnP IDである。システム管理者が「FAX(V3)」2131を選択すると、プリンター2000のネットワークPnP IDの設定が「FAX(V3)」に変更され、画面は「ページ記述言語(PnP)」2120に戻る。
同様に「PDL1(V3)」2132と「PDL2(V3)」2133は、それぞれV3アーキテクチャのPDL1用のドライバーとPDL2用のドライバーをプラグアンドプレイで接続するためのPnP IDである。同様に「FAX(V4)」2134、「PDL1(V4)」2135、「PDL2(V4)」2136はそれぞれV4アーキテクチャのそれぞれのドライバーをプラグアンドプレイで接続するためのPnP IDである。このように、それぞれのPnP IDにはそれぞれ対応するプリンタードライバーがあり、システム管理者はPnP IDを選択することで、接続後のコンピューター1000に自動インストールされるプリンタードライバーを制御することができる。
ここでV3アーキテクチャとV4アーキテクチャのプリンタードライバーについて簡単に説明する。V3アーキテクチャのプリンタードライバーとV4アーキテクチャのプリンタードライバーはファイル構成やUIが異なりWindows(登録商標)OS1031上で明確に区別される。V3は旧アーキテクチャ、V4は新アーキテクチャであり、V4アーキテクチャはV3アーキテクチャに対してよりセキュアで堅牢な構造となっている。また、V4アーキテクチャのプリンタードライバーはV3アーキテクチャのプリンタードライバーに比べて最新のアプリケーションに対する親和性が高い。PDLはページ記述言語であり、プリンターに出力するデータ形式を示している。同一のPDLであってもV3アーキテクチャとV4アーキテクチャのそれぞれのプリンタードライバーを作成することができる。また、それぞれのプリンタードライバーには複数バージョンが存在し、機能追加や障害修正のためにバージョンアップが行われる。オペレーティングシステムには、V3、V4といった新旧のアーキテクチャの両方またはいずれかをインストールできるものが、そのバージョンによって存在し得る。すなわちオペレーティングシステムはデバイスドライバーをインストールするインストール環境であり、インストールできるデバイスドライバーはその環境に応じて変わり得る。
さて、画面2120上で「USB」2122選択後のUIが「USB PnP ID」2140の画面である。内容は「ネットワークPnP ID」2130と同等なのでここでは説明は割愛する。以上のように、本実施例において、プリンター2000のシステム管理者はネットワーク接続、USB接続のそれぞれで別のPnP IDを指定することができるようになっている。さらに、それぞれの接続方式において、インストール可能な複数のデバイスドライバーのうちから所望のデバイスドライバーのPnP IDを指定し、プリンター2000に格納させることができる。
<ドライバーのインストールセット>
図4は本実施例におけるPDL1のプリンタードライバーのインストールセット1100の構成を示した図である。インストールセット1100はインストーラー(実行ファイル)1110、各種ドライバーセットアップ情報ファイル1120〜1150、およびOSの下でドライバーを構築するためのドライバーファイル群から構成されている。さらにドライバーファイル群はV3アーキテクチャのドライバーファイル群1160、V4アーキテクチャのドライバーファイル群1170で構成されている。インストーラー1110は実行形式のプログラムファイルであり、コンピューター1000上でユーザーによって起動されると、メモリ1042にロードされ、CPU1041によって実行される。ドライバーセットアップ情報ファイルはドライバーをコンピューター1000にインストールするために必要な情報がテキスト形式で記載されたファイルである。具体的には、ドライバーのバージョン情報やドライバーのモデル名称、ドライバーを構成するファイルの名称などが記載されている。OS1031はドライバーセットアップ情報ファイルを元にドライバーのインストールを行うことができる。なお、ドライバーセットアップ情報ファイルはWindows(登録商標)OSにおいてはINFファイルと呼ばれている。本実施例におけるドライバーのインストールセット1100の中にはドライバーセットアップ情報ファイルが4種類存在する。第一のV3セットアップ情報ファイル1120と第二のV3セットアップ情報ファイル1130はどちらもV3アーキテクチャのドライバーをインストールするためのファイルである。一方、第一のV4セットアップ情報ファイル1140と第二のV4セットアップ情報ファイル1150はどちらもV4アーキテクチャのドライバーをインストールするためのファイルである。それぞれのセットアップ情報ファイルの内容は後述する。V3ドライバーファイル群1160は例えばUI制御を行うためのDLL(ダイナミックリンクライブラリ)ファイルや印刷実行時の描画処理を行うためのDLLファイル、色処理のためのICCプロファイルファイルなどを含む。一方、V4ドライバーファイル群1170は例えば印刷設定の記載されたGPDファイル、UIコンフリクトを記述したJavaScriptファイル、印刷実行時の描画処理を行うフィルターと呼ばれるDLLファイルなどを含む。
<セットアップ情報ファイルの内容の例>
次に図5と図6を用いて各種セットアップ情報ファイルの内容について説明する。図5(a)は第一のV3セットアップ情報ファイル1120の内容を示している。行5101は行5102から行5104が[Version]セクションであることを示している。[Version]セクション5101にはドライバーのクラスやドライバーのバージョンが含まれる。クラス5102はこのドライバーのクラスがプリンターに対するドライバーであることを示している。メーカー名5103はこのセットアップ情報ファイルの提供元のメーカー名を示している。なお、「%OEM%」はこのファイルの後半に存在する不図示の「String」セクションで定義されている文字列を示している。バージョン5104はこのドライバーの作成日およびバージョンを示している。
行5106は続く行5107が[Manufacturer]セクションであることを示している。[Manufacurer]セクション5106はこのドライバーが扱うデバイスのメーカー名を示している。メーカー名5107はメーカー名とそれに対応するモデル名セクションのセクション名を示している。ここではメーカー名として「Company Name」、モデル名セクションのセクション名として「Company_Name」が指定されている。モデル名セクションとはインストールするプリンタードライバーのモデル名称とそれに対応するドライバーのファイル群、プラグアンドプレイのIDなどをリストしたセクションである。
行5109は続く行5110と行5111が「Company_Name」というセクション名のモデル名セクション5109であることを示している。モデル名称5110は「PDL1 Printer」のモデル名称のプリンタードライバーのファイル群のファイル名が不図示の[PDL1]セクションに記載されていることを示している。[PDL1]セクションにはV3ドライバーファイル群1160の各ファイルのファイル名などが記載されている。モデル名称5110は同時に、WSD Discoveryにおいて「PDL1(V3)」のPnP IDでプラグアンドプレイが発生した時に「PDL1 Printer」のモデル名称でプリンタードライバーをインストールするということも示している。なお、行5110の「WSDPRINT¥」はプリンター2000がWSDプロトコルのプリンターであることを示している。モデル名称5111では同様にUSB接続時に「PDL1(V3)」のPnP IDでプラグアンドプレイが発生した時に「PDL1 Printer」のモデル名称でプリンタードライバーをインストールするという事が示されている。モデル名称5111の「USBPRINT¥」はプリンター2000がUSBプロトコルのプリンターであることを示している。第一のV3セットアップ情報ファイル1120は、コンピューターにPnP IDが「PDL1(V3)」のプリンター2000が接続された時にV3ドライバーファイル群1160をインストールする、ということを示したファイルという事になる。それは接続プロトコルがWSDであるかUSBであるかに拠らない。
図5(b)は第二のV3セットアップ情報ファイル1130の内容を示している。行5201から行5211は図5(a)で説明済みのため説明を割愛する。モデル名称5212と5213とには、PnP IDが「PDL(V4)」のデバイスについてプラグアンドプレイが発生した時に「PDL1 Printer」のモデル名称でプリンタードライバーをインストールするという事が示されている。第二のV3セットアップ情報ファイル1130では、コンピューターにPnP IDが「PDL1(V3)」または「PDL1(V4)」のプリンター2000が接続された時にV3ドライバーファイル群1160をインストールすることが示されている。
第一のV3セットアップ情報ファイル1120と第二のV3セットアップ情報ファイル1130との違いは、第二のV3セットアップ情報1130だけPnP IDが「PDL1(V4)」であるデバイスのプラグアンドプレイ時にV3ドライバーをインストールする点である。
図6(a)は第一のV4セットアップ情報ファイル1140の内容を示している。[Version]セクション6101「ClassVer」属性6104に値として「4.0」が指定されている。これはセットアップ情報ファイル1140がV4ドライバーをインストールするためのセットアップ情報ファイルであることを示している。他の行については図5(a)で示した第一のV3セットアップ情報ファイル1120と同等であるため説明を割愛する。第一のV4セットアップ情報ファイル1140では、コンピューターにPnP IDが「PDL(V4)」のプリンター2000が接続された時にV4ドライバーファイル群1170をインストールする、ということを示したファイルという事になる。
図6(b)は第二のV4セットアップ情報ファイル1150の内容を示している。第一のV4セットアップ情報ファイル1140との違いは、モデル名称セクションにPnP IDが「PDL1(V3)」であるデバイスに関する記述が含まれていることである。そのため第二のV4セットアップ情報1150では「PDL1(V3)」のPnP IDのプラグアンドプレイ時にV4ドライバーをインストールする点が第一のV4セットアップ情報ファイル1140と相違する。
<インストーラーによるデバイスドライバーのインストール処理>
次に、図7を用いて本実施例のインストーラーのプラグアンドプレイインストール処理について説明する。これらの処理を実行するインストーラー1110はすべてメモリ1042にロードされ、CPU1041によって実行される。なお図7に示す処理は、プリンタードライバーをインストールしようとするプリンターがコンピューターに接続されていな状態で行われるインストール制御方法を示す。なおインストール制御方法には、OSによる後述する図8のセットアップ処理を含むこともある。ユーザーによってインストーラー1110が起動されると、インストーラー1110はユーザーからのインストール方法の入力を受け付ける(S701)。インストール方法はプラグアンドプレイインストールの他に、自動でネットワーク探索を行う探索インストールや手動でポートを指定するカスタムインストールなどがある。次にインストーラー1110は入力されたインストール方法がプラグアンドプレイインストールかどうかを判定する(S702)。インストーラー1110はプラグアンドプレイインストール以外が選択されたと判定した場合は選択された方法でのインストール処理を行うが(S711)、ここでは説明を割愛する。プラグアンドプレイインストールが選択されていると判定した場合は、インストーラー1110は、OS1031のバージョン情報などを含む能力情報を取得する(S703)。インストーラー1110は、S103で取得した能力情報に基づき、OS1031にインストール可能なドライバーのアーキテクチャを判断する(SS704)。逆に言えば、能力情報とは、それに基づいて、OS1031にインストール可能なドライバーのアーキテクチャを判定することができるような情報である。OSにインストールできるドライバーのアーキテクチャはOSのバージョンで決まるので、OSのバージョン情報は能力情報に含まれる。OSのバージョンとインストール可能なドライバーのアーキテクチャの対応付けに関する情報をインストーラー1110が予め有していれば、インストーラー1110はS704の判定を行うことができる。
OS1031がV3アーキテクチャのプリンタードライバーのみインストール可能なOSであると判定された場合、インストーラー1110は第二のV3セットアップ情報ファイル1130でV3ドライバーをインストールする(S705)。OS1031がV3アーキテクチャもV4アーキテクチャもインストール可能なOSであると判定された場合、インストーラー1110は第一のV3セットアップ情報ファイル1130でV3ドライバーをインストールする(S706)。さらに、第一のV4セットアップ情報でV4ドライバーもインストールする(S707)。すなわち、V3ドライバーとV4ドライバーの両方をインストールする。また、OS1031がV4アーキテクチャのプリンタードライバーのみインストール可能なOSであると判定された場合、インストーラー1110は第二のV4セットアップ情報でV4ドライバーをインストールする(S708)。なお、ここに記載した「インストール」とは、OS1031に対してセットアップ情報を指定してそのドライバーをOS1031の管理下にすることを示している。OS1031の管理下のドライバーに対してはさらにOSによるプラグアンドプレイ処理(図8に示す)でプリンターオブジェクト(プリンターキューとも呼ぶ)が生成される。これにより、ユーザーが、当該プリンタードライバーを用いてプリンター2000により印刷を行わせることが可能になる。プリンターオブジェクトの生成タイミングについては後述する。インストーラー1110はOS1031の能力情報に応じたドライバーのインストールが終了した後に、ユーザーに対してプリンター2000の接続指示を行う(S709)。その後、インストーラー1110はOS1031が行うプラグアンドプレイ処理を待つ(S710)。インストーラー1110はプラグアンドプレイ処理が終了したらインストーラーの処理を終了する。
<OSによるデバイスドライバーのインストール手順>
図8はOS1031が行うプラグアンドプレイ処理のフローを説明している。ここでのプラグアンドプレイ処理とはコンピューターに対して初めてプリンター2000が接続された時に、対応するプリンターオブジェクトを生成し、ユーザーが印刷できるようにするまでの処理を指す。これらの処理はすべてメモリ1042にロードされ、CPU1041によって実行される。始めに、プリンター2000のプラグアンドプレイ接続を検知する(S801)。ここでの接続形態はWSDやUSBなどが考えられるがどちらでも良い。プリンター2000はコンピューターとの接続時に図3で示したシステム管理設定のPnP IDで選択されたPnP IDをコンピューターに返す。OS1031はプリンター2000の接続を検知したらプリンター2000からのPnP IDを取得する(S802)。次に図7の手順でインストーラー1110によりインストールされたプリンタードライバーのセットアップ情報ファイルの中から、取得したPnP IDに対応するセットアップ情報を検索する(S803)。
検索の対象は例えばセットアップ情報のモデル名セクションであり、モデル名セクションに含まれたモデル名称のなかから、S802で取得したPnP IDに相当する項目が検索される。たとえば、図6に示したセットアップ情報1130でV3ドライバーがインストールされており、デバイスからはPnP IDとプロトコルとを組み合わせた「WSDPRINT¥PDL1(V4)」が得られているものとする。その場合には、モデル名セクション5209をプロトコルとPnP IDとの組、すなわち「WSDPRINT¥PDL1(V4)」で検索する。プロトコルが別途得られている場合にはそれを組み合わせればよい。この例では、モデル名称5212が該当するので、その欄に記載された「PDL1」なるセクション名のセクション(不図示)から、「PDL1 Printer」のモデル名称のプリンタードライバーファイル群のファイル名を特定することができる。
そして、OSは、見つかったセットアップ情報のドライバーで新しいプリンターオブジェクトを生成する(S804)。さらにプリンターオブジェクトのポートを接続されたプリンター2000のポートに設定して(S805)、終了する。なお、図8に示した工程、特にS804、S805の工程は、プリンタードライバーのインストール工程の一部ではあるが、図7の手順と区別するために、図7の手順をインストールと呼び、図8の手順特にS804,S805をまとめてセットアップと呼ぶことがある。
なお、デバイスの接続によって、デバイスからデバイスクラス情報が取得されている場合には、インストールされているドライバーのセットアップ情報が、該当するデバイスクラスの者であるか否かを、バージョンセクションのクラス名を参照して判定する。該当すれば、その中のモデル名セクションから取得したPnP IDを検索する。このようにすることで、インストールしたドライバーと同じるデバイスクラスおよびメーカーのデバイスについてのみ、インストールしたドライバがセットアップされることになる。
<具体例>
図5、図6を参照して具体例を説明する。図5,図6に例示したセットアップ情報の「PDL1」セクションはすべてのセットアップ情報に共通である。しかし、そのセクションに示されたドライバーファイル名は、V3セットアップ情報1120,1130とV4セットアップ情報1140,1150とで異なっていてよい。それによりV3,V4それぞれに応じたファイル群がインストールできる。ただし、ひとつのセットアップ情報においては、セクション名称は固有なので、同じセクション名称の参照は、同じドライバーがインストールされることを示す。たとえば図5(b)の例では、図7の手順で第二のV3セットアップ情報1130でインストールされたドライバーは、プリンターのPnP IDが「PDL1(V3)」であろうと、「PDL1(V4)」であろうと、「PDL1」セクションに記述されたファイル名のドライバー群すなわち所定のドライバー(この例ではV3ドライバー)である。図8の手順によりV3ドライバーのセットアップが行われる。この場合にはユーザーが利用できるプリンターは、PnP IDの値「PDL(V3)」に応じたV3ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。また例えば図6(b)に示した第二のV4セットアップ情報1150でV4ドライバーがインストールされた場合には、プリンターのPnP IDが「PDL1(V3)」であろうと、「PDL1(V4)」であろうと、同じV4ドライバーがインストールされる。そして図8の手順により「PDL1」セクションに記述されたファイル名のプリンタードライバーでセットアップが行われる。したがってこの場合にはユーザーが利用できるプリンターは、PnP IDの値「PDL1(V4)」に応じたV4ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。
これに対して、図7のS700,707で、第1のV3セットアップ情報でV3ドライバーが、第1のV4セットアップ情報でV4ドライバーがインストールされる。この場合には、PnP IDが「PDL1(V3)」であればV3ドライバーで、「PDL1(V4)」であればV4ドライバーでセットアップが行われる。したがってこの場合にはユーザーが利用できるプリンターは、PnP IDの値が「PDL1(V3)」であればV3ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。一方、「PDL1(V4)」であればV4ドライバーでセットアップしたプリンターオブジェクトすなわち仮想プリンターである。
<実施例の効果>
図7と図8で説明したようなフローでドライバーのインストールを行う事で下記のような効果が得られる。すなわち、V3ドライバーしかインストールできないOSに対しては、プリンター2000からのPnP IDがV3ドライバー用の「PDL(V3)」であってもV4ドライバー用の「PDL(V4)」であってもV3ドライバーを用いて印刷が可能となる。同様にV4ドライバーしかインストールできないOSに対しても、同様にV4ドライバーを用いて印刷が可能となる。さらにV3もV4もインストール可能なOSに対してはシステム管理者がプリンター2000のパネル2120で指定したアーキテクチャのドライバーを用いて印刷が可能となる。
実施例1ではV3アーキテクチャのプリンタードライバーもV4アーキテクチャのプリンタードライバーも両方インストール可能なOSに対してそれぞれプリンター2000のパネル2120で指定したアーキテクチャのドライバーをインストールする方法を述べた。しかし、V3ドライバーとV4ドライバーはそれぞれの能力が異なり、できる事に差異がある。そのため、環境によってはV3ドライバーとV4ドライバーの両方がインストール可能なOSに対してはV4ドライバーを優先してインストールさせたいというユースケースも存在する。このような場合にも対応可能としたのが実施例2である。
図9(a)は実施例2におけるインストーラー1110のプラグアンドプレイインストール処理を示したものである。これらの処理もすべてメモリ1042にロードされ、CPU1041によって実行される。実施例1と異なる点は、インストーラー1110がOS1031にインストール可能なドライバーのアーキテクチャに応じて行う動作の内容である。V3ドライバーのみインストール可能なOSに対しては実施例1と同様に第二のV3セットアップ情報ファイル1130でV3ドライバーをインストールする(S905)。一方、V4ドライバーがインストール可能なOSに対しては全て第二のV4セットアップ情報を用いてV4ドライバーをインストールする(S906)。こうすることで、V3もV4もインストール可能なOSに対して、プリンターパネル2120でのPnP IDの設定が「PDL(V3)」だったとしてもV4ドライバーのプリンターオブジェクトを優先してOS1031に生成させることができる。その他の動作や構成要素は実施例1に示したものと同様であるため説明は割愛する。
図9(b)は図(a)で示したフローとは反対のユースケースに対応するためのインストーラー1110の処理フローを示している。これらの処理もすべてメモリ1042にロードされ、CPU1041によって実行される。V4ドライバーのみインストール可能なOSに対しては第二のV4セットアップ情報でV4ドライバーをインストールする(S916)。一方でV3ドライバーがインストール可能なOSに対しては全て第二のV3セットアップ情報ファイル1130を用いてV3ドライバーをインストールする(S915)。このようにすることで、V3もV4もインストール可能なOS1031に対して、プリンターパネル2120でのPnP IDの設定が「PDL(V4)」だったとしてもV3ドライバーのプリンターオブジェクトを優先してOS1031に生成させることができる。
図9(a)で示したフローと図9(b)で示したフローは独立して実施することも可能であるが、実施例1のフロー(図7)も含めてユーザーにどのフローでインストールするかを選択させて実施することも可能である。すなわち、インストーラー1110はインストール前にUIを用いて図7、図9(a)、図9(b)のいずれかフローを実行するかをユーザーに選択させてもよい。この選択は、たとえば優先するドライバーのバージョンの選択により行ってもよく、V4ドライバーが選択されれば図9(a)が、V3ドライバーが選択されれば図9(b)が実行され、優先順が選択されなければ図7が実行されるように構成してもよい。こうすることで、プリンターパネル2120でのPnP IDの設定に関わらず、ユーザーがプラグアンドプレイインストールしたいドライバーのアーキテクチャを自由に制御することができるという効果がある。かつOS1031の能力情報によってドライバーがインストールできないという問題も発生しない。
ここでは実施例1、実施例2とは異なるセットアップ情報ファイルを用意することで本発明を実施する方法について述べる。図10は実施例3におけるプリンタードライバーのインストールセット1200の構成を示した図である。インストーラー1210、ドライバーファイル群1240、1250は実施例1と同等であるので説明を割愛する。実施例1との違いはプリンタードライバーのインストールのために第三のV3セットアップ情報1220と第三のV4セットアップ情報1230を用いる点である。また、インストーラー1210によるドライバーのインストール手順は、図7のS705からS708における「第一」と「第二」とをいずれも「第三」と読み替えたものである。あるいは、OSの能力を判定することなく、第三のV3セットアップ情報を用いたインストールおよび第三のV4セットアップ情報を用いたインストールを無条件に行ってもよい。
第三のV3セットアップ情報ファイル1220の内容を示したのが図11(a)である。[Version]セクション7101は第一のV3セットアップ情報ファイル1120のものと同じであるため説明を割愛する。[Manufacturer]セクション7106内のメーカー名7107には、モデル名セクションのセクション名である「Company_Name」の記載の横に各OSのバージョンを「,」区切りで列挙してある。これにより、後に続くモデル名セクションをOSのバージョンごとに記載することが可能となる。本例では、モデル名セクションのセクション名は、モデル名称とバージョンとをピリオドで区切って示される。モデル名セクション7109は、後に続く行7110から行7113が[Company_Name.OS_A]というセクション名のモデル名セクションであることを示している。さらにモデル名セクション7115は、後に続く行7116と行7117が[Company_Name.OS_B]というセクション名のモデル名セクションであることを示している。このようにセットアップ情報ファイルのモデル名セクションをOSのバージョンごとに記載する。OSのバージョンは、そのOSの下でインストールできるドライバーのバージョンを示す情報でもある。これにより、インストール対象のOSのバージョンすなわち能力情報によって、どのPnP IDを対象とするドライバーと関連付けてインストールするかをOSが制御する。本実施例ではOS_AをV3アーキテクチャのドライバーしかインストールできないOS、OS_BをV3アーキテクチャのドライバーもV4アーキテクチャのドライバーもインストールできるOSと仮定している。さらに、OS_CをV4アーキテクチャのドライバーしかインストールできないOSと仮定している。OSは図8のS803において、[Manufacturer]セクション7106内のメーカー名7107にOSのバージョンが記載されていると、そのバージョンを含む名称のモデル名セクションを検索する。さらに、該当するセクション内で、取得したPnP IDを、プロトコルを含めて検索する。第三のV3セットアップ情報ファイル1220を用いることでOS_AではPnP IDに関わらずV3をインストールことができ、OS_BではPnP IDが「PDL1(V3)」の時のみV3をインストールすることができる。
第三のV4セットアップ情報ファイル1230の内容を示したのが図11(b)である。詳細な説明は繰り返しになるため割愛する。こちらを用いることでOS_CにおいてはPnP IDに関わらずV4ドライバーをインストールことができ、OS_BにおいてはPnP IDが「PDL1(V4)」の時のみV4ドライバーをインストールすることができる。すなわち、第三のV3セットアップ情報ファイル1220と第三のV4セットアップ情報ファイル1230をどちらもあらかじめインストールしておくことで、プラグアンドプレイインストール時に実施例1と同様の効果を得ることができる。
以上、実施例1から実施例3を用いて本発明の実施形態とその効果について図面を用いて説明した。なお、本発明の効果と関係のない公知技術に関しては割愛して説明した。セットアップ情報ファイルの内容や処理フローなど、詳細に関しては本実施例の通りの実装でなくても構わない。さらに、本実施例では主に「PDL1」のドライバーを対象に説明を行ったが、「Fax」や「PDL2」でも同様に実施することで同様の効果を得ることができる。また、本実施例ではコンピューター1000のOS1031としてWindows(登録商標)OSを用いて説明したが他のOSで実施してもよい。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1100:インストールセット、1110:インストーラー、1120:第一のV3セットアップ情報、1130:第二のV3セットアップ情報、1140:第一のV4セットアップ情報、1150:第二のV4セットアップ情報

Claims (13)

  1. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
    当該プログラムは、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
    前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
  2. 請求項1に記載のプログラムであって、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御することを特徴とし、
    前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであったと判断され、かつ、前記周辺装置から前記新アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
  3. 請求項1又は2に記載のプログラムであって、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーに加え、前記旧アーキテクチャのデバイスドライバーもインストールするよう制御することを特徴とし、
    前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであった際に、前記周辺装置から取得された別情報に対応するアーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記2つのアーキテクチャのデバイスドライバーのいずれかのセットアップが行われることを特徴とするプログラム。
  4. 請求項1乃至3のいずれか一項に記載のプログラムであって、
    前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであり、かつ、前記周辺装置から前記旧アーキテクチャのデバイスドライバーに対応する識別情報が取得された場合には、前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
  5. 請求項1乃至4のいずれか一項に記載のプログラムであって、
    前記新アーキテクチャのデバイスドライバーのためのセットアップ情報と、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報とはそれぞれ、別情報に応じたアーキテクチャのデバイスドライバーをインストールするための第一のセットアップ情報と、前記識別情報に関わらず所定のアーキテクチャのデバイスドライバーをインストールするための第二のセットアップ情報とを含み、
    前記プログラムのプログラムファイルは、前記セットアップ情報と、前記旧アーキテクチャのデバイスドライバーのプログラムファイルと、前記新アーキテクチャのデバイスドライバーのプログラムファイルと共にインストールセットに含まれることを特徴とするプログラム。
  6. 請求項1乃至4のいずれか一項に記載のプログラムであって、
    前記新アーキテクチャのデバイスドライバーのためのセットアップ情報と、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報とはそれぞれ、前記オペレーティングシステムの能力情報ごとに、インストールできる前記デバイスドライバーと別情報とを関連づけた第三のセットアップ情報と、前記識別情報に関わらず所定のアーキテクチャのデバイスドライバーをインストールするための第二のセットアップ情報とを含み、
    前記プログラムのプログラムファイルは、前記セットアップ情報と、前記旧アーキテクチャのデバイスドライバーのプログラムファイルと、前記新アーキテクチャのデバイスドライバーのプログラムファイルと共にインストールセットに含まれることを特徴とするプログラム。
  7. 請求項1乃至6のいずれか一項に記載のプログラムであって、
    前記デバイスドライバーは、プリンタードライバーまたはファクシミリドライバーであることを特徴とするプログラム。
  8. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するプログラムであって、
    当該プログラムは、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段としてコンピューターを機能させ、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
    前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
  9. 請求項8に記載のプログラムであって、
    前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるシステムであったと判断され、かつ、前記周辺装置から前記新アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするプログラム。
  10. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御する情報処理装置であって、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段と、
    周辺装置から取得された識別情報に対応する前記セットアップ情報を用いて、インストールされた前記デバイスドライバーのセットアップを行う設定手段とを有し、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御し、
    前記設定手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する前記識別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップを行うことを特徴とする情報処理装置。
  11. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御する情報処理装置であって、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得手段と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御手段と、
    周辺装置から取得された識別情報に対応する前記セットアップ情報を用いて、インストールされた前記デバイスドライバーのセットアップを行う設定手段とを有し、
    前記制御手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御し、
    前記設定手段は、前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する前記識別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップを行うことを特徴とする情報処理装置。
  12. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するインストール制御方法であって、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得工程と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御工程と、
    を有し、
    前記制御工程では、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記新アーキテクチャのデバイスドライバーをインストールするよう制御が行われ、
    前記オペレーティングシステムが前記取得された能力情報に従い前記新アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から旧アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記新アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記新アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするインストール制御方法。
  13. 周辺装置のための新旧の2つのアーキテクチャのデバイスドライバーを構築するための情報を含むドライバーファイルと、該2つのアーキテクチャのデバイスドライバーのそれぞれのためのセットアップ情報を含むセットアップ情報ファイルと、を用いて該2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールを制御するインストール制御方法であって、
    デバイスドライバーのインストール環境となるオペレーティングシステムの能力情報を取得する取得工程と、
    前記取得された能力情報に基づき、前記2つのアーキテクチャのデバイスドライバーの少なくともいずれかのインストールをドライバーファイルを用いて制御する制御工程と、
    を有し、
    前記制御工程では、前記オペレーティングシステムが前記取得された能力情報に従い前記2つのアーキテクチャのデバイスドライバーのいずれもインストールできるオペレーティングシステムであると判断された場合、または、前記オペレーティングシステムが前記取得された能力情報に従い旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断された場合には、前記旧アーキテクチャのデバイスドライバーをインストールするよう制御が行われ、
    前記オペレーティングシステムが前記取得された能力情報に従い前記旧アーキテクチャのデバイスドライバーのみをインストールできるオペレーティングシステムであると判断され、かつ、前記周辺装置から新アーキテクチャのデバイスドライバーに対応する別情報が取得された場合には、該周辺装置のための前記旧アーキテクチャのデバイスドライバーのためのセットアップ情報を用いて、インストールされた前記旧アーキテクチャのデバイスドライバーのセットアップが行われることを特徴とするインストール制御方法。
JP2015252410A 2015-12-24 2015-12-24 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法 Active JP6557594B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015252410A JP6557594B2 (ja) 2015-12-24 2015-12-24 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法
US15/375,461 US10346102B2 (en) 2015-12-24 2016-12-12 Information processing apparatus that controls install of a device driver in accordance with capability of an operating system, installation method, and storage medium
CN201611215949.9A CN107038002A (zh) 2015-12-24 2016-12-23 信息处理装置及安装控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015252410A JP6557594B2 (ja) 2015-12-24 2015-12-24 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法

Publications (3)

Publication Number Publication Date
JP2017117232A JP2017117232A (ja) 2017-06-29
JP2017117232A5 JP2017117232A5 (ja) 2019-01-31
JP6557594B2 true JP6557594B2 (ja) 2019-08-07

Family

ID=59087812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015252410A Active JP6557594B2 (ja) 2015-12-24 2015-12-24 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法

Country Status (3)

Country Link
US (1) US10346102B2 (ja)
JP (1) JP6557594B2 (ja)
CN (1) CN107038002A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652252B2 (en) * 2016-09-30 2020-05-12 Cylance Inc. Machine learning classification using Markov modeling
CN109992319A (zh) * 2017-12-28 2019-07-09 航天信息股份有限公司 嵌入式设备和usb打印机的交互建立方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567860B1 (en) * 1998-10-30 2003-05-20 Computer Associates Think, Inc. Method and apparatus for new device driver installation by an operating system
US20020124245A1 (en) * 2000-08-14 2002-09-05 Alvin Maddux Method and apparatus for advanced software deployment
JP2005517625A (ja) * 2002-02-15 2005-06-16 ナノフェイズ テクノロジーズ コーポレイション 複合ナノ粒子物質およびその製造方法
JP2004078744A (ja) * 2002-08-21 2004-03-11 Canon Inc 情報処理装置、情報処理方法、制御プログラム
US7752290B2 (en) * 2002-08-21 2010-07-06 Canon Kabushiki Kaisha Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
JP2005301608A (ja) * 2004-04-09 2005-10-27 Fuji Xerox Co Ltd インストールプログラム、インストール装置および周辺機器ドライバのインストール方法
JP2006209482A (ja) * 2005-01-28 2006-08-10 Seiko Epson Corp ドライバソフトウェアインストールシステム、デバイス、ドライバソフトウェアインストール方法
JP4871675B2 (ja) 2005-08-31 2012-02-08 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びコンピュータプログラム
US7779427B2 (en) * 2006-01-18 2010-08-17 Microsoft Corporation Automated application configuration using device-provided data
US8368915B1 (en) * 2006-06-23 2013-02-05 Open Invention Network, Llc System and method for printer driver management in an enterprise network
US8010959B2 (en) * 2006-11-29 2011-08-30 Sony Ericsson Mobile Communications Ab System and method for updating device drivers
US8132186B1 (en) * 2007-03-23 2012-03-06 Symantec Corporation Automatic detection of hardware and device drivers during restore operations
US8185884B2 (en) * 2008-06-23 2012-05-22 Novell, Inc. System and method for offline updation of software in virtual machine (VM) images
JP2011096100A (ja) * 2009-10-30 2011-05-12 Fuji Xerox Co Ltd 設定変更装置及びプログラム
JP5528196B2 (ja) * 2010-05-06 2014-06-25 キヤノン株式会社 印刷制御装置、印刷制御方法およびプログラム
US20120092722A1 (en) * 2010-10-18 2012-04-19 Aventura Hq, Inc. Managing printer feedback in a distributed printing environment
DE102011008958A1 (de) * 2011-01-19 2012-07-19 Imo Holding Gmbh Rotorlager für eine Windkraftanlage
JP2013020354A (ja) * 2011-07-08 2013-01-31 Ricoh Co Ltd ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム
JP5924892B2 (ja) * 2011-09-08 2016-05-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5955104B2 (ja) * 2012-05-30 2016-07-20 キヤノン株式会社 情報処理装置、プログラムおよび制御方法
JP2014013427A (ja) * 2012-07-03 2014-01-23 Ricoh Co Ltd 情報処理装置、プログラム及びシステム
JP5885616B2 (ja) * 2012-08-08 2016-03-15 キヤノン株式会社 情報処理装置、インストール方法、およびプログラム
JP2014146165A (ja) * 2013-01-29 2014-08-14 Ricoh Co Ltd 情報処理システム、情報処理装置、作成方法、プログラム及び記憶媒体
JP6080593B2 (ja) * 2013-02-19 2017-02-15 キヤノン株式会社 情報処理装置及びその方法
US9513847B2 (en) * 2014-03-03 2016-12-06 Ricoh Company, Ltd. Tools for facilitating printer installation
JP2017021647A (ja) * 2015-07-13 2017-01-26 株式会社リコー プログラム、情報処理装置、インストールシステムおよびインストール方法

Also Published As

Publication number Publication date
US10346102B2 (en) 2019-07-09
US20170185358A1 (en) 2017-06-29
CN107038002A (zh) 2017-08-11
JP2017117232A (ja) 2017-06-29

Similar Documents

Publication Publication Date Title
JP6874405B2 (ja) 情報処理装置、プログラム、システム
JP4940105B2 (ja) 情報処理装置、情報処理方法、及び制御プログラム
US20140293312A1 (en) Information processing apparatus, print control program and print system
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
US9170763B2 (en) Information processing apparatus and control method
JP2006164240A (ja) データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能な制御プログラムを格納した記憶媒体および制御プログラム
US20150356380A1 (en) System, printing apparatus, control method, and recording medium
JP2017021647A (ja) プログラム、情報処理装置、インストールシステムおよびインストール方法
US9262105B2 (en) Printing system, control method for information processing apparatus, and non-transitory computer-readable medium for transmitting setting information
JP2010262448A (ja) 情報処理装置、プリンタドライのバインストール方法、及び、プログラム
JP6557594B2 (ja) インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法
JP6545332B2 (ja) 情報処理装置、制御方法、及びプログラム
WO2014136429A1 (en) Information processing apparatus and method for the same
JP2018084893A (ja) 情報処理装置、制御方法およびプログラム
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
JP6085982B2 (ja) プログラム、情報処理装置およびシステム
JP2005267088A (ja) 周辺機器ドライバ、周辺機器制御装置および周辺機器ドライバの更新方法
US9063813B2 (en) Apparatus, control method, and storage medium
JP2013025460A (ja) インストールシステム、インストールプログラム、インストールプログラムを記録した記録媒体、及びプログラムのインストール方法
JP5825060B2 (ja) デバイスドライバーおよびデバイスドライバー装置
JP6377026B2 (ja) 情報処理装置、制御方法、及びプログラム
US11327693B2 (en) Computer-readable medium, information processing device, and Method for installing appropriate program
JP2004062397A (ja) 情報処理装置、制御方法、制御プログラム
JP2018112816A (ja) プリンタードライバーのアンインストール方法
JP2020016951A (ja) 情報処理装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190712

R151 Written notification of patent or utility model registration

Ref document number: 6557594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151