Fix up Setup Type dialog, and add logic for basic setup

Fix up the Setup Type dialog, by removing an unused function from the page.
Adds logic to the installer to check for a basic or advanced setup choice. Ensures that the service is only installed if the "advanced" method is chosen. Note - it may be possible to remove some defaults from the .onInit, considering they get set through the program now.
pull/1903/head
Anthony Lavado 5 years ago
parent 05fb84ba22
commit 9ad781324e

@ -49,8 +49,4 @@ Function fnc_setuptype_Create
FunctionEnd
; dialog show function
Function fnc_setuptype_Show
Call fnc_setuptype_Create
nsDialogs::Show
FunctionEnd

@ -89,9 +89,10 @@ ShowUninstDetails show
!insertmacro MUI_PAGE_LICENSE "$%InstallLocation%\LICENSE" ; picking up generic GPL
; Setup Type Page
Page custom ShowSetupTypePage ;SetupTypePage_Config
Page custom ShowSetupTypePage SetupTypePage_Config
; Components Page
!define MUI_PAGE_CUSTOMFUNCTION_PRE HideComponentsPage
!insertmacro MUI_PAGE_COMPONENTS
!define MUI_PAGE_CUSTOMFUNCTION_PRE HideInstallDirectoryPage ; Controls when to hide / show
!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Install folder" ; shows just above the folder selection dialog
@ -185,8 +186,8 @@ Section "!Jellyfin Server (required)" InstallJellyfinServer
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
Section /o "Jellyfin Server Service" InstallService
Section "Jellyfin Server Service" InstallService
${If} $_INSTALLSERVICE_ == "Yes" ; Only run this if we're going to install the service!
ExecWait '"$INSTDIR\nssm.exe" statuscode JellyfinServer' $0
DetailPrint "Jellyfin Server service statuscode, $0"
${If} $0 == 0
@ -246,6 +247,7 @@ Section /o "Jellyfin Server Service" InstallService
${EndIf}
DetailPrint "Jellyfin Server service account change, $0"
${EndIf}
${EndIf}
SectionEnd
@ -327,7 +329,7 @@ SectionEnd
Function .onInit
; Setting up defaults
StrCpy $_INSTALLSERVICE_ "No"
StrCpy $_INSTALLSERVICE_ "Yes"
StrCpy $_SERVICESTART_ "Yes"
StrCpy $_SERVICEACCOUNTTYPE_ "NetworkService"
StrCpy $_EXISTINGINSTALLATION_ "No"
@ -420,7 +422,13 @@ Function HideConfirmationPage
FunctionEnd
Function HideSetupTypePage
${If} $_EXISTINGINSTALLATION_ == "Yes" ; Existing installation detected, so don't ask for InstallFolder
${If} $_EXISTINGINSTALLATION_ == "Yes" ; Existing installation detected, so don't ask for SetupType
Abort
${EndIf}
FunctionEnd
Function HideComponentsPage
${If} $_SETUPTYPE_ == "Basic" ; Basic installation chosen, don't show components choice
Abort
${EndIf}
FunctionEnd
@ -450,6 +458,22 @@ FunctionEnd
Var StartServiceAfterInstall
Var UseNetworkServiceAccount
Var UseLocalSystemAccount
Var BasicInstall
Function SetupTypePage_Config
${NSD_GetState} $hCtl_setuptype_BasicInstall $BasicInstall
${If} $BasicInstall == 1
StrCpy $_SETUPTYPE_ "Basic"
StrCpy $_INSTALLSERVICE_ "No"
StrCpy $_SERVICESTART_ "No"
StrCpy $_SERVICEACCOUNTTYPE_ "None"
${Else}
StrCpy $_SETUPTYPE_ "Advanced"
StrCpy $_INSTALLSERVICE_ "Yes"
${EndIf}
FunctionEnd
Function ServiceConfigPage_Config
${NSD_GetState} $hCtl_service_config_StartServiceAfterInstall $StartServiceAfterInstall

Loading…
Cancel
Save