2011-07-11 7 views
1

webrowserコントロールをホストするときに同じ結果が得られるように、特定のIEバージョンのDLLをアプリケーションにバンドルする方法があるのだろうかと思います。webrowserコントロールの特定のバージョンをバンドルするにはどうすればいいですか?

examsple IE8 Webブラウザコントロールをバンドルする方法があります。ユーザーがIEを使用していないコンピュータで問題を回避するのに役立ちます。IE6またはIE7以降にアップグレードしていません。私は私のwebrowserコントロールで書いているhtml/scripts/cssがすべてのIEバージョンでうまく動作していることを確認するためにはるかに多くの努力を必要としています。

私が知っているので、webrowserコントロールはmshtml.dllとshdocw.dllで構成されていますが、システムにすでにインストールされているものと競合することなくバインドする方法はわかりません。

もしそうでなければ、私はWebKitと一緒に行くつもりです。

答えて

1

いいえ、それほど簡単ではありません。 IEのブラウザはシステムに緊密に結びついているため、インストールされているバージョンは1つだけです。

異なるバージョンのdll:sを使用できるようにするには、dllをロードするときにシステム自体をインターセプトする必要があります。 IEのいくつかのバージョンを同時に動かすことができるように、これを行うアプリケーションがいくつかありますが、これは部分的にしか機能しません。ブラウザーにはまだ正しく機能しない機能がいくつかあります。

+0

正しい。これらのDLLの再配布はサポートされていないか、(合法的に)許可されていません。 – EricLaw

+0

私は、WebKitまたはFirefoxのような別の方法を試してみます。経験から、IEのすべてのバージョンをサポートしていて、各修正プログラムがIE6からIE10までのすべてを実行している間は、地獄です。 MSがアプリケーションと一緒に望むIEエンジンがあればそれを取ることが可能になるのは大変役に立ちます。 –

関連する問題