人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DLL(MSJAVA.dll)の依存関係でエラー

WindowsXP/VisualStudio2008環境で作成したソフト(EXE/DLL)を
Windows2003Server環境で動作させようとした場合、
エラーとなり起動しません。

ツールDependencyWalkerにて調査したところ、
作成したDLLの依存関係に問題があるようでした。

?Windows2003サーバーでの依存関係
自作DLL → ?中略? → MSHTML.dll → MSJAVA.dll
===> MSJAVA.dllがPC内に存在しないため、エラーとなる。

?WindowsXPでの依存関係
自作DLL → ?中略? → MSHTML.dll
===> PC内にMSHTML.dllは存在しないが、そもそもMSHTML.dllからMSJAVA.dllが
コールされていないため、問題ない。

ちなみに?のMSHTML.dllのバージョンは、6.0.3790.1830
?のMSHTML.dllのバージョンは、8.0.6001.19120でした。

回避策をご教授ください。

●質問者: tomato_bank
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●1ポイント

MSHTML.dllを使用しないようにして コンパイルすればいいかと思います。

MSHTML.dll自体は なくても動くようなので、不要なものです。

それを参照しないようにすればいいのでは ないでしょうか?


http://support.microsoft.com/kb/917425/ja


2 ● じゅぴたー
●1ポイント

プログラムの概要が分からないのですが、IEを操作するためにMicrosoft.mshtml.dllを利用しているのでしょうか? だとすると、Officeがインストールされている必要があります。(WindowsXP側にはOfficeがインストールされているのではありませんか?)


回避策としては、Microsoft.mshtml.dllの代わりに Type.InvokeMemberメソッドを利用して操作する方法に変更してはどうでしょう。

http://d.hatena.ne.jp/mikihiro/20110717/p1


3 ● cx20
●198ポイント ベストアンサー

Dependency Walker の表示結果で、対象モジュールの直近の依存関係(ツリーのルート直下)に「?」マークがあるようであれば、先に、それについて調査してください。

例えば「MSVCRxx.dll」のようなファイルが「?」マークで表示される場合は、VC++ のランタイムが無いケースが考えられます。

■ 再配布する DLL の決定

http://msdn.microsoft.com/ja-jp/library/8kche8ah(VS.90).aspx

■ ダウンロード詳細 Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2

また、「?」マークがついていても、エラーにならないケースもあります。

注意深く見ると「?」マークの左に「砂時計」のアイコンが表示されているものがあるかと思いますが、これは、DLL の遅延ロード(Delay Load)を表しているものになります。

■ リンカーによる DLL の遅延読み込み

http://msdn.microsoft.com/ja-jp/library/151kt790.aspx

この遅延ロードの指定がある場合は、実際に、DLL 内の関数が呼ばれたタイミングで、ロードされる為、その関数が使われていなければ、DLL 自体、ロードされません。


恐らく、MSJAVA.DLL も「砂時計」マークがついているのでは?と思います。

Dependency Walker の FAQ にも MSJAVA.DLL が黄色く表示されるが無視できると記載されているので、無視して構わないかと思います。

■ Dependency Walker Frequently Asked Questions (FAQ)

http://www.dependencywalker.com/faq.html

(残念ながら、2011.9.13 現在では、サイトが表示できないようです。)

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ