我正在使用 javafx-maven-plugin 将我的应用程序打包成 exe。x64 版本运行良好。但是后来我在 32 位 Windows 7 上(如果这很重要,在 VirtualBox 中运行)上使用 32 位 JDK 1.8.0_161 和 32 位 Maven 打包 x86 版本。生成的应用程序安装,但无法运行,声称 MSVCR100.dll 丢失,即使它位于 runtime\bin 文件夹中。我四处搜索,发现这是一个 JDK 错误,据说早在 u40 中就已修复。那么为什么还会发生这种情况呢?如果我在 .exe 旁边手动复制该 dll,它会在一台机器上启动(再次在 VirtualBox 中),但由于某种原因在另一台机器上静默崩溃(这次是真正的,全新安装)。找到一个相同的javafx-gradle-plugin 问题中的问题,虽然它在构建最新的 Win10 版本时得到了解决,而我正在构建最新的 Win7。
如果我只是安装 Microsoft Visual C++ 2010 Redistributable Package,那么显然一切正常,但我不希望用户必须这样做。那么如何使用 Inno Setup 脚本复制 .dll 以及如何找出静默崩溃背后的原因?