Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8250873

The WinAppBundler in fxpackager fails to search for old version of MS VC Runtime

XMLWordPrintable

    • x86
    • windows_2008

      ADDITIONAL SYSTEM INFORMATION :
      Windows Server 2008 R2
      MSVCR100.dll
      JavaFX 8u202

      A DESCRIPTION OF THE PROBLEM :
      We build OpenJFX with the latest u202 code. However, when using the artifacts to create JFX project, fxpackager failed find VC Runtime when it actually has msvcr100.dll on the machine and showed the following error:

          Bundler Windows Application Image failed because of java.lang.RuntimeException: Not found MSVC dlls
          Bundler EXE Installer failed because of java.lang.RuntimeException: Not found MSVC dlls

      We looked into the code and found out that the WinAppBundler class (fxpackager/src/main/java/com/oracle/tools/packager/windows/WinAppBundler.java) only looks for "vcruntimeVS_VER.dll", which only cover the runtime DLL since later VC Runtime 140. All the previous versions were called "msvcrVS_VER.dll". In order to support it working with previous versions of VC runtime, it should look for both formats.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Build JavaFX with the latest 8u202 release for Windows.
      2. Use it to package a JFX application with only MSVCR100.dll on the machine.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      It should be able to find and make use of MSVCR100.dll (and also MSVCR120.dll, MSVCR140.dll). No error should be reported.
      ACTUAL -
          Bundler Windows Application Image failed because of java.lang.RuntimeException: Not found MSVC dlls
          Bundler EXE Installer failed because of java.lang.RuntimeException: Not found MSVC dlls

      FREQUENCY : always

            Unassigned Unassigned
            tongwan Andrew Wang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: