6

.Netアセンブリを呼び出すWebページがあります。WindowsXPとIE7ではすべて正常に動作します。関連する部分:

<html>
<head>
    <script language="javascript" type="text/javascript">
    function doScript() {
        myControl1.Go("value1","value2");
    }
    </script>
</head>
<body onload="javascript:doScript();">
    <object id="myControl1" name="myControl1" 
            codebase="../cabs/myassembly.dll" 
            classid="../cabs/myassembly.dll#MyNs.MyClass" 
            width="1" height="1"></object>
</body>
</html>

IE8を搭載したWindows7でこれを機能させることができません。いくつかのメモ:

  • アセンブリは強い名前が付けられています。
  • 私はlocalhost今これをホストしています。
    • 動作しているマシン(VirtualBoxでホストされているWinXP、IE7)では、ローカルマシンへのIPアドレス(http://1.2.3.4/...)を使用しており、そのIPはIEの「信頼済みサイト」にあります。
    • 動作していないマシン(Windows 7、IE8)では、IEの「信頼済みサイト」を使用http://localhost/...しており、そのマシンにあります。localhost
  • アセンブリはから提供されていhttp://localhost/cabs/myassembly.dllます。
  • エラーメッセージは、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というJavaScriptエラーです。
  • Fiddlerは、ファイルが要求されたときに200 OKの応答を示しますが、dllがインターネット一時ファイルの場所に到達しているようには見えません。
  • サイトは「IE7互換」モードで実行されています。
  • すべてのIE権限を、すべてのゾーンで許可される最も安全でないものにドロップしました。動作はまったく同じです。

これを機能させたり、問題が発生している場所のトラブルシューティングを試みたりするためのアイデアはありますか?

免責事項:はい、2012年であり、世界はIE7、IE8、ActiveXなどを超えています。技術的に少し遅れているとしましょう。これは私が解決しなければならない問題です。最新のソリューションにアップグレードすることはできません。

更新: IE8を実行しているWindowsXPVirtualBoxで動作するようになりました。したがって、問題はWindows 7に固有のようです。ローカルマシンと、Windows 7、IE8を実行しているVirtualBoxの両方で失敗します。

4

3 に答える 3

1

これが役立つかどうかはわかりませんが、同様の問題があり、通常はこれで修正されました。動作していないマシンでこれらの手順を試してください。

  1. dll が配置されている URL のドメインをTrusted sitesゾーンに割り当てます。
  2. SecurityでタブをInternet Options開き、Trusted sites
  3. をクリックしDefault levelて、 が選択されていることを確認しますMedium。そうでない場合は、手動で に設定しMediumます。
  4. 申し込み

念のため、すべての IE ウィンドウを閉じてから再起動し、動作するかどうかをテストします。

重要な問題は、 reneが 2 番目のコメントでリンクしたページで議論された問題です。Custom levelIE8 以降では、オプションのリストに独自の UI を持たないセキュリティ設定があります。これに影響を与える唯一の方法は、Level-Mediumまたはそれより低い値を に設定しEnableMedium-high高い値を に設定することDisableです。

通常、デフォルトのレベルTrusted sitesは中であり、設定が有効になるため、これは問題ではない可能性があります。ただし、少なくとも試してみる価値はあります (おそらく、グループ ポリシーまたは信頼済みサイトの既定のレベルを変更する何かを使用している可能性があります)。

于 2012-09-11T09:14:05.307 に答える
0

.dllファイルは使用しないでください。代わりに.cabを使用してください。

于 2012-09-11T09:57:14.260 に答える