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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

「システムの復元」が招くトラブル

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

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

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

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

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

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

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

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

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

そのツールは、「Windows Installer Clean Up ユーティリティ」というものです。

旧ダウンロードページ: Microsoftサポート

以前は、Microsoftサポートから直接ダウンロードできたんですが、
レジストリを強制的に書き換えるツールなので、操作を誤れば新たな問題を発生させてしまう危険性があり、
公開を取りやめたみたいです。

現在、Microsoftは全社的に「Fix it」を使った方法を推奨しているみたいですが、
ちょっと使いにくいんですよね、コレ。
特に、「Fix it」を使う前にアップデートする必要があったりして、
動作不安定なパソコンだと、それすらままならないから困ってるわけなので。
ユーザーに極力操作させず、自動的に修復してしまおうというコンセプトは、わからなくはないんですが。

というわけで、「Windows Installer Clean Up ユーティリティ」は便利なツールだったので、
非公式ですが、いまだに入手できるサイトがあります。

非公式ダウンロードページ: Windows Installer CleanUp Utilty - Softpedia

ただし、一切の保証はありません

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

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

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

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

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

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

つまり、

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

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