none
MS06-013を当てたクライアントでObjectタグからWindowsFormコントロールを使用するWebページでIEが強制終了される RRS feed

  • 質問

  • 4/12のMS06-013の更新を行ったクライアントにおいて、ObjectタグからDllとしてWebに配置したWindowsFormコントロールを使用するWebページを開くと、突然強制終了されるようになりました。そのページに親ページが存在する場合は、親ページまで巻き添えとなります。

    いろいろなパターンで調べてみたのですが、同じページにSelectタグが存在する場合にそのような現象が発生するようです。

    インターネット上でもいろいろ探したのですが、WebでDotnetのWindowsFormコントロールを使用する事例自体が少ないので、現在の所、混在しないようにページを組んで回避しようとしています。

    そのようなパターンが発生して、何か回避方法が見つかった方がいらっしゃいましたら、教えてください。よろしくお願いします。

    2006年4月24日 9:18

すべての返信

  • tnglさん、こんにちは。

    レアなケースのようなのでレスが無いですね。興味があるので、自分の環境でも再現するか確認したいですが、情報が少ないので再現できません。もう少し詳細な再現情報を教えていただけますか?

    1.OSの種類(SPは?)

    2.IEのバージョン

    3. .NET Freameworkのバージョン

    4. Scriptの種類(html, ASP, ASP.NETなど)

    5. ObjectタグからDllとしてWebに配置したWindowsFormコントロール

    *どのようなコードかその部分だけも教えてもらえます?

    2006年4月28日 3:51
  • レスを頂きありがとうございます。環境としては以下の通りです。

    1.OSの種類(SPは?)

    WinXp SP2です。

    2.IEのバージョン

    IE6.0でセキュリティパッチは最新です。

    3. .NET Freameworkのバージョン

    1.1です。

    4. Scriptの種類(html, ASP, ASP.NETなど)

    もともとの構成は複雑だったのですが、単純化してクライアント側のスクリプトは全て削除しても再現しました。

    サーバー側はASP.Netです。

    5. ObjectタグからDllとしてWebに配置したWindowsFormコントロール

      WindowsFormコントロール側は例として

      namespaceをatvxSmpl

      コントロール名をTestCtrlとして、Dllを作成(DLLのファイル名をatvxSmpl.dllとします。)

     WindowsFormコントロール側の機能は何でも構いません。簡単な代入でも再現します。実運用では、Comオブジェクトを呼び出していましたが、検証のため、単純にTextboxに代入する場合でも結果は同じです。

    sample

    //略

    namespace atvxSmpl
    {
      public class TestCtrl : System.Windows.Forms.UserControl
     {
      private System.Windows.Forms.Button button1;
      private System.Windows.Forms.TextBox textBox1;
      private System.ComponentModel.Container components = null;

      public TestCtrl()
      {
       InitializeComponent();

      }

    //略  

     private void button1_Click(object sender, System.EventArgs e)
      {
       textBox1.Text="test";
      }
     }
    }

      Webページ側のobjectタグは以下のような記述です。(<を(で変えています。)

       (OBJECT id="ctrlSample" classid="atvxSmpl.dll#atvxSmpl.TestCtrl"
          VIEWASTEXT>
         (OBJECT>

    同じページにSelectタグが存在しない場合は、特に問題なく動作しますが、Selectタグを入れたとたん、予告無くページが閉じます。

    いろいろ調べたのですが、select要素のリストボックスはWindowsのコントロールを表示しているため、z-indexプロパティをサポートしていないという部分が関わっているのかもしれません。このため、解決策も難しそうなので、選択する必要がある場合は、コントロール内にドロップダウンリストを配置して、対処しています。

    http://www.nobodyplace.com/mutter/2005/09/26/193820.php

    2006年4月28日 6:18
  • レスが遅れて大変もうしわけございません。

    確かに私の環境でも再現しました。これが.NET Framework 2.0でも再現するかどうかですね。

    もし2.0では再現しないようでしたら、Upgradeするのも一つの手だと思います。

     

    2006年5月22日 8:00
  • ひー、2.0でも強制終了されちゃいます。。。
    2006年5月22日 10:14
  • 自己Resです。

    916281(MS06-021)で解決されたようです。

    2006年7月8日 8:22
  • 面倒だと思いますが、createElement で実装すればよいと思います。
    http://www.microsoft.com/japan/msdn/workshop/author/dhtml/overview/activating_activex.aspx
    2006年7月10日 0:21