2017-02-17 11 views
1

Мы повышен до последней JRE/install4j для нашего незначительного инсталлятор обновления, и мы начали получать следующее сообщение об ошибке при попытке использовать install4j API:Получение java.lang.UnsatisfiedLinkError с install4j 6.1.4 и JRE 1.8.0_121

2017-02-17 19:29:42 SEVERE: #{14} [StandardContext.loadOnStartup] Servlet [ConfigServlet] in web application [] threw load() exception 
java.lang.UnsatisfiedLinkError: com.install4j.runtime.installer.platform.win32.Common.setWindows95(Z)V 
    at com.install4j.runtime.installer.platform.win32.Common.setWindows95(Native Method) 
    at com.install4j.runtime.installer.platform.win32.Common.init(Unknown Source) 
    at com.install4j.runtime.installer.platform.win32.Misc.<clinit>(Unknown Source) 
    at com.install4j.api.windows.WinEnvVars.getenv(Unknown Source) 
    at com.install4j.runtime.installer.helper.InstallerUtil.is64BitWindows(Unknown Source) 
    at com.install4j.api.Util.is64BitWindows(Unknown Source) 
... 

мы получаем ту же ошибку, когда мы пытаемся запустить деинсталлятор:

Exception: 

java.lang.UnsatisfiedLinkError: com.install4j.runtime.installer.platform.win32.Common.setWindows95(Z)V 
    at com.install4j.runtime.installer.platform.win32.Common.setWindows95(Native Method) 
    at com.install4j.runtime.installer.platform.win32.Common.init(Unknown Source) 
    at com.install4j.runtime.installer.platform.win32.Win32UserInfo.<clinit>(Unknown Source) 
    at com.install4j.runtime.installer.platform.UserInfo.isAdminGroup(Unknown Source) 
    at com.install4j.api.Util.isAdminGroup(Unknown Source) 
    at com.install4j.runtime.installer.InstallerVariables.initAdminRights(Unknown Source) 
    at com.install4j.runtime.installer.InstallerVariables.initCommandLine(Unknown Source) 
    at com.install4j.runtime.installer.Uninstaller.getScreenExecutor(Unknown Source) 
    at com.install4j.runtime.installer.Uninstaller.runInProcess(Unknown Source) 
    at com.install4j.runtime.installer.Uninstaller.main(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) 
    at com.exe4j.runtime.WinLauncher.main(Unknown Source) 
    at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source) 

Что является причиной этого?

ответ

0

Существует несоответствие между файлом JAR API (i4jruntime.jar) и собственной библиотекой (i4jinst.dll). Кажется, у вас есть старая версия i4jruntime.jar в вашем пути к классам.

+0

Интересно, что i4jinst.dll в папке .install4j, кажется, из более ранней версии, где i4jruntime.jar, по-видимому, является последней версией. Должна ли эта DLL также быть заменена во время обновления? –

+0

в котором .install4j папка? При запуске установщика обновлений эти файлы будут заменены. Стек-стек содержит методы, которые больше не находятся в текущей версии. –

+0

База установщика создана при i4j V6.0.1 SHA1 хэш файла i4jinst.dll: 03 E9 b2 04 а4 75 6b 21 0a b8 15 4a 42 72 24 16 2c 5d 5e 7e SHA1 хэш файла i4jruntime.jar: 70 d5 bb 97 29 38 12 be 53 09 66 da f0 20 46 ca 15 2d 34 4d - Незначительное обновление, созданное с использованием i4j v6.1.4 SHA1 хэш файла i4jinst.dll: 62 cd d7 fc 7d ff 20 4f 24 02 е3 5b а6 DF 47 аб f2 D9 7а 7c SHA1 хэш файла i4jruntime.jar: 70 d5 бб 97 29 38 12 53 09 будет 66 да f0 20 46 15 ча 2d 34 4d - Примечание: InstallDir/.install4j /i4jruntime.jar -> Без изменений InstallDir/.insta ll4j/i4jinst.dll -> Изменения в версии от 11/29/2016 –