使用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/