install4j - jre.bundle 未更新
install4j - jre.bundle is not updated
我正在使用 install4j 5.1.15 并且我有 Mac OS 和 Windows 64 位的安装程序以及捆绑的 JRE 7。Installation/Update 我的应用程序使用此安装程序可以正常工作。
现在我需要将捆绑的 JRE(安装在 /Applications/MyApp/.install4j/jre.bundle
中)从 7 升级到 8。我使用 JRE 8 构建了新的安装程序(并在更新操作的配置中选中了选项 Update bundled JRE
).
问题:当我进行全新安装时,JRE 8 已安装,但当我尝试更新现有安装时,现有 JRE 7 未更新为 JRE 8。其他文件已正确更新。 Mac OS 和 Windows 64 位上的行为相同。我也没有在日志文件中看到任何 warnings/errors。这是一个错误还是我遗漏了什么?
编辑:installation.log
中没有关于更新 JRE 文件的消息,即使 updateBundledJre: true
:
[INFO] com.install4j.runtime.beans.actions.InstallFilesAction [ID 767]: Execute action
Property sizeCalculatorScript: null
Property installRuntime: false
Property saveDownloadedFiles: false
Property updateBundledJre: true
Property checkFreeSpace: true
Property validateApplicationId: false
Property delay: false
Property triggerReboot: true
Property directoryResolverScript: null
Property fileFilterScript: null
Property showFileNames: true
Property rollbackSupported: true
Install file: /Applications/MyApp/my-file.tmp; size: 245 bytes; exists: true
Execute action successful after 5650 ms
我尝试将 installRuntime
属性 的值更改为 true
,它解决了我的问题。在更新过程中,当前的 JRE 被移动到文件夹 /Applications/MyApp/.install4j/__i4j_jre_backup
并且新的 JRE 被正确安装。它现在适用于 Mac OS 和 Windows。
installation.log
:
[INFO] com.install4j.runtime.beans.actions.InstallFilesAction [ID 767]: Execute action
Property sizeCalculatorScript: null
Property installRuntime: true
Property saveDownloadedFiles: false
Property updateBundledJre: true
Property checkFreeSpace: true
Property validateApplicationId: false
Property delay: false
Property triggerReboot: true
Property directoryResolverScript: null
Property fileFilterScript: null
Property showFileNames: true
Property rollbackSupported: true
Install file:
Install file: /Applications/MyApp/my-file.tmp; size: 245 bytes; exists: true
Install file: /Applications/MyApp/.install4j/jre.bundle/Contents/Home/jre/bin/java; size: 103632 bytes; exists: false
File options set to: [fileTime: Wed Jul 29 12:34:46 CEST 2015, mode: 644, overwriteMode: Always ask except for update, shared: false, uninstallMode: If created, but not for update, delayIfNecessary: false]
...
Execute action successful after 12345 ms
我正在使用 install4j 5.1.15 并且我有 Mac OS 和 Windows 64 位的安装程序以及捆绑的 JRE 7。Installation/Update 我的应用程序使用此安装程序可以正常工作。
现在我需要将捆绑的 JRE(安装在 /Applications/MyApp/.install4j/jre.bundle
中)从 7 升级到 8。我使用 JRE 8 构建了新的安装程序(并在更新操作的配置中选中了选项 Update bundled JRE
).
问题:当我进行全新安装时,JRE 8 已安装,但当我尝试更新现有安装时,现有 JRE 7 未更新为 JRE 8。其他文件已正确更新。 Mac OS 和 Windows 64 位上的行为相同。我也没有在日志文件中看到任何 warnings/errors。这是一个错误还是我遗漏了什么?
编辑:installation.log
中没有关于更新 JRE 文件的消息,即使 updateBundledJre: true
:
[INFO] com.install4j.runtime.beans.actions.InstallFilesAction [ID 767]: Execute action
Property sizeCalculatorScript: null
Property installRuntime: false
Property saveDownloadedFiles: false
Property updateBundledJre: true
Property checkFreeSpace: true
Property validateApplicationId: false
Property delay: false
Property triggerReboot: true
Property directoryResolverScript: null
Property fileFilterScript: null
Property showFileNames: true
Property rollbackSupported: true
Install file: /Applications/MyApp/my-file.tmp; size: 245 bytes; exists: true
Execute action successful after 5650 ms
我尝试将 installRuntime
属性 的值更改为 true
,它解决了我的问题。在更新过程中,当前的 JRE 被移动到文件夹 /Applications/MyApp/.install4j/__i4j_jre_backup
并且新的 JRE 被正确安装。它现在适用于 Mac OS 和 Windows。
installation.log
:
[INFO] com.install4j.runtime.beans.actions.InstallFilesAction [ID 767]: Execute action
Property sizeCalculatorScript: null
Property installRuntime: true
Property saveDownloadedFiles: false
Property updateBundledJre: true
Property checkFreeSpace: true
Property validateApplicationId: false
Property delay: false
Property triggerReboot: true
Property directoryResolverScript: null
Property fileFilterScript: null
Property showFileNames: true
Property rollbackSupported: true
Install file:
Install file: /Applications/MyApp/my-file.tmp; size: 245 bytes; exists: true
Install file: /Applications/MyApp/.install4j/jre.bundle/Contents/Home/jre/bin/java; size: 103632 bytes; exists: false
File options set to: [fileTime: Wed Jul 29 12:34:46 CEST 2015, mode: 644, overwriteMode: Always ask except for update, shared: false, uninstallMode: If created, but not for update, delayIfNecessary: false]
...
Execute action successful after 12345 ms