File 4112-Limits-NSIS-versions.patch of Package erlang
From eec542d08b81f32a7900fe3bb724c603648452f8 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Mon, 30 Jan 2023 15:03:08 +0100
Subject: [PATCH 2/5] Limits NSIS versions
We use ExecShellWait.
NSIS v3.02 added basic support for ExecShellWait.
---
erts/etc/win32/nsis/Makefile | 4 ++--
erts/etc/win32/nsis/erlang20.nsi | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/erts/etc/win32/nsis/Makefile b/erts/etc/win32/nsis/Makefile
index a0c21a5f5d..2c60bedfa9 100644
--- a/erts/etc/win32/nsis/Makefile
+++ b/erts/etc/win32/nsis/Makefile
@@ -71,9 +71,9 @@ REDIST_DLL_NAME=$(shell (sh ./dll_version_helper.sh -n "$(NICEREDISTFILE)" || ec
release_spec:
@NSIS_VER=`makensis.exe -version`; \
case $$NSIS_VER in \
- v2.0b*) \
+ v2.* | v3.0 | v3.01) \
echo "Unsupported NSIS version: $$NSIS_VER";;\
- v2.* | v3.*) \
+ v3.*) \
echo '!define OTP_VERSION "$(SYSTEM_VSN)"' > $(VERSION_HEADER);\
echo '!define OTP_RELEASE_VERSION "$(OTP_VERSION)"' >> $(VERSION_HEADER);\
echo '!define ERTS_VERSION "$(VSN)"' >> $(VERSION_HEADER);\
diff --git a/erts/etc/win32/nsis/erlang20.nsi b/erts/etc/win32/nsis/erlang20.nsi
index 286362167b..56928dd810 100644
--- a/erts/etc/win32/nsis/erlang20.nsi
+++ b/erts/etc/win32/nsis/erlang20.nsi
@@ -161,7 +161,6 @@ SectionIn 1 RO
; Don't let Users nor Authenticated Users group create new files
; Avoid dll injection when installing to non /Program Files/ dirs
- StrCmp $INSTDIR $InstallDir cp_files
; Remove ANY inherited access control
ExecShellWait "open" "$SYSDIR\icacls.exe" '"$INSTDIR" /inheritance:r' SW_HIDE
; Grant Admin full control
@@ -169,7 +168,6 @@ SectionIn 1 RO
; Grant Normal Users read+execute control
ExecShellWait "open" "$SYSDIR\icacls.exe" '"$INSTDIR" /grant:r *S-1-1-0:(OI)(CI)RX' SW_HIDE
-cp_files:
File "${TESTROOT}\Install.ini"
File "${TESTROOT}\Install.exe"
SetOutPath "$INSTDIR\releases"
--
2.35.3