aboutsummaryrefslogtreecommitdiff
path: root/deployment/windows
diff options
context:
space:
mode:
Diffstat (limited to 'deployment/windows')
-rw-r--r--deployment/windows/dialogs/setuptype.nsdinc6
-rw-r--r--deployment/windows/jellyfin.nsi34
2 files changed, 30 insertions, 10 deletions
diff --git a/deployment/windows/dialogs/setuptype.nsdinc b/deployment/windows/dialogs/setuptype.nsdinc
index 0b171da28..6c3011933 100644
--- a/deployment/windows/dialogs/setuptype.nsdinc
+++ b/deployment/windows/dialogs/setuptype.nsdinc
@@ -49,8 +49,4 @@ Function fnc_setuptype_Create
FunctionEnd
-; dialog show function
-Function fnc_setuptype_Show
- Call fnc_setuptype_Create
- nsDialogs::Show
-FunctionEnd
+
diff --git a/deployment/windows/jellyfin.nsi b/deployment/windows/jellyfin.nsi
index b8de4a440..375c3cd79 100644
--- a/deployment/windows/jellyfin.nsi
+++ b/deployment/windows/jellyfin.nsi
@@ -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