【.NET】ClickOnceをApacheでも起動するための設定

前にリンクだけ書いたけど、もう一度調べ直すことになったのでちゃんとやり方をメモっておく。

ClickOnceのアプリケーションをapacheの仮想ディレクトリに配置したあと、IEのバージョンによって起動するときとしないときがある。

Windows XP + IE7.0 + .NET Framework 2.0では起動

Windows 2003 Server R2 + IE6.0 + .NET Framework2.0では起動せず。XMLファイルが表示されてしまう。

前のリンクにも書いてあるが、MIMEをサーバ側に指定しないと駄目らしい。

方法① apacheのmime.typeに記述する。以下を追記。

application/manifest manifest application/deploy deploy application/x-ms-application application

方法② apacheのconfファイルに記述する。「IfModule mime_module」ディレクティブに以下を追記。

AddType application/manifest            .manifest
AddType application/deploy              .deploy
AddType application/x-ms-application    .application

方法③ .htaccessに記述する。アプリケーションを配置したディレクトリに.htaccessファイルを作って以下を追記。

AddType application/x-ms-application .application
AddType application/x-ms-manifest .manifest
AddType application/octet-stream .deplo

これはapacheのconfファイル(httpd.conf)にAllowOverride Allの記述がないと.htaccess自体有効にならないので注意。

設定後はapacheを再起動+ブラウザも再起動して試す。