JP6882060B2 - Information processing device, driver installation method and program - Google Patents
Information processing device, driver installation method and program Download PDFInfo
- 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
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、デバイスドライバのインストール技術に関する。 The present invention relates to a device driver installation technique.
コンピュータにインストールされるデバイスドライバの種類は、大きく2種類に分類することができる。1つは、デバイスの製造元が提供するドライバであり、これらはOutboxドライバと称される。もう1つは、OSが提供するドライバであり、これらはInboxドライバと称される。一般的には、Outboxドライバの方がInboxドライバよりも優れた機能を有しており、デバイスの製造元はOutboxドライバを使用することを推奨している。 The types of device drivers installed on a computer can be broadly classified into two types. One is a driver provided by the device manufacturer, which is referred to as an Outbox driver. The other is a driver provided by the OS, which is called an Inbox driver. In general, the Outbox driver has better features than the Inbox driver, and device manufacturers recommend using the Outbox driver.
Windows(登録商標)OSではPnP−X(Plug and Play Extension for Network Connected Device)機能が提供されている。Windows OSは、自身のPnP−X機能に基づいてデバイスを検出し、そのデバイスに関連付けられたInboxドライバを自動的にコンピュータにインストールする。すなわち、コンピュータとデバイスとをネットワークを介して接続するだけで、Inboxドライバが自動的にコンピュータにインストールされる。 The Windows® OS provides a PnP-X (Plug and Play Extension for Network Connected Device) function. The Windows OS detects the device based on its PnP-X function and automatically installs the Inbox driver associated with the device on the computer. That is, the Inbox driver is automatically installed on the computer simply by connecting the computer and the device via the network.
Inboxドライバがインストールされた後に、Outboxドライバのインストールを実行する場合、PnP−X機能によってデバイスの自動検出が行われない。そのため、ユーザは、Inboxドライバを削除してからOutboxドライバのインストールを実行する場合がある。この場合、例えば、特許文献1の手法を適用してInboxドライバを削除することができる。特許文献1は、プリンタドライバに付加された固有削除情報を参照することにより、コンピュータにインストールされているプリンタドライバを選択的に削除する手法を開示している。
If the Outbox driver is installed after the Inbox driver is installed, the PnP-X function does not automatically detect the device. Therefore, the user may delete the Inbox driver and then install the Outbox driver. In this case, for example, the Inbox driver can be deleted by applying the method of
最新OSであるWindows10(登録商標)は、Microsoft Mobile Print(以下「MMP」と記す)用のドライバを標準装備しており、このMMPドライバは全てのデバイスの製造元に共通する仕様となっている。 The latest OS, Windows 10 (registered trademark), is equipped with a driver for Microsoft Mobile Print (hereinafter referred to as "MMP") as standard equipment, and this MMP driver has specifications common to all device manufacturers.
そのため、MMPドライバを削除してからOutboxドライバのインストールを実行する場合、製造元が異なる他のデバイスに関連付けられたMMPドライバの印刷キューまでもが意図せず削除されてしまうという課題があった。 Therefore, when the Outbox driver is installed after the MMP driver is deleted, there is a problem that even the print queue of the MMP driver associated with another device from a different manufacturer is unintentionally deleted.
本発明は上記課題に鑑みなされたものである。すなわち、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することを目的とする。 The present invention has been made in view of the above problems. That is, the purpose is to generate the print queue of the driver provided by the manufacturer of the device while deleting the print queue of the general-purpose driver provided by the OS, which is generated in association with the device.
本発明の情報処理装置は、デバイスの製造元が提供するドライバを登録する登録手段と、前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有することを特徴とする。 The information processing device of the present invention includes a registration means for registering a driver provided by a device manufacturer, an acquisition means for acquiring a PnP-X ID using the UUID of the device and a print port name of the information processing device. When the print queue of the driver installed in the information processing apparatus is assigned to the print port from which the PnP-X ID has been acquired, and the driver corresponding to the print queue does not match the registered driver. The print queue is deleted, and the print queue of the registered driver is assigned to the WSD communication port to generate the print queue.
本発明によれば、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することができる。 According to the present invention, it is possible to generate the print queue of the driver provided by the manufacturer of the device while deleting the print queue of the general-purpose driver provided by the OS, which is generated in association with the device.
[実施形態1]
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
[Embodiment 1]
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. However, the configurations described in this embodiment are merely examples, and are not intended to limit the scope of the present invention to them.
(情報処理システムの構成)
図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の構成に限定されず、複数であってもよい。
(Configuration of information processing system)
FIG. 1 is a block diagram showing a configuration example of an information processing system according to the present embodiment. The
(コンピュータのハードウェア構成)
図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とネットワークを介して通信を行う。
(Computer hardware configuration)
FIG. 2 is a block diagram showing a hardware configuration example of the
本実施形態の補助記憶装置106は、ドライバソフトウェア(以下、単に「ドライバ」と記す場合がある)を対象デバイスにインストールするために必要なドライバインストーラも記憶している。なお、本実施形態において、対象デバイスは、デバイスをインストールする対象となるデバイスを意味する。このドライバインストーラは、TCP/IPプロトコルによるデバイスの検索機能と、WSDプロトコルによるデバイス検索機能とを備えている。本実施形態では、ドライバインストーラが、TCP/IPプロトコルによるデバイスの検索機能と、WSDプロトコルによるデバイス検索機能とを備える構成を示したが、実施形態は上記示した構成に限定されない。別実施形態では、補助記憶装置106が、TCP/IPプロトコルによるデバイスの検索機能を備える専用モジュールと、WSDによるデバイス検索機能を備える専用モジュールとを記憶していてもよい。その場合、デバイスドライバやアプリケーションからこれら専用モジュールを呼び出してデバイス検索を実行させるようにしてもよい。 The auxiliary storage device 106 of the present embodiment also stores the driver installer required for installing the driver software (hereinafter, may be simply referred to as “driver”) on the target device. In the present embodiment, the target device means a device to which the device is installed. This driver installer has a device search function using the TCP / IP protocol and a device search function using the WSD protocol. In the present embodiment, the driver installer has shown a configuration including a device search function by the TCP / IP protocol and a device search function by the WSD protocol, but the embodiment is not limited to the configuration shown above. In another embodiment, the auxiliary storage device 106 may store a dedicated module having a device search function by the TCP / IP protocol and a dedicated module having a device search function by the WSD. In that case, the device driver or application may call these dedicated modules to execute device search.
(デバイスのハードウェア構成)
図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は、用紙などの記録媒体上に形成されている文字や画像を読み取る読取部を更に有することになる。
(Hardware configuration of device)
FIG. 3 is a block diagram showing a hardware configuration example of the
(ソフトウェア機能構成)
図4は、本実施形態におけるコンピュータ100のソフトウェア機能構成を示すブロック図である。図4に示される各ブロックの機能は、CPU101がアプリケーション(ドライバインストーラ)110のプログラムコードをRAM102に読み出して実行することにより実現される。
(Software function configuration)
FIG. 4 is a block diagram showing a software functional configuration of the
アプリケーション110は、ネットワークに接続されるデバイスを検索し、検索されたデバイスのなかからユーザによって選択されたデバイスに関連付けられたドライバをコンピュータ100にインストールする。アプリケーション110は、ユーザによって選択されたデバイスがプリンタであれば、プリンタドライバ122をコンピュータ100にインストールする。ユーザによって選択されたデバイスがスキャナであれば、スキャナドライバ123をコンピュータ100にインストールする。また、ユーティリティ124は、ユーザによって選択されたデバイスの種類に応じて適宜コンピュータ100にインストールされる。
The
デバイス検出部111は、ドライバINFファイル121からデバイスのドライバ情報を取得する。ドライバ情報には、ドライバ名が含まれる。
The
TCP/IPデバイス検索部112は、TCP/IPプロトコルにより、コンピュータ100とネットワークを介して接続されるデバイスを検索する。アプリケーション110は、上記検索によって検出されたデバイスに関する情報を表示部105に表示する。本実施形態では、デバイスに関する情報として、デバイス名、IPアドレス、MACアドレスなどが表示部105に表示される。これらデバイスに関する情報は、対象デバイスを識別するために利用可能な情報である。さらに、アプリケーション110は、表示部105に表示されたデバイスに関する情報のうち、選択されたデバイスの制御に用いられるドライバをコンピュータ100に登録する。
The TCP / IP
WSDデバイス検索部113は、WSDプロトコルにより、選択されたデバイスを、コンピュータ100が属するサブネットワークと同一のサブネットワークに接続されるデバイスから検索する。WSDの仕様により、WSDプロトコルによる検索は、ルータ300を越えた先のサブネットワークからはデバイスを検索することができない。そのため、図1を例に説明すると、WSDデバイス検索部113は、サブネットワークAに接続されるデバイス200を検索することはできるが、サブネットワークBに接続されるデバイス400を検索することはできない。WSDデバイス検索部113が、コンピュータ100が属するサブネットワークと同一のサブネットワークに接続されるデバイスを検出した場合、アプリケーション110は、当該デバイスとWSDプロトコルによる通信が可能と判定する。
The WSD
UUID取得部114は、WSDデバイス検索部113によって検出されたデバイスのUUIDを取得する。
The
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機能によるデバイスの検出結果を一意に識別する識別子である。
The Inbox
登録されたドライバと一致しない場合、WSDデバイス登録部116は、OSによって制御され、デバイスの管理に用いられるアソシエーションデータベース(Association Database)から、対象デバイスを削除する。アソシエーションデータベースから対象デバイスが削除されると、OSは、対象デバイスに関連付けられたInboxドライバ(OSが提供する汎用ドライバ)の印刷キューを削除する。
If it does not match the registered driver, the WSD
WSDデバイス登録部116は、対象デバイスを再びOSのデータベースに登録する。対象デバイスが再びOSのデータベースに登録されると、OSのPnP−X機能が誘発され、登録されたドライバの印刷キューがWSD通信ポートに割り当てて生成される。
The WSD
(ドライバインストーラの処理手順)
図5は、本実施形態におけるドライバインストーラの処理手順を示すフローチャートである。図5に示されるフローチャートの処理は、CPU101がアプリケーション110のプログラムコードをRAM102に展開し実行することにより行われる。以下の各記号Sは、フローチャートにおけるステップであることを意味する。これらは図6以降のフローチャートについても同様である。
(Driver installer processing procedure)
FIG. 5 is a flowchart showing a processing procedure of the driver installer in this embodiment. The processing of the flowchart shown in FIG. 5 is performed by the CPU 101 expanding the program code of the
S501において、デバイス検出部111は、ドライバINFファイル121からデバイスのドライバ情報を取得する。ドライバ情報には、ドライバ名が含まれる。
In S501, the
S502において、TCP/IPデバイス検索部112は、TCP/IPプロトコルにより、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスを検索する。更に、TCP/IPデバイス検索部112は、ルータ300を越えた先のサブネットに接続されるデバイスを検索する。
In S502, the TCP / IP
S503において、TCP/IPプロトコルによるデバイス検索によって、ドライバINFファイル121から取得されたデバイス名と一致するデバイスが検出されたか否かが判定される。一致するデバイスが検出された場合(S503:YES)、S504に移行する。一致するデバイスが検出されなかった場合(S503:NO)、S512に移行する。
In S503, it is determined whether or not a device matching the device name acquired from the
S504において、S503で検出されたデバイスに関する情報が表示部105に表示される。本実施形態では、デバイスに関する情報として、デバイス名、IPアドレス、MACアドレスなどが表示部105に表示される。これらデバイスに関する情報は、対象デバイスを識別するために利用可能な情報である。なお、S503において複数のデバイスが検出された場合、これら複数のデバイスに関する情報が一覧で表示される。
In S504, information about the device detected in S503 is displayed on the
S505において、表示部105に表示されたデバイスに関する情報のうち、選択されたデバイスの制御に用いられるドライバがコンピュータ100に登録される。本実施形態では、タッチパネル機能を有する表示部105に入力されたユーザ指示に基づいてデバイスの選択が行われる。なお、本実施形態では、デバイス200の製造元が提供するOutboxドライバがコンピュータ100に登録される。
In S505, the driver used to control the selected device among the information about the device displayed on the
S506において、WSDデバイス検索部113は、WSDプロトコルにより、S505で選択されたデバイスを、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスから検索する。
In S506, the WSD
S507において、WSDプロトコルによるデバイス検索によって、S505で選択されたデバイスが、コンピュータ100が属するサブネットと同一のサブネットに接続されるデバイスから検出されたか否かが判定される。デバイスが検出された場合(S507:YES)、S508に移行する。デバイスが検出されなかった場合(S507:NO)、S510に移行する。
In S507, the device search by the WSD protocol determines whether or not the device selected in S505 is detected from a device connected to the same subnet as the subnet to which the
デバイスが検出された場合(S507:YES)、コンピュータ100とデバイスとの間でWSDプロトコルによる通信が可能と判定される。そして、S508において、デバイスとの通信に用いられる通信ポートが、WSDプロトコルによって通信可能なWSD通信ポートに決定される。
When the device is detected (S507: YES), it is determined that the
S509において、UUID取得部114は、S507で検出されたデバイスのUUIDを取得する。
In S509, the
S600において、アプリケーション110は、S507で検出されたデバイスの制御に用いられるドライバの印刷キューを生成する。S600の詳細は後述する。S600の処理が完了すると、本フローチャートの処理を終了する。
In S600,
デバイスが検出されなかった場合(S507:NO)、コンピュータ100とデバイスとの間でWSDプロトコルによる通信が不可能と判定される。そして、S510において、コンピュータ100とデバイスとの通信に用いられる通信ポートが、TCP/IPプロトコルによって通信可能なTCP/IP通信ポートに決定される。
If the device is not detected (S507: NO), it is determined that communication by the WSD protocol is impossible between the
S511において、アプリケーション110は、S507で検出されたデバイスの制御に用いられるドライバの印刷キューを生成する。より詳細には、アプリケーション110は、S505で登録されたドライバの印刷キューをTCP/IP通信ポートに割り当てて生成する。S511の処理が完了すると、本フローチャートの処理を終了する。
In S511,
また、TCP/IPプロトコルによるデバイス検索によって、ドライバ情報と一致するデバイスが検出されなかった場合(S503:NO)、S512において、デバイス設定の確認ウィンドウが表示部105における表示画面に表示される。
Further, when the device matching the driver information is not detected by the device search by the TCP / IP protocol (S503: NO), in S512, the device setting confirmation window is displayed on the display screen of the
図8は、本実施形態におけるデバイス設定の確認ウィンドウの一例を示す図である。本実施形態の確認ウィンドウ801には、ドライバINFファイル121から取得されたドライバ情報(デバイス名)と一致するデバイスが検出されなかった旨のメッセージが含まれる。そして、確認ウィンドウ801における再試行ボタン802への入力が受け付けられると(S513:YES)、再びS502に戻る。一方、確認ウィンドウ801における中止ボタン803への入力が受け付けられると(S513:NO)、本フローチャートの処理を終了する。
FIG. 8 is a diagram showing an example of a device setting confirmation window in the present embodiment. The
(印刷キューの生成手順)
図6は、本実施形態における印刷キューの生成手順(S600)の詳細を示すフローチャートである。以下、図6を参照して詳細に説明する。
(Procedure for generating a print queue)
FIG. 6 is a flowchart showing details of the print queue generation procedure (S600) in the present embodiment. Hereinafter, a detailed description will be given with reference to FIG.
S601において、Inboxドライバ検出部115は、コンピュータ100が具備する印刷ポートのリストを取得する。
In S601, the Inbox
S602において、全ての印刷ポートについて処理が完了したか否かが判定される。全ての印刷ポートについて処理が完了していない場合(S602:NO)、S603に移行する。全ての印刷ポートについて処理が完了している場合(S602:YES)、S602〜S603の処理ループを抜けてS604に移行する。 In S602, it is determined whether or not the processing is completed for all the print ports. If the processing is not completed for all the print ports (S602: NO), the process proceeds to S603. When the processing is completed for all the print ports (S602: YES), the process exits the processing loop of S602 to S603 and shifts to S604.
S603において、S509で取得したUUIDと、コンピュータ100の印刷ポート名とを用いて、ポートモニタからPnP−X IDを取得する。ポートモニタからPnP−X IDを取得する処理は、上記リストの最上位に記述されている印刷ポート名から上記リストの最下位に記述されている印刷ポート名まで、S602〜S603の処理ループごとに順番に実行される。S603の処理が終了すると再びS602の判定処理に戻る。なお、本実施形態において、ポートモニタの機能はコンピュータ100のOSによって提供されているものとする。
In S603, the PnP-X ID is acquired from the port monitor by using the UUID acquired in S509 and the print port name of the
S604において、コンピュータ100にインストール済みの印刷キューのリストが取得される。具体的には、各種ドライバがコンピュータ100にインストールされる際に、インストーラによって生成された印刷キューのリストが取得される。
In S604, a list of print queues installed on the
S605において、全ての印刷キューについて処理が完了したか否かが判定される。全ての印刷キューについて処理が完了していない場合(S605:NO)、S606に移行する。全ての印刷キューについて処理が完了している場合(S605:YES)、S605〜S607の処理ループを抜けてS610に移行する。 In S605, it is determined whether or not the processing is completed for all the print queues. If the processing is not completed for all the print queues (S605: NO), the process proceeds to S606. When the processing is completed for all the print queues (S605: YES), the process exits the processing loop of S605 to S607 and proceeds to S610.
S606において、印刷キューは、PnP−X IDが取得された印刷ポートに割り当てられているか否かが判定される。S606の判定処理は、上記リストの最上位に記述されている印刷キュー名から上記リストの最下位に記述されている印刷キュー名まで、S605〜S607の処理ループごとに順番に実行される。本実施形態では、PnP−X IDが取得された印刷ポートに割り当てられているか否かを判定することにより、印刷キューがWSD通信ポートに割り当てられているか否かを判定する。印刷キューがPnP−X IDが取得された印刷ポートに割り当てられている場合(S606:YES)、S607に移行する。割り当てられていない場合(S606:NO)、再びS605の判定処理に戻る。 In S606, it is determined whether or not the print queue is assigned to the print port from which the PnP-X ID has been acquired. The determination process of S606 is executed in order for each processing loop of S605 to S607, from the print queue name described at the top of the list to the print queue name described at the bottom of the list. In the present embodiment, it is determined whether or not the print queue is assigned to the WSD communication port by determining whether or not the PnP-X ID is assigned to the acquired print port. When the print queue is assigned to the print port from which the PnP-X ID has been acquired (S606: YES), the process proceeds to S607. If it is not assigned (S606: NO), the process returns to the determination process of S605 again.
S607において、Inboxドライバ検出部115は、印刷キューに対応するドライバが、S505で登録されたドライバと一致するか否かを判定する。登録されたドライバと一致している場合(S607:YES)、再びS605の判定処理に戻る。一方、登録されたドライバと一致していない場合(S607:NO)、S605〜S607の処理ループを抜けてS608に移行する。
In S607, the Inbox
S608において、WSDデバイス登録部116は、OSのデータベースから対象デバイスを削除する。
In S608, the WSD
S609において、OSのデータベースから対象デバイスが削除されると(S608)、対象デバイスに関連付けられたInboxドライバ(OSが提供する汎用ドライバ)の印刷キューがOSにより削除される。なお、Inboxドライバの印刷キューを削除するために、削除対象となる印刷キューの名称を直接指定する手法も考えられるが、本実施形態ではこのような手法を適用していない。これは、印刷キューの名称は自由に変更可能であり、印刷キューの名称によって削除対象となる印刷キューを特定することができない場合があるからである。 In S609, when the target device is deleted from the database of the OS (S608), the print queue of the Inbox driver (general-purpose driver provided by the OS) associated with the target device is deleted by the OS. In order to delete the print queue of the Inbox driver, a method of directly specifying the name of the print queue to be deleted can be considered, but such a method is not applied in the present embodiment. This is because the name of the print queue can be freely changed, and the print queue to be deleted may not be specified by the name of the print queue.
S610において、WSDデバイス登録部116は、対象デバイスを再びOSのデータベースに登録する。
In S610, the WSD
S611において、対象デバイスが再びOSのデータベースに登録されると(S610)、OSのPnP−X機能が誘発され、S505で登録されたドライバの印刷キューがWSD通信ポートに割り当てて生成される。S611の処理が完了すると、本フローチャートの処理を終了し、再び図5のフローチャートに復帰する。 In S611, when the target device is registered in the OS database again (S610), the PnP-X function of the OS is triggered, and the print queue of the driver registered in S505 is assigned to the WSD communication port and generated. When the process of S611 is completed, the process of this flowchart is finished, and the process returns to the flowchart of FIG. 5 again.
以上説明した通り、本実施形態のドライバのインストール手法によれば、OSが提供する汎用ドライバの特性を考慮して印刷キューを生成する。そのため、本実施形態のドライバのインストール手法は、デバイスに関連付けて生成された、OSが提供する汎用ドライバの印刷キューを削除しつつ、デバイスの製造元が提供するドライバの印刷キューを生成することができる。 As described above, according to the driver installation method of the present embodiment, the print queue is generated in consideration of the characteristics of the general-purpose driver provided by the OS. Therefore, the driver installation method of the present embodiment can generate the print queue of the driver provided by the device manufacturer while deleting the print queue of the general-purpose driver provided by the OS, which is generated in association with the device. ..
[実施形態2]
実施形態1によれば、デバイスに関連付けて生成された、OSが提供する汎用ドライバ(Inboxドライバ)の印刷キューを削除しつつ、デバイスの製造元が提供するドライバ(Outboxドライバ)の印刷キューを生成することができる。しかし、実施形態1の手法では、以下のユースケースにおいて問題が発生する。すなわち、複数のOutboxドライバが既にインストールされており、これら複数のOutboxドライバのうち一部を更新する場合、非更新対象のOutboxドライバの印刷キューが削除されてしまう。実施形態2のドライバのインストール手法は、上記問題に鑑み、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。以下、実施形態1と共通する部分については説明を簡略化ないし省略し、以下では本実施形態に特有な点を中心に説明する。
[Embodiment 2]
According to the first embodiment, the print queue of the driver (Outbox driver) provided by the manufacturer of the device is generated while deleting the print queue of the general-purpose driver (Inbox driver) provided by the OS, which is generated in association with the device. be able to. However, the method of
(印刷キューの生成手順)
S601〜S605は、実施形態1と同じため説明を省略する。
S701において、S606の判定結果が補助記憶装置106などの記憶領域に記憶される。すなわち、PnP−X IDが取得された印刷ポートに割り当てられている印刷キュー名が、S605〜S702の処理ループごとに記憶される。S701で記憶された印刷キュー名は、後述のS703の判定処理において参照される。
(Procedure for generating a print queue)
Since S601 to S605 are the same as those in the first embodiment, the description thereof will be omitted.
In S701, the determination result of S606 is stored in a storage area such as the auxiliary storage device 106. That is, the print queue name assigned to the print port from which the PnP-X ID has been acquired is stored for each processing loop of S605 to S702. The print queue name stored in S701 is referred to in the determination process of S703 described later.
S607は、実施形態1と同じため説明を省略する。
S702において、S607の判定結果が補助記憶装置106などの記憶領域に記憶される。すなわち、登録されたドライバ(例えば、Outboxドライバ)と一致すると判定された印刷キュー名が、S605〜S702の処理ループごとに記憶される。S702で記憶された印刷キュー名は、後述のS703の判定処理において参照される。全ての印刷キューについて処理が完了している場合(S605:YES)、S703に移行し、対象デバイスをOSのデータベースから削除するか否かが判定される。
Since S607 is the same as that of the first embodiment, the description thereof will be omitted.
In S702, the determination result of S607 is stored in a storage area such as the auxiliary storage device 106. That is, the print queue name determined to match the registered driver (for example, the Outbox driver) is stored in each processing loop of S605 to S702. The print queue name stored in S702 is referred to in the determination process of S703 described later. When the processing is completed for all the print queues (S605: YES), the process proceeds to S703, and it is determined whether or not to delete the target device from the database of the OS.
S703において、S701で記憶された判定結果が参照され、PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在するか否かが判定される。条件を満たす印刷キューが少なくとも1つ以上存在する場合(S703:YES)、S704に移行する。条件を満たす印刷キューが存在しない場合(S703:NO)、S704〜S609をスキップしてS610に移行する。 In S703, the determination result stored in S701 is referred to, and it is determined whether or not there is at least one print queue assigned to the print port from which the PnP-X ID has been acquired. If there is at least one print queue that satisfies the condition (S703: YES), the process proceeds to S704. If there is no print queue that satisfies the conditions (S703: NO), S704 to S609 are skipped and the process proceeds to S610.
S704において、S702で記憶された判定結果が参照され、S703の条件を満たす印刷キューに対応するドライバが、いずれもS505で登録されたドライバと一致するか否かが判定される。いずれも登録されたドライバと一致しない場合(S704:YES)、S608に移行する。登録されたドライバと一致する印刷キューが存在する場合(S704:NO)、S608〜S609をスキップしてS610に移行する。
S608〜S611は、実施形態1と同じため説明を省略する。S611の処理を完了すると、本フローチャートを終了し、再び図5のフローチャートに復帰する。
In S704, the determination result stored in S702 is referred to, and it is determined whether or not all the drivers corresponding to the print queue satisfying the condition of S703 match the driver registered in S505. If none of them match the registered driver (S704: YES), the process proceeds to S608. If there is a print queue that matches the registered driver (S704: NO), S608 to S609 are skipped and the process proceeds to S610.
Since S608 to S611 are the same as those in the first embodiment, the description thereof will be omitted. When the process of S611 is completed, the present flowchart is terminated, and the process returns to the flowchart of FIG. 5 again.
以上説明した通り、本実施形態におけるドライバのインストール手法によれば、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。 As described above, according to the driver installation method in the present embodiment, the update target Outbox driver can be updated while maintaining the print queue of the non-update target Outbox driver.
以下、対象デバイス200について、更新対象のGDIドライバと、非更新対象のXPSドライバとがコンピュータ100に既にインストールされている場合を具体例として説明する。GDIドライバおよびXPSドライバは双方Outboxドライバであり、これらの印刷キューはWSD通信ポートに割り当てられているものとする。この場合、実施形態1の手法では、非更新対象のXPSドライバが登録済みドライバと一致しないと判定されるので(S607:NO)、XPSドライバの印刷キューが削除対象の印刷キーと判定されてしまう。一方、本実施形態の手法では、複数のOutboxドライバ(GDIドライバおよびXPSドライバが含まれる)を考慮した判定処理(S703〜S704)が実行されるため、非更新対象のXPSドライバの印刷キューが削除対象の印刷キーと判定されない。かかる構成により、本実施形態の手法では、非更新対象のOutboxドライバの印刷キューを保持しつつ、更新対象のOutboxドライバを更新することができる。
Hereinafter, the case where the GDI driver to be updated and the XPS driver to be non-updated are already installed in the
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
1・・・・情報処理システム
100・・コンピュータ
200・・デバイス
400・・デバイス
110・・アプリケーション(インストーラ)
111・・デバイス検出部
112・・TCP/IPデバイス検索部
113・・WSDデバイス検索部
114・・UUID取得部
115・・Inboxドライバ検出部
116・・WSDデバイス登録部
1 ...
111 ...
Claims (12)
デバイスの製造元が提供するドライバを登録する登録手段と、
前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する
ことを特徴とする情報処理装置。 It is an information processing device
A registration method for registering drivers provided by the device manufacturer, and
An acquisition means for acquiring a PnP-X ID using the UUID of the device and the print port name of the information processing device.
When the print queue of the driver installed in the information processing device is assigned to the print port from which the PnP-X ID has been acquired, and the driver corresponding to the print queue does not match the registered driver. , A deletion means for deleting the print queue,
An information processing apparatus comprising: a generation means for allocating a print queue of the registered driver to a WSD communication port to generate the print queue.
デバイスの製造元が提供するドライバを登録する登録手段と、
前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する
ことを特徴とする情報処理装置。 It is an information processing device
A registration method for registering drivers provided by the device manufacturer, and
An acquisition means for acquiring a PnP-X ID using the UUID of the device and the print port name of the information processing device.
If there is at least one print queue assigned to the print port from which the PnP-X ID has been acquired, and none of the drivers corresponding to the print queue match the registered driver, the above. Deletion means to delete the print queue,
An information processing apparatus comprising: a generation means for allocating a print queue of the registered driver to a WSD communication port to generate the print queue.
デバイスの製造元が提供するドライバを登録する登録ステップと、
前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得ステップと、
前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除ステップと、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成ステップと、を有する
ことを特徴とするドライバのインストール方法。 How to install the driver in the information processing device
A registration step to register the driver provided by the device manufacturer, and
An acquisition step of acquiring a PnP-X ID using the UUID of the device and the print port name of the information processing device, and
When the print queue of the driver installed in the information processing device is assigned to the print port from which the PnP-X ID has been acquired, and the driver corresponding to the print queue does not match the registered driver. , A delete step to delete the print queue,
A method for installing a driver, which comprises a generation step of allocating a print queue of the registered driver to a WSD communication port to generate the print queue.
デバイスの製造元が提供するドライバを登録する登録ステップと、
前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得ステップと、
前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除ステップと、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成ステップと、を有する
ことを特徴とするドライバのインストール方法。 How to install the driver in the information processing device
A registration step to register the driver provided by the device manufacturer, and
An acquisition step of acquiring a PnP-X ID using the UUID of the device and the print port name of the information processing device, and
If there is at least one print queue assigned to the print port from which the PnP-X ID has been acquired, and none of the drivers corresponding to the print queue match the registered driver, the above. With the delete step to delete the print queue,
A method for installing a driver, which comprises a generation step of allocating a print queue of the registered driver to a WSD communication port to generate the print queue.
デバイスの製造元が提供するドライバを登録する登録手段と、
前記デバイスのUUIDと前記情報処理装置の印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
前記情報処理装置にインストール済みのドライバの印刷キューが、前記PnP−X IDが取得された印刷ポートに割り当てられており、かつ、前記印刷キューに対応するドライバが前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する情報処理装置として機能させるためのプログラム。 A program for functioning as an information processing device
A registration method for registering drivers provided by the device manufacturer, and
An acquisition means for acquiring a PnP-X ID using the UUID of the device and the print port name of the information processing device.
When the print queue of the driver installed in the information processing device is assigned to the print port from which the PnP-X ID has been acquired, and the driver corresponding to the print queue does not match the registered driver. , A deletion means for deleting the print queue,
A program for functioning as an information processing device having a generation means for allocating and generating a print queue of the registered driver to a WSD communication port.
デバイスの製造元が提供するドライバを登録する登録手段と、
前記デバイスのUUIDと印刷ポート名とを用いてPnP−X IDを取得する取得手段と、
前記PnP−X IDが取得された印刷ポートに割り当てられている印刷キューが少なくとも1つ以上存在し、かつ、前記印刷キューに対応するドライバが、いずれも前記登録されたドライバと一致しない場合、前記印刷キューを削除する削除手段と、
前記登録されたドライバの印刷キューをWSD通信ポートに割り当てて生成する生成手段と、を有する情報処理装置として機能させるためのプログラム。 A program for functioning as an information processing device
A registration method for registering drivers provided by the device manufacturer, and
An acquisition means for acquiring a PnP-X ID using the UUID of the device and the print port name, and
If there is at least one print queue assigned to the print port from which the PnP-X ID has been acquired, and none of the drivers corresponding to the print queue match the registered driver, the above. Deletion means to delete the print queue,
A program for functioning as an information processing device having a generation means for allocating and generating a print queue of the registered driver to a WSD communication port.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017095883A JP6882060B2 (en) | 2017-05-12 | 2017-05-12 | Information processing device, driver installation method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017095883A JP6882060B2 (en) | 2017-05-12 | 2017-05-12 | Information processing device, driver installation method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018194910A JP2018194910A (en) | 2018-12-06 |
JP6882060B2 true JP6882060B2 (en) | 2021-06-02 |
Family
ID=64569060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017095883A Active JP6882060B2 (en) | 2017-05-12 | 2017-05-12 | Information processing device, driver installation method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6882060B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7479121B2 (en) * | 2019-02-01 | 2024-05-08 | ブラザー工業株式会社 | SUPPORT PROGRAM, INFORMATION PROCESSING APPARATUS, AND PRINTING METHOD |
JP7218657B2 (en) * | 2019-04-03 | 2023-02-07 | 株式会社デンソーウェーブ | Driver setting method and program |
JP7433874B2 (en) * | 2019-12-11 | 2024-02-20 | キヤノン株式会社 | Information processing device, method, and program |
JP7534882B2 (en) | 2020-07-29 | 2024-08-15 | キヤノン株式会社 | Information processing device, control method, program, and storage medium |
Family Cites Families (4)
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 (en) * | 2009-01-07 | 2010-07-22 | Seiko Epson Corp | Host device, method for controlling the same, image forming system, and computer program |
JP6080593B2 (en) * | 2013-02-19 | 2017-02-15 | キヤノン株式会社 | Information processing apparatus and method |
JP6433378B2 (en) * | 2015-05-29 | 2018-12-05 | キヤノン株式会社 | Information processing apparatus, information processing method, and computer program |
-
2017
- 2017-05-12 JP JP2017095883A patent/JP6882060B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018194910A (en) | 2018-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8640148B2 (en) | Information processing apparatus, information processing method and storage medium | |
JP5321929B2 (en) | Universal device driver, device control program, information processing apparatus, server apparatus, and method | |
JP6882060B2 (en) | Information processing device, driver installation method and program | |
JP2008158646A (en) | Data processing apparatus, printing apparatus, printing processing method, storage medium and program | |
US8860980B2 (en) | Administrator terminal connected to image forming apparatus and client, image forming system including the same, and remote installing method for driver thereof | |
JP4485997B2 (en) | Print control apparatus, print control system, print control method, print control program, and recording medium | |
JP2009122986A (en) | Information processing system, information processing program and information processor | |
JP6191634B2 (en) | Printer driver program, printing system, server, server program, client terminal, client program | |
KR101541174B1 (en) | Host apparatus connected to image forming apparatus and information management method thereof | |
JP5709429B2 (en) | Image processing apparatus, control method therefor, and program | |
JP5396847B2 (en) | Printing apparatus and control method thereof | |
JP6226694B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2015176532A (en) | Program, information processor, and information processing system | |
JP6365247B2 (en) | Information processing apparatus, information processing system, and information processing method | |
JP6801526B2 (en) | Information processing equipment, information processing methods and programs | |
JP2016126604A (en) | Terminal device, program, information processing system and output method | |
KR20050122022A (en) | Print control device having a printer driver and method for controlling print-option using the same | |
JP4962595B2 (en) | Information processing program, information processing apparatus, and information processing system | |
JP5625497B2 (en) | Information processing apparatus, information processing system, information processing method, program, and recording medium storing the program | |
JP5366710B2 (en) | Information processing apparatus, information processing method, and information processing apparatus control program | |
JP6016855B2 (en) | Installer program, driver program, and image forming apparatus | |
JP6061730B2 (en) | Management server device, client device, information processing method, and program | |
JP2015222557A (en) | Information processing device, information processing method, program and information processing system | |
JP2015121887A (en) | Information processing device and control method thereof, and program | |
KR20220164425A (en) | Information processing system, information processing apparatus, and control method of the same |
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 |