C# と .NET Framework 4 を主にWindows Formのアプリケーション開発について

2007年11月 8日

IE6 SP2 で ClickOnce ( Apache 2 ) IE6 SP2 で ClickOnce ( Apache 2 )

XPのいくつかのPCでどうにもClickOnceを使用した配置が失敗する現象がありはまった。
Web Server がLinux (Debian Etch)でApache2なため余計に分からなかった。
ちなみにIE7ではどうも発生しない。

現象としては、applicationマニフェストファイルの内容がXMLとして表示されてしまう。
調べると、サーバー側のMIMEタイプを正しく設定する事があげられている。

MIMEタイプの設定をする

Debianの場合は /etc/mime.types を編集して3つのエントリを追加する。

application/x-ms-application application
application/x-ms-manifest manifest
application/octet-stream deploy

この時点で多分IE7はOKになるがIE6はだめ。
ではクライアント側のMIME設定を調べるとこれも正しい(.NEt Framework 2.0のインストール時に設定される)。
トラブルシューティングとしてMSDNには .net の再インストールが挙げられているが、これをしてもだめ。結局原因はIE6だった。

IE6のセキュリティー設定を変更する

IE6 SP2はMIMEタイプを無視する設定がデフォルトで有効になっている。
ダウンロードされたコンテンツの先頭何百バイトかで表示方法を勝手に変えてしまう。
(実はこの事は知っていたのだが)

この機能を無効にするには、IE6でインターネットオプションを開き、セキュリティータブを選択する。
該当するエリアを選びカスタマイズボタンを押す。
下の方に「拡張子ではなく,内容で開く」があるのでこれを無効化する。
(自分のIE6環境では既に設定済みだったので分からなかった)

これで無事にインストールされる。

Comments

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)

トラックバックURL

このエントリーのトラックバックURL:
http://www.cs-dotnet.com/cgi-bin/mt-tb.cgi/117