如何从Java应用程序指定updater目录?

时间:2017-04-07 20:59:07

标签: install4j

我正在尝试使用没有版本检查的更新程序来关闭调用启动程序。我在我的代码中包含以下内容以启动更新程序:

ApplicationLauncher.launchApplication("368", null, false, null);

我在执行此行时遇到错误,无法找到i4jparams.conf文件。它显然在与启动器相同的目录中查找文件,但该文件实际上位于.install4j(默认)子目录中。 updater应用程序也在此目录中。

直接调用更新程序时它正在工作:

Process process = new ProcessBuilder(".\\.install4j\\updater.exe").start();

不幸的是,这种方法不允许更新程序在忙于安装新应用程序时关闭调用启动程序。

我显然需要告诉ApplicationLauncher.launchApplication.launch4j目录中查找更新程序,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

  

显然,在与启动器`

相同的目录中查找该文件

不,事实并非如此。实际的机制是使用JAR文件和运行时类所在的目录。如果您自己将i4jruntime.jar放入类路径,那么它可能会使用错误的目录。

答案 1 :(得分:0)

如果要从GUI中排除Install4j运行时库,请按以下步骤操作: enter image description here