WindowsでJava6でTomcat起動エラー(サービス起動)

をそれぞれインストールして、Tomcatをサービス起動しようとしたらエラー発生。

[info] Procrun (2.0.3.0) started
[info] Running Service...
[info] Starting service...
[174  javajni.c] [error] 指定されたモジュールが見つかりません。
[986  prunsrv.c] [error] Failed creating java C:\Program Files\Java\jdk1.6.0_05\jre\bin\client\jvm.dll
[1260 prunsrv.c] [error] ServiceStart returned 1
[info] Run service finished.
[info] Procrun finished.

どうやらこの問題はJava6の時に起こるようです。


JavaのDeveloper Forumsに同様の投稿があり、解決策も載っていました。


http://forum.java.sun.com/thread.jspa?threadID=5121172
のまんなかあたり。
irek_mさんの投稿。

Re: Can't register Tomcat as Windows service on some computers, under Java6
Feb 12, 2007 5:46 AM (reply 4 of 20)


After a few months I've found solution of this problem:
When I run tomcat5.exe under Sysinternals File Monitor, I see that Tomcat can't find msvcr71.dll. Some computers have it, and some not. When I copy this file to /system32 directory, everything works well.
Probably some part of JRE 1.6 uses this DLL, but it isn't included in JRE installation package.


Tomcatがmsvcr71.dllを見つけられなくて起動できない。
msvcr71.dllをWindowsのsystem32フォルダにコピーするとうまくいった。
このDLLを、JRE1.6で使用するやつがいるらしい。けど、インストールパッケージではよろしくやってくれない。


ということで、JavaJDKなりJREなり)をインストールしたフォルダを検索するとmsvcr71.dllが何個か見つかります。
多分どれでも大丈夫なので、それをsystem32フォルダにコピーしたら、無事Tomcatが起動しました。