Install4j静默升级而不关闭运行的应用程序

时间:2017-01-31 18:59:41

标签: java install4j

使用Install4j我试图在不关闭正在升级的应用程序的情况下进行静默升级。我收到以下错误"应用程序正在运行。请关闭所有实例并再次运行此安装程序。"有没有办法解决。我使用以下代码从我的代码中调用安装程序

String [] args = new String[1];
args[0] = "-q";
ApplicationLauncher.launchApplicationInProcess("6661", args, new ApplicationLauncher.Callback() {
                    @Override
                    public void exited(int i) {
                        logger.info("The installer exited");
                    }

                    @Override
                    public void prepareShutdown() {
                        logger.info("Calling the prepareShutowon fuction");
                    }
                }, ApplicationLauncher.WindowMode.DIALOG, null);

这似乎不起作用。升级仅在我关闭我不想要的应用程序时才有效。

1 个答案:

答案 0 :(得分:0)

  

使用Install4j我试图在不关闭正在升级的应用程序的情况下进行静默升级。

这是不可能的,在Windows JAR文件和可执行文件中,如果正在运行的可执行文件正在使用它们,则无法覆盖它们。

在更新程序中,您需要在新安装程序启动之前执行“关闭调用启动程序”操作。您可能已从默认配置中删除了该操作。然后,新安装程序可以通过“完成”屏幕上的“执行启动器”操作自动重启应用程序。