summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorGabriele Santomaggio <gabriele.santomaggio@erlang-solutions.com>2016-04-27 17:49:17 +0200
committerJean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>2016-04-28 15:32:23 +0200
commit2c00a20c1253e829b0dba7fd5cb94f5698f04dd0 (patch)
tree1bbfd881b50b9f71283f96d997b82e01a3bb2b40 /packaging
parent473beb92b3bd3b22dd26b565af19a49e1151f3d9 (diff)
downloadrabbitmq-server-git-2c00a20c1253e829b0dba7fd5cb94f5698f04dd0.tar.gz
reconfigure ERLANG_HOME during the update
The `un.StrContains` macro is now useless, so we remove it. Fixes #690.
Diffstat (limited to 'packaging')
-rw-r--r--packaging/windows-exe/rabbitmq_nsi.in69
1 files changed, 6 insertions, 63 deletions
diff --git a/packaging/windows-exe/rabbitmq_nsi.in b/packaging/windows-exe/rabbitmq_nsi.in
index e66d2a99ed..4c47e86628 100644
--- a/packaging/windows-exe/rabbitmq_nsi.in
+++ b/packaging/windows-exe/rabbitmq_nsi.in
@@ -14,57 +14,6 @@
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
;--------------------------------
-; Third-party functions
-; StrContains
-; This function does a case sensitive searches for an occurrence of a substring in a string.
-; It returns the substring if it is found.
-; Otherwise it returns null("").
-; Written by kenglish_hi
-; Adapted from StrReplace written by dandaman32
-
-
-Var STR_HAYSTACK
-Var STR_NEEDLE
-Var STR_CONTAINS_VAR_1
-Var STR_CONTAINS_VAR_2
-Var STR_CONTAINS_VAR_3
-Var STR_CONTAINS_VAR_4
-Var STR_RETURN_VAR
-
-Function un.StrContains
- Exch $STR_NEEDLE
- Exch 1
- Exch $STR_HAYSTACK
- ; Uncomment to debug
- ;MessageBox MB_OK 'STR_NEEDLE = $STR_NEEDLE STR_HAYSTACK = $STR_HAYSTACK '
- StrCpy $STR_RETURN_VAR ""
- StrCpy $STR_CONTAINS_VAR_1 -1
- StrLen $STR_CONTAINS_VAR_2 $STR_NEEDLE
- StrLen $STR_CONTAINS_VAR_4 $STR_HAYSTACK
- loop:
- IntOp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_1 + 1
- StrCpy $STR_CONTAINS_VAR_3 $STR_HAYSTACK $STR_CONTAINS_VAR_2 $STR_CONTAINS_VAR_1
- StrCmp $STR_CONTAINS_VAR_3 $STR_NEEDLE found
- StrCmp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_4 done
- Goto loop
- found:
- StrCpy $STR_RETURN_VAR $STR_NEEDLE
- Goto done
- done:
- Pop $STR_NEEDLE ;Prevent "invalid opcode" errors and keep the
- Exch $STR_RETURN_VAR
-FunctionEnd
-
-!macro _un.StrContainsConstructor OUT NEEDLE HAYSTACK
- Push `${HAYSTACK}`
- Push `${NEEDLE}`
- Call un.StrContains
- Pop `${OUT}`
-!macroend
-
-!define un.StrContains '!insertmacro "_un.StrContainsConstructor"'
-
-;--------------------------------
; The name of the installer
Name "RabbitMQ Server %%VERSION%%"
@@ -214,12 +163,6 @@ LangString DESC_RabbitStartMenu ${LANG_ENGLISH} "Add some useful links to the st
Section "Uninstall"
- ; Check if reinstall will occur immediately - don't remove ERLANG_HOME
- Var /GLOBAL REINSTALLFLAG
- Var /GLOBAL ISREINSTALL
- ${GetParameters} $REINSTALLFLAG
- ${un.StrContains} $ISREINSTALL "reinstall" $REINSTALLFLAG
-
; Remove registry keys
DeleteRegKey HKLM ${uninstall}
DeleteRegKey HKLM "SOFTWARE\VMware, Inc.\RabbitMQ Server"
@@ -239,12 +182,9 @@ Section "Uninstall"
; Remove start menu items
RMDir /r "$SMPROGRAMS\RabbitMQ Server"
- ; If reinstalling immediately (e.g. program update) don't remove ERLANG_HOME environment variable
- ${If} $ISREINSTALL == ""
- DeleteRegValue ${env_hklm} ERLANG_HOME
- SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
- ${EndIf}
-
+ DeleteRegValue ${env_hklm} ERLANG_HOME
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
SectionEnd
;--------------------------------
@@ -277,6 +217,9 @@ Function .onInit
ExecWait '"$INSTDIR\uninstall.exe" /S _?=$INSTDIR'
Delete "$INSTDIR\uninstall.exe"
RMDir "$INSTDIR"
+ ; the unistaller removes the ERLANG_HOME.
+ ; called again since this is an update
+ Call findErlang
${EndIf}
FunctionEnd