JP2019175031A - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP2019175031A
JP2019175031A JP2018061230A JP2018061230A JP2019175031A JP 2019175031 A JP2019175031 A JP 2019175031A JP 2018061230 A JP2018061230 A JP 2018061230A JP 2018061230 A JP2018061230 A JP 2018061230A JP 2019175031 A JP2019175031 A JP 2019175031A
Authority
JP
Japan
Prior art keywords
driver
uninstalling
version
unit
main body
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.)
Granted
Application number
JP2018061230A
Other languages
English (en)
Other versions
JP7071189B2 (ja
JP2019175031A5 (ja
Inventor
北畠 宏信
Hironobu Kitahata
宏信 北畠
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 JP2018061230A priority Critical patent/JP7071189B2/ja
Publication of JP2019175031A publication Critical patent/JP2019175031A/ja
Publication of JP2019175031A5 publication Critical patent/JP2019175031A5/ja
Application granted granted Critical
Publication of JP7071189B2 publication Critical patent/JP7071189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ドライバー本体のバージョンが、ドライバーUIのバージョンと異なる場合であっても、不要となったドライバーUIを削除することができる情報処理装置を提供する。【解決手段】情報処理装置は、ユーザーが選択したプリンターのプリンタードライバーの機能を実行するドライバー本体をアンインストールする第1のアンインストール手段と、UIを実行するアプリケーションを含むUI実行関連ファイルとUIと紐づいた前記ドライバー本体とのドライバー拡張関連付け定義をアンインストールする第2のアンインストール手段と、アンインストールしたドライバー本体と関連するUIをアンインストールするためにOSに登録されている全てのバージョンの第2のアンインストール手段を選択する選択手段とを備える。【選択図】図18

Description

本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関し、特にプリンタードライバーのアンインストール処理に関する。
プリンタードライバーは、クライアントコンピュータにインストールされ、対応するプリンターへの印刷設定や印刷要求に応じたレンダリング処理などを行うモジュールである。ところで、プリンタードライバーの形態には、ドライバーの本体とドライバーの設定用ユーザーインターフェース(以下、ドライバーUI)が分離した構成をとるドライバー形態が存在する。ドライバーの本体とドライバーUIが分離した構成とは、ドライバーパッケージがドライバー本体とドライバーUIに分離しており、それぞれ別に情報処理装置に導入することが可能である形態のことを指す。また、ここでのドライバー本体とはドライバーが担う中心的な機能を持つ部分であり、具体的にはプリンターであるなら印刷処理、ファクシミリ(FAX)であればFAXの送信処理が該当する。次に、ドライバーUIとはドライバー本体に対して行う詳細な設定画面を表示するプログラムのことを指し、ドライバーUIが未導入の場合はオペレーティングシステム(OS)が標準的に持っているOS標準UIが起動する。
この際、ドライバー本体はOSのシステム部分に格納され、原則としてOSが管理を行う事に対し、ドライバーUIは別途、OSの関与しない通常のプログラムとしてインストールが行われる。このため、ドライバー本体からドライバーUIにある設定画面を開くためには、ドライバー本体に対してドライバーUIのインストール情報をシステムに登録する必要がある。また、ドライバー本体は、ドライバーのインストーラーがOSへのインストールを担い、ドライバーUIは、ドライバーUIインストーラーが担うような構成を取ることが可能である。このような構成の場合、ドライバーのインストーラーは、ドライバー本体をOSに登録すると共に、ドライバー本体のドライバーアンインストーラーを登録する。ドライバーアンインストーラーは、OSに登録される全てのドライバー本体を管理する。これに対して、ドライバーUIインストーラーは、自身のインストールしたバージョンのドライバーUIを所定の場所に配置する。そして、インストールしたバージョンのドライバーUIをアンインストールするドライバーUIアンインストーラーの機能をOSに登録する。削除したいバージョンのドライバーUIを削除するためには、そのバージョンに対応するドライバーUIアンインストーラーを呼ぶ管理手法が必要となる。特許文献1では、周辺機器のドライバーがインストールされているか、いないかによって、UIを切り替え、インストールされていない場合には、インストール処理を、インストールされている場合には、アンインストール処理を実行する。
特許第5578523号公報
しかしながら、特許文献1では、別々の機能を持つ処理の2つの処理を選択して切り替え呼ぶ管理手法が紹介されているが、同じ機能を持つ複数のバージョンに対応する処理があった場合の管理手法については、述べられていない。例えば、ある機種のドライバーがインストールされると、ドライバー本体、ドライバーUI、ドライバーアンインストーラー、ドライバーUIアンインストーラーは、同じバージョンのものがインストールされる。そして、機種の異なる、新しいバージョンのドライバーがインストールされると、新しいドライバー本体、ドライバーUI、ドライバーUIアンインストーラーがインストールされる。それと共にドライバーアンインストーラーのみは、新しいバージョンに置き換わり、登録される。
このとき最初のインストール時点では、ドライバーUIのバージョンと、そのバージョンのドライバーUIを削除するドライバーUIアンインストーラーのバージョンは一致している。よって、あるバージョンのドライバー本体を削除する際、削除するドライバー本体と同じバージョンのドライバーUIアンインストーラーを呼び出すことで、ドライバーUIも削除することができる。
しかしながら、OSによるドライバーのネットワークからの自動アップデート(あるいは、手動でネットワークからの自動アップデートを指示)によって、ドライバー本体のみがアップデートされてしまうことがあることである。その結果、ドライバー本体のバージョンがドライバーUIのバージョンと異なってしまう場合がある。このような場合、新しくなったドライバー本体と同じバージョンのドライバーUIアンインストーラーの呼び出しに失敗し、新しくなったドライバー本体を削除した場合に、関連付けられていたドライバーUIを削除することができなくなる。このような事態が発生すると、ドライバーUIをアンインストールするために、新しくなったドライバー本体と組み合わさっているドライバーUIアンインストーラーを呼び出す、あるいは、別の手段でドライバーUIを削除する手段が必要となる。
本発明は、上記課題を鑑みて、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なる場合であっても、不要となったドライバーUIを削除することができる情報処理装置を提供することを目的とする。
上記の課題を解決するために、本発明の情報処理装置は、ユーザーが選択したプリンターのプリンタードライバーの機能を実行するドライバー本体をアンインストールする第1のアンインストール手段と、UIを実行するアプリケーションを含むUI実行関連ファイルと前記UIと紐づいた前記ドライバー本体とのドライバー拡張関連付け定義をアンインストールする第2のアンインストール手段と、前記アンインストールしたドライバー本体と関連する前記UIをアンインストールするためにOSに登録されている全てのバージョンの前記第2のアンインストール手段を選択する選択手段とを備えることを特徴とする。
本発明によれば、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なる場合であっても、不要となったドライバーUIを削除することができる情報処理装置を提供することができる。
システム構成を示す図である。 クライアントコンピュータのハードウェア構成を示す図である。 ドライバーセットの構成を示す図である。 ドライバー拡張関連付け定義のデータの一例を示す図である。 ドライバーインストール後の各モジュールの配置を示す図である。 プログラムのアンインストール画面の一例を示す図である。 ドライバーの構成の一例を示す図である。 ドライバー本体アンインストーラーの処理のフローチャートである。 ドライバーUIアンインストールの処理のフローチャートである。 ドライバー本体アンインストーラーの処理のフローチャートである。 ドライバーUIアンインストールの処理のフローチャートである。 ドライバー本体アンインストーラーの処理のフローチャートである。 ドライバーUIアンインストールの処理のフローチャートである。 ドライバーの構成の一例を示す図である。 ドライバーの構成の一例を示す図である。 プログラムのアンインストール画面の一例を示す図である。 ドライバーアンインストール画面の一例を示す図である。 ドライバー本体アンインストーラーの処理のフローチャートである。 ドライバーUIアンインストールの処理のフローチャートである。
以下、本発明を実施するための最良の形態について図面及び表を用いて説明する。以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
(第1実施形態)
図1は、本実施形態に係るシステム構成の概略を表す模式図を示す。このシステムは、情報処理装置の一例であるクライアントコンピュータ101と、ページ記述言語(PDL)形式の印刷データを受信し印刷を行うことが可能なプリンター102を備える。これらは、Wide Area Network(WAN)を含むネットワーク103を通じて相互に通信可能である。なお、プリンター102は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ101は、ネットワーク103に対し一台に限らず、複数台接続されていても構わない。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101において、中央演算処理装置(CPU201)は、ランダムアクセスメモリ(RAM202)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ101は、少なくとも1つのCPU201を備える。加えて、CPU201が外部メモリ209に記憶されているプログラムに基づき処理を実行することによって、クライアントコンピュータ101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。このRAM202は、CPU201の主メモリ、ワークエリア等として機能する。
ROM(リードオンリーメモリ)203は、ブートプログラムや基本入出力システム(BIOS)等の各種プログラムが書き込まれてある。操作入力装置I/F204は、キーボードやポインティングデバイス(マウス)タッチUI(User Interface)などの操作入力装置205を制御するインターフェースである。ディスプレイI/F206は、ディスプレイ207への画面表示を制御する。外部メモリI/F208は、例えば、ハードディスク(HD)、ソリッドステートディスク(SSD)等の外部メモリ209とのアクセスを制御する。外部メモリ209は、オペレーティングシステムプログラム(OS)210をはじめ、タッチパネル、デスクトップそれぞれに対応したアプリケーション212、プリンタードライバーを含むドライバー3006を含む。また、各種ファイル等を記憶し、クライアントコンピュータ101が読み取り可能な記憶媒体として機能する。ネットワークI/F213は、ネットワーク103を介してプリンター102に接続され通信制御処理を行う。
次に、図3を用いてドライバーセットについて説明する。ドライバーセット3000は、ドライバーをOS210内に配置し、関連ファイルをアプリケーションの領域に配置するために必要なドライバー3006のファイル及び関連モジュールの集合である。ドライバー3006は、印刷時に必要なレンダリングなどのモジュールや機種依存ファイル群などを持つ。機種依存ファイル3001には、機種ごとの禁則のルールや機能の一覧、工場出荷値の印刷設定やロケールごとのデフォルトの印刷設定などのファイル群が置いてある。ドライバーUIモジュール3002は、ドライバー3006がOS210内に配置された後に、印刷時に呼び出され、詳細な印刷設定を行うことを可能にするモジュールである。本モジュールは、インストーラー3003により呼び出されるドライバーUIインストーラー3004により、所定の領域に配置される。ドライバーUIインストーラー3004は、単体で呼び出すことも可能である。
グラフィックスモジュール3008は、ドライバー3006が印刷をする際に印刷対象のファイルをPDL(Page Description Language)に変換を行う。INFファイル3007は、ドライバーセット3000でサポートしている機種の一覧や、サポートしている機種のプリンタードライバーの必要なモジュールの一覧などの設定情報が記述されたファイルである。インストーラー3003は、外部からの操作入力装置205を通じて起動された際にドライバー3006をOS210内に配置を行うと共に、ドライバーUIモジュール3002を配置するドライバーUIインストーラーを呼び出す。また、インストールされたドライバー3006および関連ファイルを削除する際にOS210から呼び出されるドライバーアンインストーラー3005を所定の領域に配置し、OS210に登録する。インストーラー3003により、インストールが行われる。すると、結果的に、図5のように、OS210には、INFファイル3007、機種依存ファイル3001、グラフィックスモジュール3008が登録される。それと共に、アプリケーション212の領域にドライバーUIモジュール3002、ドライバーアンインストーラー3005が配置される。ドライバーUIモジュール3002は、ドライバーのインストールが終了し、アプリケーション212の領域に登録された後に、印刷時に呼び出され、詳細な印刷設定を行うことを可能とするモジュールである。
また、後述のドライバー拡張関連付け定義5001は、ドライバー3006がどの設定画面を開くかの定義であり、OS210が持つ設定データベース領域に情報を登録してよい。例えば、図4に示すように、ドライバーUIの配置場所を定義したドライバーUIのファイルパス401とドライバー本体を一意に特定するための情報であるドライバー本体のID402のように関連づけが行われる。
ここで、ドライバー3006が設定画面を開く場合、まずドライバー3006が、ドライバー本体ID402を使って、設定データベースにある、図5に示すドライバー拡張関連付け定義5001を検索する。その上で、ドライバー本体ID402が一致したドライバーに関し、ドライバーUIのファイルパス401を元に登録されているドライバーUIを呼び出すことによって、設定画面が開く。以後、ドライバーUIと区別を明確にするためドライバー3006をドライバー本体と呼ぶ。
次に、OS210に登録されたドライバーアンインストーラーについて説明する。ドライバーアンインストーラーは、ユーザーがOS210の用意するプログラムのアンインストール画面を開くと、例えば、図6の画面に示すように表示される。ここで、ドライバーアンインストーラー601は、に示すようにドライバー本体アンインストーラーという名前で、「Canon Inc.」が発行元、ドライバーアンインストーラーが登録されたドライバーのインストール日は、「2017/11/17」となる。そして、サイズは、「未登録」、バージョンは、「1.1」で登録されているということになる。また、ドライバーUIモジュールは、ドライバーUIインストーラーでインストールした際に、OS210にドライバーUIインストーラーが持つアンインストール機能と名前を登録することによって、ドライバーUIのアンインストール時に、利用可能となる。
また、図6に示すドライバーUIアンインストーラー602は、ドライバーUIアンインストーラーという名前で登録されている。そして、「Canon Inc.」が発行元、ドライバーアンインストーラーが登録されたドライバーのインストール日は、「2017/11/17」、サイズは、「39M」、バージョンは、「1.1」で登録されているということになる。
次に、図7を用いて、ドライバーのネットワークからの自動アップデート時の構成の変化について説明する。ドライバーインストーラー(バージョン1.2)を利用して、機種Bのドライバーをインストールするとドライバー本体(バージョン1.2)がOSにインストールされる。続いてドライバーUIインストーラーを呼び出してドライバーUI(バージョン1.2)をプログラム領域に配置する。そして、ドライバーUIインストーラーは、インストールされたドライバーとドライバーがどの設定画面を開くかを定義するドライバー拡張関連付け定義をOSが持つ設定データベース領域に情報を登録する。
ここで、ドライバー本体(バージョン1.2)がドライバーUI(バージョン1.2)と関連付くことになる。図7において、構成701の「関連」の線が関連付いていることを示す。そして、ドライバーUIアンインストーラー(バージョン1.2)の名前で、OSにドライバーUIのアンインストール機能が登録される。なお、本実施形態では、ドライバーUIのバージョンと、そのバージョンのドライバーUIを削除するドライバーUIアンインストーラーのバージョンは一致しているものとする。ドライバーとドライバーUIのインストールが成功すると、ドライバーをアンインストールするドライバーアンインストーラーがプログラム領域に配置され、OSにドライバーアンインストーラーが登録される。
この結果、図7の構成701のように、ドライバー本体、ドライバーUI、ドライバーUIアンインストーラー、ドライバーアンインストーラー全て(バージョン1.2)の構成となる。そして、機種Bのドライバーのアンインストールが指示されると、ドライバーアンインストーラー(バージョン1.2)が呼び出され、機種Bのドライバー本体(バージョン1.2)が削除される。そして、同時に、削除したドライバー本体と同じバージョンのドライバーUIアンインストーラーを呼び出す。他の機種が、自分のドライバーUIを利用している他の機種がいないかどうか、ドライバー拡張関連付け定義をチェックし、いなければ、ドライバーUI、ドライバー拡張関連付け定義を消し、バージョン1.2を削除して、自分をOSの登録から削除する。
この時、ドライバーUIは、ドライバーUIインストーラー単独で動くことも想定しているため、ドライバー本体の削除は、ドライバーアンインストーラーが行い、ドライバーUIの削除は、ドライバーUIアンインストーラーで行うような構成となっている。また、各アンインストーラーの役割分担を明確にするため、ドライバーをアンインストールするドライバーアンインストーラーは、自分のバージョンのコアとドライバストアのファイルの情報のみを扱う。そして、ドライバーUIアンインストーラーが、ドライバー拡張関連付け定義の管理を行うように実装を行っている。このようにすることで、ドライバーUIインストーラーのみでも、ドライバーとして動作できるようになっている。
ここで、OSによるドライバーのネットワークからの自動アップデート(あるいは、手動でネットワークからの自動アップデートを指示)によって、ドライバー本体のみがアップデートされる。その結果、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なってしまった場合を考える。この場合、ドライバー本体のみがアップデートされると、図7の構成702のように、ドライバー本体のみがバージョン1.4とアップデートされる。これに対して、ドライバーUI、ドライバーUIアンインストーラー、ドライバーアンインストーラーはバージョン1.2のままの構成となる。そして、機種Bのドライバーのアンインストールが指示されると、ドライバーアンインストーラー(バージョン1.2)が呼び出される。ドライバーアンインストーラーは、OSに登録されているINFファイルを見ることにより、機種Bのドライバー本体(バージョン1.4)を削除する。そのあとで、ドライバーUIをアンインストールするために、ドライバー本体と同じバージョンのドライバーUIアンインストーラーを探しに行く。しかし、存在しないため、自動アップデート前のバージョン1.2のドライバーUIアンインストーラーを呼ぶ仕組みが必要となる。
次に、OSによるドライバーのネットワークからの自動アップデートが行われた際のドライバーUIアンインストール手段について説明する。まず、バージョンが1.1の機種A、1.2の機種B、1.3の機種Cの順番にドライバーがインストールされたとする。この場合、それぞれの機種に対して、ドライバー本体、ドライバーUI、ドライバーUIアンインストーラー、ドライバーアンインストーラーがインストールおよび配置され、図14のようになる。ドライバーアンインストーラーは、1つしか登録されないため、バージョンが1.1から1.2に更新され、更に1.3に更新され、図14のような構成となる。
この時、OSによるドライバーのネットワークからの自動アップデートによって機種Bのドライバー本体のみがバージョン1.4にアップデートされると、図15のようになる。ユーザーがOSの用意するプログラムのアンインストール画面を開く。すると、図16のように、ドライバーアンインストーラーは(1601)1.3に、そして、ドライバーUIアンインストーラーは、1.1(1602)、1.2(1603)、1.3(1604)が登録されていることになる。
ユーザーが機種Bのドライバーをアンインストールしようとして、ドライバー本体アンインストーラー(1601)を選択すると図17のように表示される。機種B(プリンターB)のドライバーの削除がユーザーから指示された場合、まず、OSに登録されているバージョン1.3のドライバーアンインストーラーが実行され、現在インストールされているプリンタードライバーが列挙される。プリンターB(1701)を選択して削除ボタンを押下することにより、機種Bのドライバーのアンインストールが始まる。
次に、ドライバーのアンインストール処理について図18、図19を用いて説明する。図18において、ドライバー本体アンインストーラー(第1のアンインストール手段)の処理が始まると、まず、選択された機種のドライバー本体のアンインストール処理を行う(S18001)。そして、全てのバージョンのドライバーUIアンインストーラー(第2のアンインストール手段)を実行したか否かを判定(確認)する(S18002)。そして、実行していない場合(No)、OSに登録されているドライバーUIアンインストーラーから実行していないバージョンのドライバーUIアンインストーラーを選択する(S18003)。そして、ドライバーUIのアンインストール処理を行う(S18004)。
続いて、図19において、ドライバーUIのアンインストール処理が始まると、OSに登録されている対象プリンターのリストを作成する(S19001)。次に、自身(ドライバーUIアンインストーラー)のバージョンに対応するバージョンのドライバーUIを使用しているドライバー本体があるか否かを判定(確認)する(S19002)。他に自身のバージョンに一致するバージョンのドライバーUIを使用している場合(Yes)、ドライバーUIをアンインストールすることができないため、そのまま終了となる。一方、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体が無い場合(No)、関連付けレジストリの削除を行う(S19003)。そして、削除対象のドライバーUIの削除を行う(S19004)。つまり、ドライバーUIを実行するアプリケーションを含むUI実行関連ファイルと、該ドライバーUIと紐づいたドライバー本体とのドライバー拡張関連付け定義がアンインストールされる。続いて、登録していた、UIアンインストーラーである自分をOSの登録から削除する(S19005)。そして、ドライバーUIのアンインストール処理を終了して、図18のS18002に戻り、全てのバージョンのドライバーUIアンインストーラーを実行するまで、ドライバーUIのアンインストール処理を繰り返す。そして、全てのバージョンのドライバーUIを削除した後(S18002でYes)、全てのドライバー本体が削除されていれば、自分をOSの登録から削除する(S18005)。
以上、本実施形態によれば、全てのバージョンのドライバーUIアンインストーラーを呼び出して、処理する。これによって、ドライバー本体のみがアップデートされ、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なってしまった場合でも、ドライバー本体のアンインストーラーから、確実に不要となったドライバーUIを削除することが可能となる。
(第2実施形態)
第1実施形態においては、全てのバージョンのドライバーUIアンインストーラーを呼び出して、処理することによって、ドライバーUIの削除を行った。本実施形態では、ドライバーUIアンインストーラーで他のバージョンのドライバーUIの削除を行う。それによって、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なってしまった場合でも、ドライバー本体のアンインストーラーから、不要となったドライバーUIを削除できる。
ドライバーのアンインストール処理について図10、図11を用いて説明する。第1実施形態の、図15、図16のような状態で、第1実施形態と同様、ユーザーが機種Bのドライバーをアンインストールしようとする。そして、ドライバー本体アンインストーラーを選択すると図17のように表示され、プリンターB(1701)を選択して削除ボタンを押下することにより、機種Bのドライバーのアンインストールが始まる。
図10において、ドライバー本体のアンインストーラーの処理が始まると、まず、選択された機種のドライバー本体のアンインストール処理を行う(S10001)。そして、任意の1つのバージョンのドライバーUIアンインストーラーを選択する(S10002)。続いてドライバーUIのアンインストール処理を行う(S10003)。図11において、ドライバーUIのアンインストール処理が始まると、OSに登録されている全てのバージョンのチェックを実行したか否かを判定(確認)する(S11001)。全てのバージョンのチェックを実行した場合(Yes)、そのまま終了となる。一方、全てのバージョンのチェックを実行していない場合(No)、未チェックのバージョンを選択、OSに登録されている対象プリンターのリストを作成する(S11002)。
次に、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体があるか否かを判定(確認)する(S11003)。他に自身のバージョンに一致するバージョンのドライバーUIを使用している場合(Yes)、ドライバーUIをアンインストールすることができないため、そのまま次のバージョンのチェックに進むためにS11001に戻る。一方、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体が無い場合(No)、関連付けレジストリの削除を行う(S11004)。そして、削除対象のドライバーUIの削除を行う(S11005)。続いて、チェック中のバージョンのドライバーUIアンインストーラーをOSの登録から削除する(S11006)。そして、S11001からの処理を繰り返し、OSに登録されている全てのバージョンについて、ドライバーUIの削除を実行する。そして、ドライバーUIのアンインストール処理を終了して、図10の処理に戻り、全てのドライバー本体が削除されていれば、自分をOSの登録から削除する(S10004)。
以上、本実施形態によれば、ドライバーUIアンインストーラーの中で全てのバージョンのドライバーUIのチェックを行い、処理する。これによって、ドライバー本体のみがアップデートされ、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なってしまった場合でも、ドライバー本体のアンインストーラーから、確実に不要となったドライバーUIを削除することが可能となる。
(第3実施形態)
第1実施形態および第2実施形態においては、ドライバーUIのアンインストール処理の中でのみドライバーUIの使用状態をチェックしていた。本実施形態では、ドライバー本体アンインストーラーも削除対象となるドライバー本体で使用しているドライバーUIを確認する。
ドライバーのアンインストール処理について図12、図13を用いて説明する。第1実施形態の図15、図16のような状態で、第1実施形態と同様、ユーザーが機種Bのドライバーをアンインストールしようとする。そして、ドライバー本体アンインストーラーを選択すると図17のように表示され、プリンターB(1701)を選択して削除ボタンを押下することにより、機種Bのドライバーのアンインストールが始まる。
図12において、ドライバー本体のアンインストーラーの処理が始まると、まず、削除対象となるドライバー本体で使用しているドライバーUIを検索する(S12001)。そして、使用しているドライバーUIのアンインストーラーのバージョンを記憶する(S12002)。次に、選択された機種のドライバー本体のアンインストール処理を行う(S12003)。そして、記憶されたバージョンのドライバーUIアンインストーラーを選択する(S12004)。続いてドライバーUIのアンインストール処理を行う(S12005)。
次に、図13において、ドライバーUIのアンインストール処理が始まると、OSに登録されている対象プリンターのリストを作成する(S13001)。次に、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体があるか否かを判定(確認)する(S13002)。他に自身のバージョンに一致するバージョンのドライバーUIを使用している場合(Yes)、ドライバーUIをアンインストールすることができないため、そのまま終了となる。一方、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体が無い場合(No)、関連付けレジストリの削除を行う(S13003)。そして、削除対象のドライバーUIの削除を行う(S13004)。続いて、チェック中のバージョンのドライバーUIアンインストーラーをOSの登録から削除する(S13005)。ドライバーUIのアンインストール処理を終了して、図12の処理に戻り、全てのドライバー本体が削除されていれば、自分をOSの登録から削除する(S12006)。
以上、本実施形態によれば、ドライバー本体アンインストーラーも削除対象となるドライバー本体で使用しているドライバーUIを確認する。これによって、ドライバー本体のみがアップデートされ、ドライバー本体のバージョンが、ドライバーUIのバージョンと異なってしまった場合でも、ドライバー本体のアンインストーラーから、確実に不要となったドライバーUIを削除することが可能となる。
(第4実施形態)
第1実施形態、第2実施形態、第3実施形態においては、ドライバーUIアンインストーラーによるドライバーUIのアンインストール手段と、関連するUI関連情報を削除する手段について述べた。しかしながら、ドライバー本体が削除された場合にも、何らかのエラーにより、ドライバーUIとドライバーの関連が残ってしまうと、ドライバーUIアンインストーラーを削除することができなくなる。そのため、ドライバーの関連とドライバーUIを強制的に削除するドライバーUIアンインストール処理の強制モードが必要となる。
次に、ドライバーのアンインストール処理に於けるドライバーUIアンインストール処理の強制モードについて図8、図9を用いて説明する。第1実施形態の図15、図16のような状態で、ユーザーがドライバーを全てアンインストールしようとして、ドライバー本体アンインストーラーを選択する。すると、図17のように表示され、ドライバーの全削除であるクリーンアップボタン1702がユーザーから指示された場合を考える。
図8において、ドライバー本体のアンインストーラーの処理が始まると、クリーンアップ処理か否かを判定(確認)する(S8001)。クリーンアップ処理でない場合(No)、第1実施形態と同様、選択された機種のドライバー本体のアンインストール処理を行い(S8002)、S8006に進む。一方、クリーンアップ処理の場合(Yes)、まず、削除していないドライバー本体1つのアンインストール処理を行う(S8003)。次に、全てのドライバー本体を削除したか否かを判定(確認)する(S8004)。そして、全てのドライバー本体の削除処理が終わるまでS8003、S8004を繰り返した後(S8004でYes)、クリーンアップ処理なので、全てのUI関連情報を削除するべく、強制モードを設定する(S8005)。続いて、全てのバージョンのドライバーUIアンインストーラーを実行したか否かを判定(確認)する(S8006)。全てのバージョンのチェックを実行していない場合(No)、OSから実行していないバージョンのドライバーUIアンインストーラーを選択する(S8007)。次に、第1実施形態と同じようにドライバーUIのアンインストール処理を行う(S8008)。
次に、図9にて、ドライバーUIのアンインストール処理が始まると、OSに登録されている対象プリンターのリストを作成する(S9001)。そして、強制モードか否かを判定(確認)する(S9002)。強制モードでない場合(No)、第1実施形態と同様に、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体があるかを確認する(S9003)。一方、クリーンアップ処理の場合には、S8005において強制モードが設定されている。そのため、自身のバージョンに一致するバージョンのドライバーUIを使用しているドライバー本体があるか否かを判定(確認)することなく、強制的に、UI関連情報の削除を行う。すなわち、関連付けレジストリの削除を行う(S9004)。続いて、削除対象のドライバーUIの削除を行う(S9005)。更に、登録していた、UIアンインストーラーである自分をOSの登録から削除する(S9006)。
そして、ドライバーUIのアンインストール処理を終了して、図8のS8006に戻り、全てのバージョンのドライバーUIアンインストーラーで強制的にUI関連情報の削除を実行するまで、ドライバーUIのアンインストール処理を繰り返す。そして、全てのバージョンのドライバーUIを削除した後、自分をOSの登録から削除する(S8009)。
以上、本実施形態によれば、登録されている全てのバージョンのドライバーUIアンインストーラーを実施することになり、削除した機種のドライバー本体とはバージョンが異なるドライバーUIもアンインストールすることが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。

Claims (9)

  1. ユーザーが選択したプリンターのプリンタードライバーの機能を実行するドライバー本体をアンインストールする第1のアンインストール手段と、
    UIを実行するアプリケーションを含むUI実行関連ファイルと前記UIと紐づいた前記ドライバー本体とのドライバー拡張関連付け定義をアンインストールする第2のアンインストール手段と、
    前記第1のアンインストール手段によりアンインストールしたドライバー本体と関連する前記UIをアンインストールするためにOSに登録されている全てのバージョンの前記第2のアンインストール手段を選択する選択手段と
    を備える
    ことを特徴とする情報処理装置。
  2. 前記選択手段は、前記OSに登録されている全てのバージョンの前記第2のアンインストール手段から任意の第2のアンインストール手段を選択し、
    前記任意の第2のアンインストール手段は、前記第1のアンインストール手段によりアンインストールしたドライバー本体と関連する全てのバージョンの前記UIをアンインストールする
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記選択手段は、前記ユーザーが選択したプリンターのドライバー本体と関連する前記UIをアンインストールするための第2のアンインストール手段のバージョンを記憶し、前記第1のアンインストール手段による前記ドライバー本体のアンインストールした後に、前記記憶したバージョンの第2のアンインストール手段を選択する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記第2のアンインストール手段は、前記ユーザーが前記ドライバー本体の全てをアンインストールするクリーンアップ処理を選択した場合に、前記ドライバー本体と関連する全てのUIを強制的にアンインストールする
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記選択手段により選択された前記第2のアンインストール手段によるアンインストールが実行された後に前記第1及び第2のアンインストール手段を前記OSの登録から削除する削除手段
    をさらに備える
    ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記削除手段は、前記第2のアンインストール手段を削除した後に、前記第1のアンインストール手段を削除する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記選択手段により選択された前記第2のアンインストール手段のバージョンと一致するバージョンのUIを使用しているドライバー本体が無い場合、前記第2のアンインストール手段によりアンインストールが実行された後、前記削除手段により前記第2のアンインストール手段が削除される
    ことを特徴とする請求項5または6に記載の情報処理装置。
  8. ユーザーが選択したプリンターのプリンタードライバーの機能を実行するドライバー本体を、第1のアンインストール手段によりアンインストールする第1のアンインストール工程と、
    前記アンインストールしたドライバー本体と関連するUIをアンインストールするためにOSに登録されている全てのバージョンの第2のアンインストール手段を選択する選択工程と、
    前記UIを実行するアプリケーションを含むUI実行関連ファイルと前記UIと紐づいた前記ドライバー本体とのドライバー拡張関連付け定義を、前記選択工程で選択された第2のアンインストール手段によりアンインストールする第2のアンインストール工程と、
    を有する
    ことを特徴とする情報処理装置の制御方法。
  9. 請求項1乃至7のいずれか1項に記載の装置の各手段としてコンピューターを機能させるためのプログラム。
JP2018061230A 2018-03-28 2018-03-28 情報処理装置、情報処理装置の制御方法及びプログラム Active JP7071189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018061230A JP7071189B2 (ja) 2018-03-28 2018-03-28 情報処理装置、情報処理装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018061230A JP7071189B2 (ja) 2018-03-28 2018-03-28 情報処理装置、情報処理装置の制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2019175031A true JP2019175031A (ja) 2019-10-10
JP2019175031A5 JP2019175031A5 (ja) 2021-05-06
JP7071189B2 JP7071189B2 (ja) 2022-05-18

Family

ID=68170407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018061230A Active JP7071189B2 (ja) 2018-03-28 2018-03-28 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7071189B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170638A (ja) * 2010-02-18 2011-09-01 Ricoh Co Ltd プログラム管理システム、プログラム管理方法、クライアントおよびプログラム
JP2011187009A (ja) * 2010-03-11 2011-09-22 Canon Inc 情報処理装置、プリンタドライバのアンインストール方法、プログラム、及び、記録媒体
JP2013117781A (ja) * 2011-12-01 2013-06-13 Canon Inc 画像形成装置、画像形成装置の制御方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170638A (ja) * 2010-02-18 2011-09-01 Ricoh Co Ltd プログラム管理システム、プログラム管理方法、クライアントおよびプログラム
JP2011187009A (ja) * 2010-03-11 2011-09-22 Canon Inc 情報処理装置、プリンタドライバのアンインストール方法、プログラム、及び、記録媒体
JP2013117781A (ja) * 2011-12-01 2013-06-13 Canon Inc 画像形成装置、画像形成装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
JP7071189B2 (ja) 2022-05-18

Similar Documents

Publication Publication Date Title
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
US7853946B2 (en) Information processing apparatus, information processing method, and control program
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
US10089102B2 (en) Information processing apparatus, method, and program
JP2009163680A (ja) 情報処理装置、印刷設定方法、記憶媒体、プログラム
US10558405B2 (en) Information processing apparatus and driver customizing method
JP2010277549A (ja) プログラム、記憶媒体、情報処理装置、プリンタ装置およびシステム
US9170763B2 (en) Information processing apparatus and control method
US20180146110A1 (en) Information processing apparatus, control method, and storage medium
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
JP2019008669A (ja) 情報処理装置、プログラム及び制御方法
US9519470B2 (en) Information processing system, information processing apparatus, device, software installation method, and storage medium for executing software installation
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
US11625205B2 (en) Information processing apparatus, server apparatus, control method, and storage medium
JP2019128857A (ja) デバイスドライバー
JP2016173771A (ja) プログラム、情報処理装置、情報処理方法、記憶媒体
JP5169718B2 (ja) 情報処理装置、表示画面起動方法、及びプログラム
JP2019175031A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2009282775A (ja) アプリケーションプラットフォーム
JP5304360B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2021117896A (ja) 情報処理装置、情報処理方法およびプログラム
JP2016177351A (ja) プログラム、情報処理装置、画面表示方法
EP3699749B1 (en) Image forming device
JP5578255B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20220261472A1 (en) Information processing apparatus, method, and program storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220506

R151 Written notification of patent or utility model registration

Ref document number: 7071189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151