(57)【要約】【課題】１つのデバイスを利用するために複数のデバイスドライバが必要な場合に、ユーザが、そのデバイス用の複数のデバイスドライバをまとめてアンインストールすることが容易にできるアンインストールシステムを提供する。【解決手段】インストール時に、従来のシステムレジストリとは別に複合機のベンダーのレジストリを設け、ここに関連する複数のデバイスドライバであるスキャナドライバ、プリンタドライバ、ＦＡＸドライバを特定する情報を関連付けて記憶しておく。よって、容易に複数のデバイスドライバをまとめてアンインストールすることができる。また、図に示すリストダイアログによって、ユーザが指定した単位で、複数のデバイスドライバをまとめてアンインストールさせることができる。よって、ユーザにとって手間がかからず便利なアンインストールシステムを提供できる。【選択図】図１７
2004295181.tif 000002
【特許請求の範囲】
【請求項１】
１つの機能を持つ装置としてデバイスをオペレーティングシステムが特定するための情報である機能別デバイス特定情報を前記デバイスを制御して前記１つの機能を実行させるためのプログラムであるデバイスドライバを特定するための情報であるデバイスドライバ特定情報と関連付けて前記オペレーティングシステムが管理するデバイス登録領域に登録し、前記機能別デバイス特定情報を前記デバイスを制御するために通信を行うために用いる入出力インターフェースを特定するための情報である入出力インターフェース特定情報と関連付けて前記デバイス登録領域に登録するインストール処理によって、前記オペレーティングシステムが、前記デバイス登録領域に登録されている前記機能別デバイス特定情報を検索し、前記機能別デバイス特定情報に関連付けられている前記入出力インターフェース特定情報によって特定される入出力インターフェースを通じて、前記機能別デバイス特定情報に関連付けられている前記デバイスドライバ特定情報によって特定されるデバイスドライバにて前記デバイスを制御して、前記デバイスの持つ前記１つの機能を実行させることを可能とするインストール手段と、
前記オペレーティングシステムが前記デバイスを制御して前記１つの機能を実行することをできなくするために、前記機能別デバイス特定情報と関連付けられた前記入出力インターフェース特定情報を前記デバイス登録領域から登録解除し、前記機能別デバイス特定情報と関連付けられた前記デバイスドライバ特定情報を前記デバイス登録領域から登録解除するアンインストール処理を行うアンインストール手段と
を備えたアンインストールシステムにおいて、
さらに、前記デバイス単位でのユーザからのアンインストール要求を受け付ける処理を行うアンインストール要求受付手段を備え、
前記インストール手段は、前記インストール処理として、さらに、前記機能別デバイス特定情報または前記デバイスドライバ特定情報を当該デバイス単位で１つの装置として特定する情報であるデバイス特定情報と関連付けて記憶手段に記憶する処理を行い、
前記アンインストール手段は、前記アンインストール処理として、さらに、前記アンインストール要求受付手段によってユーザからデバイス単位のアンインストール要求が受け付けられた場合、前記デバイス特定情報と関連付けられて前記記憶手段に記憶されている前記機能別デバイスドライバ特定情報または前記デバイスドライバ特定情報に基づくアンインストール処理を行うこと
を特徴とするアンインストールシステム。
【請求項２】
請求項１に記載のアンインストールシステムにおいて、
前記機能別デバイスドライバ特定情報または前記デバイスドライバ特定情報に基づくアンインストール処理は、前記デバイス特定情報と関連付けて前記記憶手段に記憶されている前記機能別デバイス特定情報に関連して前記デバイス登録領域に登録されている前記入出力インターフェース特定情報と前記デバイスドライバ特定情報の登録解除する処理、または、前記デバイスドライバ特定情報に関連してオペレーティングシステム自身が管理しているデバイス登録領域に登録されている前記入出力インターフェース特定情報と前記デバイスドライバ特定情報を登録解除する処理であること
を特徴とするアンインストールシステム。
【請求項３】
請求項１または２に記載のアンインストールシステムにおいて、
インストール手順としてデバイスの持つ１つの機能ごとに前記デバイスドライバをインストールする必要がある旨を含む情報を記録したインストール手順記録手段を備え、
前記インストール手段は、オペレーティングシステムに、デバイスを制御して前記１つの機能を実行させられるようにするためにインストールする必要があるデバイスドライバを、前記インストール手順記録手段に記憶されたインストール手順にしたがって判断し、インストールすること
を特徴とするアンインストールシステム。
【請求項４】
請求項１〜３のいずれかに記載のアンインストールシステムにおいて、
前記アンインストール要求受付手段は、アンインストール対象のデバイス単位をユーザに選択させることで、ユーザからのアンインストール要求を受け付け、
前記アンインストール手段は、前記ユーザによって選択されたアンインストール対象のデバイス単位について前記アンインストール処理を行うこと
を特徴とするアンインストールシステム。
【請求項５】
請求項４に記載のアンインストールシステムにおいて、
前記アンインストール手段は、前記ユーザによって選択されたアンインストール対象のデバイス単位が複数ある場合には、当該複数のすべてのデバイス単位について前記アンインストール処理を行うこと
を特徴とするアンインストールシステム。
【請求項６】
請求項４または５に記載のアンインストールシステムにおいて、
前記インストール手段は、前記デバイス単位をユーザが識別可能な情報であるデバイス単位識別情報を、前記デバイス特定情報と関連付けて前記記憶手段に対して記憶する処理を行い、
前記アンインストール要求受付手段は、前記記憶手段に記憶されたデバイス単位識別情報を表示し、表示されたデバイス単位識別情報に基づいて前記アンインストール対象のデバイス単位をユーザに選択させるための処理を行うこと
を特徴とするアンインストールシステム。
【請求項７】
請求項６に記載のアンインストールシステムにおいて、
前記デバイス単位識別情報として、前記入出力インターフェース特定情報を用いること
を特徴とするアンインストールシステム。
【請求項８】
請求項７に記載のアンインストールシステムにおいて、
前記アンインストール要求受付手段は、選択された前記デバイス単位に対応する前記デバイスドライバ特定情報を前記記憶手段から読み出して表示すること
を特徴とするアンインストールシステム。
【請求項９】
請求項４〜８のいずれかに記載のアンインストールシステムにおいて、
前記インストール手段は、さらに、前記デバイス単位識別情報と当該デバイスのモデルの特定情報であるモデル特定情報とを関連づけて前記記憶手段に記憶する処理を行い、
前記アンインストール要求受付手段は、前記記憶手段に記憶されたモデル特定情報を表示してユーザにアンインストール対象のモデル特定情報を選択させるための処理を行い、ユーザから選択されたアンインストール対象のモデル特定情報に関連付けて前記記憶手段に記憶されたすべてのデバイス単位識別情報で特定されるデバイス単位それぞれを前記アンインストール対象のデバイス単位とすること
を特徴とするアンインストールシステム。
【請求項１０】
請求項９に記載のアンインストールシステムにおいて、
前記アンインストール要求受付手段は、前記モデル特定情報に対応するデバイス単位識別情報を関連付けて表示すること
を特徴とするアンインストールシステム。
【請求項１１】
請求項１〜１０のいずれかに記載のアンインストールシステムにおいて、
前記１つのデバイスの機能は、印刷機能、画像読取機能、ＦＡＸ通信機能の少なくともいずれか１つであること
を特徴とするアンインストールシステム。
【請求項１２】
請求項１〜１０のいずれかに記載のアンインストールシステムにおいて、
前記１つのデバイスは、複合機であること
を特徴とするアンインストールシステム。
【請求項１３】
請求項１〜１４のいずれかに記載のアンインストールシステムにおける各手段のうち、記憶手段以外の各手段をそれぞれステップとして置き換え、各ステップをコンピュータによって実行させるアンインストール方法。
【請求項１４】
１つの機能を持つ装置としてデバイスをオペレーティングシステムが特定するための情報である機能別デバイス特定情報を前記デバイスを制御して前記１つの機能を実行させるためのプログラムであるデバイスドライバを特定するための情報であるデバイスドライバ特定情報と関連付けて前記オペレーティングシステムが管理するデバイス登録領域に登録し、前記機能別デバイス特定情報を前記デバイスを制御するために通信を行うために用いる入出力インターフェースを特定するための情報である入出力インターフェース特定情報と関連付けて前記デバイス登録領域に登録することによって、前記オペレーティングシステムが、前記デバイス登録領域に登録されている前記機能別デバイス特定情報を検索し、前記機能別デバイス特定情報に関連付けられている前記入出力インターフェース特定情報によって特定される入出力インターフェースを通じて、前記機能別デバイス特定情報に関連付けられている前記デバイスドライバ特定情報によって特定されるデバイスドライバにて前記デバイスを制御して、前記デバイスの持つ前記１つの機能を実行させることを可能とするインストールステップと、
前記オペレーティングシステムが前記デバイスを制御して前記１つの機能を実行することをできなくするために、前記機能別デバイス特定情報と関連付けられた前記入出力インターフェース特定情報を前記デバイス登録領域から登録解除し、前記機能別デバイス特定情報と関連付けられた前記デバイスドライバ特定情報を前記デバイス登録領域から登録解除するアンインストール処理を行うアンインストールステップと
を備えたアンインストール方法において、
さらに、前記デバイス単位でのユーザからのアンインストール要求を受け付ける処理を行うアンインストール要求受付ステップを備え、
前記インストールステップは、前記インストール処理として、さらに、前記機能別デバイス特定情報または前記デバイスドライバ特定情報を当該デバイス単位で１つの装置として特定する情報であるデバイス特定情報と関連付けて記憶手段に記憶する処理を行い、
前記アンインストールステップは、さらに、前記アンインストール要求受付ステップによってユーザからデバイス単位のアンインストール要求が受け付けられた場合、前記デバイス特定情報と関連付けられて前記記憶手段に記憶されている前記機能別デバイスドライバ特定情報または前記デバイスドライバ特定情報に基づくアンインストール処理を行うこと
を特徴とするアンインストール方法。
【請求項１５】
請求項１〜１２のいずれかに記載のアンインストールシステムとしての処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャナドライバやプリンタドライバに代表されるデバイスドライバをアンインストールするアンインストールシステム、アンインストール方法、及びプログラムに関し、特に複数のデバイスドライバをまとめてアンインストールすることが可能なアンインストールシステム、アンインストール方法、及びプログラムに関する。
【０００２】
【従来の技術】
従来よりアプリケーションソフトウェアをオペレーティングシステムへインストールするインストールシステムが知られている。このようなインストールシステムでは、例えば、単数あるいは複数のコンポーネント（プログラムやデータ）から構成されているアプリケーションソフトウェアについて、そのアプリケーションソフトウェアがオペレーティングシステムの管理下で実行可能となるように、各コンポーネントを適切な場所へコピーしたり、アプリケーションソフトウェアの動作に必要な情報を設定したりする処理を行っている。
【０００３】
また、同様に、オペレーティングシステムの管理下でデバイスを利用するために必要なデバイスドライバを、オペレーティングシステムの管理下の適切な場所へコピーしたり、デバイスドライバの動作に必要な情報をオペレーティングシステムに登録したりするインストールシステムも知られている。
【０００４】
ところで、例えば、プリンタ機能・スキャナ機能・ＦＡＸ機能などを備える複合機（このような複合機は、スキャナ機能とプリンタ機能を組み合わせてコピーを実行させたりできる。）を、ＰＣ上から利用する場合、ＰＣに、プリンタドライバ・スキャナドライバ・ＦＡＸドライバおよび当該複合機の利用に関するアプリケーションを、それぞれオペレーティングシステムに対してインストールする必要がある（例えば特許文献１参照。）。
【０００５】
また、このように、１つのデバイスを利用するために複数のソフトウェアをインストールする場合、１つ１つのソフトウェアを別々にインストールするのは、手間がかかる。
そこで、例えば、ＣＤ−ＲＯＭ等の記録媒体に、複数のソフトウェアを１つにまとめたものをパッケージとして記録しておき、インストール時にはこのパッケージから、順次、個々のソフトウェアを取り出してインストールすることにより、複合機の機能を利用する上で必要なすべてのソフトウェアを自動的にインストールするインストールシステムが知られている。また、こうしたインストールの途中で、デバイスドライバやアプリケーションの設定を、ユーザに選択入力等させ、ユーザによって選択入力等された設定を行うインストールシステムも知られている。
【０００６】
例えば、ＰＣにおいて一般的に利用されるオペレーティングシステムにおけるインストールシステムによって、プリンタ機能とスキャナ機能を備えるモデル名が「モデルＡ」の第一の複合機（デバイス１）をＰＣのデフォルトのポートであるポートＡに接続して、そのデバイスドライバ（スキャナドライバＡとプリンタドライバＡ）をインストールする場合、インストールシステムは、図２０（ａ）に示すように、オペレーティングシステム上の設定情報を記憶する領域であるレジストリに設定情報を設定する。
【０００７】
すなわち、インストールシステムは、図２０（ａ）のように、システムレジストリ（スキャナ）１１０に対して、デバイス１のキー１１１を作成し、そのキー１１１の下にドライバ特定情報１１１ａとして「スキャナドライバＡ」を、入出力インターフェース特定情報として「スキャナインターフェースＡ」を、スキャナ名１１１ｃとして「スキャナＡ−１」を設定して記憶させる。スキャナ用の入出力インターフェース特定情報としては、インターフェースドライバであるＳＴＩドライバ名ならびにＳＴＩドライバが通信したいスキャナのＩＰアドレスの対などが考えられる。そして、スキャナドライバＡが、すでにオペレーティングシステムのスキャナドライバ格納領域に格納されているか否かを判定し、格納されていない場合には、ＣＤ−ＲＯＭ等に格納されたスキャナドライバＡをオペレーティングシステムのスキャナドライバ格納領域にコピーし、オペレーティングシステムに対してスキャナドライバＡのポートＡへの設定要求を行う。
【０００８】
同様に、インストールシステムは、図２０（ａ）のように、システムレジストリ（プリンタ）１２０に対して、デバイス１のキー１２１を作成し、そのキー１２１の下にドライバ特定情報１２１ａとして「プリンタドライバＡ」を、入出力インターフェース特定情報として「プリンタインタフェースＡ」を、プリンタ名１２１ｃとして「プリンタＡ−１」を設定して記憶させる。プリンタ用の入出力インターフェース特定情報としては、インターフェースドライバであるポートドライバがオペレーティングシステム上に登録した論理的なインターフェースであるポートを特定するポート名などが考えられる。そして、プリンタドライバＡが、すでにオペレーティングシステムのプリンタドライバ格納領域に格納されているか否かを判定し、格納されていない場合には、ＣＤ−ＲＯＭ等に格納されたプリンタドライバＡをオペレーティングシステムのプリンタドライバ格納領域にコピーし、オペレーティングシステムに対してプリンタドライバＡのポートＡへの設定要求を行う。
【０００９】
また、インストールシステムは、図２０（ａ）に示すように、ベンダーレジストリ１３０にモデル名１３１として「モデルＡ」を設定して記憶させる。
その結果、オペレーティングシステムが管理するフォルダ（スキャナ）をユーザがクリックすると、オペレーティングシステムは、設定情報に従って、図２０（ｂ）のフォルダ（スキャナ）ウインドウ１５０をＰＣの表示装置に表示する。このフォルダ（スキャナ）ウインドウ１５０内には、「スキャナＡ−１」というスキャナ名とそのアイコン１５１ａとが表示され、ユーザからこのアイコンがクリックされた場合は、スキャナＡ−１に対応するポートＡに接続された第一の複合機の状態をスキャナドライバＡ及びスキャナインターフェースＡによってポートＡから取得して表示したり、スキャナＡ−１の設定内容を表示・変更可能するためのダイアログを表示したり、表示したダイアログにおいてユーザが変更した設定情報を記憶したり、デバイスドライバＡによってポートＡを介して第一の複合機へ出力するための処理を行う。また、アプリケーションプログラムから、このスキャナＡ−１を指定したスキャン要求をオペレーティングシステムが受け取った場合、オペレーティングシステムは、スキャナドライバＡ及びスキャナインターフェースＡによってポートＡを介して、第一の複合機を制御し、スキャン処理を実行させることができる。
【００１０】
同様に、オペレーティングシステムが管理するフォルダ（プリンタ）をユーザがクリックすると、オペレーティングシステムは、設定情報に従って、図２０（ｂ）のフォルダ（プリンタ）ウインドウ１６０をＰＣの表示装置に表示する。このフォルダ（プリンタ）ウインドウ１６０内には、「プリンタＡ−１」というプリンタ名とそのアイコン１６１ａとが表示され、ユーザからこのアイコンがクリックされた場合は、プリンタＡ−１に対応するポートＡに接続された第一の複合機の状態をプリンタドライバＡ及びプリンタインターフェースＡによってポートＡから取得して表示したり、プリンタＡ−１の設定内容を表示・変更可能するためのダイアログを表示したり、表示したダイアログにおいてユーザが変更した設定情報を記憶したり、プリンタドライバＡ及びプリンタインターフェースＡによってポートＡを介して第一の複合機へ出力するための処理を行う。また、アプリケーションプログラムから、このプリンタＡ−１を指定したプリント要求をオペレーティングシステムが受け取った場合、オペレーティングシステムは、プリンタドライバＡ及びプリンタインターフェースＡによってポートＡを介して、第一の複合機を制御し、プリント処理を実行させることができる。
【００１１】
この状態で、さらに、第一の複合機と同じモデル（モデル名が「モデルＡ」）の複合機である第二の複合機（デバイス２）を第一の複合機と同一のＰＣのポートＢへ接続した場合には、ユーザはインストールシステムに対してポートＢへの接続である旨を入力する。インストールシステムは、スキャナドライバＡおよびプリンタドライバＡがすでにインストールされているので、これらのデバイスドライバのコピーは行わずに、レジストリの設定と、オペレーティングシステムに対する各デバイスドライバのポートＢへの設定要求を行う。その結果、図２１（ａ）に示すように、システムレジストリ（スキャナ）１１０にデバイス２のキー１１２が追加され、そのキー１１２の下にドライバ特定情報１１２ａとして「スキャナドライバＡ」、入出力インターフェース特定情報として「スキャナインターフェースＢ」、スキャナ名１１２ｃとして「スキャナＡ−２」が設定される。同様に、システムレジストリ（プリンタ）１２０に対して、デバイス２のキー１２２が追加され、そのキー１２２の下にドライバ特定情報１２２ａとして「プリンタドライバＡ」、入出力インターフェース特定情報として「プリンタインターフェースＢ」、プリンタ名１２２ｃとして「プリンタＡ−２」が設定される。
【００１２】
このように、いったんインストールしたデバイスドライバは、最初のインストール時に設定された接続先（上述した例ではポート）に加え、別の接続先を追加して設定することができる。そして、接続先ごとに、デバイスドライバの設定情報が管理される。例えば、上述した例では、図２１（ｂ）に示すように接続先ごとにアイコン１５１ａ，１５１ｂが作成され、ユーザは、アプリケーションソフトやオペレーティングシステムから、いずれかのアイコンに対応する接続先を選択して、利用するデバイスを選択することができる。
【００１３】
こうしたインストールシステムによって、複合機のように１つのデバイスを使うために複数のソフトウェアをインストールする必要があるデバイスを利用する際に必要なソフトウェアを容易にインストールすることができ、ＰＣ上からすぐにデバイスを利用することができる。
【００１４】
ところで、インストールされた複数のソフトウェアのうち、指定した複数のアプリケーションソフトをまとめてアンインストールするアンインストールシステムも知られている。例えば、複数のアプリケーションソフトウェアがインストールされている場合に、これらのアプリケーションソフトウェアを構成する個々のコンポーネントをすべて削除するとともに、これらのアプリケーションソフトウェアの動作に必要な設定情報をすべて削除する処理を行う。
【００１５】
【特許文献１】
特開平１０−９７４８５号公報
【００１６】
【発明が解決しようとする課題】
しかしながら、デバイスドライバについては、インストール後に、それぞれのデバイスドライバの関連性を特定する術がなかったため、それら複数のデバイスドライバをまとめてアンインストールすることができないという問題があった。
【００１７】
例えば、プリンタドライバ、スキャナドライバ、ＦＡＸドライバをオペレーティングシステムにインストールした場合、それぞれのデバイスドライバのインストール時には、それぞれのデバイスドライバが動作に必要な情報をオペレーティングシステムに対して設定するだけであり、デバイスドライバ同士の関連性を特定することができず、これらのデバイスドライバをまとめてアンインストールすることができなかった。
【００１８】
そこで、本発明は、１つのデバイスを利用するために複数のデバイスドライバが必要な場合に、ユーザが、そのデバイス用の複数のデバイスドライバをまとめてアンインストールすることが容易にできるアンインストールシステムを提供することを目的とする。
【００１９】
【課題を解決するための手段及び発明の効果】
上述した問題点を解決するためになされた請求項１に記載のアンインストールシステムは、１つの機能を持つ装置としてデバイスをオペレーティングシステムが特定するための情報である機能別デバイス特定情報を前記デバイスを制御して前記１つの機能を実行させるためのプログラムであるデバイスドライバを特定するための情報であるデバイスドライバ特定情報と関連付けて前記オペレーティングシステムが管理するデバイス登録領域に登録し、前記機能別デバイス特定情報を前記デバイスを制御するために通信を行うために用いる入出力インターフェースを特定するための情報である入出力インターフェース特定情報と関連付けて前記デバイス登録領域に登録するインストール処理によって、前記オペレーティングシステムが、前記デバイス登録領域に登録されている前記機能別デバイス特定情報を検索し、前記機能別デバイス特定情報に関連付けられている前記入出力インターフェース特定情報によって特定される入出力インターフェースを通じて、前記機能別デバイス特定情報に関連付けられている前記デバイスドライバ特定情報によって特定されるデバイスドライバにて前記デバイスを制御して、前記デバイスの持つ前記１つの機能を実行させることを可能とするインストール手段と、前記オペレーティングシステムが前記デバイスを制御して前記１つの機能を実行することをできなくするために、前記機能別デバイス特定情報と関連付けられた前記入出力インターフェース特定情報を前記デバイス登録領域から登録解除し、前記機能別デバイス特定情報と関連付けられた前記デバイスドライバ特定情報を前記デバイス登録領域から登録解除するアンインストール処理を行うアンインストール手段とを備えたアンインストールシステムにおいて、さらに、前記デバイス単位でのユーザからのアンインストール要求を受け付ける処理を行うアンインストール要求受付手段を備え、前記インストール手段は、前記インストール処理として、さらに、前記機能別デバイス特定情報または前記デバイスドライバ特定情報を当該デバイス単位で１つの装置として特定する情報であるデバイス特定情報と関連付けて記憶手段に記憶する処理を行い、前記アンインストール手段は、前記アンインストール処理として、さらに、前記アンインストール要求受付手段によってユーザからデバイス単位のアンインストール要求が受け付けられた場合、前記デバイス特定情報と関連付けられて前記記憶手段に記憶されている前記機能別デバイスドライバ特定情報または前記デバイスドライバ特定情報に基づくアンインストール処理を行う。
【００２０】
したがって、１つのデバイスを利用するために複数のデバイスドライバが必要な場合であっても、ユーザは、デバイス単位を指定するだけで、そのデバイス用の複数のデバイスドライバをまとめてアンインストールさせることができる。よって、ユーザにとって手間がかからず便利なアンインストールシステムを提供できる。
【００２１】
なお、前記機能別デバイスドライバ特定情報または前記デバイスドライバ特定情報に基づくアンインストール処理は、例えば、請求項２に示すように、前記デバイス特定情報と関連付けて前記記憶手段に記憶されている前記機能別デバイス特定情報に関連して前記デバイス登録領域に登録されている前記入出力インターフェース特定情報と前記デバイスドライバ特定情報の登録解除する処理、または、前記デバイスドライバ特定情報に関連してオペレーティングシステム自身が管理しているデバイス登録領域に登録されている前記入出力インターフェース特定情報と前記デバイスドライバ特定情報を登録解除する処理とすることができる。
【００２２】
このようにすることで、アンインストールするデバイスのデバイス特定情報を指定することで、インストール時に、オペレーティングシステムに登録された入出力インターフェース特定情報およびデバイスドライバ特定情報を登録解除できる。
【００２３】
なお、デバイスドライバのインストール時に、１つのデバイスを制御するために複数のデバイスドライバをインストールする必要があるか否かは、例えば、ユーザからの指示の入力を受け付けて判断するようにしてもよいが、請求項３に示すように、インストール手順としてデバイスの持つ１つの機能ごとに前記デバイスドライバをインストールする必要がある旨を含む情報を記録したインストール手順記録手段を備え、  前記インストール手段は、オペレーティングシステムに、デバイスを制御して前記１つの機能を実行させられるようにするためにインストールする必要があるデバイスドライバを、前記インストール手順記録手段に記憶されたインストール手順にしたがって判断し、インストールするとよい。
【００２４】
また、アンインストール対象のデバイス単位は、例えば、デバイスの接続状況等を検知して自動的に検出してもよいが、例えば、請求項４に示すように、前記アンインストール要求受付手段は、アンインストール対象のデバイス単位をユーザに選択させることで、ユーザからのアンインストール要求を受け付け、前記アンインストール手段は、前記ユーザによって選択されたアンインストール対象のデバイス単位について前記アンインストール処理を行うとよい。このようにすれば、ユーザ自身がアンインストール対象のデバイスを指定することができる。
【００２５】
そして、請求項５に示すように、ユーザによって選択されたアンインストール対象のデバイス単位が複数ある場合には、その複数のすべてのデバイス単位についてアンインストール処理を行うとよい。このようにすれば、ユーザは、選択した複数のデバイスについてまとめてアンインストールをさせることができる。
【００２６】
また、請求項６に示すように、前記インストール手段は、前記デバイス単位をユーザが識別可能な情報であるデバイス単位識別情報を、前記デバイス特定情報と関連付けて前記記憶手段に対して記憶する処理を行い、前記アンインストール要求受付手段は、前記記憶手段に記憶されたデバイス単位識別情報を表示し、表示されたデバイス単位識別情報に基づいて前記アンインストール対象のデバイス単位をユーザに選択させるための処理を行うとよい。このようにすれば、アンインストール対象のデバイス単位を選択する際にデバイス単位識別情報が表示されるため、ユーザは、アンインストール対象のデバイス単位を容易に選択することができる。このデバイス単位識別情報としては、例えば請求項７に示すように前記入出力インターフェース特定情報を用いるとよい。
【００２７】
また請求項８に示すように、前記アンインストール要求受付手段は、選択された前記デバイス単位に対応する前記デバイスドライバ特定情報を前記記憶手段から読み出して表示するとよい。このようにすれば、ユーザはアンインストール対象となるデバイスドライバを容易に知ることができる。
【００２８】
そして、請求項９に示すように、前記インストール手段は、さらに、前記デバイス単位識別情報と当該デバイスのモデルの特定情報であるモデル特定情報とを関連づけて前記記憶手段に記憶する処理を行い、前記アンインストール要求受付手段は、前記記憶手段に記憶されたモデル特定情報を表示してユーザにアンインストール対象のモデル特定情報を選択させるための処理を行い、ユーザから選択されたアンインストール対象のモデル特定情報に関連付けて前記記憶手段に記憶されたすべてのデバイス単位識別情報で特定されるデバイス単位それぞれを前記アンインストール対象のデバイス単位とするとよい。このようにすれば、モデル毎にアンインストールすることができる。また、例えば特定のモデルについてのデバイスドライバをすべてアンインストールしたい場合、ユーザはそのモデルを指定するだけでそのモデルのデバイスドライバをすべてアンインストールをすることができる。
【００２９】
また、アンインストール要求を受け付ける際には、請求項１０に示すようにモデル特定情報に対応するデバイス単位識別情報を関連付けて表示するとよい。このようにすれば、デバイス単位識別情報がどのモデルのものかがわかるため、ユーザは用意にアンインストール対象のデバイス単位やモデル特定情報を選択することができる。
【００３０】
なお、前記１つのデバイスの機能としては、例えば、請求項１１に示すように、印刷機能、画像読取機能、ＦＡＸ通信機能の少なくともいずれか１つとすることができる。このようにすれば、例えば、オペレーティングシステムから入出力インターフェースを通じてデバイスに画像データを処理させるシステムにおいて、本発明を適用することができる。また、デバイスは、例えば、複数のデバイスドライバをインストールする必要があるものであれば、どのようなものにも適用できる。例えば、請求項１２に示すように複合機とすることができる。このようにすれば、オペレーティングシステムから機能毎のデバイスドライバにてデバイスを制御してデバイスを制御してデバイスの持つ１つの機能を実行するシステムおいて本発明を適用できる。また、オペレーティングシステムとしては例えばＭＳ−Ｗｉｎｄｏｗｓ（登録商標）、デバイス登録領域としては例えばスキャナレジストリやプリンタレジストリ、機能別デバイス特定情報としては例えばスキャナレジストリキーやプリンタレジストリキー、入出力インターフェース特定情報としては例えばポート名やＳＴＩドライバ名＋アドレス、入出力インターフェースとしては例えばネットワークポート＋アドレスやＵＳＢポート、デバイスドライバ特定情報としては例えばスキャナドライバ名やプリンタドライバ名、記憶手段としては例えばインストーラレジストリとすることができる。また、インストールは例えばレジストリに登録する処理、デバイス特定情報は例えばキー名、アンインストールは例えばレジストリから登録解除する処理、インストール手順記憶手段は例えばｉｎｆファイル、デバイス単位識別情報は例えばポート名、モデル特定情報は例えばモデル名とすることができる。
【００３１】
そして、上述した各請求項に記載の発明に基づき、例えば以下のようにアンインストールシステムを構成することができる。
ところで、請求項１〜１２はアンインストールシステムとして物のカテゴリーの発明として記載したが、これらは、請求項１３に示すように、アンインストール方法として、方法のカテゴリの発明とした場合にも同様の効果を奏する。例えば、請求項１に対応する方法のカテゴリーの発明として、請求項１４に記載のアンインストールシステムを挙げることができ、請求項１〜１２についても同様にして方法の発明として挙げることも可能である。
【００３２】
また、請求項１６に示すように、請求項１〜１２のいずれかに記載のアンインストールシステムにおける処理をコンピュータに実行させるためのプログラムとして構成することができる。このようなプログラムの場合、例えば、フレキシブルディスク、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ）、ハードディスク、ＲＯＭ、ＲＡＭ等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして実行したり、ネットワークを介してロードして実行することができる。
【００３３】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうることは言うまでもない。
【００３４】
図１は、本実施例のアンインストールシステムとしてのパソコン１と、アンインストールシステムをコンピュータに実現させるためのプログラムであるインストーラ、アンインストーラ、デバイスドライバ等を記録したＣＤ−ＲＯＭ１０と、複合機２（２ａ〜２ｃ）とを示す複合機利用システム１００の構成を示す図である。
【００３５】
パソコン１は、ＣＰＵ１１、ＲＡＭ１２、ＣＤ−ＲＯＭドライブ１３、ＨＤＤ１４、パラレルポート１５、ネットワークインターフェース１６等を有する一般的なパーソナルコンピュータであり、ＨＤＤ１４に記憶されたオペレーティングシステムが動作しており、各種の情報を図示しないディスプレイに表示したり、図示しないマウスやキーボードから情報を選択入力したりすることができる。
【００３６】
ＣＰＵ１１は、ＨＤＤ１４に記憶されたオペレーティングシステムによる処理によって、ＣＤ−ＲＯＭドライブ１３に挿入されたＣＤ−ＲＯＭ１０からプログラムやデータをＲＡＭ１２に読み出して、処理することができる。
パソコン１のパラレルポート１５には、プリンタケーブル４が接続されており、プリンタケーブル４の他端には、複合機２ａが接続されており、パソコン１と電気的に通信可能となっている。また、パソコン１のネットワークインターフェース１６は、ネットワーク３に接続されており、ネットワーク３には、複合機２ｂ、複合機２ｃが接続されている。
【００３７】
ＣＰＵ１１は、ＣＤ−ＲＯＭドライブ１３からＣＤ−ＲＯＭ１０が挿入されたことを示す信号を受けると、ＣＤ−ＲＯＭドライブ１３を制御してＣＤ−ＲＯＭ１０に記録されたインストールプログラムを読み出し実行する。
このインストールプログラムをＣＰＵ１１が実行することでパソコン１上で実現されるインストール処理について図２〜１０を参照して説明する。
【００３８】
図２は、インストール処理の流れを示すフローチャート、図３は、図２のＳ１００のレジストリ作成処理の流れを示すフローチャート、図４は、図２のＳ４００のＬｏｃａｌレジストリ作成処理の流れを示すフローチャートである。なお、レジストリはオペレーティングシステムの管理下にある設定記憶ファイルであり、ＨＤＤ１４上に記憶されている。
【００３９】
インストール処理では、まず図２のＳ１００に示すレジストリ作成処理を行う。この処理は、図３に示す処理である。
まず、レジストリナンバーを変数ＲｅｇＮｕｍとし（Ｓ１１０）、初期値として、ＲｅｇＮｕｍ＝１とする（Ｓ１２０）。そして、ＣＤ−ＲＯＭ１０に記録されたｉｎｉファイルからモデル名情報を取得して変数ｓｚＭｏｄｅｌにセットする（Ｓ１３０）。このインストーラに組み込まれたレジストリ中の基底のパスである「レジストリ１」＋ｓｚＭｏｄｅｌ以下のレジストリをリストアップする。レジストリの例を図５に示す。例えば、「レジストリ１」として「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥」を、ｓｚＭｏｄｅｌとして「ＢｒＭＦ１」を加えて、「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥ＢｒＭＦ１」以下のレジストリをリストアップし、ＲｅｇＬｉｓｔとする（Ｓ１４０）。そして、ＲｅｇＬｉｓｔの最初のデータを取得レジストリ情報として取得する（Ｓ１５０）。例えば、レジストリが図５の場合には、「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥ＢｒＭＦ１」の下の「１」が取得レジストリ情報として取得される。ここで、例えば、まだ１度もこのドライバに関してインストールされていない場合には、レジストリに「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥ＢｒＭＦ１」のキー自体が存在しないので、ＲｅｇＬｉｓｔの最初のデータは取得できない。
【００４０】
続くＳ１６０では、Ｓ１５０において、ＲｅｇＬｉｓｔの最初のデータが取得できたか否かを判定し、取得できた場合には（Ｓ１６０：はい）、Ｓ１７０へ移行する。一方、取得できなかなった場合には（Ｓ１６０：いいえ）、Ｓ２２０へ移行する。
【００４１】
Ｓ１７０では、ＲｅｇＮｕｍ＝取得レジストリ情報にする。例えば、上述した図５の場合には、ＲｅｇＮｕｍ＝１となる。
そして、ＲｅｇＬｉｓｔの次のデータを取得レジストリ情報として取得を試み（Ｓ１８０）、取得できたか否かを判定する（Ｓ１９０）。取得できた場合には（Ｓ１９０：はい）、Ｓ２００へ移行する。取得できなかった場合には（Ｓ１９０：いいえ）、Ｓ２２０へ移行する。
【００４２】
Ｓ２００では、Ｓ１８０で取得した取得レジストリ情報がＲｅｇＮｕｍより大きいか否かを判定し、大きい場合には（Ｓ２００：はい）Ｓ２１０へ移行し、この取得レジストリ情報の値をＲｅｇＮｕｍとした後、Ｓ１８０に戻り、そうでない場合には（Ｓ２００：いいえ）そのままＳ１８０へ戻る。すなわち、取得レジストリ情報の中で最大の値を求める。例えば上述した図５の場合には、「３」となる。
【００４３】
Ｓ２２０では、レジストリにＲｅｇＮｕｍのキーが存在するか否かを判定する。存在する場合には（Ｓ２２０：はい）、Ｓ２３０へ移行してＲｅｇＮｕｍを「１」増やす。存在しない場合には（Ｓ２２０：いいえ）、Ｓ２４０へ移行する。その結果、例えば、前述の図５の場合には、ＲｅｇＮｕｍは３＋１で４となる。
【００４４】
Ｓ２４０では、情報格納レジストリを「レジストリ１￥ｓｚＭｏｄｅｌ￥ＲｅｇＮｕｍ」とする。その結果、前述の図５の場合には、「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥ＢｒＭＦ１￥４」が、情報格納レジストリとして設定される。
そして、図２のＳ３１０へ移行する。
【００４５】
Ｓ３１０では、インストールするデバイスがＬｏｃａｌ接続かＮｅｔｗｏｒｋ接続かを選択ダイアログに対するユーザ入力に基づき判定する。Ｌｏｃａｌ接続の場合には（Ｓ３１０：Ｌｏｃａｌ）、Ｓ４００へ移行して、図４に示す処理を行う。Ｎｅｔｗｏｒｋ接続の場合には（Ｓ３１０：Ｎｅｔｗｏｒｋ）、Ｓ３２０へ移行する。
【００４６】
図４の処理（Ｓ４００の処理）は、すでにＬｏｃａｌのレジストリがある場合には、そのレジストリを、情報格納先レジストリとして設定しなおす処理である。これは、本実施例の複合機利用システムでは、Ｌｏｃａｌについてはパソコン１において１つしか複合機の接続を認めない仕様にするための処理である。
【００４７】
図４のＳ４１０では、レジストリ１の直下にあるサブキーを取得し、ＲｅｇＬｉｓｔＬｏｃａｌ１とする。そして、ＲｅｇＬｉｓｔＬｏｃａｌ１の最初のデータを取得レジストリ情報として取得を試み（Ｓ４２０）、取得できたか否かを判定する（Ｓ４３０）。取得できた場合には（Ｓ４３０：はい）、Ｓ４４０へ移行し、取得できなかった場合には（Ｓ４３０：いいえ）、図２のＳ３２０へ移行する。
【００４８】
Ｓ４４０では、ＲｅｇＳｕｂ１＝取得レジストリ情報とする。
続く、Ｓ４５０では、レジストリ１￥ＲｅｇＳｕｂ１以下のレジストリをリストアップし、ＲｅｇＬｉｓｔＬｏｃａｌ２とする。
そして、Ｓ４６０では、ＲｅｇＬｉｓｔＬｏｃａｌ２の最初のデータの取得を試み、取得できたか否かを判定する（Ｓ４７０）。取得できた場合には（Ｓ４７０：はい）、ＲｅｇＳｕｂ２＝ＲｅｇＬｉｓｔＬｏｃａｌ２の取得レジストリ情報にして（Ｓ４８５）、Ｓ４９０へ移行する。取得できなかった場合には（Ｓ４７０：いいえ）、Ｓ４８０へ移行する。
【００４９】
Ｓ４８０では、ＲｅｇＬｉｓｔＬｏｃａｌ１の次のデータの取得を試みＳ４３０へ戻る。
Ｓ４９０では、ＲｅｇＳｕｂ２の値名（ＰｏｒｔＮａｍｅ）の値を取得し、ｓｚＰｏｒｔとする。そして、ｓｚＰｏｒｔが”ｌｏｃａｌ”か否かを判定する（Ｓ５００）。ｓｚＰｏｒｔ＝”Ｌｏｃａｌ”の場合（Ｓ５００：はい）、Ｓ５２０へ移行する。ｓｚＰｏｒｔ≠”Ｌｏｃａｌ”の場合（Ｓ５００：いいえ）、Ｓ５１０へ移行する。Ｓ５１０では、ＲｅｇＬｉｓｔＬｏｃａｌ２の次のデータの取得を試みてＳ４７０へ戻る。
【００５０】
Ｓ５２０では、情報格納レジストリ先を、レジストリ１￥ＲｅｇＳｕｂ１￥ＲｅｇＳｕｂ２として、図２のＳ３３０へ移行する。このようにしてすでに”Ｌｏｃａｌ”のレジストリが存在する場合には、そこを情報格納レジストリ先に変更するのである。なお、”Ｌｏｃａｌ”のレジストリが存在していない場合（Ｓ４３０：いいえ）は、Ｓ１００で作成されたレジストリがそのまま情報格納レジストリとして設定される。
【００５１】
Ｓ３２０では、ＩＰアドレスを設定する。すなわち、ネットワークインターフェース１６に接続されたネットワーク３上の機器の情報を取得し、その情報のうちＩＰアドレスと、モデル名を、図６に示すようにダイアログとして表示し、ユーザに選択を促す。そして、ユーザから選択されたＩＰアドレスをインストールするＩＰアドレスとして設定する。
【００５２】
続くＳ３３０では、図７に示すドライバ情報ファイル（ｉｎｆファイル）をオペレーティングシステムへ渡して、ドライバファイル（プリンタドライバ、スキャナドライバ、ＦＡＸドライバ）をオペレーティングシステムのそれぞれのＨＤＤ１４内のドライバ格納領域へコピーさせるとともに、オペレーティングシステムへこれらのドライバの登録を依頼する。すなわち、各ドライバごとの設定情報をシステムレジストリへ登録する（システムレジストリのキーに設定情報を格納する）処理をオペレーティングシステムにさせる。例えば、スキャナドライバの設定情報のシステムレジストリへの登録例を図８に示す。この後、オペレーティングシステムがレジストリキーに格納した設定情報を、格納された直後のレジストリキーから読み出して、この情報を次のステップ（Ｓ３４０）でレジストリに書き込む。なお、オペレーティングシステムが設定情報を格納した直後のレジストリキーの特定方法としては、オペレーティングシステムにドライバの登録を依頼する際に、設定情報を格納するレジストリキーに所定の値を格納するよう依頼し、設定情報を読み出す時に、所定の値を格納したレジストリキーを検出することで特定する方法などがある。例えば、図８のオペレーティングシステムが返してきたスキャナドライバレジストリーキー名（ＴｗａｉｎＣｌａｓｓＤａｔａ）（図中の「００４７」）を情報格納レジストリ先に格納する。また、アンインストーラのプログラム、アイコンデータもＣＤ−ＲＯＭ１０からＨＤＤ１４へコピーする。
【００５３】
Ｓ３４０では、情報格納レジストリ先に、アンインストールに必要な情報である、ＰＣ−ＦＡＸ名（ＦａｘＮａｍｅ）、ポート名（ＰｏｒｔＮａｍｅ）、プリンタ名（ＰｒｉｎｔｅｒＮａｍｅＨＢＰ）、前述したスキャナドライバレジストリーキー名（ＴｗａｉｎＣｌａｓｓＤａｔａ）、ＴＷＡＩＮフォルダ名（ＴｗａｉｎＤｉｒＮａｍｅ）、ＴＷＡＩＮ  ＤＳ名（ＴｗａｉｎＤｓＮａｍｅ）を登録する。ローカルポートのレジストリへの登録例を図５、ネットワーク上のポートのレジストリへの登録例を図９に示す。続いて、Ｓ３５０では、システムレジストリ（プリンタ、ＦＡＸ）のプリンタ登録キーにコメントとして、ポート名あるいは”ＵＳＢ”，”ＬＰＴ”等を登録する。このように、Ｓ３２０で選択されたＩＰアドレスがポート名（ＰｏｒｔＮａｍｅ）に含まれる形でインストールされる。
【００５４】
このようにしてインストール処理が完了し、ＨＤＤ１４には、図１０に示すようにレジストリ、ファイル（プリンタドライバ、スキャナドライバ、ＦＡＸドライバ）、アンインストーラ、アイコンデータが格納される。
この状態で、アプリケーションソフト等からの指示に従い、オペレーティングシステムがデバイスドライバを介してデバイスを制御することができる。したがって、従来技術の欄で説明したように（図２０，２１参照）、スキャナドライバ及びスキャナインターフェース、もしくは、プリンタドライバ及びプリンタインターフェースによってポートを介して複合機２を制御することで、ユーザはパソコン１から複合機２を利用することができる。
【００５５】
なお上述したインストール処理の手順は、インストールプログラム（インストール手順記憶手段に相当する）に組み込んでもよいし、例えば、上述したインストール処理の手順を記載したインストール手順ファイル（インストール手順記憶手段に相当する）と、このインストール手順ファイルの記載にしたがった処理を行うインストールプログラムとを設けて、上述したインストール処理を行うようにしてもよい。
【００５６】
そして、ユーザが、複合機２を利用しなくなった場合には、ＨＤＤ１４に記憶されたアンインストーラを実行する。
このアンインストーラをＣＰＵ１１が実行することでパソコン１上で実現されるアンインストール処理を図１１〜１４を参照して説明する。
【００５７】
図１１〜１４は、アンインストール処理の流れを示すフローチャートである。図１４（ａ）は、図１１のＳ６００のアンインストールリスト１作成処理の流れを示すフローチャートであり、図１４（ｂ）は、図１４（ａ）の処理中にある「レジストリ１」「レジストリ２」「レジストリ３」の具体例を示すものである。
【００５８】
図１１のＳ６００では、アンインストールリスト１の作成処理を行う。この処理の内容を図１４を参照して詳細に説明する。
図１４のＳ６１０では、レジストリ１、すなわち、図９の「￥ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２」以下のレジストリをリストアップし、ＲｅｇｌＬｉｓｔ１とする。そして、ＲｅｇＬｉｓｔ１の最初の文字列データの取得を試み（Ｓ６２０）、取得できたか否かを判定する（Ｓ６３０）。取得できた場合には（Ｓ６３０：はい）、Ｓ６４０へ移行する。取得できなかった場合には（Ｓ６３０：いいえ）、図１１のＳ８１０へ移行する。
【００５９】
Ｓ６４０では、レジストリ２＝レジストリ１＋ＳｕｂＫｅｙ１とする。続くＳ６５０では、レジストリ２以下のレジストリをリストアップし、ＲｅｇＬｉｓｔ２とする。そして、続くＳ６６０では、ＲｅｇＬｉｓｔ２の先頭のサブキーの取得を試み、取得文字列データをＳｕｂＫｅｙ２とする。Ｓ６７０では、Ｓ６６０での取得ができたか否かを判定し、取得できた場合には（Ｓ６７０：はい）、Ｓ６９０へ移行し、取得できなかった場合（Ｓ６７０：いいえ）、Ｓ６８０へ移行する。
【００６０】
Ｓ６８０では、ＲｅｇＬｉｓｔ１の次の文字列データの取得を試み、取得文字列データをＳｕｂＫｅｙ１として、Ｓ６３０へ戻る。
Ｓ６９０では、レジストリ３＝レジストリ２＋ＳｕｂＫｅｙ２とする。続くＳ７００では、アンインストールリスト１にレジストリ３を追加する。そしてＳ７１０では、ＲｅｇＬｉｓｔ２の次の文字列データの取得を試み、取得文字列データをＳｕｂＫｅｙ２としてＳ６７０へ戻る。
【００６１】
こうしたアンインストールリスト１作成処理によって、例えば図９のようなレジストリから、図１５（ａ）に示すようなアンインストールリスト１が得られる。
そして、図１１のＳ８１０では、図１６に示すアンインストールタイプ選択ダイアログを表示する。このアンインストールタイプ選択ダイアログは、ユーザがアンインストールしたいデバイス（複合機２）の接続先を選択するためのダイアログである。例えばパラレルポート１５に接続された複合機２ａをアンインストールする場合には「Ｌｏｃａｌ  Ｉｎｔｅｒｆａｃｅ」を選択し、ネットワークインターフェース１６から接続されたネットワーク３上に接続された複合機２ｂまたは複合機２ｃをアンインストールする場合には「Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ」を選択し、これら双方をアンインストールする場合には「ＡＬＬ」を選択してＮｅｘｔボタンを選択する。選択されたものがアンインストールタイプとして設定される。
【００６２】
Ｓ８２０では、Ｎｅｘｔボタンが選択されたか否かを判定し、Ｎｅｘｔボタンが選択された場合には、Ｓ８３０へ移行する。
Ｓ８３０では、選択されたアンインストールタイプをＲＡＭ１２上に記憶する。Ｓ８４０では、アンインストールリスト１の最初のデータの取得を試み、取得できたか否かを判定する（Ｓ８５０）。取得できた場合には（Ｓ８５０：はい）、Ｓ８６０へ移行し、取得できなかった場合には（Ｓ８５０：いいえ）、図１２のＳ９２０へ移行する。
【００６３】
Ｓ８６０では、Ｓｕｂｋｅｙ２からポート名を取得し、Ｓ８７０では、Ｓ８３０でＲＡＭ１３上に記憶したアンインストールタイプに基づき、アンインストールタイプを判定する。アンインストールタイプが、「Ｌｏｃａｌ」の場合にはＳ８９０へ移行し、「Ｎｅｔｗｏｒｋ」の場合にはＳ８８０へ移行し、「Ａｌｌ」の場合にはＳ９００へ移行する。
【００６４】
Ｓ８８０では、Ｓ８６０で取得したポート名が「Ｌｏｃａｌ」でないか否かを判定し、「Ｌｏｃａｌ」でないのであれば（Ｓ８８０：はい）Ｓ９００へ移行し、「Ｌｏｃａｌ」であれば（Ｓ８９０：いいえ）、Ｓ８９５へ移行する。
Ｓ８９０では、Ｓ８６０で取得したポート名が「Ｌｏｃａｌ」か否かを判定し、「Ｌｏｃａｌ」であれば（Ｓ８９０：はい）Ｓ９００へ移行し、「Ｌｏｃａｌ」でなければ（Ｓ８９０：いいえ）、Ｓ８９５へ移行する。
【００６５】
Ｓ８９５では、アンインストールリスト１の次のデータの取得を試み、Ｓ８５０へ戻る。
Ｓ９００では、アンインストールリスト２にデータを登録する。そして、Ｓ９１０では、アンインストールリスト２のＳｕｂｋｅｙ２部分をポート名に変更してアンインストールリスト３に登録し、また、リストダイアログに登録して、Ｓ８９５へ移行する。
【００６６】
こうした処理の結果、アンインストールリスト２は、図１５のダイアログで選択されたアンインストールタイプのレジストリキーだけが格納されることとなる。そして、アンインストールリスト３は、アンインストールリスト２のレジストリーキーのＳｕｂｋｅｙ２の数字の部分がポート名に置き換えられたものが格納される。例えば、図９に示すレジストリの場合、アンインストールリスト１は前述のように図１５（ａ）の値が格納される。そして、例えば、ユーザによって、アンインストールタイプとしてＬｏｃａｌが選択され、アンインストールリスト１で、ポート名がＬｏｃａｌのものがＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥Ｓｏｆｔｗａｒｅ￥Ｂｒ￥Ｂｒ  ＭＦＬ￥Ｚ２￥ＭＦ１のＳｕｂｋｅｙ２が「２」のものだけだった場合には、図１５（ｂ）に示すようにアンインストールリスト２及びアンインストールリスト３が生成される。
【００６７】
また、例えば、アンインストールタイプとしてＡＬＬが選択された場合には、図１５（ｃ）に示すようにアンインストールリスト２及びアンインストールリスト３が生成される。各リスト内の要素はインデックス値で参照可能に構成されている。
【００６８】
図１２のＳ９２０では、図１７に示すようにリストダイアログを表示する。なお、図１７のリストダイアログは、図１６のダイアログで”ＡＬＬ”が選択された場合の例である。”Ｌｏｃａｌ  Ｉｎｔｅｒｆａｃｅ”や”Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ”が選択された場合は、それぞれ該当するデバイスのみが表示される。このリストダイアログでは、図９のレジストリツリーのＢｒＭＦＬ以下の部分のツリーの各ノードに相当する部分にチェックボックスを付加して表示している。ツリーの葉にあたるノードがクリックされた場合には、チェックボックスのチェックを現在の状態から反転させる。なお、ツリーの親のノードがクリックされた場合には、その親のノードの現在の状態を反転させるとともに、その親以下のツリー上のチェックボックスの状態を全て反転させる。チェックがついたノードは選択されたものとして扱われる。
【００６９】
そして、Ｄｅｓｃｒｉｐｔｉｏｎ領域に、ツリー上で選択されたノード（図１７において反転表示されているノード）に対応するレジストリー値（図９におけるＤａｔａ欄の内容）のうち、ＰｏｒｔＮａｍｅ，  ＰｒｉｎｔｅｒＮａｍｅＨＢＰ，ＴｗａｉｎＤＳＮａｍｅ，ＦａｘＮａｍｅの値を順に表示する。したがって、ユーザは容易にアンインストール対象を特定することができる。
【００７０】
Ｓ９３０では、このＤｅｓｃｒｉｐｔｉｏｎ表示処理を行う。この処理の詳細を図１８に示す。Ｓ９３２では、図１７のリストダイヤログの要素がクリックされたか否かを判定し、クリックされた場合には（Ｓ９３２：はい）、Ｓ９３３へ移行し、クリックされていない場合には（Ｓ９３２：いいえ）、Ｓ９３６へ移行する。
【００７１】
Ｓ９３３では、要素のインデックス値を取得する。続くＳ９３４では、このインデックス値に対応するＤｅｓｃｒｉｐｔｉｏｎ情報を取得する。Ｓ９３５では、Ｓ９３４で取得したＤｅｓｃｒｉｐｔｉｏｎ情報にリストダイアログのＤｅｓｃｒｉｐｔｉｏｎ表示を切り替える。
【００７２】
そして、Ｓ９３６で、リストダイアログのＮｅｘｔボタンが選択されたか否かを判定し、選択された場合には（Ｓ９３６：はい）この処理を終了して図１２のＳ９４０へ移行する。一方、Ｎｅｘｔボタンが選択されていない場合には（Ｓ９３６：いいえ）、Ｓ９３２へ戻る。
【００７３】
そして、図１２のＳ９４０では、リストダイアログでの選択の有無を確認し、Ｓ９５０ではアンインストールリスト２の中からリストダイアログで選択されていないものを削除する。そして、Ｓ９５５では、アンインストールリスト２の最初のデータを取得を試みる。Ｓ９６０では、取得できたか否かを判定し、取得できた場合には（Ｓ９６０：はい）、Ｓ９７０へ移行し、取得できなかった場合には（Ｓ９６０：いいえ）、図１３のＳ１２１０へ移行する。
【００７４】
Ｓ９７０では、取得したレジストリキー名で示されるレジストリから、ＴＷＡＩＮ−ＤＳ名を取得する。そして、このＴＷＡＩＮ−ＤＳ名を用いてオペレーティングシステムのＡＰＩを使用してスキャナドライバを削除する。さらにＳ９９０では、取得したレジストリキー名で示されるレジストリから、ＴＷＡＩＮディレクトリ名を取得し、Ｓ１０００でそのＴＷＡＩＮディレクトリを削除する。また、Ｓ１１１０では、取得したレジストリキー名で示されるレジストリからスキャナドライバレジストリキーを取得して、スキャナドライバレジストリを削除する。例えば図８の「００４７」以下のツリーを削除する。そして、Ｓ１１３０では、取得したレジストリキー名で示されるレジストリからポート名を取得する。そして、Ｓ１１５０で、ポート名が「Ｌｏｃａｌ」か否かを判定し、ポート名が「Ｌｏｃａｌ」の場合には（Ｓ１１５０：はい）、Ｓ１１６０へ移行して、Ｓ３５０にて登録されたプリンタのコメントとして”ＵＳＢ”のものをプリンタフォルダから削除し、Ｓ１１７０で、プリンタのコメントが”ＬＰＴ”のものをプリンタフォルダから削除する。
【００７５】
一方、Ｓ１１８０では、プリンタのコメントがポート名のものをプリンタフォルダから削除する。
Ｓ１１９０では、ファイルＢｒｌｓｔ．ｉｎｉに削除したプリンタドライバ名を記述する。例えば、図１９に示すように記述する。
【００７６】
Ｓ１２００では、アンインストールリスト２のレジストリを削除する。そして、Ｓ９６０へ戻る。
一方、Ｓ１２１０では、Ｂｒｌｓｔ．ｉｎｉに記述されたプリンタを削除する。
このように本実施例のアンインストールシステムによれば、従来のシステムレジストリ（図８や図２１，２２に記載のもの）とは別に複合機２のベンダーのレジストリ（図５や図９に記載のもの）を設け、ここに関連する複数のデバイスドライバであるスキャナドライバ、プリンタドライバ、ＦＡＸドライバを特定する情報を関連付けて記憶しておくことで、容易に複数のデバイスドライバをまとめてアンインストールすることができる。
【００７７】
また、ユーザが指定した単位で、複数のデバイスドライバをまとめてアンインストールさせることができる。よって、ユーザにとって手間がかからず便利なアンインストールシステムを提供できる。
【図面の簡単な説明】
【図１】実施例のアンインストールシステム等の構成を示す説明図である。
【図２】インストール処理の流れを示すフローチャートである。
【図３】図２のＳ１００のレジストリ作成処理の流れを示すフローチャートである。
【図４】図２のＳ４００のｌｏｃａｌレジストリ作成処理の流れを示すフローチャートである。
【図５】レジストリの例（値は、ポートがローカルの場合）を示す説明図である。
【図６】インストールするＩＰアドレスを選択するためのダイアログの例を示す説明図である。
【図７】ドライバ情報ファイル（ｉｎｆファイル）の例を示す説明図である。
【図８】スキャナドライバの設定情報のシステムレジストリへの登録例を示す説明図である。
【図９】レジストリの例（値は、ポートがネットワークの場合）を示す説明図である。
【図１０】インストール処理完了時のＨＤＤに格納される情報を示す説明図である。
【図１１】アンインストール処理の流れを示すフローチャートである。
【図１２】図１１のアンインストール処理の続きの処理の流れを示すフローチャートである。
【図１３】図１２のアンインストール処理の続きの処理の流れを示すフローチャートである。
【図１４】図１１のＳ６００のアンインストールリスト１作成処理の流れを示すフローチャートである。
【図１５】アンインストールリスト１〜３の例を示す説明図である。
【図１６】アンインストールタイプ選択ダイアログの例を示す説明図である。
【図１７】リストダイアログの例を示す説明図である。
【図１８】図１２のＳ９３０のＤｅｓｃｒｉｐｔｉｏｎ表示処理の流れを示す説明図である。
【図１９】ファイルＢｒｌｓｔ．ｉｎｉの例を示す説明図である。
【図２０】従来のインストールおよびアンインストールを説明するための第一の図である。
【図２１】従来のインストールおよびアンインストールを説明するための第二の図である。
【符号の説明】
１…パソコン
２ａ〜ｃ…複合機
３…ネットワーク
１１…ＣＰＵ
１２…ＲＡＭ
１３…ＣＤ−ＲＯＭドライブ
１４…ＨＤＤ
１５…パラレルポート
１６…ネットワークインターフェース
【図１】
2004295181.tif 000003
【図２】
2004295181.tif 000004
【図３】
2004295181.tif 000005
【図４】
2004295181.tif 000006
【図５】
2004295181.tif 000007
【図６】
2004295181.tif 000008
【図７】
2004295181.tif 000009
【図８】
2004295181.tif 000010
【図９】
2004295181.tif 000011
【図１０】
2004295181.tif 000012
【図１１】
2004295181.tif 000013
【図１２】
2004295181.tif 000014
【図１３】
2004295181.tif 000015
【図１４】
2004295181.tif 000016
【図１５】
2004295181.tif 000017
【図１６】
2004295181.tif 000018
【図１７】
2004295181.tif 000019
【図１８】
2004295181.tif 000020
【図１９】
2004295181.tif 000021
【図２０】
2004295181.tif 000022
【図２１】
2004295181.tif 000023