diff --git a/cmake/templates/NSIS.template.in b/cmake/templates/NSIS.template.in index 5af51ff8c9..de79b49a74 100644 --- a/cmake/templates/NSIS.template.in +++ b/cmake/templates/NSIS.template.in @@ -484,16 +484,14 @@ Function InstallTypesPage StrCpy $OffsetUnits u StrCpy $Express "0" - ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} - ${NSD_CreateRadioButton} 30% $CurrentOffset$OffsetUnits 100% 10u "Express Install (Recommended)"; $\nInstalls High Fidelity Interface and High Fidelity Sandbox" - pop $ExpressInstallRadioButton - ${NSD_OnClick} $ExpressInstallRadioButton ChangeExpressLabel - IntOp $CurrentOffset $CurrentOffset + 15 + ${NSD_CreateRadioButton} 30% $CurrentOffset$OffsetUnits 100% 10u "Express Install (Recommended)"; $\nInstalls High Fidelity Interface and High Fidelity Sandbox" + pop $ExpressInstallRadioButton + ${NSD_OnClick} $ExpressInstallRadioButton ChangeExpressLabel + IntOp $CurrentOffset $CurrentOffset + 15 - ${NSD_CreateRadiobutton} 30% $CurrentOffset$OffsetUnits 100% 10u "Custom Install (Advanced)" - pop $CustomInstallRadioButton - ${NSD_OnClick} $CustomInstallRadioButton ChangeCustomLabel - ${EndIf} + ${NSD_CreateRadiobutton} 30% $CurrentOffset$OffsetUnits 100% 10u "Custom Install (Advanced)" + pop $CustomInstallRadioButton + ${NSD_OnClick} $CustomInstallRadioButton ChangeCustomLabel ; Express Install selected by default ${NSD_Check} $ExpressInstallRadioButton @@ -518,7 +516,6 @@ FunctionEnd Function AbortFunction ; Check if Express is set, if so, abort the post install options page - Call HandleInstallTypes ; Sets Express if ExpressInstallRadioButton is checked and installs with defaults StrCmp $Express "1" 0 end Abort end: @@ -529,10 +526,15 @@ Function PostInstallOptionsPage nsDialogs::Create 1018 Pop $PostInstallDialog - + ${If} $PostInstallDialog == error Abort ${EndIf} + + ; Check if Express is set, if so, abort the post install options page + StrCmp $Express "1" 0 end + Abort + end: StrCpy $CurrentOffset 0 StrCpy $OffsetUnits u @@ -617,12 +619,6 @@ Function PostInstallOptionsPage ${NSD_SetState} $CopyFromProductionCheckbox ${BST_UNCHECKED} ${EndIf} - ; Check if Express is set, if so, abort the post install options page - Call HandleInstallTypes ; Sets Express if ExpressInstallRadioButton is checked and installs with defaults - StrCmp $Express "1" 0 end - Abort - end: - nsDialogs::Show FunctionEnd @@ -638,15 +634,30 @@ Var LaunchServerNowState Var LaunchClientNowState Var CopyFromProductionState Var CleanInstallState -Var ExpressInstallState +Var ExpressInstallState Var CustomInstallState Function ReadInstallTypes - ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} - ; check if the user asked for express/custom install - ${NSD_GetState} $ExpressInstallRadioButton $ExpressInstallState - ${NSD_GetState} $CustomInstallRadioButton $CustomInstallState + ; check if the user asked for express/custom install + ${NSD_GetState} $ExpressInstallRadioButton $ExpressInstallState + ${NSD_GetState} $CustomInstallRadioButton $CustomInstallState + + ${If} $ExpressInstallState == ${BST_CHECKED} + StrCpy $Express "1" + + StrCpy $DesktopClientState ${BST_CHECKED} + StrCpy $ServerStartupState ${BST_CHECKED} + StrCpy $LaunchServerNowState ${BST_CHECKED} + StrCpy $LaunchClientNowState ${BST_CHECKED} + StrCpy $CleanInstallState ${BST_UNCHECKED} + StrCpy $DesktopServerState ${BST_UNCHECKED} + + ${If} @PR_BUILD@ == 1 + StrCpy $CopyFromProductionState ${BST_UNCHECKED} + ${EndIf} + ${EndIf} + FunctionEnd Function ReadPostInstallOptions @@ -684,28 +695,6 @@ Function ReadPostInstallOptions ${EndIf} FunctionEnd -Function HandleInstallTypes - ${If} $ExpressInstallState == ${BST_CHECKED} - - StrCpy $Express "1" - - ; over ride custom checkboxes and select defaults - ${NSD_SetState} $DesktopClientCheckbox ${BST_CHECKED} - ${NSD_SetState} $ServerStartupCheckbox ${BST_CHECKED} - ${NSD_SetState} $LaunchServerNowCheckbox ${BST_CHECKED} - ${NSD_SetState} $LaunchClientNowCheckbox ${BST_CHECKED} - - ${If} @PR_BUILD@ == 1 - ${NSD_SetState} $CopyFromProductionCheckbox ${BST_UNCHECKED} - ${EndIf} - - ; call ReadPostInstallOptions and HandlePostInstallOptions with defaults selected - Call ReadPostInstallOptions - Call HandlePostInstallOptions - - ${EndIf} -FunctionEnd - Function HandlePostInstallOptions ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} ; check if the user asked for a desktop shortcut to High Fidelity @@ -854,7 +843,7 @@ Section "-Core installation" Rename "$INSTDIR\resources\qml\styles-uit\RalewaySemibold.qml" "$INSTDIR\resources\qml\styles-uit\RalewaySemiBold.qml" ExecWait "$INSTDIR\vcredist_x64.exe /install /q /norestart" - + ; Remove the Old Interface directory and vcredist_x64.exe (from installs prior to Server Console) RMDir /r "$INSTDIR\Interface" Delete "$INSTDIR\vcredist_x64.exe" @@ -954,9 +943,9 @@ Section "-Core installation" Call ConditionalAddToRegisty !insertmacro MUI_STARTMENU_WRITE_END - -@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@ - + + @CPACK_NSIS_EXTRA_INSTALL_COMMANDS@ + ; Handle whichever post install options were set Call HandlePostInstallOptions