Files
Termix/electron/installer.nsh
T

54 lines
1.6 KiB
NSIS

!include MUI2.nsh
!include nsDialogs.nsh
!include LogicLib.nsh
!ifndef BUILD_UNINSTALLER
Var TermixDesktopCheckbox
Var TermixDesktopChoice
; Keep electron-builder's --no-desktop-shortcut flag, adding the UI choice.
!macro _TermixNoDesktopShortcut _a _b _t _f
StrCmp $TermixDesktopChoice ${BST_UNCHECKED} `${_t}` 0
${StdUtils.TestParameter} $R9 "no-desktop-shortcut"
StrCmp $R9 "true" `${_t}` `${_f}`
!macroend
!undef isNoDesktopShortcut
!define isNoDesktopShortcut `"" TermixNoDesktopShortcut ""`
; Defined here, not at include time: electron-builder includes this file
; before it adds the StdUtils plugin directory that isUpdated needs.
!macro customPageAfterChangeDir
Page custom TermixShortcutPage TermixShortcutPageLeave
Function TermixShortcutPage
; Updates retain electron-builder's existing keep-shortcuts behavior.
${If} ${isUpdated}
Abort
${EndIf}
!insertmacro MUI_HEADER_TEXT "Shortcuts" "Choose whether to create a desktop shortcut."
nsDialogs::Create 1018
Pop $0
${If} $0 == error
Abort
${EndIf}
${NSD_CreateCheckbox} 0 0 100% 16u "Create a desktop shortcut"
Pop $TermixDesktopCheckbox
${If} $TermixDesktopChoice == ""
StrCpy $TermixDesktopChoice ${BST_CHECKED}
${EndIf}
${StdUtils.TestParameter} $R9 "no-desktop-shortcut"
${If} $R9 == "true"
StrCpy $TermixDesktopChoice ${BST_UNCHECKED}
EnableWindow $TermixDesktopCheckbox 0
${EndIf}
${NSD_SetState} $TermixDesktopCheckbox $TermixDesktopChoice
nsDialogs::Show
FunctionEnd
Function TermixShortcutPageLeave
${NSD_GetState} $TermixDesktopCheckbox $TermixDesktopChoice
FunctionEnd
!macroend
!endif