明日は我が身(ClickOnceとProxyServer)

以前のエントリでプロキシサーバの設定を行った状態でClickOnceの配布に失敗する件に関して言及した。

プロキシサーバの認証が必要な環境でClickOnceでの配布が失敗する

この問題だが、先日ついに自分が担当している顧客での環境でも発生した。

調べてみるとakirameiさんも書いている通り、プロキシサーバの詳細な設定内容というよりは、IE側(WinInet側?)でプロキシサーバを使用する設定を行ってもそれが.NET ClickOnceの側には反映されないのが原因だ。その証拠に認証が必要の無いプロキシサーバでも、更にはプロキシをバイパスする設定を施したアドレスでも同様の問題が発生するのを確認している。


現状この問題への対策は以下の3つが考えられる。(というかこれ以上は解らなかった)

  • 1.プロキシサーバの設定をしない

当たり前だがこれが最強だ。

  • 2.machine.configを書き換える

対応するmachine.config(.NETのバージョン毎に存在する)に、プロキシサーバ設定の詳細を記述することができる。

  
      
            
            
                
                
            
      
  

それぞれの要素の解説は --> http://msdn2.microsoft.com/ja-jp/library/kd3cf2ex.aspx

  • 3 HotFixを入手する

以下のリンクにあるようにHotFixが出ている(実際に試した訳ではないので、これで本当に解決するかどうかの確証は無い)
Microsoftサポートオンライン技術情報「FIX:構成されたクライアント コンピュータへ .NET Framework 2.0 を作成したために、 ClickOnce アプリケーションをインストールしようとすると、プロキシ サーバーを 使用する:「プロキシ認証が必要」にエラー メッセージ」


2.と3.の対策はClickOnceの良さを殺してしまうので出来れば1.で対処したい。
当然、一番良いのは「4. WindowsUpdate等のサービスパック等でFixされる」ことだ。というかどうして他のサービスパックのようにアップデートしないんだろう。たかが一つのアセンブリを入れ替えるだけなのだし、そもそも既知の問題なのだからとっととFixして欲しい。