I've created a JNI based application, a C++ program that calls methods in a Java class. This works great so long as jvm.dll exists in the path. I'd like to remove that restriction, and not have any dependency on jvm.dll. How can I build my application such that jvm is statically linked? My environment is VS2010, i tried changing "Code Generation: Runtime Library to Multi-Threaded (/MT)" (instead of DLL) but it was still dependent on the DLL.