はじめに
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 のセットアップが失敗する
僕の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 インストールできません
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 のセットアップが失敗する
- 以下のサイトから、Windows Installer CleanUp ユーティリティをダウンロードします。
- ダウンロードしたexeファイルを実行し、Windows Installer CleanUpをインストールします。
- スタートメニューのプログラム一覧からWindows Installer CleanUpを選択して起動します。
- 一覧から [MSXML6 Service Pack 2 (KB954459) [6.20.1099.0]] を選択し、[Remove] をクリックします。
MSXML 6.0 SP2のアンインストールが完了したら、SQL Server 2005のインストーラを起動し、ウィザードに従ってインストールすると、うまくいきました。
なんでこんな仕様になっているんだと思いましたが、解決して良かったです。