Unable to load .dll – error code 126 and error code 193

Tonight I looked into one bug. The JNI program is not able to load jvm.dll. It returned error code 126.

With the help of Process Monitor (oh a very awesome tool, https://technet.microsoft.com/en-us/sysinternals/bb896645), I found it is due to missing msvcr100.dll under c:\windows\systems32 on one of my machines.

I copied one from machine a to there but it complaint with a new error code 193.

It is because I copied a x64 .dll to my x32 machine.

So the debug steps for this kind of issue is,
1. use process monitor to find out what happens while it tries to load your .dll
2. copy the missing dll to your windows\systems32