旧ColdFusionとIIS7.xとの接続コネクタを削除すると、IISマネージャでXMLエラーが発生する

ColdFusionのバージョンアップ作業などを目的に、移行前の古いColdFusionとIIS7.x間で接続されているコネクタの登録を解除すると、コネクタの削除は正常に完了しますが、IISの管理コンソール「IIS マネージャ」を開いた際に、「エラー: 構成ファイルは整形式の XML ではありません。」が発生して、以後の設定が行えなくなる場合があります。

こちらで確認した限りですが、ColdFusion8とIIS7.0とで設定した接続コネクタを削除したところ、同様のエラーを確認しました。このエラーの発生する原因としては、applicationHost.configファイルに日本語文字列を含む設定が存在した場合、コネクタの削除を行った際にそれらが文字化けを起こし、結果不正なXMLファイルなり、上記のエラーが発生する原因となります。

デフォルトのIISのapplicationHost.configファイルには、日本語文字列は含まれておりませんが、 ColdFusion8 はIIS 7自体のサポートは行っておらず、[IIS メタベースおよび IIS 6 構成との互換性] オプション ([Internet Information Service]-[Web 管理ツール]-[IIS 6 と互換性のある管理])を有効にする必要があり、このオプションをインストールすることで、下記のような日本語文字列を含む設定が applicationHost.configに追加されてしまった事がエラーの要因となる模様です。

追加される設定:
<property id="4012" dataType="String" userType="1" attributes="Inherit" value="NCSA 共通ログ ファイル形式,Microsoft IIS ログ ファイル形式,W3C 拡張ログ ファイル形式,ODBC ログ" />

コネクタを削除した後の設定:
<property id="4012" dataType="String" userType="1" attributes="Inherit" value="NCSA 蜈ア騾壹Ο繧ー 繝輔ぃ繧、繝ォ蠖「蠑?Microsoft IIS 繝ュ繧ー 繝輔ぃ繧、繝ォ蠖「蠑?W3C 諡。蠑オ繝ュ繧ー 繝輔ぃ繧、繝ォ蠖「蠑?ODBC 繝ュ繧ー" />
(※ 他のIISオプションも日本語が含まれている文字列が値に追加されると、同様の問題が発生する恐れがあります)

IIS 7のネイティブサポートは9.0.1以降で行われ、また ColdFusion 8 はサポートが終了しているバージョンという事もあるため、今後同様のエラーに遭遇する機会は限られていくと思われますが、上記のエラーが発生した場合は、下記の手順にて、手動で設定ファイルを修正し、対処を行って下さい。

applicationHost.config ファイルは、C:\Windows\System32\inetsrv\configフォルダに置かれています。また、同じフォルダかC:\inetpub\historyフォルダには、直前の設定のバックアップが置かれています。一つ前のapplicationHost.configファイルは、上記の日本語の文字化けが起きる前の状態ですので、applicationHost.config ファイルの文字化けの箇所に、元の日本語を手動でコピーすることで、「IIS マネージャ」を開いた際のエラーが解消されます。
(※ applicationHost.configファイルの上書きには管理者権限が必要です。メモ帳やテキストエディタを[管理者として実行]で起動し、ファイルの上書きを行って下さい)

 


 


記事公開日:2015年06月02日
最終更新日:2015年06月02日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.