Delphi (2007 以降) が削除も再インストールもできなくなった

概要
 トライアル版/FT版等をインストールしていて、そこへ製品版をインストールしようとすると、  と、なんだか八方塞がりな状況になる事があります。

正しいアンインストール方法
 正しいアンインストール方法に関連した情報は以下の通りです。  まずは正しくアンインストールしなくてはなりません。文章中にある5.0/110はDelphi2007での記述ですので、Delphi2009の場合は6.0/120と読み替えて下さい。また、Delphi2009の場合には"Embarcadero"というフォルダがあったりするので要注意です("%AllUsersProfile%\Application Data\Embarcadero"等)。

八方塞がりになったら
 ...とまあ、気を付けていても不注意で八方塞がりになってしまう事はあります。なってしまったものは仕方がないので、どう対処するかを考えてみます。
  1. 上記リンク先にあるアンインストール方法を試行します。

  2. "Windows Installer CleanUp ユーティリティ"をDLします。
    これはInstallAware等の"MSIベースのインストーラ"がインストールしたアプリケーション(ややこしい!!)のインストール情報をキレイにしてくれるというものです。

  3. DLした msicuu2.exe を実行します。
    <!>Vistaの場合にはファイルを右クリックして"管理者として実行(A)..."から実行して下さい<!>

  4. VistaでIME2007を利用している場合には、

    1. [コントロールパネル]-[地域と言語のオプション]-[キーボードと言語]タブにある"キーボードの変更"ボタンを押す。
      "ファイル名を指定して実行"から %SystemRoot%\system32\control.exe /name Microsoft.RegionalAndLanguageOptions /page /p:"keyboard" を実行すると早いです。
    2. [全般]タブの"規定の言語(L)"を"日本語 (日本) - Microsoft IME"へ変更。
    3. ("日本語 (日本) - Microsoft IME" が存在しなければ、"追加"ボタンで "日本語 (日本) - Microsoft IME" を追加)
    4. "OK"ボタンを押す。

    これを行わないと"Windows Installer Clean Up Application は動作を停止しました"のダイアログが出て"Windows Installer CleanUp ユーティリティ"を実行できません。

  5. "%ProgramFiles%\Windows Installer Clean Up\msicuu.exe" を実行します。

  6. "Installed products:"の中から該当する製品を選択し、

     Delphi 2009:
     Delphi 2007:
    "Remove"ボタンを押します。処理には結構時間が掛かります。トライアル版/FT版と購入した製品のエディションが異なる場合、他にもインストールパッケージが存在する事があります。
 ここまで済んだら再インストールを行います。もし、再インストールの際に挙動が変だったのならば、
  1. 製品版をアンインストール
  2. トライアル版/FT版をインストール
  3. トライアル版/FT版を"正しいアンインストール方法"でアンインストール
  4. 製品版を再再インストール
 この手順を試してみて下さい。

 "ネットワークがどうたら"で"*.msi"のパスを求められたら、そのパスのGUIDの先頭を覚えておき、[HKCR\Installer\Products]以下にその値を持つキーがあれば削除すると問題が解決する事があります。

総括
 "MSIベースのインストーラ"を採用したアプリケーションはEmbacadero/CodeGear製品に限らず、しばしば"八方塞がり"になる事があるようで、専用のアンインストール復旧ツールを提供している会社すらあります。MS自ら"Windows Installer CleanUp ユーティリティ"のようなツールを公開している辺り、問題は認識しているのでしょうが...どうにかならないものですかねぇ。


 BACK