File: setupSections.nsh

package info (click to toggle)
spring 88.0%2Bdfsg1-1.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 41,524 kB
  • sloc: cpp: 343,114; ansic: 38,414; python: 12,257; java: 12,203; awk: 5,748; sh: 1,204; xml: 997; perl: 405; objc: 192; makefile: 181; php: 134; sed: 2
file content (58 lines) | stat: -rwxr-xr-x 1,392 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
;
; Allows toggeling sections by command line switch (mainly for unattened installations)
; all possible parameters are behind ${toggleSection}
; for example:
; 	${toggleSection} "PORTABLE" ${SEC_PORTABLE}
; is the /PORTABLE switch

System::Store "s" ; save all register

!define toggleSection "!insertmacro toggleSection"
!macro toggleSection ParameterName Section
	${getParameterValue} ${ParameterName} "false"
	Pop $0
	${If} $0 == ""
		SectionGetFlags ${Section} $1 ; get current flags
		IntOp $1 $1 & ${SF_SELECTED}
		${If} $1 = ${SF_SELECTED} ; selected?
			IntOp $1 $1 - ${SF_SELECTED} ; unselect
		${Else}
			IntOp $1 $1 | ${SF_SELECTED} ; select
		${Endif}
		SectionSetFlags ${Section} $1 ; set flag for section
	${EndIf}
!macroend

; portable mode
${toggleSection} "PORTABLE" ${SEC_PORTABLE}

; lobbies
${toggleSection} "NOSPRINGLOBBY" ${SEC_SPRINGLOBBY}
${toggleSection} "NOZEROK" ${SEC_ZERO_K_LOBBY}

; server
${toggleSection} "NOTASSERVER" ${SEC_TASSERVER}

; desktop shortcuts
${toggleSection} "NODESKTOPLINK" ${SEC_DESKTOP}

; tools
!ifdef RAPID_ARCHIVE
${toggleSection} "NORAPID" ${SEC_RAPID}
!endif

; startmenu
${toggleSection} "NOSTARTMENU" ${SEC_START}

; disable registry writes
${getParameterValue} "NOREGISTRY" "false"
Pop $0

${If} $0 == ""
	IntOp $REGISTRY 0 + 0
${Else}
	IntOp $REGISTRY 0 + 1 ; default, write registry
${EndIf}

System::Store "l" ; restore register