[SOLVED] Integration Server as a Windows Service fails to start with <Can not find jvm.dll> error.


Just in case you find yourself in a new installation with a new server with an old version of an Integration Server.

In my case, Integration Server 8.0 with JVM 1.6 on Windows Server 2003.

The IS runs without problems when started as an application (Start Server menu) or from the command line (server.bat or server.exe).

However, when started as a service, it fails with the following error logged in the Windows Event Log:
"Failed to create JVM during initialization because ".

If you use Sysinternal’s Process Monitor[1], you will find ISNT searches and loads the correct jvm.dll (you might want to check [2]) but fails to find msvcr71.dll.

The reason the jvm wants this dll is still a bit of a mystery for me [3] but it seems to be a bug [4] which exists since JVM 1.6.

This dll is part of the .NET Framework, version 1.1 which is available from the Microsoft Visual C++ 2005 Redistributable Package (x86) [6].

After installation add the following to the Windows’ system PATH: %SystemRoot%\Microsoft.NET\Framework\v1.1.4322 (verify first the msvcr71.dll is present there).

Unregistering and registering the service again (from IntegrationServer\support\win32\installSvc.bat) should do it.

Good Luck.

[1] http://technet.microsoft.com/pt-pt/sysinternals/bb896645
[2] webMethods Integration Server 8.0 SP1 Win32 Fix 4 readme
[3] https://www.duckware.com/tech/java6msvcr71.html
[4] http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6509291
[5] http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History
[6] http://www.microsoft.com/en-us/download/details.aspx?id=3387

Thanks for the info…:slight_smile: