手动将 JRE 安装到用户电脑的步骤



我目前正在处理一个jar文件,我将很快分发它。我期待着为用户分发它,而无需他安装 JRE 来运行我的应用程序。我很清楚像 Jar2Exe 这样的工具,但这些工具会向可执行文件注入一些额外的内容,我不会为此购买许可证!所以我正在研究一个解决方案。我有一个想法,所以我将用这个内容创建一个C文件(我在诞生中使用C语言的力量!

#include <stdlib.h>
int main() {
    system("java -jar test.jar");
    return 0;
}

我将把 jar 文件和上面 C 文件的编译文件和 java.exe 位于我的 JRE 安装目录中的目录放在同一个目录中,这应该可以工作,但肯定有一堆 dll java.exe依赖于它们!这些依赖项的列表将它们全部放在一个目录中并使这个想法起作用将非常有帮助:)

请注意:我不想从JAR文件创建可执行文件,我只想让用户不需要安装JRE。

编辑


我意识到上述方法不切实际,所以我将在幕后安装 JRE(我的唯一目标是用户不会发现安装过程中发生了什么)我将复制所需的文件到ProgramFiles/jre_version但除此之外我应该做什么?换句话说,JRE 安装程序在引擎盖下做什么?

你认为为什么其他公司希望你为他们的产品付钱?

提示:因为它并不容易。

关键是不仅需要您的JAR文件。您需要使代码将使用的每个和任何类都可用于您正在启动的 JVM。

你知道,正是这些商业工具支持到他们的EXE文件中的其他东西;你认为这些东西使他们的EXE文件如此大和缓慢。这就是运行Java类所需的东西...

JRE 本身就带有兆字节和兆字节的 Java 类,打包在各种 JAR 中。您正在使用的任何第三方库也是必需的。

因此,当然,当您能够找到执行代码时将加载的所有类时,您可以手动将其打包到单个 JAR 中。但如前所述:如果这是一件容易的事,那么其他人就不会有太多的商业案例。当然:一旦反思和Class.forName()开始,你就完全崩溃了。因为您根本无法预测,那么在运行时将使用哪些类。

相关内容

最新更新