Windowsインストーラ起動時のエラーを解消するTech TIPS

Windowsインストーラは、ハードディスクにファイルをコピーするとともに、レジストリ情報を更新している。何らかの理由からこれら両者の間で不整合が起こると、以後、インストール処理が実行できなくなる場合がある。不整合を起こしたアプリケーションの情報をクリーンアップする無償ツールが公開されている。

» 2005年01月21日 05時00分 公開
[小川誉久デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows XP



解説

 Officeなどのマイクロソフト製品は、Windowsインストーラと呼ばれるインストール・プログラムを利用して、アプリケーションをハードディスクにインストールするようになっている。最近では、マイクロソフト以外の製品や、脆弱性の修正プログラムの中にも、このWindowsインストーラを利用するものが増えてきた。

 Windowsインストーラは便利なプログラムなのだが、何かの拍子にインストール処理に失敗すると、ファイルとレジストリが不整合を起こし、以後Windowsインストーラが起動時にエラーを発生するようになる場合がある。一昔前のアプリケーションと異なり、最近のアプリケーションは、レジストリなどを正しく設定しないと実行できないことが多いので、Windowsインストーラが使えなくなると、アプリケーションも使えないことになってしまう。

 Windowsインストーラを使用してアプリケーションをインストールすると、レジストリにアプリケーションのインストール情報が書き込まれるとともに、%SystemRoot%\Installerという隠しフォルダ内に、Windowsインストーラ・パッケージや、Windowsインストーラ修正パッケージが保存される。インストール・エラーは、何らかの理由で、これらの隠しファイルとレジストリ情報の整合性が破壊された場合に発生する。状況によって異なるが、エラーが発生した場合に表示されるエラー・メッセージは次のようなものだ。

  • パッチパッケージが開けません。
  • この修正プログラム パッケージを開くことができませんでした。アプリケーション ベンダに問い合わせ、Windows インストーラの修正プログラム パッケージが有効であることを確認してください。
  • Office のアップデートは必要な更新プログラムを確認できません。

 そうそう発生する問題ではないと思われるが、ひとたび起こると、修正プログラムの適用やアプリケーションのインストールが不可能になるため影響が大きい。

 このためマイクロソフトは、Windowsインストーラの不整合な状態を解消し、インストールを可能にするためのツール(Windows Installer Clean Up)を無償公開している。

操作方法

 Windows Installer Clean Up(以下WICU)ツールは、マイクロソフトの次のサイトからダウンロードできる。

 上記サイトからWICUツールをダウンロードしたら、ダブルクリックしてインストールを実行する。インストールが完了すると、[スタート]−[すべてのプログラム]に"Windows Installer Clean Up"が追加されるので、これを実行する。

WICUを実行したところ WICUを実行したところ
WICUを起動すると、現在インストール情報のあるWindowsインストーラ使用製品が一覧表示される。これらの中からインストール情報を削除したいアプリケーションを選択する。
  (1)特定のアプリケーションに関する情報だけを削除する場合には、このリストから当該項目を選択する。
  (2)すべてのアプリケーションを選択する。
  (3)すべての選択状態を元に戻す。
  (4)選択されたアプリケーションの情報を削除する。
  (5)WICUを終了する。

 エラーの原因となっているアプリケーションの項目を選択し、[Remove]ボタンをクリックすればよい。ただし、削除を実行すると、アプリケーションは再インストールしなければ使えなくなるので注意すること。なおこの場合でも、それまでアプリケーションで作成したデータなどはそのまま残っている。

 削除を実行すると、次の警告ダイアログが表示される。

警告ダイアログ 警告ダイアログ
「削除を実行すると、アプリケーションを再インストールしなければ使えなくなる」と警告している。[OK]をクリックすると、削除処理が実行される。

 削除処理中は、一瞬コマンド・プロンプトが表示される場合があるが、処理が終了すると自動的に消えるので気にしなくてよい。このコマンド・プロンプトでは、MsiZap.exeというWindows インストーラの開発者用コマンドライン・ツールが動作している。WICUは、実際にはこのMsiZap.exeコマンドを実行するVisual Basic製フロントエンドにすぎない。

 削除処理が正常に終了すると、WICUのリストから項目が削除される。処理が完了したら、WICUを終了する。

 WICUは常時使うツールではないので、不要ならば、コントロール・パネルの[プログラムの追加と削除]アプレットを利用してアンインストールする。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。