JP2021117896A - 情報処理装置、情報処理方法およびプログラム - Google Patents
情報処理装置、情報処理方法およびプログラム Download PDFInfo
- Publication number
- JP2021117896A JP2021117896A JP2020012590A JP2020012590A JP2021117896A JP 2021117896 A JP2021117896 A JP 2021117896A JP 2020012590 A JP2020012590 A JP 2020012590A JP 2020012590 A JP2020012590 A JP 2020012590A JP 2021117896 A JP2021117896 A JP 2021117896A
- Authority
- JP
- Japan
- Prior art keywords
- information
- counter
- driver
- information processing
- deleted
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】OS更新前から存在するドライバアンインストーラを用いて、更新後のOSにおいて、削除対象のデバイスに関する情報を確実に削除する。【解決手段】情報処理装置は、対抗情報取得部1221と、対抗情報処理部1222と、プリンタドライバ削除処理部1225とを有する。対抗情報取得部1221は、削除対象のデバイスに対応するドライバのインストールを妨げるソフトウェアに関する対抗情報を情報処理装置の外部から取得する。対抗情報処理部1222は、取得した外部の対抗情報から、削除対象のデバイスと前記情報処理装置のOSのバージョン情報を基に、前記情報処理装置にインストールされている内部の対抗情報を特定する。プリンタドライバ削除処理部1225は、特定した内部の対抗情報を削除する。【選択図】図4
Description
本発明は、デバイスドライバのアンインストール技術に関する。
コンピュータに接続される旧デバイスを別の新デバイスに取り替えたり、旧デバイスを取り外したりする場合、コンピュータにインストールされていた、旧デバイスに対応する旧デバイスドライバは、一般的には、アンインストール(削除)される。プリンタ機能やスキャナ機能などの複数の機能が一体化されたMFP等のドライバのアンインストーラの多くは、OSが提供する複数のアプリケーションプログラムインタフェース(API)を用いて、MFPの各ファンクションデバイスのドライバを削除する。
特許文献1には、コンピュータと周辺装置のローカル接続の切断を検知すると、周辺装置のドライバを自動的にアンインストールする技術が記載されている。
しかしながら、コンピュータのOSが更新された後、OSがプラグアンドプレイによりデバイスドライバをインストール可能な状態にしたときに、次のような問題を生じてしまう場合があった。即ち、インストール対象外のデバイスドライバ(他のデバイスドライバ)のインストールを妨げる対抗情報は、更新前のOSには存在せず更新後のOSで新たに追加される。対抗情報は、OS更新前後で、対抗情報が属するデバイスセットアップクラスやその名称など性質が変化する。このように対抗情報の追加や対抗情報の性質の変化があると、OS更新前から存在するドライバアンインストーラによる検出ロジックでは、更新後のOS内の対抗情報を検出できない場合があった。これら問題は、特許文献1の技術でも生じ得た。
本発明は、OS更新前から存在するドライバアンインストーラを用いて、更新後のOSにおいて、削除対象のデバイスに関する情報を確実に削除する技術を提供する。
本発明の一態様に係る情報処理装置は、削除対象のデバイスに対応するドライバのインストールを妨げるソフトウェアに関する対抗情報を情報処理装置の外部から取得する取得手段と、取得した外部の対抗情報から、削除対象のデバイスと前記情報処理装置のOSのバージョン情報を基に、前記情報処理装置にインストールされている内部の対抗情報を特定する特定手段と、特定した内部の対抗情報を削除する第一の削除手段と、を有する、ことを特徴とする。
本発明によれば、OS更新前から存在するドライバアンインストーラを用いて、更新後のOSにおいて、削除対象のデバイスに関する情報を確実に削除することができる。
本発明の実施形態の説明に先立ち、アンインストーラについて説明する。
OSによっては、アンインストーラを実行し、デバイスドライバの削除に成功しても、コンピュータに接続されるデバイスを一元管理する画面に、対象となるデバイスを一意に表すデバイスアイコンが残留してしまう場合があった。ただし、MFP用のデバイスアイコンには其れを構成するプリンタ、スキャナ、FAX等の装置を制御するデバイスドライバが関連付けられており、高精細なデバイスアイコンを配置する為にデバイスの外観を模したメタデータが関連付けられている。
複数のAPIを使用し、削除対象デバイスを構成する各ファンクションデバイスに応じて、対抗ドライバを含むドライバとそのINF、ファンクションデバイスのデバイスノード等を全て削除すれば、削除対象デバイスに関する情報がシステムから削除される。デバイスノードは、ファンクションデバイスの物理的なインスタンスを表している。この削除結果として、デバイスアイコンが削除されることは既知である。MFPは、プリンタ、スキャナ、FAX、ストレージ等、多種多様なファンクションデバイスで構成されるため、削除対象デバイスがMFPである場合、MFPの各ファンクションデバイスの性質に適したAPIを適切なタイミングで使用する必要がある。
デバイスドライバの種類は、大きく二つに分類することができる。一つは、Outboxドライバと称される、デバイスの製造元が供給するドライバであり、インストールプログラムを使用してデバイスドライバをOSにステージングするのが一般的である。なお、ステージングとは、OSがプラグアンドプレイ(PnP)によりデバイスドライバをインストール可能な状態にすることを意味する。
もう一つは、Inboxドライバと称される、OSに予め内蔵されているドライバであり、デバイスをコンピュータに接続するだけでPnPにより自動的にインストールされる(組み込まれる)。なお、一般的には、Outboxドライバの方がInboxドライバよりも機能面で優れており、デバイスの製造元は、ユーザに対してOutboxドライバを使用することを推奨している。
しかし、Outboxドライバをステージングする前にデバイスをコンピュータに接続すると、Inboxドライバがインストールされる。そのため、その後にOutboxドライバをステージングしても、PnPは発生せずOutboxドライバがインストールされることはない。
また、デバイスの製造元が複数のOutboxドライバを供給する場合、次に示すような処理となる。すなわち、優先順位の低い第二のOutboxドライバがインストール済みのOSに対し、これよりも優先順位が高い第一のOutboxドライバをステージングしても、PnPは発生せず、第一のOutboxドライバがインストールされることはない。よって、第一のOutboxドライバを滞りなくインストールするためには、Inboxドライバや第二のOutboxドライバなど、後に第一のOutboxドライバのインストールを妨げるドライバ(対抗ドライバ)の削除が必要となる。
さらに、PnPの発生を妨げ、結果的に第一のOutboxドライバのインストールを妨げるOS標準のソフトウェアデバイス(対抗ソフトウェアデバイス)の削除も必要となる。すなわち、対抗ドライバや対抗ソフトウェアデバイスを含む対抗情報の削除が必要となる。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。同一の構成については、同じ符号を付して説明する。
<実施形態1>
(情報処理システムの構成)
図1は、本実施形態における情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システム1は、コンピュータ100と、MFP(Multifunction Peripheral)200と、外部記憶装置300とを有する。MFP200および外部記憶装置300は、コンピュータ100の周辺装置であり、コンピュータ100と接続されている。コンピュータ100は、PC(パーソナルコンピュータ)やタブレット端末装置などのコンピュータ装置である。コンピュータ100は、後述する図2に示すようなハードウェアで構成され、OS120がインストールされている。OS120は、システム稼働後に、最新版に更新されているとする。
(情報処理システムの構成)
図1は、本実施形態における情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システム1は、コンピュータ100と、MFP(Multifunction Peripheral)200と、外部記憶装置300とを有する。MFP200および外部記憶装置300は、コンピュータ100の周辺装置であり、コンピュータ100と接続されている。コンピュータ100は、PC(パーソナルコンピュータ)やタブレット端末装置などのコンピュータ装置である。コンピュータ100は、後述する図2に示すようなハードウェアで構成され、OS120がインストールされている。OS120は、システム稼働後に、最新版に更新されているとする。
MFP(多機能複合装置)200は、カラースキャナやカラーインクジェットプリンタを有する。MFP200は、本実施形態における周辺装置の一例である。なお、本実施形態における周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。MFP200は、後述する図3に示すようなハードウェアで構成され、コンピュータ100とUSBインタフェース127を介して、互いに双方向に通信可能に接続されている。外部記憶装置300は、コンピュータ100とインタフェース128を介して、互いに双方向に通信可能に接続されている。インタフェース128は、ネットワークインタフェースであってもよいし、USBインタフェースであってもよい。また、外部記憶装置300は、コンピュータに内蔵される補助記憶装置やRAMであってもよいし、MFPに内蔵されるRAM等であってもよいし、ネットワーク上のサーバに内蔵される補助記憶装置やRAMであってもよい。なお、サーバは、MFPのメーカがデバイスに関する情報を管理するサーバでもよい。
コンピュータ100には、OS120上で動作可能なアプリケーション121およびアプリケーション(アンインストーラ)122がインストールされている。OS120は、ドライバ群123と、各ドライバの情報ファイル(INF)群124とを有する。アプリケーション121とアンインストーラ122とは、アプリケーションであり、OS120上で実行可能な形式のファイル(*.EXE等)で構成される。なお、「*」は文字列を示している。アプリケーション121は、例えば、文書作成用のアプリケーションでもよいし、表計算用のアプリケーションでもよい。本実施形態のアプリケーションの一例として、アンインストーラ122は、詳細につき後述するプリンタドライバ1231、FAXドライバ1232、スキャナドライバ1233等のドライバを削除する為のアンインストーラである。アンインストーラ122は、OS120の更新前からコンピュータ100上に存在し、プログラムの変更が行われていないものとする。
ドライバ群123は、MFP200を構成する各ファンクションデバイスに対応するプリンタドライバ1231、FAXドライバ1232、スキャナドライバ1233を有する。プリンタドライバ1231、FAXドライバ1232、スキャナドライバ1233は、対応するMFP200のファンクションデバイスをそれぞれ制御する。INF群124は、プリンタドライバ1231に対応するプリンタドライバINF1241、FAXドライバ1232に対応するFAXドライバINF1242、スキャナドライバ1233に対応するスキャナドライバINF1243を有する。プリンタドライバINF1241は、プリンタドライバ1231の情報を有する。FAXドライバINF1242は、FAXドライバ1232の情報を有する。スキャナドライバINF1243は、スキャナドライバ1233の情報を有する。なお、プリンタドライバINF1241はプリンタドライバ1231に対応し、FAXドライバINF1242はFAXドライバ1232に対応し、スキャナドライバINF1243はスキャナドライバ1233に対応するともいえる。
コンピュータ100のOS120には、対抗情報(内部の対抗情報)125がインストールされている(組み込まれている)。対抗情報125は、アンインストーラ122にとって既知である対抗情報(既知の対抗情報)1251と、詳細につき後述する図6に示される処理を行う前にあっては、アンインストーラ122にとって未知である対抗情報(未知の対抗情報)1252とを有する。既知の対抗情報1251は、OS更新前から存在し、かつ、OS更新前後でその性質が変化しない情報である。未知の対抗情報1252は、OS更新前に存在せずOS更新後に追加された情報である、または、OS更新前後でその性質が変化した情報であって、アンインストーラによる、図6に示される処理ではない従来の検出ロジックでは検出不可能な情報である。既知の対抗情報1251は、対抗ドライバ12511と、対抗ソフトウェアデバイス12512とを有する。未知の対抗情報1252は、対抗ドライバ12521と、対抗ソフトウェアデバイス12522とを有する。
例えば、OS更新前に、MFPを構成するプリンタ、FAX、スキャナのそれぞれに応じて、1つの(第一の)Outboxドライバ、1つの(第一の)Inboxドライバ、1つの(第一の)ソフトウェアデバイスが存在する。OS更新後に、Outboxドライバ、ソフトウェアデバイスに関し、OS変更前から存在するものと比べて優先順位が低いものが第二としてそれぞれ1つ追加され、これ以外は、OS更新前と同じであるとする。この場合、プリンタドライバ1231、FAXドライバ1232、スキャナドライバ1233は、それぞれ第一のOutboxドライバが対応することになる。対抗ドライバ12511は、MFPを構成するプリンタ、FAX、スキャナのそれぞれに関し、Inboxドライバが対応することになる。対抗ソフトウェアデバイス12512は、MFPを構成するプリンタ、FAX、スキャナのそれぞれに関し、第一のソフトウェアデバイスが対応することになる。対抗ドライバ12521は、プリンタ、FAX、スキャナのそれぞれに関し、第二のOutboxドライバ、第二のInboxドライバが対応することになる。対抗ソフトウェアデバイス12522は、MFPを構成するプリンタ、FAX、スキャナのそれぞれに関し、第二のソフトウェアデバイスが対応することになる。
(コンピュータのハードウェア構成)
図2は、コンピュータ100のハードウェア構成例を示すブロック図である。なお、図2に示した構成は、コンピュータ100に適用可能な構成の一例に過ぎない。コンピュータ100は、CPU101、ROM102、RAM103、補助記憶装置104、表示部105、表示部インタフェース(I/F)106、入力部107、入力部I/F108、ネットワークI/F109を有する。CPU101、ROM102、RAM103、補助記憶装置104、表示部I/F106、入力部I/F108、ネットワークI/F109は何れも、相互にデータを送受信可能にバス110に接続されている。
図2は、コンピュータ100のハードウェア構成例を示すブロック図である。なお、図2に示した構成は、コンピュータ100に適用可能な構成の一例に過ぎない。コンピュータ100は、CPU101、ROM102、RAM103、補助記憶装置104、表示部105、表示部インタフェース(I/F)106、入力部107、入力部I/F108、ネットワークI/F109を有する。CPU101、ROM102、RAM103、補助記憶装置104、表示部I/F106、入力部I/F108、ネットワークI/F109は何れも、相互にデータを送受信可能にバス110に接続されている。
表示部105は、CRTや液晶画面などにより構成されており、CPU101による処理結果を画像や文字などでもって表示する表示装置である。また、表示部105は、画像や文字を投影する投影装置(例えばプロジェクタ装置)であってもよいし、表示機能及びユーザインタフェース機能を有するタッチパネル画面であっても構わない。
CPU(Central Processing Unit)101は、ROM102やRAM103や補助記憶装置104に格納されているコンピュータプログラムやデータを用いて処理を実行することで、次の処理を行う。すなわち、CPU101は、コンピュータ100全体の動作制御を行うと共に、コンピュータ100が行うものとして後述する各処理を実行若しくは制御する。
ROM(Read Only Memory)102は、コンピュータ100の制御部に用いられるBIOS等の基本ソフトウェアや、変更不要の設定データなどを格納する。
RAM103は、補助記憶装置104やROM102からロードされたコンピュータプログラムやデータ、ネットワークI/F109を介して外部から受信した様々なコンピュータプログラムやデータを格納するためのエリアを有するメモリである。さらに、RAM(Random Access Memory)103は、CPU101が各種の処理を実行する際に用いるワークエリアも有する。このように、RAM103は、各種のエリアを適宜提供する。
補助記憶装置104は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。補助記憶装置104は、OS、各種のドライバソフトウェア、各種のアプリケーションソフトウェア等を記憶(格納)する。
補助記憶装置104が記憶するドライバソフトウェアは、例えば、表示部I/F106による表示部105への表示を制御するための表示制御ドライバソフトウェアを含む。補助記憶装置104が記憶するドライバソフトウェアは、入力部107のキーボードを制御するためのキーボードドライバソフトウェア、入力部107のポインティングデバイスを制御するためのポインティングデバイスドライバソフトウェアを含む。また、補助記憶装置104が記憶するドライバソフトウェアは、ネットワークI/F109による通信を制御するためのネットワークドライバを含む。また、補助記憶装置104が記憶するドライバソフトウェアは、MFP200を制御するためのドライバソフトウェアも含む。MFP200を制御するためのドライバソフトウェアとは、例えば、プリンタドライバ、FAXドライバ、スキャナドライバ等である。
また、補助記憶装置104は、MFP200用のドライバソフトウェアを削除するためのアンインストーラ122を記憶する。
このほか、補助記憶装置104は、コンピュータ100が行うものとして後述する各処理をCPU101に実行させるためのコンピュータプログラムやデータも記憶する。補助記憶装置104が記憶するコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM103にロードされ、CPU101による処理対象となる。
入力部107は、キーボード、ポインティングデバイス等の、コンピュータ100の操作者(ユーザ)が操作することで、各種の指示をCPU101に入力するためのユーザインタフェースデバイスである。
ネットワークI/F109は、ネットワークボード等の、外部の機器との間のデータ通信を行うインタフェースである。
(MFPのハードウェア構成)
図3は、MFP200のハードウェア構成例を示すブロック図である。MFP200は、CPU201、ROM202、RAM203、表示部205、表示部I/F206、操作部207、ネットワークI/F209、印刷部211、読取部212を有する。CPU201、ROM202、RAM203、表示部I/F206、操作部207、ネットワークI/F209、印刷部211、読取部212は何れも、相互にデータを送受信可能にバス210に接続されている。
図3は、MFP200のハードウェア構成例を示すブロック図である。MFP200は、CPU201、ROM202、RAM203、表示部205、表示部I/F206、操作部207、ネットワークI/F209、印刷部211、読取部212を有する。CPU201、ROM202、RAM203、表示部I/F206、操作部207、ネットワークI/F209、印刷部211、読取部212は何れも、相互にデータを送受信可能にバス210に接続されている。
CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて処理を実行することで、MFP200の動作制御を行うと共に、MFP200が行うものとして説明する各処理を実行若しくは制御する。
ROM202は、MFP200が行うものとして説明する各処理をCPU201に実行若しくは制御させるためのコンピュータプログラムやデータを格納する。RAM203は、ROM202からロードされたコンピュータプログラムやデータ、ネットワークI/F209を介して外部から受信した様々なコンピュータプログラムやデータを格納するためのエリアを有するメモリである。さらに、RAM203は、CPU201が各種の処理を実行する際に用いるワークエリアも有する。このように、RAM203は、各種のエリアを適宜提供する。
表示部205は、液晶画面であり、表示部I/F206により制御されて、CPU201による処理結果を画像や文字などでもって表示する。操作部207は、タッチパネルやハードキーなどの入力機器である。ネットワークI/F209は、外部の機器との間のデータ通信を行う。
印刷部211は、印刷データに基づいて、紙などの記録媒体に画像や文字などを記録(印刷)する。
読取部212は、CCD(Charged Couple Device)、読取り用光源等から構成される読取りユニットである。読取部212で読取られた画像データは、USBインタフェースやネットワークインタフェースを介してコンピュータ100に送られる。
なお、図3に示したMFP200は、プリンタデバイスとスキャナデバイスを有する構成例であり、FAXデバイスを有する場合には、さらに、FAXを送信または受信する構成を有することになる。
(ソフトウェア機能構成)
図4は、補助記憶装置104に記憶されるコンピュータ100のソフトウェア機能構成例を示すブロック図である。図4に示される各ブロックの機能は、CPU101がアンインストーラ122のプログラムコードをRAM103に読み出して実行することにより実現される。
図4は、補助記憶装置104に記憶されるコンピュータ100のソフトウェア機能構成例を示すブロック図である。図4に示される各ブロックの機能は、CPU101がアンインストーラ122のプログラムコードをRAM103に読み出して実行することにより実現される。
アンインストーラ122は、次のように動作する機能を有するアンインストーラである。すなわち、アンインストーラ122は、OS120のバージョン情報を取得する。アンインストーラ122は、MFP200を構成するプリンタ、スキャナ、FAXの各デバイス用の第一のOutboxドライバのインストールを妨げる対抗情報(外部の対抗情報)331をネットワーク上のサーバ等の外部記憶装置300から取得する。対抗情報331は、対抗ドライバ情報3311、対抗ソフトウェアデバイス情報3312を含む。なお、外部記憶装置300がネットワーク上のサーバの記憶装置である場合、外部記憶装置300に記憶される対抗情報331は、取得処理を行った時点での、対応するデバイス識別子およびOSのバージョンを全て含む。アンインストーラ122は、取得した対抗情報331に含まれる全ての情報から、OSバージョン及びデバイスセットアップクラスを基に、削除対象に対する対抗ドライバ及び対抗ソフトウェアデバイスを特定する。すなわち、既知の対抗情報1251に含まれる、対抗ドライバ12511、対抗ソフトウェアデバイス12512と、未知の対抗情報1252に含まれる、対抗ドライバ12521、対抗ソフトウェアデバイス12522とが特定されることになる。アンインストーラ122は、削除対象デバイスを構成する各ファンクションデバイスに応じて、対抗ドライバを含むドライバとそのINF、ファンクションデバイスのデバイスノードを全て削除する。また、アンインストーラ122は、各ファンクションデバイスに応じて、対抗ソフトウェアデバイスのデバイスノードを削除する。
アンインストーラ122は、対抗情報取得部1221、対抗情報処理部1222、Outboxドライバ検索部1223を有する。アンインストーラ122は、さらに、ソフトウェアイジェクト処理部1224、プリンタドライバ削除処理部1225、FAXドライバ削除処理部1226、スキャナドライバ削除処理部1227、対抗ソフトウェアデバイス削除処理部1228を有する。アンインストーラ122を起動すると、各機能部は次のように動作する。
対抗情報取得部1221は、MFP200を構成するプリンタ、スキャナ、FAXの各デバイス用の第一のOutboxドライバのインストールを妨げる対抗情報331をネットワーク上のサーバ等の記憶装置である外部記憶装置300から取得する。対抗情報331は、詳細につき後述する、対抗ドライバ情報3311と、対抗ソフトウェアデバイス情報3312とを含む。
図5は、プリンタドライバ1231として第一のOutboxプリンタドライバの「Xyz MFP1000」がインストールされているときに、対抗情報取得部1221が取得する対抗情報例を示す図である。そのため、図5に示す対抗情報331には、第一のOutboxプリンタドライバが存在しない。
対抗情報331は、図5に示すように、MFP200のモデル名称等を示すデバイス識別子501ごとに、OSバージョン502に応じて、対抗ドライバが属するデバイスセットアップクラス名503を有する。また、対抗情報331は、デバイスセットアップクラスに応じて、Outboxドライバ、Inboxドライバ、対抗ソフトウェアデバイスに関連付けられたHardware IDを有する。なお、デバイスセットアップクラス名403とは、デバイスのグループに対応する名称であり、プリンタ、スキャナ、カメラ、マウス、キーボード、USBデバイス、ソフトウェアデバイスといったデバイスに対し、固有の識別子が割り当てられている。
図5では、対抗情報331は、デバイス識別子501として、「MFP1000」、「MFP2000」を有する。OSバージョン502として、「MFP1000」および「MFP2000」のそれぞれにて、「10.0.16299」、「10.0.17134」を有する。
「MFP1000」の「10.0.16299」では、デバイスセットアップクラス名503として、<Printer>を有する。<Printer>には、対抗ドライバの名称504として、第二のOutboxプリンタドライバ507の「Xyz MFP1000 XPS」、Inboxプリンタドライバ508の「Xyz Class Printer Driver」が示されている。なお、「10.0.16299」では、詳細につき後述する「MFP1000」の「10.0.17134」とは異なり、対抗ソフトウェアデバイスに関連付けられたHardware IDがないことが示されている。
「MFP1000」の「10.0.17134」では、デバイスセットアップクラス名503として、<Printer>、<SoftwareDevice>を有する。<Printer>には、対抗ドライバの名称504として、第二のOutboxプリンタドライバ507の「Xyz MFP1000 XPS」、Inboxプリンタドライバ508の「Xyz Class Printer Driver」が示されている。<Printer>には、対抗ドライバの名称504として、さらに、第三のOutboxプリンタドライバ509の「Xyz MFP1000 V4」、InboxFaxドライバ510の「Xyz Class FAX Driver」も示されている。<SoftwareDevice>には、上述の「MFP1000」の「10.0.16299」と異なり、対抗ソフトウェアデバイスに関連付けられたHardware ID506の「XyzMFP100092BA」が示されている。
なお、「MFP2000」において、「10.0.16299」では、「MFP1000」の「10.0.16299」と同様、デバイスセットアップクラス名503として、<Printer>を有する。<Printer>には、「MFP2000」に対応し、第二のOutboxプリンタドライバ507の「Xyz MFP2000 XPS」、Inboxプリンタドライバ508の「Xyz Class Printer Driver」が示されている。
「MFP2000」の「10.0.17134」では、デバイスセットアップクラス名503として「MFP1000」の場合と同様、<Printer>、<SoftwareDevice>で「MFP2000」に対応する対抗情報が示されている。
図4のアンインストーラ122の機能構成例の説明に戻る。対抗情報処理部1222は、削除対象デバイスのデバイス識別子を対抗情報331の対抗ドライバ情報3311に照らし、現在動作中のOSにて削除対象に対する対抗ドライバを特定する。また、対抗情報処理部1222は、削除対象デバイスのデバイス識別子を対抗情報331の対抗ソフトウェアデバイス情報3312に照らし、現在動作中のOSにて削除対象に対する対抗ソフトウェアデバイスを特定する。なお、デバイス識別子は、アンインストーラ122が予め保持してもよいし、ドライバインストール時に作成してもよいし、もしくは接続中のデバイスから取得してもよい。
他方、対抗情報取得部1221が、対抗情報331をネットワーク上のサーバ等の記憶装置である外部記憶装置300から取得できなかった場合、対抗情報処理部1222は次の処理を実行する。すなわち、対抗情報処理部1222は、アンインストーラ122自身が予め保持するデフォルトの対抗情報の対抗ドライバ情報および対抗ソフトウェアデバイス情報に基づき、削除対象に対する対抗ドライバおよび対抗ソフトウェアデバイスを特定する。
Outboxドライバ検索部1223は、INF群124にて削除対象デバイスのドライバINFを検索し、検索結果である削除対象デバイスのドライバINFを基に、削除対象となる第一のOutboxドライバを特定する。
ソフトウェアイジェクト処理部1224は、アンインストーラ122による、ドライバが使用中であるか否かの判定で、ドライバが使用中ではないとの判定結果を得ると、ドライバの削除処理の開始に先駆けて、デバイスのソフトウェアイジェクトを実行する。すなわち、ソフトウェアイジェクト処理部1224は、OS120に対してデバイスイジェクトのAPIをコールし、MFP200をデバイスマネージャからソフトウェア的に取り外す。つまり、デバイスイジェクトのAPIをコールして、デバイスマネージャが、MFP200のインスタンスを非活性化する。これにより、OS120は、MFP200からの信号があってもプラグアンドプレイ処理を実行する(起動する)ことをやめる。これにより、デバイスが取り外されるのを待つ状態となる。インスタンスを活性化するためのAPIが再度呼ばれるまで、MFP200からのプラグアンドプレイ処理を検知することは無い。つまり、当該APIによりMFP200がソフトウェア的に取り外された場合は、プラグアンドプレイ処理の起動が抑制される。デバイスのソフトウェア的なイジェクト処理により、既にMFP200はOS120のデバイスマネージャからソフトウェア的に取り外されている。そのため、例え、MFP200がコンピュータ100に接続されたままであっても、MFP200がOS120のプラグアンドプレイ機能によって検出される事はない。
プリンタドライバ削除処理部1225は、削除対象のデバイスに関連付けられた全ての印刷キューを削除し、削除した印刷キューに対応するデータをすべて削除する。すなわち、プリンタドライバ削除処理部1225は、印刷キューを削除し、削除した印刷キューに対応するデータである、第一のOutboxプリンタドライバおよび其のINFと、対抗プリンタドライバと、プリンタのデバイスノードとを削除する。
FAXドライバ削除処理部1226は、削除対象のデバイスに関連付けられた全てのFAXキューを削除し、削除したFAXキューに対応するデータをすべて削除する。すなわち、FAXドライバ削除処理部1226は、FAXキューを削除し、削除したFAXキューに対応するデータである、第一のOutbox FAXドライバおよび其のINFと、対抗FAXドライバと、FAXのデバイスノードとを削除する。
スキャナドライバ削除処理部1227は、スキャナのデバイスノードを削除する。このスキャナのデバイスノードが削除されると、スキャナドライバおよび其のINFも削除される。よって、スキャナドライバ削除処理部1227は、スキャナドライバおよび其のINFを削除する機能部であるともいえる。
対抗ソフトウェアデバイス削除処理部1228は、対抗ソフトウェアデバイスのデバイスノードを削除する。
(アンインストーラの処理手順)
図6は、本実施形態におけるアンインストーラの処理手順を示すフローチャートである。図6に示されるフローチャートの処理は、コンピュータ100のCPU101が、アンインストーラ122のプログラムコードを補助記憶装置104から読み出し、次の処理を実行することにより行われる。すなわち、図6の処理は、CPU101が、読み出したアンインストーラ122のプログラムコードをRAM103に展開し実行することにより行われる。なお、フローチャートの説明における記号「S」は、ステップを表すものとする。この点、以下のフローチャートの説明においても同様とする。
図6は、本実施形態におけるアンインストーラの処理手順を示すフローチャートである。図6に示されるフローチャートの処理は、コンピュータ100のCPU101が、アンインストーラ122のプログラムコードを補助記憶装置104から読み出し、次の処理を実行することにより行われる。すなわち、図6の処理は、CPU101が、読み出したアンインストーラ122のプログラムコードをRAM103に展開し実行することにより行われる。なお、フローチャートの説明における記号「S」は、ステップを表すものとする。この点、以下のフローチャートの説明においても同様とする。
コンピュータ100のOS120上でアンインストーラ122が起動されると(S600)、図6に示すフローが開始される。
S601では、アンインストーラ122は、コンピュータ100上で動作しているOS120のバージョン情報を取得する。
S602では、対抗情報取得部1221は、外部記憶装置300から、MFP200を構成するプリンタ、スキャナ、FAXの各デバイス用の第一のOutboxドライバのインストールを妨げる対抗情報331を取得する。取得する対抗情報331は、MFP200のデバイス識別子およびOS120のバージョンに対応した対抗情報である。MFP200のデバイス識別子に関し、アンインストーラ122がアンインストーラ122起動時であって本ステップ前に予め取得していてもよいし、本ステップで取得してもよい。取得する対抗情報は、OSのバージョンに応じて、対抗ドライバ情報を含む、または、対抗ドライバ情報および対抗ソフトウェアデバイス情報を含む。外部記憶装置300に記憶される対抗情報331が、図5に示す対抗情報である場合について説明する。MFP200のデバイス識別子が「MFP1000」であり、OS120のバージョンが「10.0.16299」である場合、対抗情報取得部1221は、2つの対抗ドライバ情報を含む対抗情報を取得する。2つの対抗ドライバ情報は、「Xyz MFP1000 XPS」と「Xyz Class Printer Driver」である。MFP200のデバイス識別子が「MFP1000」であり、OS120のバージョンが「10.0.17134」である場合、対抗情報取得部1221は、4つの対抗ドライバ情報と、1つの対抗ソフトウェアデバイス情報とを含む対抗情報を取得する。4つの対抗ドライバ情報は、「Xyz MFP1000 XPS」、「Xyz Class Printer Driver」、「Xyz MFP1000 V4」、「Xyz Class FAX Driver」である。1つの対抗ソフトウェアデバイス情報は、「XyzMFP100092BA」である。
S603では、対抗情報処理部1222は、OSのバージョン情報、デバイス識別子を基に、S602で取得した対抗情報から、削除対象のデバイスに対する対抗ドライバ(例えば、対抗プリンタドライバ、対抗FAXドライバ)を特定する。すなわち、対抗情報処理部1222は、取得した対抗情報の対抗ドライバ情報から、アンインストーラ122にとって既知の対抗ドライバ12511、アンインストーラ122にとって未知の対抗ドライバ12521を特定する。図5の例では、対応するデバイス識別子およびOSバージョンに応じて、次に示すように対抗ドライバを特定する。MFP200のデバイス識別子が「MFP1000」であり、OSバージョンが「10.0.16299」である場合、対抗情報処理部1222は、次の2つの対抗ドライバを特定する。すなわち、対抗情報処理部1222は、「Xyz MFP1000 XPS」と「Xyz Class Printer Driver」を特定する。MFP200のデバイス識別子が「MFP1000」であり、OSバージョンが「10.0.17134」である場合、対抗情報処理部1222は、次の3つの対抗ドライバを特定する。すなわち、対抗情報処理部1222は、「Xyz MFP1000 XPS」、「Xyz Class Printer Driver」、「Xyz MFP1000 V4」を特定する。
S604では、対抗情報処理部1222は、S602で取得した対抗情報を基に、削除対象のデバイスに対する対抗ソフトウェアデバイスを特定する。即ち、対抗情報処理部1222は、取得した対抗情報の対抗ソフトウェアデバイス情報から、アンインストーラ122にとって既知の対抗ソフトウェアデバイス12512、アンインストーラ122にとって未知の対抗ソフトウェアデバイス12522を特定する。図5の例では、対応するデバイス識別子およびOSバージョンに応じて、次に示すように対抗ドライバを特定する。MFP200のデバイス識別子が「MFP1000」であり、OSバージョンが「10.0.16299」である場合、対抗ソフトウェアデバイスに関連付けられたハードウェアIDが存在しない。そのため、対抗情報処理部1222は、削除対象に対する対抗ソフトウェアデバイスがないとの情報を特定する。MFP200のデバイス識別子501が「MFP1000」であり、OSバージョンが「10.0.17134」である場合、対抗情報処理部1222は、次の1つの対抗ソフトウェアデバイスを特定する。すなわち、対抗情報処理部1222は、対抗ソフトウェアデバイスに関連付けられたハードウェアID506の「XyzMFP100092BA」を特定する。
S605では、Outboxドライバ検索部1223は、OS120にインストールされている全てのデバイスドライバのINFを含むINF群124の中から、削除対象のデバイスであるMFP200のデバイスドライバINFを検索する。すなわち、Outboxドライバ検索部1223は、詳細につき後述する、S612で削除するOutboxプリンタドライバINF、S617で削除するOutboxFAXドライバINFを特定する。
S606では、Outboxドライバ検索部1223は、S605の検索結果であるMFP200のドライバINFを基に、削除対象となる第一のOutboxドライバを特定する。すなわち、Outboxドライバ検索部1223は、詳細につき後述する、S611で削除するOutboxプリンタドライバ、S616で削除するOutboxFAXドライバを特定する。
S607では、アンインストーラ122は、削除対象のデバイスであるMFP200に対応する、プリンタ、スキャナ、FAXのいずれかのドライバが使用中か否かを判定する。なお、アンインストーラ122は、例えば、OSに問い合わせることで使用中のドライバを判定することができる。アンインストーラ122は、いずれかのドライバが使用中であるとの判定結果を得た場合(S607のYES)、処理をS608に移行する。
S608では、アンインストーラ122は、ユーザにドライバ使用中である旨を知らせるエラーメッセージをコンピュータ100の表示部105に表示する。そして、アンインストーラ122は、図6に示される処理を終了する。
一方、アンインストーラ122は、いずれのドライバも使用中でないとの判定結果を得た場合(S607のNO)、処理をS609に移行する。
S609では、ソフトウェアイジェクト処理部1224は、デバイスのソフトウェアイジェクトを実行する。すなわち、ソフトウェアイジェクト処理部1224は、OS120に対してデバイスイジェクトのAPIをコールし、MFP200をデバイスマネージャからソフトウェア的に取り外す。
S610では、プリンタドライバ削除処理部1225は、削除対象のデバイスであるMFP200に関連付けられた全ての印刷キューを削除する。
S611−S614では、プリンタドライバ削除処理部1225は、S610で削除した印刷キューに対応する(関連する)、ドライバ、そのINF、対抗ドライバ、デバイスノードを削除する。すなわち、S611では、プリンタドライバ削除処理部1225は、S606で特定した、削除対象のデバイスに対応する第一のOutboxプリンタドライバを削除する。S612では、プリンタドライバ削除処理部1225は、S605で特定した、削除対象のデバイスに対応する第一のOutboxプリンタドライバのINFを削除する。S613では、プリンタドライバ削除処理部1225は、S603で特定した対抗プリンタドライバを削除する。S614では、プリンタドライバ削除処理部1225は、削除対象のデバイスに対応するプリンタのデバイスノードを削除する。
S615では、FAXドライバ削除処理部1226は、削除対象のデバイスであるMFP200に関連付けられた全てのFAXキューを削除する。
S616−S619では、FAXドライバ削除処理部1226は、S615で削除したFAXキューに対応する(関連する)、ドライバ、そのINF、対抗ドライバ、デバイスノードを削除する。すなわち、S616では、FAXドライバ削除処理部1226は、S606で特定した、削除対象のデバイスに対応する第一のOutbox FAXドライバを削除する。S617では、FAXドライバ削除処理部1226は、S605で特定した、削除対象のデバイスに対応する第一のOutbox FAXドライバのINFを削除する。S618では、FAXドライバ削除処理部1226は、S603で特定した対抗FAXドライバを削除する。S619では、FAXドライバ削除処理部1226は、削除対象のデバイスに対応するFAXのデバイスノードを削除する。
S620では、スキャナドライバ削除処理部1227は、スキャナファンクションのデバイスノードを削除する。この削除処理に伴い、スキャナドライバおよびスキャナドライバINFも削除される。
S621では、対抗ソフトウェアデバイス削除処理部1228は、対抗ソフトウェアデバイスのデバイスノードを削除する。この削除処理に伴い、対抗ソフトウェアデバイスも削除される。そして、アンインストーラ122は、図6に示される処理を終了する。
削除対象デバイスを構成する各ファンクションデバイスに応じて、対抗ドライバを含むドライバとそのINF、ファンクションデバイスのデバイスノードの削除が完了すると同時に対象デバイスがシステム(コンピュータ100)から削除される。この削除結果として、デバイスアイコンが削除される。
以上説明した通り、OSの更新に伴い対抗ドライバや対抗ソフトウェアデバイスの追加やその性質の変化があっても、ドライバアンインストーラのプログラムを変更せず、次の処理を行うことができる。すなわち、既在のドライバアンインストーラを実行することで、削除対象デバイスを構成する各ファンクションデバイスに応じて、対抗ドライバを含むドライバとそのINF、各ファンクションデバイスのデバイスノードを全て削除する。この削除結果として、デバイスアイコンも確実に削除することができる。
加えて、第一のOutboxドライバのインストールを妨げる対抗ドライバおよび対抗ソフトウェアデバイスを削除することも可能となる。
よって、OS更新前から存在するドライバアンインストーラを用いて、更新後のOSにおいて、削除対象のデバイスに関する情報を確実に削除することができる。
<実施形態2>
本実施形態における情報処理システムは、図1に示される上述した実施形態1の情報処理システムと同じであり、その説明を省略する。本実施形態のコンピュータおよびMFPは、図2および図3のそれぞれに示される上述した実施形態1のコンピュータおよびMFPと同じであり、その説明を省略する。
本実施形態における情報処理システムは、図1に示される上述した実施形態1の情報処理システムと同じであり、その説明を省略する。本実施形態のコンピュータおよびMFPは、図2および図3のそれぞれに示される上述した実施形態1のコンピュータおよびMFPと同じであり、その説明を省略する。
(ソフトウェア機能構成)
図7は、補助記憶装置104に保存されているコンピュータ100のソフトウェア機能構成例を示すブロック図である。図7に示される各ブロックの機能は、CPU101がアンインストーラ722のプログラムコードをRAM103に読み出して実行することにより実現される。本実施形態では、実施形態1と同一の機能部には同一の符号を付記しその説明を省略する。
図7は、補助記憶装置104に保存されているコンピュータ100のソフトウェア機能構成例を示すブロック図である。図7に示される各ブロックの機能は、CPU101がアンインストーラ722のプログラムコードをRAM103に読み出して実行することにより実現される。本実施形態では、実施形態1と同一の機能部には同一の符号を付記しその説明を省略する。
アンインストーラ722は、実施形態1のアンインストーラ122の対抗情報取得部1221の代わりに対抗情報取得部7221と、アンインストーラ122の機能部1222−1228と、対抗情報出力部7229とを有する。アンインストーラ722を起動すると、各機能部は次のように動作する。
対抗情報取得部7221は、ネットワーク上のサーバ700の記憶装置である外部記憶装置701から、外部記憶装置701に記憶された対抗情報331を取得する。または、対抗情報取得部7221は、詳細につき後述する対抗情報出力部7229により出力され格納された対抗情報231をMFP200のRAM203から読み出して取得する。すなわち、対抗情報取得部7221は、対抗情報の取得先として、外部記憶装置701と、MFP200のRAM203との2つを有する。なお、サーバ700は、MFPのメーカがデバイスに関する情報を管理するサーバでもよい。
対抗情報出力部7229は、外部記憶装置701から取得した対抗情報331を、コンピュータ(OS120)とUSBインタフェースを介して接続されたMFP200に出力し、対抗情報231としてMFP200のRAM203に格納する。対抗情報(外部の対抗情報)231は、対抗情報331と同様、対抗ドライバ情報2311、対抗ソフトウェアデバイス情報2312を有する。ただし、対抗ドライバ情報2311は、対抗情報取得部7221による対抗情報331取得時に、外部記憶装置701に記憶されていたバージョンの対抗ドライバ情報3311に対応する。対抗ソフトウェアデバイス情報2312は、対抗情報取得部7221による対抗情報331取得時に、外部記憶装置701に記憶されていたバージョンの対抗ソフトウェアデバイス情報3312に対応する。
OS120には、対抗ドライバ12511および対抗ソフトウェアデバイス12512と、対抗ドライバ7521および対抗ソフトウェアデバイス7522とがインストールされている(組み込まれている)。対抗ドライバ12511および対抗ソフトウェアデバイス12512は、アンインストーラ722にとって既知の対抗情報である。対抗ドライバ7521および対抗ソフトウェアデバイス7522は、詳細につき後述する図8に示される処理を行う前にあっては、アンインストーラ722にとって未知の対抗情報である。
(アンインストーラの処理手順)
図8は、本実施形態におけるアンインストーラの処理手順を示すフローチャートである。図8に示されるフローチャートの処理は、コンピュータ100のCPU101が、アンインストーラ722のプログラムコードを補助記憶装置104から読み出し、次の処理を実行することにより行われる。すなわち、図8の処理は、CPU101が、読み出したアンインストーラ722のプログラムコードをRAM103に展開し実行することにより行われる。ただし、コンピュータ100(OS120)が外部記憶装置300と接続された状態で、アンインストーラ722が過去に起動されたとする。すなわち、MFP200のRAM203には、対抗情報取得部7221が外部記憶装置300から取得した対抗情報331が対抗情報出力部7229によって出力され対抗情報231として記憶されている。対抗情報331は、対抗ドライバ情報3311、対抗ソフトウェアデバイス情報3312を含む。対抗情報231は、対抗ドライバ情報2311、対抗ソフトウェアデバイス情報2312を含む。対抗情報231は、アンインストーラ722が過去に起動されたときに、外部記憶装置300に記憶されていたバージョンの対抗情報331に対応する。
図8は、本実施形態におけるアンインストーラの処理手順を示すフローチャートである。図8に示されるフローチャートの処理は、コンピュータ100のCPU101が、アンインストーラ722のプログラムコードを補助記憶装置104から読み出し、次の処理を実行することにより行われる。すなわち、図8の処理は、CPU101が、読み出したアンインストーラ722のプログラムコードをRAM103に展開し実行することにより行われる。ただし、コンピュータ100(OS120)が外部記憶装置300と接続された状態で、アンインストーラ722が過去に起動されたとする。すなわち、MFP200のRAM203には、対抗情報取得部7221が外部記憶装置300から取得した対抗情報331が対抗情報出力部7229によって出力され対抗情報231として記憶されている。対抗情報331は、対抗ドライバ情報3311、対抗ソフトウェアデバイス情報3312を含む。対抗情報231は、対抗ドライバ情報2311、対抗ソフトウェアデバイス情報2312を含む。対抗情報231は、アンインストーラ722が過去に起動されたときに、外部記憶装置300に記憶されていたバージョンの対抗情報331に対応する。
コンピュータ100のOS120上でアンインストーラ722が起動されると、図8に示すフローが開始される。
図8においてS601、S603−S621の処理に関しては図6の処理と同一であり、ここではその説明を省略する。
S801では、対抗情報取得部7221は、MFP200のデバイス識別子とOS120のバージョン情報に基づき、対応する対抗情報を取得する。MFP200を構成するプリンタ、スキャナ、FAXの各デバイス用の第一のOutboxドライバのインストールを妨げる対抗情報を取得する。取得する対抗情報は、MFP200のデバイス識別子およびOS120のバージョンに対応した対抗情報である。MFP200のデバイス識別子に関し、アンインストーラ722がアンインストーラ722起動時であって本ステップ前に予め取得していてもよいし、本ステップで取得してもよい。取得する対抗情報は、OSのバージョンやデバイス識別子に応じて、対抗ドライバ情報を含む、または、対抗ドライバ情報および対抗ソフトウェアデバイス情報を含む。コンピュータ100が外部記憶装置701と接続している場合、対抗情報取得部7221は、サーバ700から外部記憶装置701に記憶される対抗情報331を取得する。コンピュータ100がサーバ700と接続されていない場合、対抗情報取得部7221は、MFP200のRAM203から、RAM203に格納される対抗情報231を取得する。
S802では、対抗情報出力部7229は、S801にて取得した、対抗情報331または対抗情報231をMFP200のRAM203に対抗情報231として格納する。S801にて、対抗情報取得部7221が対抗情報331を取得した場合、対抗情報出力部7229は、次の処理を行う。すなわち、対抗情報出力部7229は、対抗情報331の対抗ドライバ情報3311、対抗ソフトウェアデバイス情報3312を対抗情報231の対抗ドライバ情報2311、対抗ソフトウェアデバイス情報2312としてMFP200のRAM203に格納する。
続いて、S803では、アンインストーラ722は、ユーザにアンインストールを中止するか否かを問う画面を表示部105に表示し、表示部105に表示された画面に対するユーザ操作を受け付ける。アンインストーラ722は、受け付けた操作内容がアンインストール中止であるかどうかを判定する。アンインストーラ722は、ユーザの操作内容がアンインストール中止であるとの判定結果を得た場合(S803のYES)、図10に示される処理を終了する。一方、アンインストーラ722は、ユーザ操作内容がアンインストール中止ではないとの判定結果を得た場合(S803のNO)、処理をS603に移行する。
S603の処理およびS603に続くS621までの一連の処理は、上述の実施形態1と同じであり、その説明を省略する。
以上説明した通り、コンピュータ100がサーバ700の外部記憶装置701と接続しているときに、アンインストーラ722が起動すると、次の処理が行われる。対抗情報出力部7229は、対抗情報取得部7221によって外部記憶装置701から取得された対抗情報331をMFP200のRAM203に出力して対抗情報231として格納する。その後、コンピュータ100がネットワークに接続不可能な状態になっても、対抗情報取得部7221はMFP200のRAM203から対抗情報231を取得することができる。よって、対抗情報取得部がOSのバージョン情報やMFPのデバイス識別子に対応する対抗情報を取得できることから、外部記憶装置やMFPのRAMから対抗情報を取得できない場合と比べ、削除対象のデバイスに関する情報をより確実に削除できる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (17)
- 削除対象のデバイスに対応するドライバのインストールを妨げるソフトウェアに関する対抗情報を情報処理装置の外部から取得する取得手段と、
取得した外部の対抗情報から、削除対象のデバイスと前記情報処理装置のOSのバージョン情報を基に、前記情報処理装置にインストールされている内部の対抗情報を特定する特定手段と、
特定した内部の対抗情報を削除する第一の削除手段と、
を有する、ことを特徴とする情報処理装置。 - 前記取得手段は、前記外部の対抗情報を、ネットワークを介して前記情報処理装置と通信可能なサーバから取得することを特徴とする請求項1に記載の情報処理装置。
- 前記取得手段は、ネットワークを介して前記情報処理装置と通信可能なサーバから取得し、前記情報処理装置と通信可能に接続されるデバイスのメモリに格納した前記外部の対抗情報を取得することを特徴とする請求項1に記載の情報処理装置。
- 前記対抗情報は、前記削除対象のデバイスのファンクションデバイスに応じて、前記ドライバのインストールを妨げる対抗ドライバ情報と、前記ドライバのインストールを妨げる対抗ソフトウェアデバイス情報とを有し、
前記特定手段は、削除対象に対する対抗ドライバ情報および対抗ソフトウェアデバイス情報を特定し、
前記第一の削除手段は、特定した対抗ドライバ情報および対抗ソフトウェアデバイス情報に対応する対抗ドライバおよび対抗ソフトウェアデバイスを削除する
ことを特徴とする請求項1から3の何れか一項に記載の情報処理装置。 - 前記デバイスは、プリンタ、FAX、スキャナの機能を備える多機能複合装置である
ことを特徴とする請求項1から4の何れか一項に記載の情報処理装置。 - 前記取得手段は、前記デバイスの製造元が供給する第一のOutboxドライバのインストールを妨げる対抗情報を取得する
ことを特徴とする請求項1から5の何れか一項に記載の情報処理装置。 - 削除対象のデバイスに関する情報と、削除対象のデバイスに対応するドライバとを削除する第二の削除手段をさらに有する
ことを特徴とする請求項1から6の何れか一項に記載の情報処理装置。 - 前記第二の削除手段は、前記削除対象のデバイスのファンクションデバイスに応じて、前記ドライバおよびそのINFと、前記ファンクションデバイスの物理的なインスタンスを表すデバイスノードとを削除する
ことを特徴とする請求項7の何れか一項に記載の情報処理装置。 - 削除対象のデバイスに対応するドライバのインストールを妨げるソフトウェアに関する対抗情報を情報処理装置の外部から取得する取得工程と、
取得した外部の対抗情報から、削除対象のデバイスと前記情報処理装置のOSのバージョン情報を基に、前記情報処理装置にインストールされている内部の対抗情報を特定する特定工程と、
特定した内部の対抗情報を削除する第一の削除工程と、
を有する、ことを特徴とする情報処理方法。 - 前記取得工程では、前記外部の対抗情報を、ネットワークを介して前記情報処理装置と通信可能なサーバから取得することを特徴とする請求項9に記載の情報処理方法。
- 前記取得工程では、ネットワークを介して前記情報処理装置と通信可能なサーバから取得し、前記情報処理装置と通信可能に接続されるデバイスのメモリに格納した前記外部の対抗情報を取得することを特徴とする請求項9に記載の情報処理方法。
- 前記対抗情報は、前記削除対象のデバイスを構成するファンクションデバイスに応じて、前記ドライバのインストールを妨げる対抗ドライバ情報と、前記ドライバのインストールを妨げる対抗ソフトウェアデバイス情報とを有し、
前記特定工程では、削除対象に対する対抗ドライバ情報および対抗ソフトウェアデバイス情報を特定し、
前記第一の削除工程では、特定した対抗ドライバ情報および対抗ソフトウェアデバイス情報に対応する対抗ドライバおよび対抗ソフトウェアデバイスを削除する
ことを特徴とする請求項9から11の何れか一項に記載の情報処理方法。 - 前記デバイスは、プリンタ、FAX、スキャナの機能を備える多機能複合装置である
ことを特徴とする請求項9から12の何れか一項に記載の情報処理方法。 - 前記取得工程では、前記デバイスの製造元が供給する第一のOutboxドライバのインストールを妨げる対抗情報を取得する
ことを特徴とする請求項9から13の何れか一項に記載の情報処理方法。 - 削除対象のデバイスに関する情報と、削除対象のデバイスに対応するドライバとを削除する第二の削除工程をさらに有する
ことを特徴とする請求項9から14の何れか一項に記載の情報処理方法。 - 前記第二の削除工程では、前記削除対象のデバイスを構成するファンクションデバイスに応じて、前記ドライバおよびそのINFと、前記ファンクションデバイスの物理的なインスタンスを表すデバイスノードとを削除する
ことを特徴とする請求項15に記載の情報処理方法。 - コンピュータを、
削除対象のデバイスに対応するドライバのインストールを妨げるソフトウェアに関する対抗情報を情報処理装置の外部から取得する取得手段と、
取得した外部の対抗情報から、削除対象のデバイスと前記情報処理装置のOSのバージョン情報を基に、前記情報処理装置にインストールされている内部の対抗情報を特定する特定手段と、
特定した内部の対抗情報を削除する第一の削除手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020012590A JP2021117896A (ja) | 2020-01-29 | 2020-01-29 | 情報処理装置、情報処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020012590A JP2021117896A (ja) | 2020-01-29 | 2020-01-29 | 情報処理装置、情報処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021117896A true JP2021117896A (ja) | 2021-08-10 |
Family
ID=77175057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020012590A Pending JP2021117896A (ja) | 2020-01-29 | 2020-01-29 | 情報処理装置、情報処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021117896A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022185895A1 (ja) | 2021-03-05 | 2022-09-09 | 三菱重工マリンマシナリ株式会社 | 振動監視装置、過給機、及び振動監視方法 |
-
2020
- 2020-01-29 JP JP2020012590A patent/JP2021117896A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022185895A1 (ja) | 2021-03-05 | 2022-09-09 | 三菱重工マリンマシナリ株式会社 | 振動監視装置、過給機、及び振動監視方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8286167B2 (en) | Image processing apparatus, job management method, and storage medium | |
JP4612912B1 (ja) | 情報処理装置、情報処理システムの制御方法およびプログラム | |
US20180227445A1 (en) | Information processing apparatus, installation method, and recording medium | |
US9417862B2 (en) | Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium | |
JP2003216378A (ja) | 情報処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US8582139B2 (en) | Driver upgrading | |
JP2009163680A (ja) | 情報処理装置、印刷設定方法、記憶媒体、プログラム | |
US9170763B2 (en) | Information processing apparatus and control method | |
JP2009054027A (ja) | 情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラム | |
US20130301069A1 (en) | Information processing device, computer program product, and image forming apparatus | |
JP5487962B2 (ja) | 操作抑制システム、画像形成装置、操作抑制情報提供装置、及び操作抑制方法 | |
US10089102B2 (en) | Information processing apparatus, method, and program | |
US9250933B2 (en) | Information processor with configuration modification function | |
US20110214120A1 (en) | Installer and method of installing printer driver | |
US9407785B2 (en) | Processing apparatus, processing method and computer-readable storage medium | |
US20180146110A1 (en) | Information processing apparatus, control method, and storage medium | |
JP4983815B2 (ja) | 情報処理装置及び制御プログラム | |
KR100472459B1 (ko) | 기능용 드라이버 설치 방법 및 장치 | |
JP2021117896A (ja) | 情報処理装置、情報処理方法およびプログラム | |
US8422040B2 (en) | Image forming system and method, management apparatus, and recording medium | |
US11093104B2 (en) | Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium | |
EP2234014A2 (en) | Information processing apparatus, information processing method, and information processing system | |
JP4792744B2 (ja) | 画像処理装置 | |
US10602011B2 (en) | Image forming apparatus, information processing method, and program | |
JP2017208060A (ja) | 機器、情報処理装置、情報処理方法、及び情報処理プログラム |