ブログトップ 記事一覧 ログイン 無料ブログ開設

wave1008の日記(主にSilverlight)

はてなブログにお引っ越し。 waveさんの技術日誌
ゆとりの新シリーズ開始。 
waveさんのITナントカトレーニング教室

2008-08-13 mshtml.dllの配布に関するメモ

[]mshtml.dllの配布に関するメモ


.NETでActiveXのWebBrowserを使用したアプリを開発し、一般ユーザに配布したら、こんなエラーが出た。


System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

ファイル名 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' です。


mshtmlが見つかんないよ、ということらしい。

でも、エラーが出るPCと出ないPCがある。


ググってみると、Microsoft.mshtml.dllが必要なんだけど、これって.NET Frameworkインストールしただけではだめらしい。Windows SDKかVisual Studioインストールしたときには一緒にインストールされるそうな。確かに、開発者のPCでは配布したアプリは問題なく動いているが、テスタのPCでは動いていない。でも、Windows SDKもVisual StudioインストールしていないPCでも動くケースがある。なんでだ?と思って環境を調べてみると、Office 2007をインストールしているPCではうまく動いている。で、Office 2007をインストールしたVistaマシンのグローバルアセンブリキャッシュを確認したら、mshtmlインストール済みであった。


mshtmlって、MSからインストーラ提供されていないのか?と思い、調べてみると以下のパッケージを発見した。こいつはOfficeのプライマリ相互運用アセンブリのセットなのだが、なぜかMicrosoft.mshtml.dllが含まれている。


Office 2003 Update: Redistributable Primary Interop Assemblies is available for download

http://support.microsoft.com/kb/897646/en-us


で、問題が発生しているPCにこれをインストールしたら、うまくいった。

ただし、これってOffice 2003用なので、Office 2007には入れないほうが良いと思われる。

入れた場合どうなるかは不明だ。

なんとかリーナ

Peachy'sのメンバの「オシリーナ」て名前はどうかと思う。

Connection: close