简体   繁体   English

install4j - jre.bundle 未更新

[英]install4j - jre.bundle is not updated

I'm using install4j 5.1.15 and I have installer for Mac OS and Windows 64-bit with bundled JRE 7. Installation/Update of my app works without problems with this installer.我正在使用 install4j 5.1.15 并且我有 Mac OS 和 Windows 64 位的安装程序,捆绑了 JRE 7。我的应用程序的安装/更新在这个安装程序上没有问题。

Now I need to upgrade bundled JRE (installed inside /Applications/MyApp/.install4j/jre.bundle ) from 7 to 8. I built new installer with JRE 8 (and with checked option Update bundled JRE in the configuration of my update action).现在我需要将捆绑的 JRE(安装在/Applications/MyApp/.install4j/jre.bundle )从 7 升级到 8。我使用 JRE 8 构建了新的安装程序(并在我的更新操作的配置中选中了Update bundled JRE选项) .

Problem: JRE 8 is installed when I do a clean installation, but when I'm trying to update existing installation then existing JRE 7 is not updated to JRE 8. Other files are updated correctly.问题:当我进行全新安装时会安装 JRE 8,但是当我尝试更新现有安装时,现有 JRE 7 未更新为 JRE 8。其他文件已正确更新。 The same behaviour is on Mac OS and also Windows 64-bit.在 Mac OS 和 Windows 64 位上也有相同的行为。 Also I don't see any warnings/errors in a log file.此外,我在日志文件中没有看到任何警告/错误。 It is a bug or I missed something?这是一个错误还是我错过了什么?

EDIT : There is no message about updating JRE files in installation.log , even when updateBundledJre: true :编辑:即使updateBundledJre: true ,也没有关于在installation.log更新 JRE 文件的消息:

[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

I tried to change value of installRuntime property to true and it resolved my problem.我试图将installRuntime属性的值更改为true并解决了我的问题。 During update process current JRE is moved to folder /Applications/MyApp/.install4j/__i4j_jre_backup and new JRE is installed correctly.在更新过程中,当前 JRE 移动到文件夹/Applications/MyApp/.install4j/__i4j_jre_backup并正确安装新的 JRE。 It works for Mac OS and also Windows now.它现在适用于 Mac OS 和 Windows。

installation.log : 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM