【问题标题】:How to get install4j add-on installer to find the previous installation如何获取 install4j 附加安装程序以查找以前的安装
【发布时间】:2014-02-26 16:16:21
【问题描述】:

如果安装在非标准位置,我的附加安装程序无法在“欢迎”屏幕上找到以前的安装。为了解决这个问题,我运行了一个预激活脚本来通过 id 查找位置并设置安装目录变量。显着代码:

ApplicationRegistry.ApplicationInfo[] applicationInfos = ApplicationRegistry.getApplicationInfoById(appid);

File dir = applicationInfos[0].getInstallationDirectory();

context.setInstallationDirectory(dir);

这适用于 Linux(欢迎屏幕提示确认更新),但不适用于 Windows(显示惯用的欢迎屏幕)。在 Windows 上,随后的屏幕会提示正确的目录,该目录与注册表中的内容相匹配。

那么,这是在 install4j 版本 5.1.6 中执行此操作的正确方法吗?

感谢您的帮助!

【问题讨论】:

  • 附加安装程序不需要此脚本。你确定你在Installer->Update options上的设置是正确的,尤其是主产品的应用ID?
  • 在 Linux-64 和 Windows-64 上,我发现如果没有此脚本,当应用程序安装在默认位置以外的任何位置(指定在配置媒体文件下)。我确定应用程序 ID 是正确的,因为我使用 String appid = (String)context.getAddOnApplicationId() 查找 appid 并且脚本返回了正确的目录。感谢您的帮助!
  • 所以问题只是欢迎屏幕吗?对于附加安装程序,不应选择该屏幕的“更新安装警报”属性。
  • 是的,问题只是欢迎屏幕,仅在 Windows 上,并且仅针对非标准安装位置。如果我取消选择“更新安装警报”,那么欢迎屏幕不会提示 Linux 或 Windows 上的更新。选择此警报后,会提示在 Linux 上进行更新,而不是在 Windows 上。我更愿意显示警报,因为对话框中没有指示用户正在进行更新,而不是重新安装。感谢您的建议。
  • 谢谢,我知道了。如果您想要修复此问题的临时版本,请联系 support@ej-technologies.com。否则,您可以将“欢迎”屏幕与您自己的表单屏幕交换。附加安装程序将始终安装到现有安装中,否则它只是一个消息对话框。

标签: install4j


【解决方案1】:

这是一个将在 5.1.11 中修复的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    相关资源
    最近更新 更多