小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


MSXML 6 Service Pack 2 (KB954459) -- 構成に失敗しました。

はじめに

SQL Server 2005をインストールしようとすると、MSXML 6 Service Pack 2 (KB954459) -- 構成に失敗しました。というエラーが表示され、インストールができないという現象が発生することがあります。以下はその原因と対処方法です。

僕が会社で使っているPCにSQL Server 2005をインストールしようとしたら、以下のエラーが出て、インストールすることが出来ませんでした。

製品: MSXML 6 Service Pack 2 (KB954459) -- 構成に失敗しました。

MSXML 6.0 SP2がインストールされているとインストールできない

原因は、僕のPCにMSXML 6.0 SP2がインストールされていたせいでした。
SQL Serverのインストーラは、MSXML 6.0 SP2をインストールする際、すでにMSXML 6.0がインストール済みかどうかを調べて、インストール済みであった場合は、インストールを停止する仕様になっているようです。

SQL Server のセットアップは MSXML 6.0 SP2 をインストールするときに、サポート技術情報の資料 954459 で説明されている MSXML 6.0 のバージョンがコンピューターに既にインストールされていることを検出します。このため、検証プロセスは MSXML 6.0 の現在のバージョンを置き換えてはいけないと判定します。これにより、MSXML 6.0 と SQL Server 2005 の両方のインストールが停止します。
MSXML コア サービス 6.0 Service Pack 2 がインストールされていると、SQL Server 2005 のセットアップが失敗する はてなブックマーク - MSXML コア サービス 6.0 Service Pack 2 がインストールされていると、SQL Server 2005 のセットアップが失敗する

僕のPCは、過去にSQL Server 2005を入れたことがあり、その後SQL Server 2000に置き換えました。おそらくは、最初にSQL Server 2005をインストールした際に、一緒にMSXML 6.0もインストールされたのだと思います。

MSXML 6.0 SP2がアンインストールできない

要するに、SQL Server 2005のインストールする前にMSXML 6.0 SP2をアンインストールすれば良いという話なのですが、このMSXML 6.0 SP2が厄介で簡単にはアンインストールすることができません。

コントロールパネル−プログラムの追加と削除からMSXML 6.0 SP2をアンインストールしようとすると、以下のエラーが出て、アンインストールすることができません。

インストール中に致命的なエラーが発生しました。

Windows XP SP3の場合、MSXML6.0 SP2がインストールされると、システムファイルとしてプロテクトがかかってしまい、アンインストールすることができないようです。

XP SP3の場合、もしくはSP2にSP3を当てたケースでKB954459(MSXML6.0 SP2)がインストールされると、MSXMLがシステムファイルとしてプロテクトされるので、インストールが失敗する
教えて!Ziddyちゃん SQL Server 2005 EXPRESS インストールできません はてなブックマーク - 教えて!Ziddyちゃん SQL Server 2005 EXPRESS インストールできません

Windows Installer CleanUpでMSXML 6.0 SP2をアンインストールする

Microsoftのサイトによると、Windows Installer CleanUpというユーティリティツールを使って、プロテクトのかかっているMSXML 6.0 SP2を強制的にアンインストールする必要があるようです。

この問題を回避するには、Windows Installer CleanUp ユーティリティを使用して MSXML 6.0 Service Pack 2 への参照を削除します。
MSXML コア サービス 6.0 Service Pack 2 がインストールされていると、SQL Server 2005 のセットアップが失敗する はてなブックマーク - MSXML コア サービス 6.0 Service Pack 2 がインストールされていると、SQL Server 2005 のセットアップが失敗する

  1. 以下のサイトから、Windows Installer CleanUp ユーティリティをダウンロードします。
  2. ダウンロードしたexeファイルを実行し、Windows Installer CleanUpをインストールします。
  3. スタートメニューのプログラム一覧からWindows Installer CleanUpを選択して起動します。
  4. 一覧から [MSXML6 Service Pack 2 (KB954459) [6.20.1099.0]] を選択し、[Remove] をクリックします。

MSXML 6.0 SP2のアンインストールが完了したら、SQL Server 2005のインストーラを起動し、ウィザードに従ってインストールすると、うまくいきました。
なんでこんな仕様になっているんだと思いましたが、解決して良かったです。