diff --git a/Installation/Windows/Templates/NSIS.template.in b/Installation/Windows/Templates/NSIS.template.in index 9559e7ab98..8b953c8bcf 100755 --- a/Installation/Windows/Templates/NSIS.template.in +++ b/Installation/Windows/Templates/NSIS.template.in @@ -1262,9 +1262,10 @@ Section "Uninstall" SimpleSC::GetServiceBinaryPath '${TRI_SVC_NAME}' Pop $0 ; returns an errorcode (<>0) otherwise success (0) Pop $1 ; returns the binary path of the service - ; $1 should contain '"$INSTDIR/${SBIN_DIR}/arangod.exe" --start-service' - if $INSTDIR is equal + ; $1 should contain '"$INSTDIR\${SBIN_DIR}\arangod.exe" --start-service' - if $INSTDIR is equal ; to our $INSTDIR uninstall the service - else its another installation and we jump to Done instead. - StrCmp $1 '"$INSTDIR/${SBIN_DIR}/arangod.exe" --start-service' '' Done + ; MessageBox MB_OK ' current service: $1 ---- "$INSTDIR\${SBIN_DIR}\arangod.exe"' + StrCmp $1 '"$INSTDIR\${SBIN_DIR}\arangod.exe" --start-service' '' Done DetailPrint 'Shutting down Service' SimpleSC::StopService '${TRI_SVC_NAME}' 0 30 Call un.WaitForServiceDown @@ -1379,43 +1380,44 @@ var CMDINSTDIR Function .onInit ${GetParameters} $R0 ClearErrors - ${GetOptions} $R0 "/PASSWORD=" $PASSWORD + ${GetOptions} $R0 "/PASSWORD=" $PASSWORD IfErrors 0 +2 - StrCpy $PASSWORD "" - + ReadEnvStr $PASSWORD PASSWORD + + # we only want to manipulate INSTDIR here if /INSTDIR is realy set! ${GetParameters} $R0 ClearErrors - ${GetOptions} $R0 "/INSTDIR=" $CMDINSTDIR + ${GetOptions} $R0 "/INSTDIR=" $CMDINSTDIR IfErrors +2 0 StrCpy $INSTDIR "$CMDINSTDIR" + ${GetParameters} $R0 + ClearErrors + ${GetOptions} $R0 "/STORAGE_ENGINE=" $STORAGE_ENGINE + IfErrors 0 +2 + StrCpy $STORAGE_ENGINE "auto" + ${GetParameters} $R0 - ${GetOptions} $R0 "/DESKTOPICON=" $INSTALL_DESKTOP + ${GetOptions} $R0 "/DESKTOPICON=" $INSTALL_DESKTOP IfErrors 0 +2 StrCpy $INSTALL_DESKTOP "1" ${GetParameters} $R0 ClearErrors - ${GetOptions} $R0 "/NOPATH=" $DO_NOT_ADD_TO_PATH + ${GetOptions} $R0 "/NOPATH=" $DO_NOT_ADD_TO_PATH IfErrors 0 +2 StrCpy $DO_NOT_ADD_TO_PATH "0" ${GetParameters} $R0 ClearErrors - ${GetOptions} $R0 "/ALLPATH=" $ADD_TO_PATH_ALL_USERS + ${GetOptions} $R0 "/ALLPATH=" $ADD_TO_PATH_ALL_USERS IfErrors 0 +2 StrCpy $ADD_TO_PATH_ALL_USERS "0" - - ${GetParameters} $R0 - ClearErrors - ${GetOptions} $R0 "/CURPATH=" $ADD_TO_PATH_CURRENT_USER - IfErrors 0 +3 - StrCpy $ADD_TO_PATH_CURRENT_USER "0" ${GetParameters} $R0 ClearErrors - ${GetOptions} $R0 "/STORAGE_ENGINE=" $STORAGE_ENGINE - IfErrors 0 +3 + ${GetOptions} $R0 "/CURPATH=" $ADD_TO_PATH_CURRENT_USER + IfErrors 0 +2 StrCpy $ADD_TO_PATH_CURRENT_USER "0" IfSilent 0 dontValidatePathOption @@ -1467,7 +1469,6 @@ inst: ; Reads components status for registry !insertmacro SectionList "InitSection" - StrCpy $STORAGE_ENGINE "auto" ; check to see if /D has been used to change ; the install directory by comparing it to the ; install directory that is expected to be the