.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
- 動作しているマシン(VirtualBoxでホストされているWinXP、IE7)では、ローカルマシンへのIPアドレス(
- アセンブリはから提供されてい
http://localhost/cabs/myassembly.dll
ます。 - エラーメッセージは、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というJavaScriptエラーです。
- Fiddlerは、ファイルが要求されたときに200 OKの応答を示しますが、dllがインターネット一時ファイルの場所に到達しているようには見えません。
- サイトは「IE7互換」モードで実行されています。
- すべてのIE権限を、すべてのゾーンで許可される最も安全でないものにドロップしました。動作はまったく同じです。
これを機能させたり、問題が発生している場所のトラブルシューティングを試みたりするためのアイデアはありますか?
免責事項:はい、2012年であり、世界はIE7、IE8、ActiveXなどを超えています。技術的に少し遅れているとしましょう。これは私が解決しなければならない問題です。最新のソリューションにアップグレードすることはできません。
更新: IE8を実行しているWindowsXPVirtualBoxで動作するようになりました。したがって、問題はWindows 7に固有のようです。ローカルマシンと、Windows 7、IE8を実行しているVirtualBoxの両方で失敗します。