Cockatrice/.ci
Lukas Brübach 2c8e47a0a4 [Installer] Add an Inno Setup generator next to NSIS.
COCKATRICE_WIN_INSTALLER chooses which tool writes the Windows installer.
NSIS stays the default, so nothing on the existing path changes; InnoSetup
selects CPack's own INNOSETUP generator (CMake >= 3.27) and builds from the
same install() rules. Both can be built from one tree and the resulting
installers compared on an upgrade from 3.1.x.

What the Inno path does differently:

- Installs over the previous version instead of running the old uninstaller
  first, which is what the backup/restore pair in the NSIS template exists
  to survive.
- Closes and restarts a running application through Windows Restart Manager
  (CloseApplications/RestartApplications) instead of the two PowerShell
  process guards the template needed.
- Removes stale runtime with one [InstallDelete] of *.dll and Plugins,
  instead of RetryDllPurge and its diagnostics.
- Writes a log on every run through SetupLogging, instead of CockLog.
- Resolves the install directory from the legacy NSIS registration, and
  deletes that registration after a successful install so the old
  uninstaller (whose blanket directory removal caused the 3.1.x data loss)
  cannot be run after the upgrade.
- Keeps the portable mode the client detects, the C++ runtime bootstrap and
  the /PORTABLE switch.

The in-app updater still passes the NSIS switches (/R, /PID=); the installer
logs them so the first Windows run settles whether Inno Setup accepts them or
the switch-over needs a client version gate.

The installer content check in .ci/compile.sh learns to strip Inno Setup's
{app} prefix from the paths 7-Zip lists, so the required-runtime comparison
works for either archive format.
2026-10-26 07:52:44 +01:00
..
Arch [Security] Use a CSPRNG for salts, tokens, and RNG seeding (#7192) 2026-09-04 13:49:18 +02:00
Debian12 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
Debian13 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
Fedora43 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
Fedora44 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
Servatrice_Debian12 [CI] Key the vcpkg binary cache per ABI and let pull requests heal it (#7377) 2026-10-14 08:14:16 +02:00
Ubuntu24.04 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
Ubuntu26.04 [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
compile.sh [Installer] Add an Inno Setup generator next to NSIS. 2026-10-26 07:52:44 +01:00
docker.sh [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
lint_cpp.sh CI: Print colored diff for lint check (#6975) 2026-06-08 19:19:28 +02:00
macos.entitlements Sign macOS Releases (#5396) 2025-01-09 22:32:53 -05:00
name_build.sh CI: Cleanup (#6677) 2026-03-09 21:32:47 +01:00
prep_release.sh escape ampersand (#6900) 2026-05-21 22:02:09 +02:00
release_template.md Update & add arch/platform labels in release template (#7149) 2026-08-23 12:56:00 +02:00
resolve_latest_aqt_qt_version.sh CI: Resolve to latest Qt version in range for Windows as well (#6700) 2026-03-15 17:47:48 +01:00
thin_macos_qtlib.sh ci: make fat qt libs thin (#6281) 2026-01-04 01:00:05 +01:00
update_translation_source_strings.sh make translation update script more specific in line selection (#4993) 2024-01-25 23:28:23 +01:00
update_translation_source_strings_template.md fix transifex link (#5969) 2025-06-09 02:05:24 +02:00