普通、プログラムのアンインストールをするときは、
「プログラムの追加と削除」から選択したり、アンインストーラを使ったりするものですが、
なぜだか、アンインストールできない状況におちいってしまう場合があります。

原因にある程度目星がついていればいいんですが、
理由もわからずアンインストールできなくなってしまった場合は、
まず原因を押さえておく必要があります。
同じことを繰り返さないためにも

アンインストールできなくなる原因

アンインストールできなくなってしまう、ほとんどの原因は、
レジストリの情報と、ファイルの存在が一致していないことにあります

Windowsにプログラムをインストールした時、それらの情報はレジストリに保存されます。
どこにどういうプログラムファイルを保存して、どこにショートカットを作って、
どのファイルと関連付けを行ったのかなど、
ほとんどすべての情報がレジストリに保存されています。

アンインストールするときは、
レジストリに保存されているインストール情報の逆をたどっていく
わけです。

ところが、プログラムをインストールした時と、アンインストールした時で、
レジストリの情報がくい違ってくる場合があります

そうすると、削除する対象が見つからなくなってしまうので、
アンインストールできなくなるのです。

レジストリに保存されている、これらインストールされたプログラムの情報がおかしくなるのは、
レジストリに関する操作を行ったときです。
具体的には、以下のような操作です。

他のソフトのインストール、アンインストール

関連するソフトのインストール、またはアンインストールで、
レジストリの情報がおかしくなることがあります。
特に、同一ソフトの新旧バージョンを混在させた場合は、かなり高い確率でそうなります。

Windowsのメジャーアップデート

こまごました更新ではなく、
SP(サービスパック)の適用とか、XP → Vistaへのアップグレードとか。
プログラムがインストールされた状態で、これらメジャーアップデートをかけると、
アンインストールできなくなることがあります。

インストールされているソフト自体が、新しい環境に対応していない可能性もあります。

「システムの復元」の実行

簡単に使ってしまいがちな「システムの復元」ですが、
それが原因でレジストリの問題を引き起こす場合があります。

これはちょっと説明が長くなるので、詳しくは下記ページにて。

レジストリクリーナの使用

不要なレジストリキーを削除してくれるツールがありますが、
本来、レジストリはWindows以外には任せないほうがいいです。
レジストリクリーナにとっては正常動作でも、こちらにとっては誤消去かもしれないのです。

ツールを使ってレジストリを整理したところで、それが理想的なかたちだとは限りません。
個人的には、レジストリクリーナに頼らなければならないほど、
レジストリがぐちゃぐちゃになるパソコンの使い方のほうが問題だと思います。

アンインストールできない場合の対処法 - その[1]

基本的な対処方法は、アンインストール対象ソフトのインストーラを用いて、
一旦上書き再インストールする
ことです。
その後、アンインストールを実行します。

インストールし直すことで、レジストリもファイルも、一旦すべて上書きしてしまいます。
このことで、レジストリの情報と、実際のファイルの間のくい違いがなくなります
その直後にアンインストールすれば、
途中で引っかかることもなく、アンインストールが完了するはずです。

ただし、この方法だと、一部設定ファイルが残されたままになるかもしれません。
気になる人は、

C:\Program Files\(ソフトウェアメーカー名)\(プログラム名)

フォルダを確認してみてください。
インストールされていたプログラム名のフォルダがあれば、それはもう必要ないはずです。

アンインストールに成功していれば、
該当のプログラムフォルダはシステム管理下に置かれなくなりますから、
普通に削除することも可能です。

アンインストールできない場合の対処法 - その[2]

前述のとおり、基本は一旦上書き再インストールですが、
アンインストールはおろか、再インストールすらできない場合があります。

八方ふさがりな感もありますが、まだ方法は用意されています。
それも、Microsoft純正のツールを使った方法です。

そのツールは、「Windows Installer Clean Up ユーティリティ」というものです。
入手先は以下のとおり

ダウンロードページ: Windows Installer Clean Up ユーティリティ

「Windows Installer Clean Up ユーティリティ」は英語のツールですが、
そんなに難しい操作もないので、直感的に使えると思います。
Office用みたいな表記もありますが、
「Windows インストーラ」を用いているプログラムであれば、適用可能です。
※拡張子「.msi」のファイルを用いたインストーラ等。

リンク先ページに、「Windows Installer Clean Up ユーティリティ」についての説明があります。
ただし、Microsoftのサポートページは、どうも英語の原文を日本語に直訳したようなものが多く、
はっきり言ってわかりにくいです。

簡単にまとめると、「Windows Installer Clean Up ユーティリティ」は、
Windowsのレジストリから、
選択したプログラムに関する「Windows インストーラ」の情報を、強制的に削除します

これにより、該当プログラムの再インストールを可能とするものです。

よくある、「プログラムの追加と削除」の一覧から、表示項目を削除するだけのものとは違います
インストーラの情報も含めて削除することが可能です。

操作方法は、削除対象のプログラムを選択して、「Remove」とするだけです。
※「Windows Installer Clean Up ユーティリティ」自身の削除も可能だったり。

ただし、勘違いしないでいただきたいのは、
「Windows Installer Clean Up ユーティリティ」は、万能のアンインストーラではないということです。
「Windows Installer Clean Up ユーティリティ」ができることは、
レジストリのインストーラの情報を削除することだけであって、
プログラム自体のレジストリキーや、プログラムファイルはそのまま残されています。

つまり、

「Windows Installer Clean Up ユーティリティ」で、レジストリのインストーラの情報を削除
→ 該当ソフトのインストーラを用いて、再インストール
アンインストール

という手順は踏まなければならないということです。