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

openSUSE Build Service is sponsored by