JP4094883B2 - アンインストールプログラム、アンインストール方法およびアンインストール装置 - Google Patents
アンインストールプログラム、アンインストール方法およびアンインストール装置 Download PDFInfo
- Publication number
- JP4094883B2 JP4094883B2 JP2002131466A JP2002131466A JP4094883B2 JP 4094883 B2 JP4094883 B2 JP 4094883B2 JP 2002131466 A JP2002131466 A JP 2002131466A JP 2002131466 A JP2002131466 A JP 2002131466A JP 4094883 B2 JP4094883 B2 JP 4094883B2
- Authority
- JP
- Japan
- Prior art keywords
- device driver
- data
- uninstall
- driver
- character string
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
この発明は、コンピュータにインストールされたデバイスドライバをアンインストールするアンインストールプログラム、アンインストール方法およびアンインストール装置に関し、特に、全てのデバイスドライバのアンインストールに共通に使うことができ、デバイスごとの開発が不要で、デバイスの開発コストを低減することができるアンインストールプログラム、アンインストール方法およびアンインストール装置に関する。
【0002】
【従来の技術】
近年、USBデバイスやモデムなどのコンピュータと接続して利用するデバイスが数多く実用化されている。これらのデバイスをコンピュータに接続して使用する際には、デバイスごとにデバイスドライバをコンピュータにインストールする必要がある。
【0003】
そして、これらのデバイスを新しい機種に変更する場合やコンピュータに接続して利用する必要がなくなった場合には、コンピュータにインストールされたデバイスドライバをアンインストールする必要がある。
【0004】
したがって、これらのデバイスを開発する場合には、デバイスおよびデバイスドライバの開発に加えてデバイスドライバをアンインストールするためのアンインストールプログラムを開発する必要がある。
【0005】
従来、このアンインストールプログラムは、デバイスを特定するためのデバイスIDやデバイスドライバの格納場所などのデバイス情報を必要とすることから、デバイスごとに開発されていた。
【0006】
【発明が解決しようとする課題】
しかしながら、新たなデバイスを開発するごとにそのデバイスドライバをアンインストールするアンインストールプログラムを開発したのでは、アンインストールプログラムの開発に伴うデバイス開発コストの増大やデバイス開発期間の長期化を招くという問題が生ずる。
【0007】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、全てのデバイスドライバのアンインストールに共通に使うことができ、デバイスごとの開発が不要で、デバイスの開発コストを低減することができるアンインストールプログラム、アンインストール方法およびアンインストール装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、本発明は、コンピュータにインストールされたデバイスドライバをアンインストールするアンインストールプログラムであって、該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出手順と、該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出手順と、前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール手順と、をコンピュータで実行することを特徴とする。
【0009】
また、本発明は、コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール方法であって、該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出工程と、該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出工程と、前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール工程と、を含んだことを特徴とする。
【0010】
また、本発明は、コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール装置であって、該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出手段と、該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出手段と、前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール手段と、を備えたことを特徴とする。
【0011】
かかる発明によれば、デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、デバイスドライバのインストールに伴って作成されるレジストリキーから、デバイスドライバのインストールに使用し、デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出し、格納場所データに基づいてデバイスドライバデータを特定し、デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出し、パスがファイル名を有するか否かを判定し、パスがファイル名を有する場合に、パスを用いてデバイスドライバをアンインストールし、デバイスIDを用いてレジストリキーを削除することとしたので、全てのデバイスドライバのアンインストールに共通に使うことができ、デバイスごとの開発が不要で、デバイスの開発コストを低減することができる。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るアンインストールプログラム、アンインストール方法およびアンインストール装置の好適な実施の形態を詳細に説明する。
【0013】
まず、本実施の形態に係るアンインストール装置の構成について説明する。図1は、本実施の形態に係るアンインストール装置の構成を示す機能ブロック図である。同図に示すように、このアンインストール装置200は、ユーザインタフェース部210と、infファイル名抽出部220と、アンインストール情報抽出部230と、アンインストール部240とを有する。
【0014】
ユーザインタフェース部210は、アンインストール装置200のユーザと対話してアンインストールするデバイスドライバを決定する処理部である。具体的には、このユーザインタフェース部210は、デバイスドライバがインストールされているデバイスのベンダ一覧をユーザに表示し、ユーザは、アンインストールするデバイスのベンダを選択する。そして、このユーザインタフェース部210は、ユーザによって選択されたベンダのデバイスであってそのデバイスドライバがインストールされているデバイスの一覧をユーザに表示し、ユーザは、デバイスドライバをアンインストールするデバイスを選択する。
【0015】
また、このユーザインタフェース部210は、デバイスドライバがインストールされているデバイスのベンダ一覧を表示するかわりに、デバイスのカテゴリ一覧を表示し、ユーザは、デバイスドライバをアンインストールするデバイスのカテゴリを選択することもできる。ここで、カテゴリの例としては、モデム、ポート、USBなどがある。さらに、ユーザは、アンインストールするデバイスドライバのベンダ名やデバイス名を直接入力することもできる。
【0016】
infファイル名抽出部220は、アンインストールするデバイスドライバの情報を格納するinfファイルの名前であるinfファイル名をレジストリ10から抽出する処理部である。アンインストールするデバイスドライバは、ユーザインタフェース部210を介してユーザによって指定される。レジストリ10は、デバイスドライバなどのプログラムの設定情報を一括管理するWindows(登録商標、以下同様)のファイルである。なお、このinfファイル名抽出部220およびレジストリ10の詳細については後述する。
【0017】
アンインストール情報抽出部230は、infファイル名抽出部220からinfファイル名を受け取り、このinfファイル名で指定されたinfファイル20からデバイスドライバをアンインストールするために必要なデバイスIDやドライバファイルのパスなどの情報を抽出する処理部である。infファイル20は、デバイスドライバをインストールした時に作られるWindowsのファイルであり、デバイスに関する情報を管理する。
【0018】
このアンインストール情報抽出部230は、infファイル20からデバイスドライバをアンインストールするために必要な情報を抽出することによって、アンインストール装置200を、すべてのデバイスドライバのアンインストールに共通に使うことを可能としている。なお、このアンインストール情報抽出部230およびinfファイル20の詳細についても後述する。
【0019】
アンインストール部240は、アンインストール情報抽出部230からデバイスIDやドライバファイルのパスなどの情報を受け取り、ユーザによって指定されたデバイスドライバをアンインストールする処理部である。具体的には、レジストリ10に格納されたデバイスドライバのレジストリキーを削除するとともに、ドライバファイルを削除する。なお、レジストリキーは、デバイスIDで表わされる。
【0020】
次に、本実施の形態に係るアンインストール装置200の処理手順について説明する。図2は、本実施の形態に係るアンインストール装置200の処理手順を示すフローチャートである。同図に示すように、このアンインストール装置200は、infファイル名抽出部220がユーザインタフェース部210を介してユーザから指定されたデバイスのinfファイル名をレジストリ10から抽出する(ステップS201)。
【0021】
そして、アンインストール情報抽出部230が、抽出されたinfファイル名のinfファイル20からデバイスドライバのアンインストールに必要なデバイスIDやドライバファイルのパスなどの情報を抽出し(ステップS202)、アンインストール部240がデバイスIDを用いてレジストリ10からデバイスドライバのレジストリキーを削除するとともに、ドライバファイルのパスを用いてドライバファイルを削除することによってデバイスドライバをアンインストールする(ステップS203)。
【0022】
次に、図1に示したinfファイル名抽出部220の構成について説明する。図3は、図1に示したinfファイル名抽出部220の構成を示す機能ブロック図である。同図に示すように、このinfファイル名抽出部220は、検索条件入力部310と、レジストリ読込部320と、デバイス選択部330とを有する。
【0023】
検索条件入力部310は、デバイスドライバをアンインストールするデバイスの情報をレジストリ10から検索するための検索条件を入力する処理部である。検索条件は、デバイスのベンダ名、デバイスのカテゴリ、デバイス名のいずれかであり、ユーザによって指定される。なお、ユーザインタフェース部210がユーザとの対話をおこない、検索条件入力部310は、ユーザの指定した検索条件をユーザインタフェース部210から受け取る。
【0024】
レジストリ読込部320は、検索条件入力部310から検索条件を受け取り、この検索条件に基づいてレジストリ10を読み込む処理部である。図4は、図3に示したレジストリ10の構成の一例を示す図である。同図に示すように、デバイスドライバをインストールすると、HKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class、HKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum、HKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの配下にこのデバイスドライバのレジストリキーが作成される。これらのレジストリキーの中で、レジストリ読込部320は、検索条件に基づいてレジストリキーHKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Classまたはこの配下のレジストリを検索して読み込み、検索条件に合うデバイスの情報を取り出してデバイス一覧を作成する。
【0025】
図5は、検索条件の一例を示す図である。同図(a)に示すように、ユーザがベンダ名でデバイスを指定した場合には、検索条件はベンダ名またはベンダIDとなる。また、同図(b)に示すように、ユーザがカテゴリでデバイスを指定した場合には、検索条件はカテゴリIDとなる。
【0026】
図6は、デバイス一覧の一例を示す図である。同図に示すように、このデバイス一覧は、検索条件に合ったデバイスのデバイス名およびinfファイル名の組からなる一覧データである。たとえば、デバイス名がH"INModuleのinfファイル名はFUJITSUFJ61PCI.INFであり、デバイス名がAirH"INModuleのinfファイル名もFUJITSUFJ61PCI.INFであることを示している。
【0027】
デバイス選択部330は、レジストリ読込部320が作成したデバイス一覧を用いて検索条件を満足したデバイスのデバイス名をユーザに示し、ユーザの指定を受けてデバイスドライバをアンインストールするデバイスのinfファイル名を決定する処理部である。なお、ユーザとの対話処理は、ユーザインタフェース部210がおこない、デバイス選択部330は、表示するデバイス名をユーザインタフェース部210に渡し、ユーザが指定したデバイス名をユーザインタフェース部210から受け取る。
【0028】
図7は、infファイル名の一例を示す図である。同図に示すように、infファイル名としてFUJITSUFJ61PCI.INFが得られている。なお、この例では、infファイル名が一つだけ示されているが、複数のinfファイル名が得られる場合もある。
【0029】
次に、図3に示したinfファイル名抽出部220の処理手順について説明する。図8は、図3に示したinfファイル名抽出部220の処理手順を示すフローチャートである。同図に示すように、このinfファイル名抽出部220は、検索条件入力部310がユーザインタフェース部210を介してユーザからデバイスドライバをアンインストールするデバイスの検索条件を入力する(ステップS801)。
【0030】
そして、レジストリ読込部320がこの検索条件に基づくレジストリキーを用いてレジストリ10を読み込み(ステップS802)、検索条件を満足するデバイスがあるか否かを判定し(ステップS803)、満足するデバイスがある場合には、そのデバイスのデバイス名とinfファイル名をレジストリ10から抽出する(ステップS804)。
【0031】
そして、レジストリ読込部320は、レジストリ10の読み込みが終了したか否かを判定し(ステップS805)、読み込みが終了していない場合には、レジストリ10の読み込みを続ける。もし、読み込みが終了した場合には、デバイス選択部330がユーザインタフェース部210を介してユーザにデバイスドライバをアンインストールするデバイスの選択を依頼し(ステップS806)、ユーザの選択結果に基づいてinfファイル名を決定する(ステップS807)。なお、ユーザが検索条件として始めからデバイス名を指定した場合には、デバイス選択をユーザに依頼する処理は不要となる。
【0032】
次に、図1に示したアンインストール情報抽出部230の構成について説明する。図9は、図1に示したアンインストール情報抽出部230の構成を示す機能ブロック図である。同図に示すように、このアンインストール情報抽出部230は、infファイル読込部910と、読込データ定義920と、アンインストール情報判定部930とを有する。
【0033】
infファイル読込部910は、infファイル名抽出部220がレジストリ10から取り出したinfファイル名のinfファイル20を読み込む処理部である。このinfファイル読込部910は、infファイルを一行ずつ読み込み、アンインストール情報判定部930に渡す。
【0034】
図10は、図9に示したinfファイル20の一例を示す図である。同図に示すように、このinfファイル20は、"[Version]"、"[ControFlags]"、"[Manufacturer]"、"[Models]"、"[Strings]"、"[SerMdm_Service_Inst]"、"[SourceDiskFiles]"、"[DestinationDirs]"などの文字列を含むテキストファイルである。
【0035】
読込データ定義920は、infファイル20からデバイスドライバのアンインストールに必要な情報を取り出すために使用されるデータである。図11は、図9に示した読込データ定義920の一例を示す図である。同図に示すように、この読込データ定義920は、infファイル20から検索する文字列を定義している。
【0036】
たとえば、Ref_1およびRef_2は、文字列"[ControlFlags]"を検索し、この文字列が見つかった場合には、文字列"ExcludeFromSelect="を検索することを定義している。そして、文字列"ExcludeFromSelect="に続く文字列がデバイスIDとなる。この動作定義を図10に示したinfファイル20に適用すると、デバイスIDとしてFJUB\FUJ02C1が得られる。
【0037】
また、Ref_3〜Ref_5は、文字列"[Version]"を検索し、この文字列が見つかった場合には、文字列"ClassGUID="と文字列"Class="を検索することを定義している。そして、文字列"ClassGUID="に続く文字列がクラスGUIDとなり、文字列"Class="に続く文字列がクラス名となる。この動作定義を図10に示したinfファイル20に適用すると、クラスGUIDとして
[4D36E96D-E325-11CE-BFC1-08002BE10318]
が得られ、クラス名としてModemが得られる。なお、クラスGUIDとクラス名は、レジストリ10からデバイスドライバのレジストリキーを削除するために必ずしも必要な情報ではないが、レジストリキーの削除を高速化するためにアンインストール部240によって使用される。
【0038】
また、Ref_6は、文字列"[SourceDiskFiles]"を検索し、この文字列が見つかった場合には、次の行の文字列を取り出すことを定義している。そして、取り出された文字列の文字"="の前までの文字列がデバイスドライバのファイル名となる。この動作定義を図10に示したinfファイル20に適用すると、デバイスドライバのファイル名としてSerMdm.sysが得られる。
【0039】
また、Ref_7およびRef_8は、文字列"[xxx_Service_Inst]"を検索し、この文字列が見つかった場合には、文字列"ServiceBinary="を検索することを定義している。そして、文字列"ServiceBinary="に続く文字列がドライバファイルパス候補となる。ただし、"xxx"は任意の文字列を示し、文字列"%12%"は文字列"%SystemRoot%\system32\drivers"に置き換えることとする。この動作定義を図10に示したinfファイル20に適用すると、ドライバファイルパス候補として
%SystemRoot%\system32\drivers\SerMdm.sys
が得られる。
【0040】
ドライバパス候補は、Ref_6の定義によって得られたデバイスドライバのファイル名と同じファイル名を有する場合に、ドライバファイルのパスとなる。たとえば、図11に示した動作定義を図10に示したinfファイル20に適用すると、ドライバファイル名としてSerMdm.sysが得られ、ドライバファイルパス候補として
%SystemRoot%\system32\drivers\SerMdm.sys
が得られ、ファイル名が同じSerMdm.sysであるので、
%SystemRoot%\system32\drivers\SerMdm.sys
がドライバファイルのパスとなる。
【0041】
アンインストール情報判定部930は、infファイル読込部910が入力したinfファイル20のデータから、読込データ定義部920の定義に基づいてアンインストール情報を作成する。
【0042】
図12は、アンインストール情報の一例を示す図である。同図は、デバイスIDがFJUSB\FUJ02C1およびFJUSB\FUJ02C2である二つのデバイスのアンインストール情報を示しており、どちらのデバイスもクラスGUIDが
[4D36E96D-E325-11CE-BFC1-08002BE10318]
であり、クラス名がModemであり、ドライバファイルのパスが
%SystemRoot%\system32\drivers\SerMdm.sys
であることを示している。
【0043】
次に、図9に示したアンインストール情報抽出部230の処理手順について説明する。図13は、図9に示したアンインストール情報抽出部230の処理手順を示すフローチャートである。同図に示すように、このアンインストール情報抽出部230は、infファイル読込部910がinfファイル名抽出部220から受け取ったinfファイル名のinfファイル20をオープンし(ステップS1301)、バッファに一行読み込む(ステップS1302)。
【0044】
そして、アンインストール情報判定部930が読込データ定義920に基づいてバッファの内容を判定し(ステップS1303)、バッファの内容が文字列"[ControlFlags]"である場合には、文字列"ExcludeFromSelect="を検索し、この後に続く文字列を取り出し、デバイスIDとする(ステップS1304)。また、バッファの内容が文字列"[Version]" である場合には、文字列"ClassGUID="を検索し、この後に続く文字列を取り出してクラスGUIDとし、さらに、文字列"Class="を検索し、この後に続く文字列を取り出してクラス名とする(ステップS1305)。
【0045】
また、バッファの内容が文字列"[SourceDiskFiles]"である場合には、次の行の文字列を取り出し、文字"="の前までの文字列をデバイスドライバのファイル名とする(ステップS1306)。また、バッファの内容が文字列"[xxx_Service_Inst]"である場合には、文字列"ServiceBinary="を検索し、この後に続く文字列を取り出し、ドライバファイルパス候補とする(ステップS1307)。
【0046】
もし、バッファの内容がその他の文字列である場合には、infファイル読込部910がinfファイル20から次の行を読み込む。もし、ファイルの終わりである場合には、デバイスドライバのファイル名とドライバファイルパス候補からドライバファイルのパスを作成する(ステップS1308)。
【0047】
なお、ここでは、一つのinfファイル20の処理手順について説明したが、infファイル20が複数ある場合には、図13に示した処理手順を繰り返すことにより、複数のデバイスについてのアンインストール情報を得ることができる。
【0048】
上述してきたように、本実施の形態では、infファイル名抽出部220がレジストリ10からデバイスドライバをアンインストールするデバイスのinfファイル名を抽出し、アンインストール情報抽出部230がこのinfファイル名のinfファイル20からデバイスドライバをアンインストールするために必要なアンインストール情報を抽出し、アンインストール部240がこのアンインストール情報を用いてデバイスドライバをアンインストールすることとしたので、全てのデバイスドライバのアンインストールに共通に使うことができ、デバイスごとの開発が不要で、デバイスの開発コストを低減することができるアンインストール装置200を提供することができる。
【0049】
なお、本実施の形態では、Windowsのレジストリ10およびinfファイル20を用いたアンインストール装置200について説明したが、同様の情報を有するファイルであれば、他のファイルを用いることもできる。
【0050】
また、本実施の形態では、アンインストール装置について説明したが、このアンインストール装置が有する構成をソフトウェアによって実現することで、同様の機能を有するアンインストールプログラムを得ることができる。そこで、このアンインストールプログラムを実行するコンピュータシステムについて説明する。
【0051】
図14に示すコンピュータシステム100は、本体部101、本体部101からの指示により表示画面102aに画像等の情報を表示するディスプレイ102、このコンピュータシステム100に種々の情報を入力するためのキーボード103、ディスプレイ102の表示画面102a上の任意の位置を指定するマウス104、ローカルエリアネットワーク(LAN)106または広域エリアネットワーク(WAN)に接続するLANインタフェース、インターネットなどの公衆回線107に接続するモデム105が備えられている。ここで、LAN106は、ほかのコンピュータシステム(PC)111、サーバ112、プリンタ113等とコンピュータシステム100とを接続している。また、図15に示すように、本体部101は、CPU121、RAM122、ROM123、ハードディスクドライブ(HDD)124、CD−ROMドライブ125、FDドライブ126、I/Oインタフェース127およびLANインタフェース128を備えている。
【0052】
このコンピュータシステム100においてアンインストールプログラムを実行する場合、フロッピィディスク(FD)108、CD−ROM109、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体、モデム105およびLANインタフェースを利用し回線を介して接続されたサーバ112のデータベース、あるいは、ほかのコンピュータシステム(PC)111のデータベースに格納等の記憶媒体に記憶されたアンインストールプログラムをコンピュータシステム100にインストールする。インストールされたアンインストールプログラムは、HDD124に記憶され、RAM122、ROM123などを利用してCPU121により実行される。ここで、記憶媒体とは、CD−ROM109、フロッピィディスク108、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体やコンピュータシステム100の内外に備えられたハードディスク124等の記憶装置のほか、LAN106を介して接続されたインストール元のアンインストールプログラムを保持するサーバ112のデータベース、あるいは、ほかのコンピュータシステム111並びにそのデータベースや、さらに公衆回線107上の伝送媒体をも含むものである。
【0053】
(付記1)コンピュータにインストールされたデバイスドライバをアンインストールするアンインストールプログラムであって、
前記デバイスドライバのインストールに伴って作成されたデバイスドライバデータから該デバイスドライバをアンインストールするために必要なアンインストールデータを抽出するアンインストールデータ抽出手順と、
前記アンインストールデータ抽出手順により抽出されたアンインストールデータに基づいてコンピュータにインストールされた前記デバイスドライバをアンインストールするアンインストール手順と、
をコンピュータで実行するアンインストールプログラム。
(付記2)コンピュータにインストールされたプログラムの設定データから前記デバイスドライバデータの格納場所を抽出するドライバデータ格納場所抽出手順をさらにコンピュータで実行する付記1に記載のアンインストールプログラム。
(付記3)前記アンインストールデータ抽出手順は、前記デバイスドライバデータに格納された前記アンインストールデータの格納位置を記述した格納位置データに基づいて該アンインストールデータを抽出することを特徴とする付記1または2に記載のアンインストールプログラム。
(付記4)コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール方法であって、
前記デバイスドライバのインストールに伴って作成されたデバイスドライバデータから該デバイスドライバをアンインストールするために必要なアンインストールデータを抽出するアンインストールデータ抽出工程と、
前記アンインストールデータ抽出工程により抽出されたアンインストールデータに基づいてコンピュータにインストールされた前記デバイスドライバをアンインストールするアンインストール工程と、
を含んだことを特徴とするアンインストール方法。
(付記5)コンピュータにインストールされたプログラムの設定データから前記デバイスドライバデータの格納場所を抽出するドライバデータ格納場所抽出工程をさらに含んだことを特徴とする付記4に記載のアンインストール方法。
(付記6)前記アンインストールデータ抽出工程は、前記デバイスドライバデータに格納された前記アンインストールデータの格納位置を記述した格納位置データに基づいて該アンインストールデータを抽出することを特徴とする付記4または5に記載のアンインストール方法。
(付記7)コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール装置であって、
前記デバイスドライバのインストールに伴って作成されたデバイスドライバデータから該デバイスドライバをアンインストールするために必要なアンインストールデータを抽出するアンインストールデータ抽出手段と、
前記アンインストールデータ抽出手段により抽出されたアンインストールデータに基づいてコンピュータにインストールされた前記デバイスドライバをアンインストールするアンインストール手段と、
を備えたことを特徴とするアンインストール装置。
(付記8)コンピュータにインストールされたプログラムの設定データから前記デバイスドライバデータの格納場所を抽出するドライバデータ格納場所抽出手段をさらに備えたことを特徴とする付記7に記載のアンインストール装置。
(付記9)前記アンインストールデータ抽出手段は、前記デバイスドライバデータに格納された前記アンインストールデータの格納位置を記述した格納位置データに基づいて該アンインストールデータを抽出することを特徴とする付記7または8に記載のアンインストール装置。
【0054】
【発明の効果】
以上説明したように、本発明によれば、デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、デバイスドライバのインストールに伴って作成されるレジストリキーから、デバイスドライバのインストールに使用し、デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出し、格納場所データに基づいてデバイスドライバデータを特定し、デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出し、パスがファイル名を有するか否かを判定し、パスがファイル名を有する場合に、パスを用いてデバイスドライバをアンインストールし、デバイスIDを用いてレジストリキーを削除するよう構成したので、全てのデバイスドライバのアンインストールに共通に使うことができ、デバイスごとの開発が不要で、デバイスの開発コストを低減することができるという効果を奏する。
【図面の簡単な説明】
【図1】本実施の形態に係るアンインストール装置の構成を示す機能ブロック図である。
【図2】本実施の形態に係るアンインストール装置の処理手順を示すフローチャートである。
【図3】図1に示したinfファイル名抽出部の構成を示す機能ブロック図である。
【図4】図3に示したレジストリの構成の一例を示す図である。
【図5】検索条件の一例を示す図である。
【図6】デバイス一覧の一例を示す図である。
【図7】infファイル名の一例を示す図である。
【図8】図3に示したinfファイル名抽出部の処理手順を示すフローチャートである。
【図9】図1に示したアンインストール情報抽出部の構成を示す機能ブロック図である。
【図10】図9に示したinfファイルの一例を示す図である。
【図11】図9に示した読込データ定義の一例を示す図である。
【図12】アンインストール情報の一例を示す図である。
【図13】図9に示したアンインストール情報抽出部の処理手順を示すフローチャートである。
【図14】本実施の形態に係るアンインストールプログラムを実行するコンピュータシステムを示す図である。
【図15】図14に示した本体部の機能構成を示す機能ブロック図である。
【符号の説明】
10 レジストリ
20 infファイル
100,111 コンピュータシステム
101 本体部
102 ディスプレイ
102a 表示画面
103 キーボード
104 マウス
105 モデム
106 LAN
107 公衆回線
108 フロッピィディスク
109 CD−ROM
112 サーバ
113 プリンタ
121 CPU
122 RAM
123 ROM
124 ハードディスクドライブ
125 CD−ROMドライブ
126 フロッピィディスクドライブ
127 I/Oインタフェース
128 LANインタフェース
200 アンインストール装置
210 ユーザインタフェース部
220 infファイル名抽出部
230 アンインストール情報抽出部
240 アンインストール部
310 検索条件入力部
320 レジストリ読込部
330 デバイス選択部
910 infファイル読込部
920 読込データ定義
930 アンインストール情報判定部
Claims (3)
- コンピュータにインストールされたデバイスドライバをアンインストールするアンインストールプログラムであって、
該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出手順と、
該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出手順と、
前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール手順と、
をコンピュータで実行するアンインストールプログラム。 - コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール方法であって、
該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出工程と、
該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出工程と、
前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール工程と、
を含んだことを特徴とするアンインストール方法。 - コンピュータにインストールされたデバイスドライバをアンインストールするアンインストール装置であって、
該デバイスドライバを識別する検索条件に基づいて、複数のデバイスドライバの設定情報を一括管理するデータであって、該デバイスドライバのインストールに伴って作成されるレジストリキーから、該デバイスドライバのインストールに使用し、該デバイスドライバの設定情報を含むデバイスドライバデータの格納場所データを抽出するドライバデータ格納場所データ抽出手段と、
該格納場所データに基づいて該デバイスドライバデータを特定し、該デバイスドライバデータより第1の所定の文字列を検索してデバイスIDを抽出し、第2の所定の文字列を検索してデバイスドライバのファイル名を抽出し、第3の所定の文字列を検索してドライバファイルのパスを抽出するアンインストールデータ抽出手段と、
前記パスが前記ファイル名を有するか否かを判定し、前記パスが前記ファイル名を有する場合に、前記パスを用いて前記デバイスドライバをアンインストールし、前記デバイスIDを用いて前記レジストリキーを削除するアンインストール手段と、
を備えたことを特徴とするアンインストール装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002131466A JP4094883B2 (ja) | 2002-05-07 | 2002-05-07 | アンインストールプログラム、アンインストール方法およびアンインストール装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002131466A JP4094883B2 (ja) | 2002-05-07 | 2002-05-07 | アンインストールプログラム、アンインストール方法およびアンインストール装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003323297A JP2003323297A (ja) | 2003-11-14 |
JP4094883B2 true JP4094883B2 (ja) | 2008-06-04 |
Family
ID=29544088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002131466A Expired - Fee Related JP4094883B2 (ja) | 2002-05-07 | 2002-05-07 | アンインストールプログラム、アンインストール方法およびアンインストール装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4094883B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5039331B2 (ja) * | 2006-07-07 | 2012-10-03 | キヤノン株式会社 | 情報処理装置、削除方法及びプログラム |
CN112162763A (zh) * | 2020-10-22 | 2021-01-01 | 北京北信源软件股份有限公司 | 一种静默卸载软件的方法及装置 |
-
2002
- 2002-05-07 JP JP2002131466A patent/JP4094883B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003323297A (ja) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100671153B1 (ko) | 디바이스 드라이버 설치방법 | |
US5732266A (en) | Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium | |
US7665084B2 (en) | Uninstall system | |
JP5058500B2 (ja) | 再利用スコアおよび推奨された再利用可能データを用いたリソースオーサリング | |
JP5058499B2 (ja) | 文化特有のデータを作成し、格納し、管理し、消費する方法およびシステム | |
US7409405B1 (en) | File dispatcher for multiple application targets | |
US7293268B2 (en) | Installation method, activation method, execution apparatus and medium of application program | |
US7555573B2 (en) | Initiating software responses based on a hardware action | |
KR100855853B1 (ko) | 이미지-기반 소프트웨어 설치 | |
US20050055690A1 (en) | System and method for communication between computers via an integrated hardware device | |
JP5063014B2 (ja) | アプリケーションローカライゼーション規則を実装するオーサリング | |
JP5483116B2 (ja) | メンテナンスシステム、メンテナンス方法、及びメンテナンス用プログラム | |
WO2008005219A2 (en) | Running applications from removable media | |
JP2007018175A (ja) | 情報処理装置とその方法及びプログラム | |
JP5482407B2 (ja) | 情報処理装置、画像処理装置、画像処理システム、画面カスタマイズ方法、画面カスタマイズプログラム、及びそのプログラムを記録した記録媒体 | |
TW515996B (en) | Method and system for transferring an application program from system firmware to a storage device | |
JP2005078166A (ja) | 情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
US20140033123A1 (en) | User interface and method for comparing a local version of a profile to an online update | |
US9524503B2 (en) | Method and system for exposing games | |
US20100162234A1 (en) | Method for installing application and computer system thereof | |
JP2002007138A (ja) | アプリケーションのインストール方法、起動方法、実行装置、媒体およびプログラム | |
JP4094883B2 (ja) | アンインストールプログラム、アンインストール方法およびアンインストール装置 | |
JP2009163760A (ja) | 情報処理装置とその方法及びプログラム | |
JP2000082002A (ja) | データ管理システム及び記録媒体 | |
JP2009122985A (ja) | サブプロセス実行システム及びサブプロセス実行プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070405 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070918 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071119 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071126 |
|
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: 20080304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4094883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120314 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140314 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |