I am packaging my app into exe with javafx-maven-plugin. x64 version works well. But then I package x86 version on 32-bit Windows 7 (running in VirtualBox if that's important) with 32-bit JDK 1.8.0_161 and 32-bit Maven. The resulting application installs, but fails to run, claiming that MSVCR100.dll is missing even though it is in the runtime\bin folder. I googled around and found out that this is a JDK bug that was supposedly fixed way back in u40. So why does this still happen? If I copy that dll manually next to the .exe it starts on one machine (again, in VirtualBox), but for some reason silently crashed on another (real one this time, fresh installation). Found an identical problem in javafx-gradle-plugin issues, though it got resolved when building on newest Win10 version, whereas I'm building on newest Win7.
If I just install Microsoft Visual C++ 2010 Redistributable Package then everything works, obviously, but I don't want user having to do that. So how do I copy .dll with Inno Setup script and how do I figure out the reason behind silent crashing?
I don't think this is related to Windows being 32 bit and it just happens to coincide with your two testing computers. I posted a question that is related here: Failed to find library: jvm.dll. What's going on here?
What you are experiencing is likely a bug on java(fx)packager as described here: https://bugs.openjdk.java.net/browse/JDK-8191176. That bug report claims the bug started on 8u155 and was solved by 8u171 but I am experiencing the bug all the way to the latest 8u172 b03 as I describe here: https://github.com/javafxports/openjdk-jfx/issues/59
I also tried going to 8u144 before the bug existed and I found that building the installer fails because of a missing MSVC dll (surprise! surprise!). I described the problem here: Where/how to get the MSVC dlls Java 1.8.0_144 wants?