From cd6b9baa8ef9a9e97b59f347eea15f835e6cfb68 Mon Sep 17 00:00:00 2001 From: max Date: Sat, 3 Oct 2026 23:46:59 +0200 Subject: [PATCH] fix(build): protect NSIS and InnoSetup version header definitions with ifndef guards --- compilation/package_dist.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/compilation/package_dist.py b/compilation/package_dist.py index 451deba..a65b0a7 100644 --- a/compilation/package_dist.py +++ b/compilation/package_dist.py @@ -392,11 +392,24 @@ def write_version_headers(display_version, four_part_version): nsh_file = os.path.join(compilation_dir, "version.nsh") with open(nsh_file, "w", encoding="utf-8") as f: - f.write(f'; Auto-generated version header from build context\n!define APP_VERSION "{four_part_version}"\n!define DISPLAY_VERSION "{display_version}"\n') + f.write( + f"; Auto-generated version header from build context\n" + f"!ifndef APP_VERSION\n" + f' !define APP_VERSION "{four_part_version}"\n' + f"!endif\n" + f"!ifndef DISPLAY_VERSION\n" + f' !define DISPLAY_VERSION "{display_version}"\n' + f"!endif\n" + ) iss_file = os.path.join(compilation_dir, "version.iss") with open(iss_file, "w", encoding="utf-8") as f: - f.write(f'; Auto-generated version header from build context\n#define AppVersion "{display_version}"\n') + f.write( + f"; Auto-generated version header from build context\n" + f"#ifndef AppVersion\n" + f' #define AppVersion "{display_version}"\n' + f"#endif\n" + ) print(f"[+] Dynamic context version resolved: {display_version} (NSIS VIProductVersion: {four_part_version})")