Documentation Contents
Java Platform, Standard Edition Troubleshooting Guide
Contents    Previous    Next

5.3 Microsoft Visual C++ Version Considerations

5.3.1 JNI Libraries Compiled with Different Microsoft Visual Studio Version

Use the java command option -Xinternalversion to determine which version of Microsoft Visual Studio built the JDK. This version may vary depending on the JDK release.

If you experience a crash with a Java application and if you have native or JNI libraries that are compiled with a different release of the compiler, then you must consider compatibility issues between the runtimes. Specifically, your environment is supported only if you follow the Microsoft guidelines when dealing with multiple runtimes. For example, if you allocate memory using one runtime, then you must release it using the same runtime. Unpredictable behavior or crashes can arise if you release a resource using a different library than the one that allocated the resource.

5.3.2 Microsoft C Runtime Library (MSVCR) Issues

JDK and JRE releases prior to 8u261 use and ship the Microsoft Visual C++ 2010 SP1 Redistributable Package (x86/x64), which includes MSVCR100.dll. Later releases of the JDK and JRE are built with a later version of Microsoft Visual Studio. Consequently, they use a different set of libraries and DLLs.

Native applications that depended on and assumed the presence of MSCVR100.dll in the JDK or JRE directory will fail to run. When this happens, users will see an error such as:

The code execution cannot proceed because MSVCR100.dll was not found. Reinstalling the program may fix this problem.

Rebuild these applications and ship them with modern C++ runtime dependencies that use a later instance of Visual Studio. Ensure your applications don't depend on third-party DLLs included with the JDK or JRE that are not part of the JDK or JRE itself.

For more information, see The latest supported Visual C++ downloads and Products Ending Support in 2020 from Microsoft Docs.

Contents    Previous    Next

Oracle and/or its affiliates Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Contact Us