【问题标题】:Problems with 32bit/64bit exe wrapper for Java on WindowsWindows 上 Java 的 32 位/64 位 exe 包装器的问题
【发布时间】:2012-08-11 02:16:16
【问题描述】:

在 winrun4j java exe 包装器的 ini 文件中,我设置 vm.version.min=1.7 以指定 Java 7 作为要求。但是当我运行它时,我无法让 winrun4j 识别出我安装了 java 7 jre,即使命令行中的 java -version 返回了它。

经过进一步调查,我意识到我的 Java 7 安装是 64 位,而我的 Java 6 安装是 32 位。然后我发现 winrun4j 有一些 64 位版本的命令(即 rcedit64),如果我构建一个 appname64.exe 而不是 appname.exe 它不再抱怨 Java 7。

  1. 所以有人可以确认这是我需要 64 位 exe 来运行 64 位 jvm 的问题
  2. 其次,如果是这种情况,我该如何向用户展示它,我将安装程序包装为 exe,这是否意味着我需要为用户提供 installer.exe 和 installer64.exe 并解释让用户选择正确的不是基于他们的处理器,而是基于他们安装的 Java 版本(32 位或 64 位)

编辑: 听起来事情就像我描述的那样,使用launch4j 可能是一个解决方案

What's the best way to start Java applications on Windows 7?

【问题讨论】:

    标签: java windows installation 64-bit winrun4j


    【解决方案1】:

    我需要一个 64 位的 exe 来运行一个 64 位的 jvm

    是的。你不能使用 32 位 exe 来运行 64 位 JVM

    其次,如果是这种情况,我该如何向用户展示它,我是 将安装程序包装为 exe...

    不要。只需为 32 位系统和 64 位系统创建安装程序。根据目标系统,相应的安装程序应该运行

    【讨论】:

    • 它是如何运行的,用户必须双击安装程序
    • 您可以提供 2 个安装程序。用户将为他的系统选择一个。当您在 PC 中安装 64 位 Java 时,您没有选择 64 位安装程序吗?
    • 你没有抓住重点,你可能有一个 64 位系统,但安装了 32 位 Java,然后使用 64 位安装程序将无法正常工作。为什么要在 64 位系统上安装 32 位 java,它可能是预装的,它可能是由另一个应用程序安装的,你可能认为它是安全的选择,因为 32 位 java 可以在 32 位和 64 位系统上运行.
    • 我认为你把事情复杂化了。我不知道你的应用程序是做什么的,但普通用户不会在他们的系统中安装不同/不同版本的 java。如果您出于某种原因不想遵循最直接 (恕我直言) 提供 2 个安装程序的方法,那么您可以尝试提供 1 个安装程序,该安装程序将携带 32x 和 64x 系统的文件。然后根据目标系统执行正确的安装
    • 这真的很简单。场景 1:用户已经安装了 Java32 位,他们下载了我的应用程序,他们知道他们有一台 64 位计算机,因此运行该安装程序并抱怨找不到 Java。场景 2:他们已经安装了 Java 64bit,他们来下载我的程序不知道 32bit/64bit 是什么,因此安装了 32bit 版本,再次抱怨找不到 Java。
    猜你喜欢
    • 2011-12-12
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2019-04-16
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多