使用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);
这似乎不起作用。升级仅在我关闭我不想要的应用程序时才有效。
答案 0 :(得分:0)
使用Install4j我试图在不关闭正在升级的应用程序的情况下进行静默升级。
这是不可能的,在Windows JAR文件和可执行文件中,如果正在运行的可执行文件正在使用它们,则无法覆盖它们。
在更新程序中,您需要在新安装程序启动之前执行“关闭调用启动程序”操作。您可能已从默认配置中删除了该操作。然后,新安装程序可以通过“完成”屏幕上的“执行启动器”操作自动重启应用程序。