(57)【要約】【課題】インストーラやアンインストーラを必要とするソフトウェアに加え、インストーラやアンインストーラを必要としないソフトウェアをも管理対象にすることができる装置を提供する。【解決手段】ソフトウェア管理装置１は、実行されたソフトウェアのソフトウェア名および実行ファイルのパスを含むソフトウェア情報を記憶しているソフトウェアＤＢ１１と、インストールされたソフトウェアを検出するために、実行ファイルの起動を監視し、起動した実行ファイルに対応するソフトウェアのソフトウェア名および該実行ファイルのパスを所定場所から取得した後、取得したソフトウェア情報がソフトウェアＤＢ１１に記憶されていない場合、取得したソフトウェア名およびパスを含むソフトウェア情報をソフトウェアＤＢ１１に追加するソフトウェア管理手段１０を備えている。【選択図】図１
2013238938.tif 000002
【特許請求の範囲】
【請求項１】
実行されたソフトウェアのソフトウェア名および実行ファイルのパスを含むソフトウェア情報を記憶させるソフトウェアＤＢ（DB: DataBase）と、
実行ファイルの起動を監視し、起動した実行ファイルに対応するソフトウェアのソフトウェア名および実行ファイルのパスを所定場所から取得した後、取得したソフトウェア名を含む前記ソフトウェア情報が前記ソフトウェアＤＢに記憶されていない場合、取得したソフトウェア名およびパスを含む前記ソフトウェア情報を前記ソフトウェアＤＢに追加するソフトウェア管理手段を、備えたことを特徴とするソフトウェア管理装置。
【請求項２】
前記ソフトウェア管理手段は、取得したソフトウェア名を含む前記ソフトウェア情報が前記ソフトウェアＤＢに記憶されている場合、取得したソフトウェア名を含む前記ソフトウェア情報に取得したパスが含まれているか確認し、取得したパスが含まれていなければ、取得したソフトウェア名を含む前記ソフトウェア情報に取得したパスを追加することを特徴とする、請求項１に記載したソフトウェア管理装置。
【請求項３】
前記ソフトウェア管理手段は、前記ソフトウェアＤＢに記憶されている前記ソフトウェア情報毎に、前記ソフトウェア情報に含まれるパスによって示される実行ファイル全てが削除されているか確認し、該実行ファイル全てが削除されている場合、前記ソフトウェア情報を前記ソフトウェアＤＢから削除することを特徴とする、請求項１または請求項２に記載したソフトウェア管理装置。
【請求項４】
前記ソフトウェア情報に含まれるパスによって示される実行ファイル全てが削除されているが、該実行ファイルが格納されているフォルダが削除されていない場合、該フォルダを削除することを特徴とする、請求項３に記載したソフトウェア管理装置。
【請求項５】
前記ソフトウェア管理手段は、前記ソフトウェア情報を前記ソフトウェアＤＢから削除する際、ソフトウェアの設定情報を記憶している設定情報ＤＢから、削除する前記ソフトウェア情報のソフトウェア名が付加されている設定情報を削除することを特徴とする、請求項３または請求項４に記載したソフトウェア管理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載したソフトウェア管理手段として、コンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータにインストールされているソフトウェアを管理するための技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、「ＰＣ」と記す。ＰＣはPersonal Computerの略）には多数のソフトウェアがインストールされるため、多数のＰＣを使用する企業には、ソフトウェアの違法複製防止や機密情報漏洩防止を目的として、ＰＣにインストールされたソフトウェアの管理が求められている。
【０００３】
企業組織内のＰＣにインストールされたソフトウェアを一元管理する発明として、例えば、特許文献１において、インストーラまたはアンインストーラがＰＣ上で起動すると、ＰＣにインストールまたはＰＣからアンインストールするソフトウェアのソフトウェア情報およびＰＣ情報を取得し、これらの情報をサーバで一元管理する発明が開示されている。
【０００４】
しかし、上述した技術は、（１）インストーラまたはアンインストーラを必要とするソフトウェアのみが管理対象となる、（２）工場のＰＣのように、ネットワークに接続せずスタンドアロンで動作するＰＣには適用できない、といった問題がある。
【０００５】
特に、（１）に関しては、フリーウェアの場合、インストールにインストーラを用いず、フリーウェアの実行ファイルをマシンに保存することでＰＣにフリーウェアをインストールできる場合もあるため、インストーラを用いずにインストール可能なソフトウェアをも管理対象にできることが望まれている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−６６０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明は、インストーラやアンインストーラを必要とするソフトウェアに加え、インストーラやアンインストーラを必要としないソフトウェアをも管理対象にすることができるソフトウェア管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する第１の発明は、実行されたソフトウェアのソフトウェア名および実行ファイルのパスを含むソフトウェア情報を記憶させるソフトウェアＤＢ（DB: DataBase）を備え、インストールされたソフトウェアを検出するために、実行ファイルの起動を監視し、起動した実行ファイルに対応するソフトウェアのソフトウェア名および実行ファイルのパスを所定場所から取得した後、取得したソフトウェア名を含む前記ソフトウェア情報が前記ソフトウェアＤＢに記憶されていない場合、取得したソフトウェア名およびパスを含む前記ソフトウェア情報を前記ソフトウェアＤＢに追加するソフトウェア管理手段を備えたことを特徴とするソフトウェア管理装置である。
【０００９】
更に、第２の発明は、第１の発明に記載のソフトウェア管理装置において、ソフトウェアの更新にかかる実行ファイルを前記ソフトウェア情報に追加できるように、前記ソフトウェア管理手段は、取得したソフトウェア名を含む前記ソフトウェア情報が前記ソフトウェアＤＢに記憶されている場合、取得したソフトウェア名を含む前記ソフトウェア情報に取得したパスが含まれているか確認し、取得したパスが含まれていなければ、取得したソフトウェア名を含む前記ソフトウェア情報に取得したパスを追加することを特徴とする。
【００１０】
更に、第３の発明は、第１の発明または第２の発明に記載したソフトウェア管理装置において、アンインストールされたソフトウェアを検出するために、前記ソフトウェア管理手段は、前記ソフトウェアＤＢに記憶されている前記ソフトウェア情報毎に、前記ソフトウェア情報に含まれるパスによって示される実行ファイル全てが削除されているか確認し、該実行ファイル全てが削除されている場合、前記ソフトウェア情報を前記ソフトウェアＤＢから削除することを特徴とする。
【００１１】
更に、第４の発明は、第３の発明に記載したソフトウェア管理装置において、アンインストールされたソフトウェアにかかるフォルダを削除できるように、前記ソフトウェア情報に含まれるパスによって示される実行ファイル全てが削除されているが、該実行ファイルが格納されているフォルダが削除されていない場合、該フォルダを削除することを特徴とする。
【００１２】
更に、第５の発明は、第３の発明または第４の発明に記載したソフトウェア管理装置において、アンインストールされたソフトウェアの設定情報を削除できるように、前記ソフトウェア管理手段は、前記ソフトウェア情報を前記ソフトウェアＤＢから削除する際、ソフトウェアの設定情報を記憶している設定情報ＤＢから、削除する前記ソフトウェア情報のソフトウェア名が付加されている設定情報を削除することを特徴とする。
【００１３】
更に、第６の発明は、コンピュータプログラムのカテゴリに属する発明で、第１の発明乃至第５の発明のいずれか一つに記載したソフトウェア管理手段として、コンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１４】
このように、本発明のソフトウェア管理装置によれば、実行ファイルの起動を監視し、起動した実行ファイルからソフトウェアのインストールの有無を判定するため、インストーラやアンインストーラを必要とするソフトウェアに加え、インストーラやアンインストーラを必要としないソフトウェアをも管理対象にすることができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態にかかるソフトウェア管理装置を説明する図。
【図２】インストールされたソフトウェアを管理する内容を説明する図。
【図３】アンインストールされたソフトウェアを管理する内容を説明する図。
【発明を実施するための形態】
【００１６】
ここから、本発明の好適な実施形態について、図面を参照しながら詳細に説明する。なお、これから説明する実施形態は本発明の一つの実施形態にしか過ぎず、本発明は、これから説明する実施形態に限定されることなく、種々の変形や変更が可能である。
【００１７】
図１は、本実施形態にかかるソフトウェア管理装置１を説明する図である。図１で図示したソフトウェア管理装置１は、ＣＰＵ、チップセット、メモリ、グラフィックボード、キーボード、マウスなどが実装されたＰＣを利用して実現される装置である。
【００１８】
ソフトウェア管理装置１には、ソフトウェア管理装置１に常駐するコンピュータプログラムで実現される機能として、ソフトウェア管理装置１にインストールされたソフトウェアのインストール状況を少なくとも管理するソフトウェア管理手段１０が備えられ、ソフトウェア管理手段１０が利用するデータとして、ソフトウェア管理装置１内で実行された実行ファイルに対応するソフトウェアのソフトウェア名および該実行ファイルが格納されているパスを含むソフトウェア情報を記憶するソフトウェアＤＢ１１（DB: DataBase）を備える。
【００１９】
図２は、インストールされたソフトウェアを管理する内容を説明する図である。ソフトウェア管理装置１が起動すると、ソフトウェア管理手段１０は自動的に作動を開始し、ソフトウェア管理手段１０は、ソフトウェア実行環境となるオペレーティングシステムが管理しているプロセス１２を監視することで、ソフトウェア管理装置１内における実行ファイルの起動を監視する（Ｓ１）。
【００２０】
ソフトウェア管理装置１内で実行ファイルが起動し、実行ファイルに対応するプロセス１２が生成されると、ソフトウェア管理手段１０は、起動した実行ファイルが、ソフトウェア管理装置１内でこれまでに実行されたことがない新規のソフトウェアの実行ファイルであるか確認するために、起動した実行ファイルのソフトウェア名およびパスをソフトウェア管理装置１内の所定場所から取得する（Ｓ２）。
【００２１】
Ｗｉｎｄｏｗｓ（登録商標）のように、ソフトウェア管理装置１のオペレーティングシステムが、ソフトウェアや周辺機器などの設定情報を一括管理しているデータベース（ここでは、レジストリ１３）を有する場合、起動した実行ファイルのソフトウェア名およびパスをレジストリ１３から取得できる。
【００２２】
起動した実行ファイルのソフトウェア名およびパスをレジストリ１３から取得する場合、起動した実行ファイルのファイル名を検索条件として、インストールされたソフトウェアが登録される場所（例えば、ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥ￥ＳＯＦＴＷＡＲＥ￥）に記憶されている設定情報（ここでは、レジストリキー）を検索することで、検索したレジストリキーに対応するレジストリの階層名やパスにかかるレジストリキーから、起動した実行ファイルのソフトウェア名とパスを取得することができる。
【００２３】
また、ソフトウェアによっては、ソフトウェアの設定情報がレジストリ１３に保存されないこともあるので、コンピュータプログラムを格納する専用フォルダであるＰｒｏｇｒａｍＦｉｌｅｓ１４を検索場所とし、実行ファイルのファイル名を検索条件として検索することで、起動した実行ファイルのパスとソフトウェア名（ここでは、実行ファイルが格納されているフォルダのフォルダ名）を取得することができる。
【００２４】
更に、ユーザの操作環境となるデスクトップ１５から、起動した実行ファイルのファイル名に対応するアイコンを検索し、該アイコンのリンク先や場所から、起動した実行ファイルのパス（ここでは、アイコンのリンク先）とソフトウェア名（ここでは、アイコンに対応する実行ファイルが格納されている場所）を取得することができる。
【００２５】
ソフトウェア管理手段１０は、起動した実行ファイルのソフトウェア名およびパスを取得すると、取得したソフトウェア名を含むソフトウェア情報がソフトウェアＤＢ１１に記憶されているか確認することで、起動した実行ファイルが、ソフトウェア管理装置１内でこれまでに実行されたことがない新規のソフトウェアの実行ファイルであるか確認する（Ｓ３）。
【００２６】
そして、ソフトウェア管理手段１０は、取得したソフトウェア名を含むソフトウェア情報がソフトウェアＤＢ１１に記憶されているか否かで処理を分岐させる（Ｓ４）。
【００２７】
ソフトウェア管理手段１０は、取得したソフトウェア名を含むソフトウェア情報がソフトウェアＤＢ１１に記憶されている場合、ソフトウェア管理手段１０は、起動した実行ファイルは、ソフトウェア管理装置１内でこれまでに実行されたソフトウェアの実行ファイルであると判定し、取得したパスが該ソフトウェア情報に含まれているか確認する（Ｓ５）。
【００２８】
そして、ソフトウェア管理手段１０は、取得したパスがソフトウェア情報に含まれているか否かで処理を分岐させる（Ｓ６）。
【００２９】
ソフトウェア管理手段１０は、取得したソフトウェア名を含むソフトウェア情報に取得したパスが含まれていなければ、ソフトウェア管理手段１０は、起動した実行ファイルは更新用の実行ファイルであると判定し、取得したパスを該ソフトウェア情報に追加して（Ｓ７）、実行ファイルの起動を監視する処理（Ｓ１）に戻る。
【００３０】
また、ソフトウェア管理手段１０は、取得したソフトウェア名を含むソフトウェア情報に取得したパスが含まれていれば、ソフトウェア管理手段１０は、実行ファイルの起動を監視する処理（Ｓ１）に戻る。
【００３１】
Ｓ４において取得したソフトウェア名を含むソフトウェア情報がソフトウェアＤＢ１１に記憶されていない場合、ソフトウェア管理手段１０は、起動した実行ファイルが、ソフトウェア管理装置１内でこれまでに実行されたことがない新規のソフトウェアの実行ファイルであると判定し、取得したソフトウェア名およびパスを含む新規のソフトウェア情報をソフトウェアＤＢ１１に追加して（Ｓ８）、実行ファイルの起動を監視する処理（Ｓ１）に戻る。
【００３２】
なお、図２で図示した手順は、ソフトウェア管理装置１の電源をＯＦＦにする操作がなされると終了する（Ｓ９）。
【００３３】
このように、本実施形態のソフトウェア管理装置１は、実行ファイルの起動を監視し、起動した実行ファイルからソフトウェアのインストールの有無を判定するため、インストールにインストーラを用いないソフトウェアであっても、ソフトウェア管理装置１にソフトウェアがインストールされたことを検出できるようになる。
【００３４】
図３は、アンインストールされたソフトウェアを管理する内容を説明する図である。
【００３５】
アンインストールされたソフトウェアを検出するイベントが発生すると、ソフトウェア管理装置１のソフトウェア管理手段１０は、ソフトウェアＤＢ１１に記憶されているソフトウェア情報毎に、アンインストールを確認する処理を実行する。
【００３６】
アンインストールされたソフトウェアを検出するイベントとしては、アンインストーラの起動やファイルまたはフォルダの削除など、ソフトウェア管理装置１内で実行される処理にかかるイベントであってもよいが、起動時または定期的など、時間にかかるイベントであってもよい。
【００３７】
アンインストールを確認する処理において、ソフトウェア管理手段１０は、ソフトウェア情報に対応するソフトウェアがアンインストールされているか確認するために、ソフトウェア管理手段１０は、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されているか確認する（Ｓ１０）。
【００３８】
そして、ソフトウェア管理手段１０は、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されているか否かにより処理を分岐させる（Ｓ１１）。
【００３９】
ソフトウェア管理手段１０は、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されている場合、該ソフトウェア情報に対応するソフトウェアがアンインストールされたと判定し、ソフトウェア情報をソフトウェアＤＢ１１から削除して（Ｓ１２）、図３の処理は終了する。
【００４０】
また、ソフトウェア管理手段１０は、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されていない場合、ソフトウェア情報に対応するソフトウェアがアンインストールされていないと判定し、ソフトウェア情報を削除することなく、図３の処理は終了する。
【００４１】
なお、ソフトウェア管理手段１０は、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されているか確認する際、対象となるソフトウェア情報に含まれるソフトウェア名が付加されたフォルダが削除されていれば、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されていると判定するようにしてもよい。
【００４２】
また、ソフトウェア情報に含まれるパスで示される実行ファイル全てがソフトウェア管理装置１から削除されていると判定した場合、該ソフトウェア情報をソフトウェアＤＢ１１から削除すると共に、該ソフトウェア情報に含まれるソフトウェア名が付加されたフォルダを削除するようにしてもよい。
【００４３】
更に、ソフトウェア情報に対応するソフトウェアがアンインストールされたと判定した際、ソフトウェア情報のソフトウェア名に対応するレジストリキーをレジストリから削除するようにしてもよい。
【００４４】
このように、本実施形態のソフトウェア管理装置１は、インストーラやアンインストーラからソフトウェアのインストールやアンインストールを判断しないため、インストーラやアンインストーラを必要としないソフトウェアをも管理対象にすることができるようになる。
【００４５】
また、本実施形態のソフトウェア管理装置１は、ソフトウェア管理装置１内で起動した実行ファイルから新規のソフトウェアのインストールを検出するため、ウィルスやファームウェア等の不正なソフトウェアの検出にも応用することが出来る。
【符号の説明】
【００４６】
１    ソフトウェア管理装置
１０  ソフトウェア管理手段
１１  ソフトウェアＤＢ
【図１】
2013238938.tif 000003
【図２】
2013238938.tif 000004
【図３】
2013238938.tif 000005