From ac1fcf821d6d0a5ab4d4916d7789bea6b4187099 Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 28 Feb 2024 12:30:22 +0000 Subject: [PATCH] Rework windows updater to fix issues --- app/src/main/java/io/xpipe/app/update/AppInstaller.java | 8 ++++++-- .../java/io/xpipe/app/update/UpdateChangelogAlert.java | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/update/AppInstaller.java b/app/src/main/java/io/xpipe/app/update/AppInstaller.java index 521cf41e..6d817c06 100644 --- a/app/src/main/java/io/xpipe/app/update/AppInstaller.java +++ b/app/src/main/java/io/xpipe/app/update/AppInstaller.java @@ -73,12 +73,16 @@ public class AppInstaller { shellProcessControl, String.format( """ + echo Installing %s ... cd /D "%%HOMEDRIVE%%%%HOMEPATH%%" + echo + msiexec /i "%s" /lv "%s" /qr start "" /wait msiexec /i "%s" /lv "%s" /qr + echo Starting XPipe ... + echo + "%s" start "" "%s" """, - file, logFile, exec)); - shellProcessControl.executeSimpleCommand("start \"XPipe Updater\" /min cmd /c \"" + script + "\""); + file, file, logFile, file, logFile, exec, exec)); + TerminalLauncher.openDirect("XPipe Updater", LocalShell.getShell(), script); } @Override diff --git a/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java b/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java index f33fcbf3..16c34f16 100644 --- a/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java +++ b/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java @@ -9,6 +9,7 @@ import javafx.scene.control.Alert; import javafx.scene.control.ButtonBar; import javafx.scene.control.ButtonType; import javafx.stage.Modality; +import javafx.stage.Stage; public class UpdateChangelogAlert { @@ -48,6 +49,7 @@ public class UpdateChangelogAlert { alert.getDialogPane().setContent(markdown); alert.getButtonTypes().add(new ButtonType(AppI18n.get("gotIt"), ButtonBar.ButtonData.OK_DONE)); + ((Stage) alert.getDialogPane().getScene().getWindow()).setAlwaysOnTop(true); }, r -> r.filter(b -> b.getButtonData().isDefaultButton()).ifPresent(t -> {})); }