File 3821-Update-Install-Location-and-Registry-Keys.patch of Package erlang
From a72b366487b546d8a8e625014d8783a58d7b2709 Mon Sep 17 00:00:00 2001
From: Kaleb Luedtke <trenlymc@gmail.com>
Date: Thu, 16 Dec 2021 20:36:46 -0600
Subject: [PATCH] Update Install Location and Registry Keys
---
erts/etc/win32/nsis/erlang20.nsi | 54 +++++++++++++++++++-------------
lib/tools/emacs/README | 8 ++---
2 files changed, 37 insertions(+), 25 deletions(-)
diff --git a/erts/etc/win32/nsis/erlang20.nsi b/erts/etc/win32/nsis/erlang20.nsi
index d60b14cdf1..ae933f59af 100644
--- a/erts/etc/win32/nsis/erlang20.nsi
+++ b/erts/etc/win32/nsis/erlang20.nsi
@@ -56,9 +56,9 @@ Var STARTMENU_FOLDER
;Folder selection page
!if ${WINTYPE} == "win64"
- InstallDir "$PROGRAMFILES64\erl${ERTS_VERSION}"
+ InstallDir "$PROGRAMFILES64\Erlang OTP"
!else
- InstallDir "$PROGRAMFILES\erl${ERTS_VERSION}"
+ InstallDir "$PROGRAMFILES\Erlang OTP"
!endif
;Remember install folder
InstallDirRegKey HKLM "SOFTWARE\Ericsson\Erlang\${ERTS_VERSION}" ""
@@ -144,18 +144,18 @@ SubSection /e "Erlang" SecErlang
Section "Development" SecErlangDev
SectionIn 1 RO
-
+
SetOutPath "$INSTDIR"
-
-; Don't let Users nor Authenticated Users group create new files
-; Avoid dll injection when installing to non /Program Files/ dirs
-
+
+; 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
+ ; Remove ANY inherited access control
ExecShellWait "open" "$SYSDIR\icacls.exe" '"$INSTDIR" /inheritance:r' SW_HIDE
- ; Grant Admin full control
+ ; Grant Admin full control
ExecShellWait "open" "$SYSDIR\icacls.exe" '"$INSTDIR" /grant:r *S-1-5-32-544:(OI)(CI)F' SW_HIDE
- ; Grant Normal Users read+execute control
+ ; 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:
@@ -214,22 +214,28 @@ done_startmenu:
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"DisplayName" "Erlang OTP ${OTP_RELEASE_VERSION} (${ERTS_VERSION})"
+ WriteRegStr HKLM \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
+ "DisplayVersion" "${OTP_RELEASE_VERSION}"
+ WriteRegStr HKLM \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
+ "Publisher" "Ericsson AB"
WriteRegStr HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegDWORD HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"NoModify" 1
WriteRegDWORD HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"NoRepair" 1
; Check that the registry could be written, we only check one key,
; but it should be sufficient...
ReadRegStr $MYTEMP HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"NoRepair"
StrCmp $MYTEMP "" 0 done
@@ -238,16 +244,22 @@ done_startmenu:
; do the things below...
WriteRegStr HKCU \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"DisplayName" "Erlang OTP ${OTP_RELEASE_VERSION} (${ERTS_VERSION})"
+ WriteRegStr HKCU \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
+ "DisplayVersion" "${OTP_RELEASE_VERSION}"
+ WriteRegStr HKCU \
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
+ "Publisher" "Ericsson AB"
WriteRegStr HKCU \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegDWORD HKCU \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"NoModify" 1
WriteRegDWORD HKCU \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})" \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP" \
"NoRepair" 1
done:
@@ -464,9 +476,9 @@ noshortcuts:
DeleteRegKey /ifempty HKLM "SOFTWARE\Ericsson\Erlang\${ERTS_VERSION}"
DeleteRegKey /ifempty HKCU "SOFTWARE\Ericsson\Erlang\${ERTS_VERSION}"
DeleteRegKey HKLM \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})"
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP"
DeleteRegKey HKCU \
- "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP ${OTP_VERSION} (${ERTS_VERSION})"
+ "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Erlang OTP"
; Now remove shell/file associations we'we made...
diff --git a/lib/tools/emacs/README b/lib/tools/emacs/README
index cc107dcd41..8916e65250 100644
--- a/lib/tools/emacs/README
+++ b/lib/tools/emacs/README
@@ -34,13 +34,13 @@ variable. If HOME is not set, Emacs will look for the .emacs file in
C:\.
Below is a complete example of what should be added to a user's .emacs
-provided that OTP is installed in the directory C:\Program
-Files\erl-<Ver>:
+provided that OTP is installed in the directory "C:\Program
+Files\Erlang OTP":
(setq load-path (cons "C:/Program Files/erl<Ver>/lib/tools-<ToolsVer>/emacs"
load-path))
- (setq erlang-root-dir "C:/Program Files/erl<Ver>")
- (setq exec-path (cons "C:/Program Files/erl<Ver>/bin" exec-path))
+ (setq erlang-root-dir "C:/Program Files/Erlang OTP")
+ (setq exec-path (cons "C:/Program Files/Erlang OTP/bin" exec-path))
(require 'erlang-start)
--
2.34.1