Skip to content

Commit 28285d8

Browse files
committed
Add option to select which versions to install
1 parent a44c627 commit 28285d8

2 files changed

Lines changed: 91 additions & 7 deletions

File tree

build/installer.nsh

Lines changed: 85 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,92 @@
1+
!include "nsDialogs.nsh"
2+
!include "WinMessages.nsh"
3+
!include "LogicLib.nsh"
4+
!include "MUI2.nsh"
5+
6+
Var INST_OBSERVER_HANDLE
7+
Var INST_PLAYER_HANDLE
8+
Var INST_OBSERVER
9+
Var INST_PLAYER
10+
Var HWND_NEXT_BUTTON
11+
12+
Page custom ClientSelectionPage ClientSelectionLeave
13+
14+
Function UpdateNextButton
15+
${NSD_GetState} $INST_OBSERVER_HANDLE $0
16+
${NSD_GetState} $INST_PLAYER_HANDLE $1
17+
18+
${If} $0 == ${BST_UNCHECKED}
19+
${AndIf} $1 == ${BST_UNCHECKED}
20+
GetDlgItem $HWND_NEXT_BUTTON $HWNDPARENT 1
21+
EnableWindow $HWND_NEXT_BUTTON 0
22+
${Else}
23+
GetDlgItem $HWND_NEXT_BUTTON $HWNDPARENT 1
24+
EnableWindow $HWND_NEXT_BUTTON 1
25+
${EndIf}
26+
FunctionEnd
27+
28+
Function ObserverCheckboxClick
29+
Call UpdateNextButton
30+
FunctionEnd
31+
32+
Function PlayerCheckboxClick
33+
Call UpdateNextButton
34+
FunctionEnd
35+
36+
Function ClientSelectionPage
37+
!insertmacro MUI_HEADER_TEXT "Client Selection" "What client(s) would you like to install?"
38+
nsDialogs::Create 1018
39+
Pop $0
40+
${If} $0 == error
41+
Abort
42+
${EndIf}
43+
44+
${NSD_CreateLabel} 0u 10u 100% 12u "Select which client(s) to install:"
45+
Pop $1
46+
47+
${NSD_CreateCheckbox} 0u 30u 100% 10u "Install Observer Client"
48+
Pop $INST_OBSERVER_HANDLE
49+
${NSD_SetState} $INST_OBSERVER_HANDLE ${BST_UNCHECKED}
50+
${NSD_OnClick} $INST_OBSERVER_HANDLE ObserverCheckboxClick
51+
52+
${NSD_CreateCheckbox} 0u 50u 100% 10u "Install Player Client"
53+
Pop $INST_PLAYER_HANDLE
54+
${NSD_SetState} $INST_PLAYER_HANDLE ${BST_UNCHECKED}
55+
${NSD_OnClick} $INST_PLAYER_HANDLE PlayerCheckboxClick
56+
57+
Call UpdateNextButton
58+
nsDialogs::Show
59+
FunctionEnd
60+
61+
Function ClientSelectionLeave
62+
${NSD_GetState} $INST_OBSERVER_HANDLE $0
63+
${If} $0 == ${BST_CHECKED}
64+
StrCpy $INST_OBSERVER "1"
65+
${Else}
66+
StrCpy $INST_OBSERVER "0"
67+
${EndIf}
68+
69+
${NSD_GetState} $INST_PLAYER_HANDLE $0
70+
${If} $0 == ${BST_CHECKED}
71+
StrCpy $INST_PLAYER "1"
72+
${Else}
73+
StrCpy $INST_PLAYER "0"
74+
${EndIf}
75+
FunctionEnd
76+
177
!macro customInstall
278
Delete "$SMPROGRAMS\Spectra Client.lnk"
379
Delete "$SMPROGRAMS\[Player] Spectra Client.lnk"
480
Delete "$DESKTOP\Spectra Client.lnk"
581
Delete "$DESKTOP\[Player] Spectra Client.lnk"
682

7-
CreateShortCut "$SMPROGRAMS\Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--owepm-packages-url=https://electronapi-qa.overwolf.com/packages"
8-
CreateShortCut "$SMPROGRAMS\[Player] Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--owepm-packages-url=https://electronapi-qa.overwolf.com/packages --auxiliary"
9-
CreateShortCut "$DESKTOP\Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--owepm-packages-url=https://electronapi-qa.overwolf.com/packages"
10-
CreateShortCut "$DESKTOP\[Player] Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--owepm-packages-url=https://electronapi-qa.overwolf.com/packages --auxiliary"
83+
${If} $INST_OBSERVER == "1"
84+
CreateShortCut "$SMPROGRAMS\Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" ""
85+
CreateShortCut "$DESKTOP\Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" ""
86+
${EndIf}
87+
88+
${If} $INST_PLAYER == "1"
89+
CreateShortCut "$SMPROGRAMS\[Player] Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--auxiliary"
90+
CreateShortCut "$DESKTOP\[Player] Spectra Client.lnk" "$INSTDIR\Spectra Client.exe" "--auxiliary"
91+
${EndIf}
1192
!macroend

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "Purple Shark UG (haftungsbeschränkt)",
55
"url": "https://www.valospectra.com"
66
},
7-
"version": "0.2.44",
7+
"version": "0.2.45",
88
"description": "https://www.valospectra.com",
99
"private": true,
1010
"main": "./app/main.js",
@@ -28,13 +28,16 @@
2828
},
2929
"build": {
3030
"productName": "Spectra Client",
31+
"icon": "build/icon.ico",
3132
"compression": "maximum",
3233
"files": [
3334
"app/**/*",
3435
"package.json",
3536
"LICENSE"
3637
],
37-
"icon": "build/icon.ico",
38+
"electronLanguages": [
39+
"en"
40+
],
3841
"nsisWeb": {
3942
"artifactName": "Spectra-Client-Setup.${ext}",
4043
"oneClick": false,
@@ -91,4 +94,4 @@
9194
"socket.io-client": "^4.8.1"
9295
},
9396
"packageManager": "yarn@4.10.3"
94-
}
97+
}

0 commit comments

Comments
 (0)