Exit fast on Velopack hook args; name ZIP artifact win64-portable
release / gui-build (macos, bash) (push) Successful in 1m14s
release / gui-build (linux, bash) (push) Successful in 1m13s
release / gui-build (windows, cmd) (push) Successful in 1m39s

Velopack runs the app with --veloapp-install/-updated/-uninstall during
those operations; without fast-exit handling the full GUI booted
mid-install (also clobbering config via the first-run setup flow) and
the installer reported hook errors. The post-install launch has no hook
args and still starts the app normally.
This commit is contained in:
2026-09-22 23:28:19 +00:00
parent 59d2f157eb
commit e8d2c5773a
2 changed files with 7 additions and 0 deletions
+4
View File
@@ -978,6 +978,10 @@ def _show_fatal_error(exc: BaseException) -> None:
def gui_main() -> None:
"""Run the GUI, rendering fatal exceptions as a TraceRite HTML window."""
# Velopack runs the app with --veloapp-* hook arguments during install,
# update, and uninstall; these must exit fast instead of starting the GUI.
if any(arg.startswith("--veloapp-") for arg in sys.argv[1:]):
return
try:
winmain()
except Exception as exc:
+3
View File
@@ -338,6 +338,9 @@ def create_zip(version: str) -> Path:
raise FileNotFoundError(f"Distribution folder not found: {dist_folder}")
zip_name = f"MediaHive-{version}-{_platform_zip_suffix()}.zip"
if sys.platform == "win32":
# Distinguish from the Velopack installer (MediaHive-*-win64-setup.exe)
zip_name = zip_name.replace("-win64.zip", "-win64-portable.zip")
zip_path = repo_root / "build" / zip_name
zip_path.parent.mkdir(parents=True, exist_ok=True)