mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-04-24 14:08:44 -04:00
Begin to add setup type dialog
This commit is contained in:
parent
c8ffa2fb1d
commit
04c4ad731e
3 changed files with 87 additions and 1 deletions
12
deployment/windows/dialogs/setuptype.nsddef
Normal file
12
deployment/windows/dialogs/setuptype.nsddef
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
This file was created by NSISDialogDesigner 1.4.4.0
|
||||
http://coolsoft.altervista.org/nsisdialogdesigner
|
||||
Do not edit manually!
|
||||
-->
|
||||
<Dialog Name="setuptype" Title="This controls how Jellyfin is installed." Subtitle="Setup Type">
|
||||
<Label Name="InstallasaServiceLabel" Location="12, 115" Size="426, 46" Text="Install Jellyfin as a service. This method is recommended for Advanced Users. Additional setup is required to access network shares." TabIndex="0" />
|
||||
<RadioButton Name="InstallasaService" Location="12, 88" Size="426, 24" Text="Install as a Service (Advanced Users)" TabIndex="1" />
|
||||
<Label Name="BasicInstallLabel" Location="12, 39" Size="426, 46" Text="The basic install will run Jellyfin in your current user account.$\nThis is recommended for new users and those with existing Jellyfin installs older than 10.4." TabIndex="2" />
|
||||
<RadioButton Name="BasicInstall" Location="12, 12" Size="426, 24" Text="Basic Install (Recommended)" Font="Microsoft Sans Serif, 8.25pt, style=Bold" Checked="True" TabIndex="3" />
|
||||
</Dialog>
|
56
deployment/windows/dialogs/setuptype.nsdinc
Normal file
56
deployment/windows/dialogs/setuptype.nsdinc
Normal file
|
@ -0,0 +1,56 @@
|
|||
; =========================================================
|
||||
; This file was generated by NSISDialogDesigner 1.4.4.0
|
||||
; http://coolsoft.altervista.org/nsisdialogdesigner
|
||||
;
|
||||
; Do not edit it manually, use NSISDialogDesigner instead!
|
||||
; =========================================================
|
||||
|
||||
; handle variables
|
||||
Var hCtl_setuptype
|
||||
Var hCtl_setuptype_InstallasaServiceLabel
|
||||
Var hCtl_setuptype_InstallasaService
|
||||
Var hCtl_setuptype_BasicInstallLabel
|
||||
Var hCtl_setuptype_BasicInstall
|
||||
Var hCtl_setuptype_Font1
|
||||
|
||||
|
||||
; dialog create function
|
||||
Function fnc_setuptype_Create
|
||||
|
||||
; custom font definitions
|
||||
CreateFont $hCtl_setuptype_Font1 "Microsoft Sans Serif" "8.25" "700"
|
||||
|
||||
; === setuptype (type: Dialog) ===
|
||||
nsDialogs::Create 1018
|
||||
Pop $hCtl_setuptype
|
||||
${If} $hCtl_setuptype == error
|
||||
Abort
|
||||
${EndIf}
|
||||
!insertmacro MUI_HEADER_TEXT "This controls how Jellyfin is installed." "Setup Type"
|
||||
|
||||
; === InstallasaServiceLabel (type: Label) ===
|
||||
${NSD_CreateLabel} 8u 71u 280u 28u "Install Jellyfin as a service. This method is recommended for Advanced Users. Additional setup is required to access network shares."
|
||||
Pop $hCtl_setuptype_InstallasaServiceLabel
|
||||
|
||||
; === InstallasaService (type: RadioButton) ===
|
||||
${NSD_CreateRadioButton} 8u 54u 280u 15u "Install as a Service (Advanced Users)"
|
||||
Pop $hCtl_setuptype_InstallasaService
|
||||
${NSD_AddStyle} $hCtl_setuptype_InstallasaService ${WS_GROUP}
|
||||
|
||||
; === BasicInstallLabel (type: Label) ===
|
||||
${NSD_CreateLabel} 8u 24u 280u 28u "The basic install will run Jellyfin in your current user account.$\nThis is recommended for new users and those with existing Jellyfin installs older than 10.4."
|
||||
Pop $hCtl_setuptype_BasicInstallLabel
|
||||
|
||||
; === BasicInstall (type: RadioButton) ===
|
||||
${NSD_CreateRadioButton} 8u 7u 280u 15u "Basic Install (Recommended)"
|
||||
Pop $hCtl_setuptype_BasicInstall
|
||||
SendMessage $hCtl_setuptype_BasicInstall ${WM_SETFONT} $hCtl_setuptype_Font1 0
|
||||
${NSD_Check} $hCtl_setuptype_BasicInstall
|
||||
|
||||
FunctionEnd
|
||||
|
||||
; dialog show function
|
||||
Function fnc_setuptype_Show
|
||||
Call fnc_setuptype_Create
|
||||
nsDialogs::Show
|
||||
FunctionEnd
|
|
@ -16,6 +16,7 @@ ShowUninstDetails show
|
|||
; Global variables that we'll use
|
||||
Var _JELLYFINVERSION_
|
||||
Var _JELLYFINDATADIR_
|
||||
Var _SETUPTYPE_
|
||||
Var _INSTALLSERVICE_
|
||||
Var _SERVICESTART_
|
||||
Var _SERVICEACCOUNTTYPE_
|
||||
|
@ -86,6 +87,9 @@ ShowUninstDetails show
|
|||
!insertmacro MUI_PAGE_WELCOME
|
||||
; License Page
|
||||
!insertmacro MUI_PAGE_LICENSE "$%InstallLocation%\LICENSE" ; picking up generic GPL
|
||||
|
||||
; Setup Type Page
|
||||
Page custom ShowSetupTypePage SetupTypePage_Config
|
||||
; Components Page
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE HideInstallDirectoryPage ; Controls when to hide / show
|
||||
|
@ -102,6 +106,7 @@ ShowUninstDetails show
|
|||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
; Custom Dialogs
|
||||
!include "dialogs\setuptype.nsdinc"
|
||||
!include "dialogs\service-config.nsdinc"
|
||||
!include "dialogs\confirmation.nsdinc"
|
||||
|
||||
|
@ -170,7 +175,7 @@ Section "!Jellyfin Server (required)" InstallJellyfinServer
|
|||
WriteRegExpandStr HKLM "${REG_UNINST_KEY}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
|
||||
WriteRegStr HKLM "${REG_UNINST_KEY}" "DisplayIcon" '"$INSTDIR\Uninstall.exe",0'
|
||||
WriteRegStr HKLM "${REG_UNINST_KEY}" "Publisher" "The Jellyfin Project"
|
||||
WriteRegStr HKLM "${REG_UNINST_KEY}" "URLInfoAbout" "https://jellyfin.media/"
|
||||
WriteRegStr HKLM "${REG_UNINST_KEY}" "URLInfoAbout" "https://jellyfin.org/"
|
||||
WriteRegStr HKLM "${REG_UNINST_KEY}" "DisplayVersion" "$_JELLYFINVERSION_"
|
||||
WriteRegDWORD HKLM "${REG_UNINST_KEY}" "NoModify" 1
|
||||
WriteRegDWORD HKLM "${REG_UNINST_KEY}" "NoRepair" 1
|
||||
|
@ -413,6 +418,19 @@ Function HideConfirmationPage
|
|||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function HideSetupTypePage
|
||||
${If} $_EXISTINGINSTALLATION_ == "Yes" ; Existing installation detected, so don't ask for InstallFolder
|
||||
Abort
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
; Setup Type dialog show function
|
||||
Function ShowSetupTypePage
|
||||
Call HideSetupTypePage
|
||||
Call fnc_setuptype_Create
|
||||
nsDialogs::Show
|
||||
FunctionEnd
|
||||
|
||||
; Service Config dialog show function
|
||||
Function ShowServiceConfigPage
|
||||
Call HideServiceConfigPage
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue