x64:IIS6 Service Unavailableが発生して、Webサーバが正常に動作しない
この文書はWindows XP Professional x64 Edition + .NET 1.1 SP1をベースに記述されています。
x64環境でのIIS6は現在のところ64bitモードでデフォルト設定されています。
.NET1.1をインストールすると32bitバイナリな為、Service Unavailableとなり、下記のようなイベントが記述されます。
ソース:W3SVC-WP
イベントID:2268
サイト/サービスの ISAPI フィルタをすべて読み込めませんでした。サービスの開始を中止します。
ソース:W3SVC-WP
イベントID:2274
構成の問題のため、ISAPI フィルタ 'F:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_filter.dll' を読み込むことができませんでした。現在の構成では、AMD64 プロセッサ アーキテクチャ用に構築したイメージだけの読み込みをサポートしています。データのフィールドにエラー番号が含まれています。この問題についての詳細、およびこのようなプロセッサ アーキテクチャの不一致によるエラーのトラブルシューティングについては http://go.microsoft.com/fwlink/?LinkId=29349 を参照してください。
解決するためにはIIS自体を32bitモードで起動する必要があります。
AppPoolsのオプションとしてEnable32bitAppOnWin64に1を設定する必要があります。
設定の仕方は
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
↑おがわさんのところから
と設定を変更して、iisresetを実行してください。
関連リンク
64bitモードを維持する場合にはVirtual:Virtual Server 2005 R2で管理 Web サイトがService Unavailable
http://blogs.sqlpassj.org/mitsugi/archive/2005/08/17.aspx
http://support.microsoft.com/kb/894435/ja
http://support.microsoft.com/kb/895976/ja
2005/01/09:イベントビューアの画像を追加