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