(57)【要約】      （修正有）【課題】プリンタードライバーの機種別アンインストーラーにおいて、Ｇｅｎｅｒｉｃドライバーのフレンドリ名に機種名が含まれなくてもアンインストールを可能とする。【解決手段】アンインストールすべきプリンターキューのフレンドリ名とハードウェアＩＤを特定する処理とＳ１００、前記フレンドリ名を含むフレンドリ名を持つプリンターキューを全てアンインストールする第一のアンインストール処理Ｓ２００および前記ハードウェアＩＤと一致するハードウェアＩＤを持つプリンターキューを全てアンインストールする第二のアンインストール処理Ｓ３００を行なう。【選択図】図５
2018112816.tif 000002
【特許請求の範囲】
【請求項１】
プリンタードライバーのアンインストール処理において、
アンインストールすべきプリンターキューのフレンドリ名とハードウェアＩＤを特定する処理（Ｓ１００）、前記フレンドリ名を含むフレンドリ名（１７１０）を持つプリンターキュー（１６２０）を全てアンインストールする第一のアンインストール処理（Ｓ２００）、および前記ハードウェアＩＤと一致するハードウェアＩＤ（１８２０）を持つプリンターキュー（１６２０）を全てアンインストールする第二のアンインストール処理（Ｓ３００）、
を有することを特徴とするプリンタードライバーのアンインストーラー（１４００）。
【請求項２】
前記プリンタードライバーのアンインストール処理において、
前記第一のアンインストール処理（Ｓ１００）でも前記第二のアンインストール処理（Ｓ２００）に加えてユーザーに対してアンインストールするプリンターキューを選択させる処理（Ｓ５０２）、およびユーザーにより選択されたプリンターキューをアンインストールする第三のアンインストール処理（Ｓ５０３）、
を有することを特徴とする請求項１に記載のプリンタードライバーのアンインストーラー（１４００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタードライバーのアンインストール方法に関する。
【背景技術】
【０００２】
ユーザーが簡単にコンピューターにプリンタードライバーをインストールしたりアンインストールしたりできるように、各プリンターベンダーはプリンタードライバーのインストーラーやアンインストーラーを作成して配布を行っている。また、複合機においては一つのデバイスに対して複数のプリンタードライバーを必要とすることがある。例えばプリンタードライバーとＦａｘドライバーなどである。なお、Ｆａｘドライバーもプリンタードライバーの一種であるため、今後は区別せずにどちらもプリンタードライバーと呼ぶことにする。
【０００３】
この場合、ユーザーが各プリンタードライバーをインストールするためにそれぞれのインストーラーを実行するのは手間である。このため一つのインストーラーでその機種用の複数のプリンタードライバーを一度にインストールできるインストーラーが存在する。上記インストーラーを本明細書内では機種別コンポジットインストーラーとよぶことにする。
【０００４】
さらに、一般的にはプリンタードライバーはプリンターの機種ごとに異なるが、複数の機種に対して一つのプリンタードライバーで印刷可能なＧｅｎｅｒｉｃドライバーという種類のドライバーが存在する。Ｇｅｎｅｒｉｃドライバーは接続先のプリンターの機種に応じて使用可能な機能を動的に切り替えることで、複数の機種のプリンターに対して印刷を行うことができる。
【０００５】
ここで、機種別コンポジットインストーラーでＧｅｎｅｒｉｃドライバーをインストールすることも可能である。機種別コンポジットインストーラーは内部的にＧｅｎｅｒｉｃドライバーのインストーラーを実行することでＧｅｎｅｒｉｃドライバーをインストールすることができる。Ｇｅｎｅｒｉｃドライバーは通常プリンターキューの名称（以降、フレンドリ名と呼ぶ）に機種名が入っていないため、ユーザーはどの機種用のプリンターキューかを見極めるのが難しい。
【０００６】
そこで機種別コンポジットインストーラーはＧｅｎｅｒｉｃドライバーをインストールした後、作成したプリンターキューのフレンドリ名をその機種の名称を含む文字列に変更する。これによりユーザーはどの機種用のプリンタードライバーなのかを見分けやすくなるため便利である。なお、「プリンターキュー」とはそのデバイス用のプリンタードライバーのインスタンスのことであり、印刷時にユーザーが選ぶプリンターの単位となる。一方、機種別コンポジットアンインストーラーも内部的にＧｅｎｅｒｉｃドライバーのアンインストーラーを実行してＧｅｎｅｒｉｃドライバーをアンインストールする。
【０００７】
この際、機種別コンポジットアンインストーラーはフレンドリ名にその機種の名称が含まれるプリンターキューのみをアンインストールすることで他の機種用に使われているＧｅｎｅｒｉｃドライバーを一緒にアンインストールしないようにできる。
また、複数のプリンタードライバーをアンインストールする方法として特許文献１で開示された方法では、インストール時に別途保存しておいた情報を元にアンインストールを行うことで適切なプリンタードライバーのアンインストールを可能にしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４０８２２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
プリンターキューのフレンドリ名はＵＳＢ接続かネットワーク接続かで異なることがある。これは、ＵＳＢ接続のプリンターキュー作成時に機種別コンポジットインストーラーが動作しておらず、フレンドリ名が変更されないことがあるためである。これにより、機種別コンポジットアンインストーラーによるアンインストール時にフレンドリ名にその機種の名称が含まれていない場合にアンインストールができないという課題がある。
【課題を解決するための手段】
【００１０】
本発明では上記課題を解決するために、プリンタードライバーのアンインストール処理において、アンインストールすべきプリンターキューのフレンドリ名とハードウェアＩＤを特定する処理（Ｓ１００）、前記フレンドリ名を含むフレンドリ名（１７１０）を持つプリンターキュー（１６２０）を全てアンインストールする第一のアンインストール処理（Ｓ２００）、および前記ハードウェアＩＤと一致するハードウェアＩＤ（１８２０）を持つプリンターキュー（１６２０）を全てアンインストールする第二のアンインストール処理（Ｓ３００）を有するプリンタードライバーのアンインストーラー（１４００）を使用する。
【発明の効果】
【００１１】
本発明を実施することで、ＵＳＢ接続時にも機種別コンポジットアンインストーラーがその機種用のプリンタードライバーを正しくアンインストールする事が可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施例における印刷システムの接続形態を示す図である。
【図２】コンピューターの内部構成を示す図である。
【図３】複合機の内部構成を示す図である。
【図４】プリンタードライバーのインストーラーとアンインストーラーを示す図である。
【図５】実施例１におけるアンインストール処理の全体フローを示す図である。
【図６】フレンドリ名を用いてアンインストール処理を行うフローを示す図である。
【図７】ハードウェアＩＤを用いてアンインストール処理を行うフローを示す図である。
【図８】実施例２におけるアンインストール処理の全体フローを示す図である。
【図９】ＵＩ表示してアンインストール処理を行うフローを示す図である。
【図１０】ＯＳの「デバイスとプリンター」ダイアログを示す図である。
【図１１】プリンターキューの「プリンターのプロパティ」ダイアログを示す図である。
【図１２】プリンターキューの「プロパティ」ダイアログを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１４】
［実施例１］
図１は実施例１の印刷システムにおけるコンピューター１０００、複合機Ａ２０００、複合機Ｂ３０００の接続形態を示す図である。コンピューター１０００と複合機Ａ２０００はＵＳＢで接続されており、コンピューター１０００と複合機Ｂ３０００はネットワークで接続されている。
【００１５】
図２はコンピューター１０００の内部構成をブロック図として示した図である。コンピューター１０００はＣＰＵ１０４１とメモリ１０４２により構成される制御部１０４０が全体を制御している。表示部１０１０はディスプレイなどの出力装置、操作部１０２０はマウスやキーボードなどの入力装置を示す。また、記憶部１０３０にはＯＳ１０３２、各種アプリケーション１０３３、及びプリンタードライバー１０３１などのソフトウェアが保存されている。それらのプログラムは必要に応じてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。
【００１６】
ＯＳ１０３２はコンピューター１０００の基本動作をつかさどるソフトウェアである。ネットワーク通信部１０５０はネットワークに接続して外部装置とのデータの入出力を行う。ＵＳＢ通信部１０６０は外部装置とＵＳＢ接続によるデータの入出力を行う。本実施例における処理は、記憶部１０３０に記憶されたソフトウェアを制御部１０４０におけるメモリ１０４２にロードしてＣＰＵ１０４１が実行することによって実現される。なお、ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
【００１７】
図３は複合機Ａ２０００の内部構成をブロック図として示した図である。複合機Ｂ３０００の内部構成は複合機Ａ２０００と同等であるためここでは説明を割愛する。複合機Ａ２０００はＣＰＵ２０４１とメモリ２０４２により構成される制御部２０４０が全体を制御している。表示部２０１０は液晶パネルなどの出力装置、操作部２０２０はタッチパネルや各種ボタンによる入力装置を示す。また、記憶部２０３０にはＯＳ２０３２やファームウェア２０３１、及びその上で動作する各種アプリケーション２０３３が保存されている。
【００１８】
これらのソフトウェアは必要に応じてメモリ２０４２にロードされ、ＣＰＵ２０４１によって実行される。ＯＳ２０３２は複合機Ａ２０００の基本動作をつかさどるソフトウェアである。ネットワーク通信部２０５０はネットワークに接続して外部装置とのデータの入出力を行う。ＵＳＢ通信部１０６０は外部装置とＵＳＢ接続によるデータの入出力を行う。また、不図示のＦａｘ通信部は電話回線との接続によるデータの入出力を行う。読取部２０７０は制御部２０４０の指示に従って原稿用紙に描かれた文字や写真などを読み取り、デジタルデータとしてメモリ２０４２に取り込む。
【００１９】
具体的には、用紙に光を当てて反射光の強さや光をセンサーで測定し、デジタル化することでスキャン画像を得る。印刷部２０８０は制御部２０４０の指示に従ってメモリ２０４２内のデジタルデータを物理用紙に印刷する。印刷の方法はインク方式でもトナー方式でもよい。
【００２０】
図４は本実施例におけるプリンタードライバーの機種別インストーラー１２００と機種別アンインストーラー１４００の構成を示すブロック図である。
【００２１】
図４（ａ）は複合機Ａ２０００に対応するプリンタードライバーを全てインストールするための機種別コンポジットインストーラー１２００の構成を示している。機種別コンポジットインストーラー１２００は内部にＧｅｎｅｒｉｃドライバーインストーラー１３００とＦａｘドライバーインストーラー１３５０を保持している。Ｇｅｎｅｒｉｃドライバーインストーラー１３００は内部にＧｅｎｅｒｉｃドライバー１３１０を保持している。
【００２２】
Ｇｅｎｅｒｉｃドライバー１３１０はコンピューター１０００のＯＳ１０３２にインストールされることで、コンピューター１０００上のアプリケーション１０３３から複合機Ａ２０００に対して印刷が可能となる。同様に、Ｆａｘドライバーインストーラー１３５０は内部にＦａｘドライバー１３６０を保持している。Ｆａｘドライバー１３６０はコンピューター１０００のＯＳ１０３２にインストールされることで、コンピューター１０００上のアプリケーション１０３３から複合機Ａ２０００を経由してさらに外部のＦａｘ受信機に対して印刷が可能となる。
【００２３】
ここで、本実施例において機種別コンポジットインストーラー１２００が複合機Ａ２０００や複合機Ｂ３０００に対応するプリンタードライバーをコンピューター１０００に対してインストールする手順について説明する。機種別コンポジットインストーラー１２００はコンピューター１０００上でユーザーによって実行されるとユーザーにネットワーク接続かＵＳＢ接続かを選択させる。
【００２４】
ネットワーク接続が選択された場合、機種別コンポジットインストーラー１２００はネットワーク内にその機種が接続されているはずなのでネットワーク上の複合機Ｂ３０００を探索する。見つかったらその複合機Ｂ３０００用にポートを作成し、Ｇｅｎｅｒｉｃドライバーインストーラー１３００に対してＧｅｎｅｒｉｃドライバー１３１０をそのポートでインストールするように指示する。その後、Ｇｅｎｅｒｉｃドライバーインストーラー１３００はＧｅｎｅｒｉｃドライバーをインストールし、指定されたポートでプリンターキューを作成する。
【００２５】
プリンターキューが作成されることで、ユーザーは初めて複合機Ｂ３０００に対して印刷指示を行うことができるようになる。続けて、機種別コンポジットインストーラー１２００はＦａｘドライバーインストーラー１３５０に対してＦａｘドライバー１３６０をそのポートでインストールするように指示する。Ｆａｘドライバーインストーラー１３６０はＦａｘドライバー１３６０をインストールし、指定されたポートでプリンターキューを作成する。それぞれのプリンターキューが作成されると、次に機種別コンポジットインストーラー１２００は作成されたそれぞれのプリンターキューのフレンドリ名をその機種の名称を含む文字列に変更して動作を終了する。
【００２６】
一方、ＵＳＢ接続が選択された場合、機種別コンポジットインストーラー１２００はＧｅｎｅｒｉｃドライバーインストーラー１３００に対してＧｅｎｅｒｉｃドライバー１３１０をインストールするように指示する。ＧｅｎｅｒｉｃドライバーインストーラーはＧｅｎｅｒｉｃドライバー１３１０をインストールするがプリンターキューは作成しない。続けて、機種別コンポジットインストーラー１２００はＦａｘドライバーインストーラー１３６０に対してＦａｘドライバー１３６０をインストールするように指示する。Ｆａｘドライバーインストーラー１３５０はＦａｘドライバー１３６０をインストールするがプリンターキューは作成しない。
【００２７】
そして機種別コンポジットインストーラー１２００は動作を終了する。その後、ユーザーがコンピューター１０００に複合機Ａ２０００をＵＳＢ接続した際にＯＳのプラグ＆プレイ機能が動作してそれぞれのプリンターキューが生成される。プラグ＆プレイ機能とは複合機Ａ２０００がＵＳＢ上で宣言するハードウェアＩＤに対応したプリンタードライバーをＯＳが検索して、最もふさわしいプリンタードライバーのプリンターキューを自動で作成する機能である。ＵＳＢ接続時には上記でインストールされたＧｅｎｅｒｉｃドライバー１３１０とＦａｘドライバー１３６０が最もふさわしいプリンタードライバーと判断されてそれぞれのプリンターキューが生成される。
【００２８】
なお、プラグ＆プレイ機能により作成されたプリンターキューのフレンドリ名はプリンタードライバーのモデル名がそのまま使用されるため、Ｇｅｎｅｒｉｃドライバーのフレンドリ名はその機種の名称を含んでいない。プリンタードライバーのモデル名とフレンドリ名の違いは後述する。
【００２９】
以上のように、ネットワーク接続かＵＳＢ接続かによってプリンタードライバーのフレンドリ名は異なることになる。
【００３０】
図４（ｂ）は複合機Ａ２０００に対応するプリンタードライバーをアンインストールするための機種別コンポジットアンインストーラー１４００の構成を示している。機種別コンポジットアンインストーラー１４００はその機種用にインストールされているプリンタードライバーを全てアンインストールするためのものである。機種別コンポジットアンインストーラー１４００は内部にＧｅｎｅｒｉｃドライバーアンインストーラー１５００とＦａｘドライバーアンインストーラー１５５０を保持している。
【００３１】
機種別コンポジットアンインストーラー１４００はコンピューター１０００上でユーザーによって実行されると、その機種用のＧｅｎｅｒｉｃドライバーで使うフレンドリ名の文字列を特定する。これは先述のネットワーク接続でのインストール時にフレンドリ名を変更する時の文字列である。さらに機種別コンポジットアンインストーラー１４００はその機種のハードウェアＩＤを特定する。機種別コンポジットアンインストーラーはＧｅｎｅｒｉｃドライバーアンインストーラー１５００と異なり機種ごとに存在するためハードウェアＩＤの情報をもともと保持している。
【００３２】
次に上記で特定したフレンドリ名の文字列とハードウェアＩＤをＧｅｎｅｒｉｃドライバーアンインストーラー１５００に伝えて該当するプリンタードライバーのアンインストールを指示する。以降、その後のＧｅｎｅｒｉｃドライバーアンインストーラー１５００の処理を、フローチャートを用いて詳細に説明する。
【００３３】
図５は実施例１におけるＧｅｎｅｒｉｃドライバーアンインストーラー１５００のアンインストール処理の全体フローを示す図である。なお、ここでのアンインストールとは機種別コンポジットアンインストーラー１４００に関係のあるＧｅｎｅｒｉｃドライバーのみをアンインストールするものである。すべてのＧｅｎｅｒｉｃドライバーをアンインストールする「クリーンアップ」とは異なるので注意が必要である。Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００は初めに機種別コンポジットアンインストーラー１４００からアンインストールすべきフレンドリ名の文字列およびハードウェアＩＤを受信する（Ｓ１００）。
【００３４】
その後、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００は前記フレンドリ名の文字列を用いてプリンタードライバーのアンインストール処理を行う（Ｓ２００）。処理の詳細は後述する。次に、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００は前記ハードウェアＩＤを用いてプリンタードライバーのアンインストール処理を行う（Ｓ３００）。こちらも処理の詳細は後述する。そしてＧｅｎｅｒｉｃドライバーアンインストーラー１５００はアンインストール処理を終了する。
【００３５】
図６は前記フレンドリ名を用いてプリンタードライバーのアンインストール処理を行うステップ（Ｓ２００）の詳細フローを示す図である。まず、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はＯＳ１０３２にインストールされたプリンターキューの中からサポート対象のプリンターキューを特定する（Ｓ２０１）。具体的にはそのＧｅｎｅｒｉｃドライバーのモデル名を持つプリンターキューを選定する。これはＯＳ１０３２上に複数存在する可能性がある。また、Ｇｅｎｅｒｉｃドライバー１３１０の特性上、これらの中には他の機種用に使用されているプリンターキューも存在する可能性がある。
【００３６】
次に、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はそれらのうちの一つに対してフレンドリ名を確認し、機種別コンポジットアンインストーラー１４００から指定された文字列を含むかどうかを確認する（Ｓ２０２）。ここで、指定された文字列を含んでいる場合は、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はその機種用に使用されていたプリンターキューであると判断してアンインストール処理を行う（Ｓ２０３）。指定された文字列を含まない場合、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はアンインストール処理を行わない。
【００３７】
次にＧｅｎｅｒｉｃドライバーアンインストーラー１５００はＳ２０１で特定したすべてのプリンターキューに関して確認を行っていれば処理を終了し、未確認のプリンターキューが残っている場合はＳ２０２の処理に戻る（Ｓ２０４）。これらの処理によってネットワーク接続でインストールされたプリンターキューに関して必要なものは全てアンインストールすることができる。
【００３８】
図７は前記ハードウェアＩＤを用いてプリンタードライバーのアンインストール処理を行うステップ（Ｓ３００）の詳細フローを示す図である。まず、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はＯＳ１０３２にインストールされたプリンターキューの中からサポート対象のＵＳＢプリンターキューを特定する（Ｓ３０１）。具体的には、Ｓ２０１と同様に特定したプリンターキューのうち、ポートがＵＳＢポートであるものに限定して特定する。これもＯＳ１０３２上に複数存在する可能性がある。
【００３９】
次に、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はそれらのプリンターキューのうちの一つに対してＵＳＢのハードウェアＩＤを取得する（Ｓ３０２）。具体的には、ＵＳＢ接続時のハードウェアＩＤはＵＳＢポートに関する情報としてＯＳ１０３２が管理しているので、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はその情報を取得する。次にＧｅｎｅｒｉｃドライバーアンインストーラー１５００は取得したハードウェアＩＤが機種別コンポジットアンインストーラー１４００から指定されたハードウェアＩＤと一致する場合かどうかを確認する（Ｓ３０３）。
【００４０】
一致している場合、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はそのプリンターキューのアンインストール処理を行う（Ｓ３０４）。一致していない場合、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はアンインストール処理を行わない。次にＧｅｎｅｒｉｃドライバーアンインストーラー１５００はＳ３０１で特定したすべてのプリンターキューに関して確認を行っていれば処理を終了し、未確認のプリンターキューが残っている場合はＳ３０２の処理に戻る（Ｓ３０５）。これらの処理によってＵＳＢ接続でインストールされたプリンターキューに関しても必要なものは全てアンインストールすることができる。
【００４１】
以上、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００のアンインストール処理について説明したが、Ｆａｘドライバーアンインストーラー１５５０に関しても同様であるため、ここでは説明を割愛する。
【００４２】
最後に図１０から図１２を用いて本実施例における「プリンターキュー」について具体的に説明する。ここではＷｉｎｄｏｗｓ（登録商標）のユーザーインタフェースを例に説明する。
【００４３】
図１０に示すのはＯＳ１０３２が管理しているプリンターキューの一覧を表示する「デバイスとプリンター」ダイアログ１６００の外観である。図の例では「ＭＦＰ  Ａ  Ｐｒｉｎｔｅｒ」１６１０と「ＭＦＰ  Ｂ  Ｐｒｉｎｔｅｒ」１６２０の二つのプリンターキューがインストールされていることを示している。プリンターキューはそれぞれアイコンで表されており、アイコンの下に記載されている名称「ＭＦＰ  Ａ  Ｐｒｉｎｔｅｒ」１６１０および「ＭＦＰ  Ｂ  Ｐｒｉｎｔｅｒ」１６２０がそれぞれのフレンドリ名である。
【００４４】
図１１に示すのは、図１０におけるプリンターキューの1つであるアイコン「ＭＦＰ  Ｂ  Ｐｒｉｎｔｅｒ」１６２０を右クリックして「プリンターのプロパティ」を選択した時に表示されるダイアログ１７００の外観である。領域１７１０は編集可能なエディットボックスとなっており、その中にフレンドリ名である「ＭＦＰ  Ｂ  Ｐｒｉｎｔｅｒ」が表示されている。領域１７２０に表示されているのはプリンタードライバーのモデル名である。モデル名はプリンタードライバーを作成するベンダーによって定義されており、ユーザーが変更する事はできない。
【００４５】
図１２に示すのは、図１０におけるプリンターキューの1つであるアイコン「ＭＦＰ  Ｂ  Ｐｒｉｎｔｅｒ」１６２０を右クリックして「プロパティ」を選択し、さらに「プロパティ」を選択した時に表示されるダイアログ１８００の外観である。領域１８１０のコンボボックスにはさまざまなプロパティがリストされている。そのうちの「ハードウェアＩＤ」を選択するとその下の「値」リストボックス１８２０にそのプリンターキューに対応する複合機Ｂ３０００のハードウェアＩＤが表示される。上記ステップＳ３０２で取得するハードウェアＩＤは具体的にはリストボックス１８２０に表示される文字列のことである。
【００４６】
［実施例２］
実施例１ではフレンドリ名とハードウェアＩＤを用いてドライバーキューをアンインストールする処理について説明した。しかし、フレンドリ名がユーザーによって変更されていた場合など、適切に削除できないケースも存在する。実施例２ではこの課題を解決するためのより柔軟な印刷システムについて説明する。なお、実施例２の印刷システムにおける接続形態やそれぞれの構成要素などは実施例１と同じであるため説明を割愛し、差分のみの説明を行う。
【００４７】
図８は実施例２におけるＧｅｎｅｒｉｃドライバーアンインストーラー１５００のアンインストール処理の全体フローを示す図である。ステップＳ１００、Ｓ２００、Ｓ３００までは実施例１と同じであるので説明は省略する。ステップＳ３００の後にＧｅｎｅｒｉｃドライバーアンインストーラー１５００はそれまでの処理で１つでもプリンターキューをアンインストールしたかを確認する（Ｓ４００）。もしまだ１つもプリンターキューをアンインストールしていない場合、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はユーザーに対してＵＩ表示を使用したアンインストール処理を行い（Ｓ５００）、終了する。
【００４８】
図９は前記ＵＩ表示を使用したアンインストール処理（Ｓ５００）の詳細フローを示す図である。まず、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はＯＳにインストールされたプリンターキューの中からサポート対象のプリンターキューを特定する（Ｓ５０１）。具体的な処理はステップＳ３０１で説明したものと同等である。次に、Ｇｅｎｅｒｉｃドライバーアンインストーラー１５００はＵＩ表示を行い、アンインストールするプリンターキューをユーザーに選択させる（Ｓ５０２）。具体的には、ステップＳ５０１で特定したプリンターキューを全てリスト表示する。
【００４９】
そしてプリンターキューのうち、ユーザーが削除したいプリンターキューを選択させる。その後、選択されたプリンターキューのアンインストールを行い（Ｓ５０３）、終了する。これにより、フレンドリ名をユーザーが変更したことによりステップＳ２００でアンインストールされなかったプリンターキューもユーザーの選択によってアンインストールすることが可能となる。これらの処理を実施することで、ユーザーがアンインストーラーを実行した際に意図せず一つもプリンタードライバーがアンインストールされないといった事態を回避することができる。
【００５０】
以上、実施例１と実施例２を用いて本発明の実施形態とその効果について図面を用いて説明した。なお、本発明の効果と関係のない公知技術に関しては割愛して説明した。また、実際の処理フローなど、詳細に関しては本実施例の通りの実装でなくても構わない。
【符号の説明】
【００５１】
１０００  コンピューター
２０００  複合機Ａ
３０００  複合機Ｂ
１２００  機種別コンポジットインストーラー
１３００  Ｇｅｎｅｒｉｃドライバーインストーラー
１４００  機種別コンポジットアンインストーラー
１５００  Ｇｅｎｅｒｉｃドライバーアンインストーラー
【図１】
2018112816.tif 000003
【図２】
2018112816.tif 000004
【図３】
2018112816.tif 000005
【図４】
2018112816.tif 000006
【図５】
2018112816.tif 000007
【図６】
2018112816.tif 000008
【図７】
2018112816.tif 000009
【図８】
2018112816.tif 000010
【図９】
2018112816.tif 000011
【図１０】
2018112816.tif 000012
【図１１】
2018112816.tif 000013
【図１２】
2018112816.tif 000014