java - Install4j静默升级,无需关闭正在运行的应用程序

标签 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);

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

最佳答案

With Install4j I am trying to do a silent upgrade without shutting down the app it is upgrading.

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

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

关于java - Install4j静默升级,无需关闭正在运行的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41965438/

相关文章:

Java:在访问非同步类的多个线程之间创建一个中间人类?

java - 使用 Jetty AsyncProxyServlet 流式传输 HTTP 响应

java - 无法创建 map 的 map

linux - install4j - 单击超链接,网络浏览器无法打开

install4j - 更改默认安装位置并在 Install4j 中创建桌面快捷方式链接

install4j - 更改安装程序介绍图片

java - Install4j:将 AbstractInstallAction 类扩展为另一个抽象类并实现它

java - Java MicroEdition 中的 XML 数据绑定(bind)

java - 尝试验证字符串输入时陷入 while 循环

install4j - 如何执行自定义代码中添加的自定义类