JP6882060B2 - 情報処理装置、ドライバのインストール方法およびプログラム - Google Patents

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

Info

Publication number
JP6882060B2
JP6882060B2 JP2017095883A JP2017095883A JP6882060B2 JP 6882060 B2 JP6882060 B2 JP 6882060B2 JP 2017095883 A JP2017095883 A JP 2017095883A JP 2017095883 A JP2017095883 A JP 2017095883A JP 6882060 B2 JP6882060 B2 JP 6882060B2
Authority
JP
Japan
Prior art keywords
driver
print queue
print
information processing
processing device
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
JP2017095883A
Other languages
English (en)
Other versions
JP2018194910A (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 JP2017095883A priority Critical patent/JP6882060B2/ja
Publication of JP2018194910A publication Critical patent/JP2018194910A/ja
Application granted granted Critical
Publication of JP6882060B2 publication Critical patent/JP6882060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、デバイスドライバのインストール技術に関する。
コンピュータにインストールされるデバイスドライバの種類は、大きく2種類に分類することができる。1つは、デバイスの製造元が提供するドライバであり、これらはOutboxドライバと称される。もう1つは、OSが提供するドライバであり、これらはInboxドライバと称される。一般的には、Outboxドライバの方がInboxドライバよりも優れた機能を有しており、デバイスの製造元はOutboxドライバを使用することを推奨している。
Windows(登録商標)OSではPnP−X(Plug and Play Extension for Network Connected Device)機能が提供されている。Windows OSは、自身のPnP−X機能に基づいてデバイスを検出し、そのデバイスに関連付けられたInboxドライバを自動的にコンピュータにインストールする。すなわち、コンピュータとデバイスとをネットワークを介して接続するだけで、Inboxドライバが自動的にコンピュータにインストールされる。
Inboxドライバがインストールされた後に、Outboxドライバのインストールを実行する場合、PnP−X機能によってデバイスの自動検出が行われない。そのため、ユーザは、Inboxドライバを削除してからOutboxドライバのインストールを実行する場合がある。この場合、例えば、特許文献1の手法を適用してInboxドライバを削除することができる。特許文献1は、プリンタドライバに付加された固有削除情報を参照することにより、コンピュータにインストールされているプリンタドライバを選択的に削除する手法を開示している。
特許第3346997号公報
最新OSであるWindows10(登録商標)は、Microsoft Mobile Print(以下「MMP」と記す)用のドライバを標準装備しており、このMMPドライバは全てのデバイスの製造元に共通する仕様となっている。
そのため、MMPドライバを削除してからOutboxドライバのインストールを実行する場合、製造元が異なる他のデバイスに関連付けられたMMPドライバの印刷キューまでもが意図せず削除されてしまうという課題があった。
本発明は上記課題に鑑みなされたものである。すなわち、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することを目的とする。
本発明の情報処理装置は、デバイスの製造元が提供するドライバを登録する登録手段と、前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有することを特徴とする。
本発明によれば、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することができる。
実施形態1における情報処理システムの構成例である。 実施形態1におけるコンピュータのハードウェア構成例である。 実施形態1におけるデバイスのハードウェア構成例である。 実施形態1におけるソフトウェアの機能構成例である。 実施形態1におけるドライバインストーラの処理手順を示すフローチャートである。 実施形態1における印刷キューの生成手順を示すフローチャートである。 実施形態2における印刷キューの生成手順を示すフローチャートである。 実施形態1におけるデバイス設定の確認ウィンドウの一例を示す図である。
[実施形態1]
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
(情報処理システムの構成)
図1は、本実施形態における情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システム1は、コンピュータ100と、デバイス200、400とから構成される。図1に示される通り、コンピュータ100およびデバイス200が属するサブネットワークAと、デバイス400が属するサブネットワークBとは、ルータ300を介して接続されている。コンピュータ100は、PC(パーソナルコンピュータ)やタブレットなどの情報処理装置である。デバイス200、400は、プリンタ、複写機、ファクシミリ、スキャナ等の周辺機器またはそれらの複合機能を備える装置である。デバイス200、400は、TCP/IPプロトコルに対応すると共に、Microsoft Windows OS標準のネットワークプロトコルであるWSD(Web Services on Devices)にも対応している。なお、情報処理システム1の構成は一例であり、図1の情報処理システム1の構成に限定されるものではない。例えば、サブネットワークAおよびサブネットワークBそれぞれに属するコンピュータ、デバイスの数は図1の情報処理システム1の構成に限定されず、複数であってもよい。
(コンピュータのハードウェア構成)
図2は、本実施形態におけるコンピュータ100のハードウェア構成例を示すブロック図である。コンピュータ100は、CPU101、RAM102、ROM103、グラフィックコントローラ104、表示部105、補助記憶装置106を含んで構成される。さらに、コンピュータ100は、外部接続インタフェース107(以下インタフェースは「I/F」と記す)、ネットワークI/F108を含み、各構成部はバス109を介して通信可能に接続されている。CPU101は演算回路からなり、コンピュータ100を統括制御する。CPU101はROM103または補助記憶装置106に記憶されたプログラムをRAM102に読み出し、種々の処理を実行する。ROM103は、コンピュータ100の制御に用いられるBIOSなどのシステムソフトウェアなどを記憶する。グラフィックコントローラ104は、表示部105に表示させるための画面を生成する。表示部105は、LCD(液晶ディスプレイ)などによって構成され、グラフィックコントローラ104によって生成された画面を表示する。また、表示部105は、タッチスクリーン機能を有していてもよい。その場合、表示部105を介して入力を受け付けたユーザ指示を、コンピュータ100への入力として扱うことも可能である。補助記憶装置106は記憶領域としての機能を有し、OS(オペレーティングシステム)、種々のデバイスを制御するためのデバイスドライバ、種々の処理を実行するアプリケーションプログラムなどを記憶する。補助記憶装置106は記憶装置の一例であり、HDD(ハードディスクドライブ)以外にもSSD(ソリッドステートドライブ)などにより構成することができる。補助記憶装置106に記憶されているデバイスドライバには、デバイス200、400を含む種々のデバイスを制御するために用いられるドライバソフトウェアが含まれる。このようなドライバソフトウェアとは、例えば、スキャナドライバ、プリンタドライバ、ファクシミリドライバなどである。外部接続I/F107は、コンピュータ100に種々の機器を接続するためのインタフェースである。例えば、外部接続I/F107を介して、キーボード、マウスなどのポインティングデバイスを接続することができる。ネットワークI/F108は、CPU101の制御に基づいてデバイス200、400とネットワークを介して通信を行う。
本実施形態の補助記憶装置106は、ドライバソフトウェア(以下、単に「ドライバ」と記す場合がある)を対象デバイスにインストールするために必要なドライバインストーラも記憶している。なお、本実施形態において、対象デバイスは、デバイスをインストールする対象となるデバイスを意味する。このドライバインストーラは、TCP/IPプロトコルによるデバイスの検索機能と、WSDプロトコルによるデバイス検索機能とを備えている。本実施形態では、ドライバインストーラが、TCP/IPプロトコルによるデバイスの検索機能と、WSDプロトコルによるデバイス検索機能とを備える構成を示したが、実施形態は上記示した構成に限定されない。別実施形態では、補助記憶装置106が、TCP/IPプロトコルによるデバイスの検索機能を備える専用モジュールと、WSDによるデバイス検索機能を備える専用モジュールとを記憶していてもよい。その場合、デバイスドライバやアプリケーションからこれら専用モジュールを呼び出してデバイス検索を実行させるようにしてもよい。
(デバイスのハードウェア構成)
図3は、本実施形態におけるデバイス200、400のハードウェア構成例を示すブロック図である。デバイス200、400は、CPU201、RAM202、ROM203、グラフィックコントローラ204、表示部205、操作部206を含んで構成される。さらに、デバイス200、400は、ネットワークI/F207、印刷部208を含み、各構成部はバス209を介して通信可能に接続されている。CPU201は演算回路からなり、デバイス200、400を統括制御する。CPU201はROM203に記憶されたプログラムをRAM202に読み出し、種々の処理を実行する。ROM203は、デバイス200、400の制御に用いられるプログラムやデータを記憶する。グラフィックコントローラ204は、表示部205に表示させるための画面を生成する。表示部205は、LCD(液晶ディスプレイ)などによって構成され、グラフィックコントローラ204によって生成された画面を表示する。操作部206は、タッチパネルやハードウェアキーなどによって構成され、ユーザ指示を受け付けることができる。ネットワークI/F207は、CPU201の制御に基づいて外部デバイスとネットワークを介して通信を行う。印刷部208は、コンピュータ100から送信された印刷ジョブや、デバイス200、400自身が読み取った画像データに基づいて、用紙などの記録媒体に文字や画像を形成する。なお、図3に示されるデバイス200、400の構成は、デバイス200、400がプリンタである場合の構成である。デバイス200、400がスキャナである場合、デバイス200、400は、用紙などの記録媒体上に形成されている文字や画像を読み取る読取部を更に有することになる。
(ソフトウェア機能構成)
図4は、本実施形態におけるコンピュータ100のソフトウェア機能構成を示すブロック図である。図4に示される各ブロックの機能は、CPU101がアプリケーション(ドライバインストーラ)110のプログラムコードをRAM102に読み出して実行することにより実現される。
アプリケーション110は、ネットワークに接続されるデバイスを検索し、検索されたデバイスのなかからユーザによって選択されたデバイスに関連付けられたドライバをコンピュータ100にインストールする。アプリケーション110は、ユーザによって選択されたデバイスがプリンタであれば、プリンタドライバ122をコンピュータ100にインストールする。ユーザによって選択されたデバイスがスキャナであれば、スキャナドライバ123をコンピュータ100にインストールする。また、ユーティリティ124は、ユーザによって選択されたデバイスの種類に応じて適宜コンピュータ100にインストールされる。
デバイス検出部111は、ドライバINFファイル121からデバイスのドライバ情報を取得する。ドライバ情報には、ドライバ名が含まれる。
TCP/IPデバイス検索部112は、TCP/IPプロトコルにより、コンピュータ100とネットワークを介して接続されるデバイスを検索する。アプリケーション110は、上記検索によって検出されたデバイスに関する情報を表示部105に表示する。本実施形態では、デバイスに関する情報として、デバイス名、IPアドレス、MACアドレスなどが表示部105に表示される。これらデバイスに関する情報は、対象デバイスを識別するために利用可能な情報である。さらに、アプリケーション110は、表示部105に表示されたデバイスに関する情報のうち、選択されたデバイスの制御に用いられるドライバをコンピュータ100に登録する。
WSDデバイス検索部113は、WSDプロトコルにより、選択されたデバイスを、コンピュータ100が属するサブネットワークと同一のサブネットワークに接続されるデバイスから検索する。WSDの仕様により、WSDプロトコルによる検索は、ルータ300を越えた先のサブネットワークからはデバイスを検索することができない。そのため、図1を例に説明すると、WSDデバイス検索部113は、サブネットワークAに接続されるデバイス200を検索することはできるが、サブネットワークBに接続されるデバイス400を検索することはできない。WSDデバイス検索部113が、コンピュータ100が属するサブネットワークと同一のサブネットワークに接続されるデバイスを検出した場合、アプリケーション110は、当該デバイスとWSDプロトコルによる通信が可能と判定する。
UUID取得部114は、WSDデバイス検索部113によって検出されたデバイスのUUIDを取得する。
Inboxドライバ検出部115は、コンピュータ100が具備する印刷ポートのリストを取得し、UUIDと印刷ポート名とを用いて、ポートモニタからPnP−X IDを取得する。次いで、Inboxドライバ検出部115は、コンピュータ100にインストール済みの印刷キューのリストを取得し、各印刷キューが、PnP−X IDが取得された印刷ポートに割り当てられているか否かを判定する。本実施形態では、PnP−X IDが取得された印刷ポートに割り当てられているか否かを判定することにより、印刷キューがWSD通信ポートに割り当てられているか否かが判定される。さらに、Inboxドライバ検出部115は、印刷キューに対応するドライバが、アプリケーション110によって登録されたドライバと一致するか否かを判定する。なお、PnP−X IDは、PnP−X Identifier の略であり、PnP−X機能によるデバイスの検出結果を一意に識別する識別子である。
登録されたドライバと一致しない場合、WSDデバイス登録部116は、OSによって制御され、デバイスの管理に用いられるアソシエーションデータベース(Association Database)から、対象デバイスを削除する。アソシエーションデータベースから対象デバイスが削除されると、OSは、対象デバイスに関連付けられたInboxドライバ(OSが提供する汎用ドライバ)の印刷キューを削除する。
WSDデバイス登録部116は、対象デバイスを再びOSのデータベースに登録する。対象デバイスが再びOSのデータベースに登録されると、OSのPnP−X機能が誘発され、登録されたドライバの印刷キューがWSD通信ポートに割り当てて生成される。
(ドライバインストーラの処理手順)
図5は、本実施形態におけるドライバインストーラの処理手順を示すフローチャートである。図5に示されるフローチャートの処理は、CPU101がアプリケーション110のプログラムコードをRAM102に展開し実行することにより行われる。以下の各記号Sは、フローチャートにおけるステップであることを意味する。これらは図6以降のフローチャートについても同様である。
S501において、デバイス検出部111は、ドライバINFファイル121からデバイスのドライバ情報を取得する。ドライバ情報には、ドライバ名が含まれる。
S502において、TCP/IPデバイス検索部112は、TCP/IPプロトコルにより、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスを検索する。更に、TCP/IPデバイス検索部112は、ルータ300を越えた先のサブネットに接続されるデバイスを検索する。
S503において、TCP/IPプロトコルによるデバイス検索によって、ドライバINFファイル121から取得されたデバイス名と一致するデバイスが検出されたか否かが判定される。一致するデバイスが検出された場合(S503:YES)、S504に移行する。一致するデバイスが検出されなかった場合(S503:NO)、S512に移行する。
S504において、S503で検出されたデバイスに関する情報が表示部105に表示される。本実施形態では、デバイスに関する情報として、デバイス名、IPアドレス、MACアドレスなどが表示部105に表示される。これらデバイスに関する情報は、対象デバイスを識別するために利用可能な情報である。なお、S503において複数のデバイスが検出された場合、これら複数のデバイスに関する情報が一覧で表示される。
S505において、表示部105に表示されたデバイスに関する情報のうち、選択されたデバイスの制御に用いられるドライバがコンピュータ100に登録される。本実施形態では、タッチパネル機能を有する表示部105に入力されたユーザ指示に基づいてデバイスの選択が行われる。なお、本実施形態では、デバイス200の製造元が提供するOutboxドライバがコンピュータ100に登録される。
S506において、WSDデバイス検索部113は、WSDプロトコルにより、S505で選択されたデバイスを、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスから検索する。
S507において、WSDプロトコルによるデバイス検索によって、S505で選択されたデバイスが、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスから検出されたか否かが判定される。デバイスが検出された場合(S507:YES)、S508に移行する。デバイスが検出されなかった場合(S507:NO)、S510に移行する。
デバイスが検出された場合(S507:YES)、コンピュータ100とデバイスとの間でWSDプロトコルによる通信が可能と判定される。そして、S508において、デバイスとの通信に用いられる通信ポートが、WSDプロトコルによって通信可能なWSD通信ポートに決定される。
S509において、UUID取得部114は、S507で検出されたデバイスのUUIDを取得する。
S600において、アプリケーション110は、S507で検出されたデバイスの制御に用いられるドライバの印刷キューを生成する。S600の詳細は後述する。S600の処理が完了すると、本フローチャートの処理を終了する。
デバイスが検出されなかった場合(S507:NO)、コンピュータ100とデバイスとの間でWSDプロトコルによる通信が不可能と判定される。そして、S510において、コンピュータ100とデバイスとの通信に用いられる通信ポートが、TCP/IPプロトコルによって通信可能なTCP/IP通信ポートに決定される。
S511において、アプリケーション110は、S507で検出されたデバイスの制御に用いられるドライバの印刷キューを生成する。より詳細には、アプリケーション110は、S505で登録されたドライバの印刷キューをTCP/IP通信ポートに割り当てて生成する。S511の処理が完了すると、本フローチャートの処理を終了する。
また、TCP/IPプロトコルによるデバイス検索によって、ドライバ情報と一致するデバイスが検出されなかった場合(S503:NO)、S512において、デバイス設定の確認ウィンドウが表示部105における表示画面に表示される。
図8は、本実施形態におけるデバイス設定の確認ウィンドウの一例を示す図である。本実施形態の確認ウィンドウ801には、ドライバINFファイル121から取得されたドライバ情報(デバイス名)と一致するデバイスが検出されなかった旨のメッセージが含まれる。そして、確認ウィンドウ801における再試行ボタン802への入力が受け付けられると(S513:YES)、再びS502に戻る。一方、確認ウィンドウ801における中止ボタン803への入力が受け付けられると(S513:NO)、本フローチャートの処理を終了する。
(印刷キューの生成手順)
図6は、本実施形態における印刷キューの生成手順(S600)の詳細を示すフローチャートである。以下、図6を参照して詳細に説明する。
S601において、Inboxドライバ検出部115は、コンピュータ100が具備する印刷ポートのリストを取得する。
S602において、全ての印刷ポートについて処理が完了したか否かが判定される。全ての印刷ポートについて処理が完了していない場合(S602:NO)、S603に移行する。全ての印刷ポートについて処理が完了している場合(S602:YES)、S602〜S603の処理ループを抜けてS604に移行する。
S603において、S509で取得したUUIDと、コンピュータ100の印刷ポート名とを用いて、ポートモニタからPnP−X IDを取得する。ポートモニタからPnP−X IDを取得する処理は、上記リストの最上位に記述されている印刷ポート名から上記リストの最下位に記述されている印刷ポート名まで、S602〜S603の処理ループごとに順番に実行される。S603の処理が終了すると再びS602の判定処理に戻る。なお、本実施形態において、ポートモニタの機能はコンピュータ100のOSによって提供されているものとする。
S604において、コンピュータ100にインストール済みの印刷キューのリストが取得される。具体的には、各種ドライバがコンピュータ100にインストールされる際に、インストーラによって生成された印刷キューのリストが取得される。
S605において、全ての印刷キューについて処理が完了したか否かが判定される。全ての印刷キューについて処理が完了していない場合(S605:NO)、S606に移行する。全ての印刷キューについて処理が完了している場合(S605:YES)、S605〜S607の処理ループを抜けてS610に移行する。
S606において、印刷キューは、PnP−X IDが取得された印刷ポートに割り当てられているか否かが判定される。S606の判定処理は、上記リストの最上位に記述されている印刷キュー名から上記リストの最下位に記述されている印刷キュー名まで、S605〜S607の処理ループごとに順番に実行される。本実施形態では、PnP−X IDが取得された印刷ポートに割り当てられているか否かを判定することにより、印刷キューがWSD通信ポートに割り当てられているか否かを判定する。印刷キューがPnP−X IDが取得された印刷ポートに割り当てられている場合(S606:YES)、S607に移行する。割り当てられていない場合(S606:NO)、再びS605の判定処理に戻る。
S607において、Inboxドライバ検出部115は、印刷キューに対応するドライバが、S505で登録されたドライバと一致するか否かを判定する。登録されたドライバと一致している場合(S607:YES)、再びS605の判定処理に戻る。一方、登録されたドライバと一致していない場合(S607:NO)、S605〜S607の処理ループを抜けてS608に移行する。
S608において、WSDデバイス登録部116は、OSのデータベースから対象デバイスを削除する。
S609において、OSのデータベースから対象デバイスが削除されると(S608)、対象デバイスに関連付けられたInboxドライバ(OSが提供する汎用ドライバ)の印刷キューがOSにより削除される。なお、Inboxドライバの印刷キューを削除するために、削除対象となる印刷キューの名称を直接指定する手法も考えられるが、本実施形態ではこのような手法を適用していない。これは、印刷キューの名称は自由に変更可能であり、印刷キューの名称によって削除対象となる印刷キューを特定することができない場合があるからである。
S610において、WSDデバイス登録部116は、対象デバイスを再びOSのデータベースに登録する。
S611において、対象デバイスが再びOSのデータベースに登録されると(S610)、OSのPnP−X機能が誘発され、S505で登録されたドライバの印刷キューがWSD通信ポートに割り当てて生成される。S611の処理が完了すると、本フローチャートの処理を終了し、再び図5のフローチャートに復帰する。
以上説明した通り、本実施形態のドライバのインストール手法によれば、OSが提供する汎用ドライバの特性を考慮して印刷キューを生成する。そのため、本実施形態のドライバのインストール手法は、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することができる。
[実施形態2]
実施形態1によれば、デバイスに関連付けて生成された、OSが提供する汎用ドライバ(Inboxドライバ)の印刷キューを削除しつつ、デバイスの製造元が提供するドライバ(Outboxドライバ)の印刷キューを生成することができる。しかし、実施形態1の手法では、以下のユースケースにおいて問題が発生する。すなわち、複数のOutboxドライバが既にインストールされており、これら複数のOutboxドライバのうち一部を更新する場合、非更新対象のOutboxドライバの印刷キューが削除されてしまう。実施形態2のドライバのインストール手法は、上記問題に鑑み、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。以下、実施形態1と共通する部分については説明を簡略化ないし省略し、以下では本実施形態に特有な点を中心に説明する。
(印刷キューの生成手順)
S601〜S605は、実施形態1と同じため説明を省略する。
S701において、S606の判定結果が補助記憶装置106などの記憶領域に記憶される。すなわち、PnP−X IDが取得された印刷ポートに割り当てられている印刷キュー名が、S605〜S702の処理ループごとに記憶される。S701で記憶された印刷キュー名は、後述のS703の判定処理において参照される。
S607は、実施形態1と同じため説明を省略する。
S702において、S607の判定結果が補助記憶装置106などの記憶領域に記憶される。すなわち、登録されたドライバ(例えば、Outboxドライバ)と一致すると判定された印刷キュー名が、S605〜S702の処理ループごとに記憶される。S702で記憶された印刷キュー名は、後述のS703の判定処理において参照される。全ての印刷キューについて処理が完了している場合(S605:YES)、S703に移行し、対象デバイスをOSのデータベースから削除するか否かが判定される。
S703において、S701で記憶された判定結果が参照され、PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在するか否かが判定される。条件を満たす印刷キューが少なくとも1つ以上存在する場合(S703:YES)、S704に移行する。条件を満たす印刷キューが存在しない場合(S703:NO)、S704〜S609をスキップしてS610に移行する。
S704において、S702で記憶された判定結果が参照され、S703の条件を満たす印刷キューに対応するドライバが、いずれもS505で登録されたドライバと一致するか否かが判定される。いずれも登録されたドライバと一致しない場合(S704:YES)、S608に移行する。登録されたドライバと一致する印刷キューが存在する場合(S704:NO)、S608〜S609をスキップしてS610に移行する。
S608〜S611は、実施形態1と同じため説明を省略する。S611の処理を完了すると、本フローチャートを終了し、再び図5のフローチャートに復帰する。
以上説明した通り、本実施形態におけるドライバのインストール手法によれば、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。
以下、対象デバイス200について、更新対象のGDIドライバと、非更新対象のXPSドライバとがコンピュータ100に既にインストールされている場合を具体例として説明する。GDIドライバおよびXPSドライバは双方Outboxドライバであり、これらの印刷キューはWSD通信ポートに割り当てられているものとする。この場合、実施形態1の手法では、非更新対象のXPSドライバが登録済みドライバと一致しないと判定されるので(S607:NO)、XPSドライバの印刷キューが削除対象の印刷キーと判定されてしまう。一方、本実施形態の手法では、複数のOutboxドライバ(GDIドライバおよびXPSドライバが含まれる)を考慮した判定処理(S703〜S704)が実行されるため、非更新対象のXPSドライバの印刷キューが削除対象の印刷キーと判定されない。かかる構成により、本実施形態の手法では、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1・・・・情報処理システム
100・・コンピュータ
200・・デバイス
400・・デバイス
110・・アプリケーション(インストーラ)
111・・デバイス検出部
112・・TCP/IPデバイス検索部
113・・WSDデバイス検索部
114・・UUID取得部
115・・Inboxドライバ検出部
116・・WSDデバイス登録部

Claims (12)

  1. 情報処理装置であって、
    デバイスの製造元が提供するドライバを登録する登録手段と、
    前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
    前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する
    ことを特徴とする情報処理装置。
  2. 情報処理装置であって、
    デバイスの製造元が提供するドライバを登録する登録手段と、
    前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
    前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する
    ことを特徴とする情報処理装置。
  3. 前記削除手段は、前記デバイスの管理に用いられるデータベースから前記デバイスを示す情報が削除されることに応じて、前記デバイスに関連付けられたドライバの前記印刷キューを削除することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記生成手段は、前記データベースに前記デバイスを示す情報が登録されることに応じて、前記登録されたドライバの印刷キューを前記WSD通信ポートに割り当てて生成することを特徴とする請求項3に記載の情報処理装置。
  5. 前記取得手段は、情報処理装置のOSが提供する機能であるポートモニタから前記PnP−X IDを取得することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
  6. 情報処理装置へのドライバのインストール方法であって、
    デバイスの製造元が提供するドライバを登録する登録ステップと、
    前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得ステップと、
    前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除ステップと、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成ステップと、を有する
    ことを特徴とするドライバのインストール方法。
  7. 情報処理装置へのドライバのインストール方法であって、
    デバイスの製造元が提供するドライバを登録する登録ステップと、
    前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得ステップと、
    前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除ステップと、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成ステップと、を有する
    ことを特徴とするドライバのインストール方法。
  8. 情報処理装置として機能させるためのプログラムであって、
    デバイスの製造元が提供するドライバを登録する登録手段と、
    前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
    前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する情報処理装置として機能させるためのプログラム。
  9. 情報処理装置として機能させるためのプログラムであって、
    デバイスの製造元が提供するドライバを登録する登録手段と、
    前記デバイスのUUIDと印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
    前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
    前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する情報処理装置として機能させるためのプログラム。
  10. 前記削除手段は、前記デバイスの管理に用いられるデータベースから前記デバイスを示す情報が削除されることに応じて、前記デバイスに関連付けられたドライバの前記印刷キューを削除することを特徴とする請求項8または9に記載のプログラム。
  11. 前記生成手段は、前記データベースに前記デバイスを示す情報が登録されることに応じて、前記登録されたドライバの印刷キューを前記WSD通信ポートに割り当てて生成することを特徴とする請求項10に記載のプログラム。
  12. 前記取得手段は、情報処理装置のOSが提供する機能であるポートモニタから前記PnP−X IDを取得することを特徴とする請求項8から11のいずれか1項に記載のプログラム。
JP2017095883A 2017-05-12 2017-05-12 情報処理装置、ドライバのインストール方法およびプログラム Active JP6882060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017095883A JP6882060B2 (ja) 2017-05-12 2017-05-12 情報処理装置、ドライバのインストール方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017095883A JP6882060B2 (ja) 2017-05-12 2017-05-12 情報処理装置、ドライバのインストール方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018194910A JP2018194910A (ja) 2018-12-06
JP6882060B2 true JP6882060B2 (ja) 2021-06-02

Family

ID=64569060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017095883A Active JP6882060B2 (ja) 2017-05-12 2017-05-12 情報処理装置、ドライバのインストール方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6882060B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7479121B2 (ja) * 2019-02-01 2024-05-08 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7218657B2 (ja) * 2019-04-03 2023-02-07 株式会社デンソーウェーブ ドライバの設定方法及びプログラム
JP7433874B2 (ja) * 2019-12-11 2024-02-20 キヤノン株式会社 情報処理装置、方法、及びプログラム
JP2022025598A (ja) 2020-07-29 2022-02-10 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559350B2 (en) * 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
JP2010160616A (ja) * 2009-01-07 2010-07-22 Seiko Epson Corp ホスト装置、ホスト装置の制御方法、画像形成システム及びコンピュータープログラム
JP6080593B2 (ja) * 2013-02-19 2017-02-15 キヤノン株式会社 情報処理装置及びその方法
JP6433378B2 (ja) * 2015-05-29 2018-12-05 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2018194910A (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
JP6882060B2 (ja) 情報処理装置、ドライバのインストール方法およびプログラム
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
JP4485997B2 (ja) 印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム及び記録媒体
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP2008158646A (ja) データ処理装置、印刷装置、印刷処理方法、記憶媒体、プログラム
US8860980B2 (en) Administrator terminal connected to image forming apparatus and client, image forming system including the same, and remote installing method for driver thereof
JP6191634B2 (ja) プリンタドライバプログラム、印刷システム、サーバ、サーバプログラム、クライアント端末、クライアントプログラム
JP2009122986A (ja) 情報処理システム、情報処理プログラム、および情報処理装置
KR101541174B1 (ko) 화상형성장치와 연결되는 호스트장치 및 호스트장치의 정보 관리방법
JP5709429B2 (ja) 画像処理装置及びその制御方法、プログラム
JP5396847B2 (ja) 印刷装置及びその制御方法
JP6226694B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6365247B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
JP2016126604A (ja) 端末装置、プログラム、情報処理システム及び出力方法
KR20050122022A (ko) 프린터 드라이버를 구비한 인쇄제어장치 및 그를 이용한인쇄옵션 제어방법
JP4962595B2 (ja) 情報処理プログラム、情報処理装置、および情報処理システム
JP5625497B2 (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム、及びそのプログラムを記憶した記録媒体
JP6801526B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5366710B2 (ja) 情報処理装置、情報処理方法、および情報処理装置制御プログラム
JP6016855B2 (ja) インストーラープログラム、ドライバープログラムおよび画像形成装置
JP6061730B2 (ja) 管理サーバ装置、クライアント装置、情報処理方法及びプログラム
JP2015222557A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
KR20220164425A (ko) 정보 처리 시스템, 정보 처리 장치, 및 그 제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210311

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: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210506

R151 Written notification of patent or utility model registration

Ref document number: 6882060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151