「mshtml」タグアーカイブ

2004-07
31
00:00:00
.NETでのMicrosoft.mshtml.dll問題


時には技術ネタも少し書いてみよう。(と言うか、愚痴)
R1.4から投稿日記のプレビュー機能を付けましたが、これはお察しの通りIEのActiveXコンポーネント(OLE)を取り込んで表示している訳です。(.NETではWeb Browserコントロールとかとも呼ばれますが、タブ型ブラウザなんかと同じ方法ですね。)
.NET環境ではこのWeb Browserコントロール自体はかなり直感的に使用できますが、問題はmshtmlコンポーネント
Web Browserコントロール内のコンテンツにアクセスする時には普通はこれを使うことになると思います。こいつはWeb Browserコントロールとは別に参照設定しないと使えませんが、その実体になるMicrosoft.mshtml.dllアセンブリは、どうやら.NET SDKやVS.NETをインストールしないとローカルPCにはインストールされないという罠がひそんでいるようです。少なくともWindowsUpdateで.NET Frameworkをインストールしても、何故かこいつはインストールしてくれません。
つまり、開発者環境で動いても、開発環境と縁のないユーザーでは使えないことになってしまいます。
じゃあ、それも含めて配布すればいいじゃん、と思ってもそのサイズは実に7.8M!旅行びと日記みたいにせいぜい数百Kのアプリに気楽に添付できるサイズじゃないんですよねぇ。
色々検索してみたのですが、そうした話題は少ないみたいです。(海外の掲示板では時々言及されてますが)
時々問題化しているようですが、例えばfubではMicrosoft.mshtml.dllごと配布されているみたいです。
でも、mshtmlを使ったサンプルはたくさん紹介されてますが、実際に一般ユーザーへ配布する際の注意について言及したところはまだ見たことがありません。
結局は、何故CLR環境に元々含んでくれてないのか、に尽きるのですが、他の開発者の皆さんはどう解決されてるんでしょうか。
それとも僕がいい方法を何も知らないだけなのかな??うーむ。