root / tmp / org.txm.setups / nsis-2.5 / Examples / FileFuncTest.nsi @ 3098
Historique | Voir | Annoter | Télécharger (13,95 ko)
1 |
;_____________________________________________________________________________ |
---|---|
2 |
; |
3 |
; File Functions Test |
4 |
;_____________________________________________________________________________ |
5 |
; |
6 |
; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) |
7 |
|
8 |
Name "File Functions Test" |
9 |
OutFile "FileFuncTest.exe" |
10 |
Caption "$(^Name)" |
11 |
ShowInstDetails show |
12 |
XPStyle on |
13 |
RequestExecutionLevel user |
14 |
|
15 |
Var FUNCTION |
16 |
Var OUT1 |
17 |
Var OUT2 |
18 |
Var OUT3 |
19 |
Var OUT4 |
20 |
Var OUT5 |
21 |
Var OUT6 |
22 |
Var OUT7 |
23 |
|
24 |
!include "FileFunc.nsh" |
25 |
!include "LogicLib.nsh" |
26 |
|
27 |
;############### INSTALL ############### |
28 |
|
29 |
!define StackVerificationStart `!insertmacro StackVerificationStart` |
30 |
!macro StackVerificationStart _FUNCTION |
31 |
StrCpy $FUNCTION ${_FUNCTION} |
32 |
Call StackVerificationStart |
33 |
!macroend |
34 |
|
35 |
!define StackVerificationEnd `!insertmacro StackVerificationEnd` |
36 |
!macro StackVerificationEnd |
37 |
Call StackVerificationEnd |
38 |
!macroend |
39 |
|
40 |
Function StackVerificationStart |
41 |
StrCpy $0 !0 |
42 |
StrCpy $1 !1 |
43 |
StrCpy $2 !2 |
44 |
StrCpy $3 !3 |
45 |
StrCpy $4 !4 |
46 |
StrCpy $5 !5 |
47 |
StrCpy $6 !6 |
48 |
StrCpy $7 !7 |
49 |
StrCpy $8 !8 |
50 |
StrCpy $9 !9 |
51 |
StrCpy $R0 !R0 |
52 |
StrCpy $R1 !R1 |
53 |
StrCpy $R2 !R2 |
54 |
StrCpy $R3 !R3 |
55 |
StrCpy $R4 !R4 |
56 |
StrCpy $R5 !R5 |
57 |
StrCpy $R6 !R6 |
58 |
StrCpy $R7 !R7 |
59 |
StrCpy $R8 !R8 |
60 |
StrCpy $R9 !R9 |
61 |
FunctionEnd |
62 |
|
63 |
Function StackVerificationEnd |
64 |
IfErrors +3 |
65 |
DetailPrint 'PASSED $FUNCTION no errors' |
66 |
goto +2 |
67 |
DetailPrint 'FAILED $FUNCTION error' |
68 |
|
69 |
StrCmp $0 '!0' 0 error |
70 |
StrCmp $1 '!1' 0 error |
71 |
StrCmp $2 '!2' 0 error |
72 |
StrCmp $3 '!3' 0 error |
73 |
StrCmp $4 '!4' 0 error |
74 |
StrCmp $5 '!5' 0 error |
75 |
StrCmp $6 '!6' 0 error |
76 |
StrCmp $7 '!7' 0 error |
77 |
StrCmp $8 '!8' 0 error |
78 |
StrCmp $9 '!9' 0 error |
79 |
StrCmp $R0 '!R0' 0 error |
80 |
StrCmp $R1 '!R1' 0 error |
81 |
StrCmp $R2 '!R2' 0 error |
82 |
StrCmp $R3 '!R3' 0 error |
83 |
StrCmp $R4 '!R4' 0 error |
84 |
StrCmp $R5 '!R5' 0 error |
85 |
StrCmp $R6 '!R6' 0 error |
86 |
StrCmp $R7 '!R7' 0 error |
87 |
StrCmp $R8 '!R8' 0 error |
88 |
StrCmp $R9 '!R9' 0 error |
89 |
DetailPrint 'PASSED $FUNCTION stack' |
90 |
goto end |
91 |
|
92 |
error: |
93 |
DetailPrint 'FAILED $FUNCTION stack' |
94 |
; MessageBox MB_OKCANCEL '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}' IDOK +2 |
95 |
; quit |
96 |
|
97 |
end: |
98 |
FunctionEnd |
99 |
|
100 |
|
101 |
|
102 |
Section Locate |
103 |
${StackVerificationStart} Locate |
104 |
|
105 |
${Locate} '$DOCUMENTS' '/L=FD /M=*.* /S=0B /G=0' 'LocateCallback' |
106 |
|
107 |
${StackVerificationEnd} |
108 |
SectionEnd |
109 |
|
110 |
Function LocateCallback |
111 |
; MessageBox MB_YESNO '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}$\n$\nContinue?' IDYES +2 |
112 |
; StrCpy $0 StopLocate |
113 |
|
114 |
Push $0 |
115 |
FunctionEnd |
116 |
|
117 |
|
118 |
Section GetSize |
119 |
${StackVerificationStart} GetSize |
120 |
|
121 |
${GetSize} '$WINDIR' '/M=Explorer.exe /S=0K /G=0' $OUT1 $OUT2 $OUT3 |
122 |
|
123 |
${StackVerificationEnd} |
124 |
SectionEnd |
125 |
|
126 |
|
127 |
Section DriveSpace |
128 |
${StackVerificationStart} DriveSpace |
129 |
|
130 |
${DriveSpace} 'C:\' '/D=F /S=M' $OUT1 |
131 |
|
132 |
${StackVerificationEnd} |
133 |
SectionEnd |
134 |
|
135 |
|
136 |
Section GetDrives |
137 |
${StackVerificationStart} GetDrives |
138 |
|
139 |
${GetDrives} 'FDD+CDROM' 'GetDrivesCallback' |
140 |
|
141 |
${StackVerificationEnd} |
142 |
SectionEnd |
143 |
|
144 |
Function GetDrivesCallback |
145 |
; MessageBox MB_YESNO '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}$\n$\nContinue?' IDYES +2 |
146 |
; StrCpy $0 StopGetDrives |
147 |
|
148 |
Push $0 |
149 |
FunctionEnd |
150 |
|
151 |
|
152 |
Section GetTime |
153 |
${StackVerificationStart} GetTime |
154 |
|
155 |
${GetTime} '' 'L' $OUT1 $OUT2 $OUT3 $OUT4 $OUT5 $OUT6 $OUT7 |
156 |
|
157 |
${StackVerificationEnd} |
158 |
SectionEnd |
159 |
|
160 |
|
161 |
Section GetFileAttributes |
162 |
${StackVerificationStart} GetFileAttributes |
163 |
|
164 |
${GetFileAttributes} '$WINDIR\explorer.exe' 'ALL' $OUT1 |
165 |
|
166 |
${StackVerificationEnd} |
167 |
SectionEnd |
168 |
|
169 |
|
170 |
Section GetFileVersion |
171 |
${StackVerificationStart} GetFileVersion |
172 |
|
173 |
${GetFileVersion} '$WINDIR\explorer.exe' $OUT1 |
174 |
|
175 |
${StackVerificationEnd} |
176 |
SectionEnd |
177 |
|
178 |
|
179 |
Section GetExeName |
180 |
${StackVerificationStart} GetExeName |
181 |
|
182 |
${GetExeName} $OUT1 |
183 |
|
184 |
${StackVerificationEnd} |
185 |
SectionEnd |
186 |
|
187 |
|
188 |
Section GetExePath |
189 |
${StackVerificationStart} GetExePath |
190 |
|
191 |
${GetExePath} $OUT1 |
192 |
|
193 |
${StackVerificationEnd} |
194 |
SectionEnd |
195 |
|
196 |
|
197 |
Section GetParameters |
198 |
${StackVerificationStart} GetParameters |
199 |
|
200 |
# basic stuff |
201 |
|
202 |
StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe"' |
203 |
${GetParameters} $OUT1 |
204 |
StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe" test' |
205 |
${GetParameters} $OUT2 |
206 |
StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe" "test"' |
207 |
${GetParameters} $OUT3 |
208 |
StrCpy $CMDLINE 'C:\Hello.exe' |
209 |
${GetParameters} $OUT4 |
210 |
StrCpy $CMDLINE 'C:\Hello.exe test' |
211 |
${GetParameters} $OUT5 |
212 |
StrCpy $CMDLINE 'C:\Hello.exe "test"' |
213 |
${GetParameters} $OUT6 |
214 |
StrCpy $CMDLINE 'C:\Hello.exe test test ' |
215 |
${GetParameters} $OUT7 |
216 |
|
217 |
${If} $OUT1 != "" |
218 |
${OrIf} $OUT2 != "test" |
219 |
${OrIf} $OUT3 != '"test"' |
220 |
${OrIf} $OUT4 != "" |
221 |
${OrIf} $OUT5 != "test" |
222 |
${OrIf} $OUT6 != '"test"' |
223 |
${OrIf} $OUT7 != 'test test' |
224 |
SetErrors |
225 |
${EndIf} |
226 |
|
227 |
# some corner cases |
228 |
|
229 |
StrCpy $CMDLINE '' |
230 |
${GetParameters} $OUT1 |
231 |
StrCpy $CMDLINE '"' |
232 |
${GetParameters} $OUT2 |
233 |
StrCpy $CMDLINE '""' |
234 |
${GetParameters} $OUT3 |
235 |
StrCpy $CMDLINE '"" test' |
236 |
${GetParameters} $OUT4 |
237 |
StrCpy $CMDLINE ' test' |
238 |
${GetParameters} $OUT5 |
239 |
StrCpy $CMDLINE ' test' # left over bug(?) from old GetParameters |
240 |
# it starts looking for ' ' from the third char |
241 |
${GetParameters} $OUT6 |
242 |
StrCpy $CMDLINE ' ' |
243 |
${GetParameters} $OUT7 |
244 |
|
245 |
${If} $OUT1 != "" |
246 |
${OrIf} $OUT2 != "" |
247 |
${OrIf} $OUT3 != "" |
248 |
${OrIf} $OUT4 != "" |
249 |
${OrIf} $OUT5 != "" |
250 |
${OrIf} $OUT6 != "" |
251 |
${OrIf} $OUT7 != "" |
252 |
SetErrors |
253 |
${EndIf} |
254 |
|
255 |
${StackVerificationEnd} |
256 |
SectionEnd |
257 |
|
258 |
|
259 |
Section GetOptions |
260 |
${StackVerificationStart} GetOptions |
261 |
|
262 |
${GetOptions} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1 |
263 |
StrCmp $OUT1 'C:\Program Files\Common Files' 0 error |
264 |
|
265 |
${GetOptions} '-TMP=temp.tmp -INSTDIR="C:/Program Files/Common Files" -SILENT=yes' '-INSTDIR=' $OUT1 |
266 |
StrCmp $OUT1 'C:/Program Files/Common Files' 0 error |
267 |
|
268 |
${GetOptions} "/INSTDIR='C:/Program Files/Common Files' /SILENT=yes" '/INSTDIR=' $OUT1 |
269 |
StrCmp $OUT1 'C:/Program Files/Common Files' 0 error |
270 |
|
271 |
StrCpy $OUT1 '/INSTDIR=`C:/Program Files/Common Files` /SILENT=yes' |
272 |
${GetOptions} '$OUT1' '/INSTDIR=' $OUT1 |
273 |
StrCmp $OUT1 'C:/Program Files/Common Files' 0 error |
274 |
|
275 |
${GetOptions} '/SILENT=yes /INSTDIR=C:\Program Files\Common Files' '/INSTDIR=' $OUT1 |
276 |
StrCmp $OUT1 'C:\Program Files\Common Files' 0 error |
277 |
|
278 |
${GetOptions} "/INSTDIR=common directory: 'C:\Program Files\Common Files' /SILENT=yes" '/INSTDIR=' $OUT1 |
279 |
StrCmp $OUT1 "common directory: 'C:\Program Files\Common Files'" 0 error |
280 |
|
281 |
${GetOptions} '/INSTDIR=WxxxW /SILENT=yes' '/INSTDIR=' $OUT1 |
282 |
StrCmp $OUT1 'WxxxW' 0 error |
283 |
|
284 |
${GetOptions} "/Prm='/D=True' /D=1" '/D=' $OUT1 |
285 |
StrCmp $OUT1 "1" 0 error |
286 |
|
287 |
${GetOptions} "/D=1 /Prm='/D=True'" '/Prm=' $OUT1 |
288 |
StrCmp $OUT1 "/D=True" 0 error |
289 |
|
290 |
${GetOptions} `/D=1 /Prm='/D="True" /S="/Temp"'` '/Prm=' $OUT1 |
291 |
StrCmp $OUT1 '/D="True" /S="/Temp"' 0 error |
292 |
|
293 |
${GetOptions} `/INSTDIR='"C:/Program Files/Common Files"' /SILENT=yes` '/INSTDIR=' $OUT1 |
294 |
StrCmp $OUT1 '"C:/Program Files/Common Files"' 0 error |
295 |
|
296 |
${GetOptions} `/INSTDIR='"C:/Program Files/Common Files"' /SILENT=yes` '/INSTDIR*=' $OUT1 |
297 |
IfErrors 0 error |
298 |
StrCmp $OUT1 '' 0 error |
299 |
|
300 |
${GetOptions} `/INSTDIR="C:/Program Files/Common Files" /SILENT=yes` '' $OUT1 |
301 |
IfErrors 0 error |
302 |
StrCmp $OUT1 '' 0 error |
303 |
|
304 |
${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT' '/SILENT' $OUT1 |
305 |
IfErrors error |
306 |
StrCmp $OUT1 '' 0 error |
307 |
|
308 |
goto +2 |
309 |
error: |
310 |
SetErrors |
311 |
|
312 |
${StackVerificationEnd} |
313 |
SectionEnd |
314 |
|
315 |
|
316 |
Section GetOptionsS |
317 |
${StackVerificationStart} GetOptionsS |
318 |
|
319 |
${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1 |
320 |
IfErrors error |
321 |
StrCmp $OUT1 'C:\Program Files\Common Files' 0 error |
322 |
|
323 |
${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/Instdir=' $OUT1 |
324 |
IfErrors 0 error |
325 |
StrCmp $OUT1 '' 0 error |
326 |
|
327 |
${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT' '/SILENT' $OUT1 |
328 |
IfErrors error |
329 |
StrCmp $OUT1 '' 0 error |
330 |
|
331 |
goto +2 |
332 |
error: |
333 |
SetErrors |
334 |
|
335 |
${StackVerificationEnd} |
336 |
SectionEnd |
337 |
|
338 |
|
339 |
Section GetRoot |
340 |
${StackVerificationStart} GetRoot |
341 |
|
342 |
${GetRoot} 'C:\Program Files\NSIS' $OUT1 |
343 |
StrCmp $OUT1 'C:' 0 error |
344 |
|
345 |
${GetRoot} '\\SuperPimp\NSIS\Source\exehead\Ui.c' $OUT1 |
346 |
StrCmp $OUT1 '\\SuperPimp\NSIS' 0 error |
347 |
|
348 |
${GetRoot} '\\Program Files\NSIS' $OUT1 |
349 |
StrCmp $OUT1 '\\Program Files\NSIS' 0 error |
350 |
|
351 |
${GetRoot} '\\Program Files\NSIS\' $OUT1 |
352 |
StrCmp $OUT1 '\\Program Files\NSIS' 0 error |
353 |
|
354 |
${GetRoot} '\\Program Files\NSIS\Source\exehead\Ui.c' $OUT1 |
355 |
StrCmp $OUT1 '\\Program Files\NSIS' 0 error |
356 |
|
357 |
${GetRoot} '\Program Files\NSIS' $OUT1 |
358 |
StrCmp $OUT1 '' 0 error |
359 |
|
360 |
goto +2 |
361 |
error: |
362 |
SetErrors |
363 |
|
364 |
${StackVerificationEnd} |
365 |
SectionEnd |
366 |
|
367 |
|
368 |
Section GetParent |
369 |
${StackVerificationStart} GetParent |
370 |
|
371 |
${GetParent} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
372 |
StrCmp $OUT1 'C:\Program Files\Winamp' 0 error |
373 |
|
374 |
${GetParent} 'C:\Program Files\Winamp\plugins' $OUT1 |
375 |
StrCmp $OUT1 'C:\Program Files\Winamp' 0 error |
376 |
|
377 |
${GetParent} 'C:\Program Files\Winamp\plugins\' $OUT1 |
378 |
StrCmp $OUT1 'C:\Program Files\Winamp' 0 error |
379 |
|
380 |
${GetParent} 'C:\' $OUT1 |
381 |
StrCmp $OUT1 '' 0 error |
382 |
|
383 |
goto +2 |
384 |
error: |
385 |
SetErrors |
386 |
|
387 |
${StackVerificationEnd} |
388 |
SectionEnd |
389 |
|
390 |
|
391 |
Section GetFileName |
392 |
${StackVerificationStart} GetFileName |
393 |
|
394 |
${GetFileName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
395 |
StrCmp $OUT1 'uninstwa.exe' 0 error |
396 |
|
397 |
${GetFileName} 'uninstwa.exe' $OUT1 |
398 |
StrCmp $OUT1 'uninstwa.exe' 0 error |
399 |
|
400 |
${GetFileName} 'C:\Program Files\Winamp\plugins' $OUT1 |
401 |
StrCmp $OUT1 'plugins' 0 error |
402 |
|
403 |
${GetFileName} 'C:\Program Files\Winamp\plugins\' $OUT1 |
404 |
StrCmp $OUT1 'plugins' 0 error |
405 |
|
406 |
goto +2 |
407 |
error: |
408 |
SetErrors |
409 |
|
410 |
${StackVerificationEnd} |
411 |
SectionEnd |
412 |
|
413 |
|
414 |
Section GetBaseName |
415 |
${StackVerificationStart} GetBaseName |
416 |
|
417 |
${GetBaseName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
418 |
StrCmp $OUT1 'uninstwa' 0 error |
419 |
|
420 |
${GetBaseName} 'uninstwa.exe' $OUT1 |
421 |
StrCmp $OUT1 'uninstwa' 0 error |
422 |
|
423 |
${GetBaseName} 'C:\Program Files\Winamp\plugins' $OUT1 |
424 |
StrCmp $OUT1 'plugins' 0 error |
425 |
|
426 |
${GetBaseName} 'C:\Program Files\Winamp\plugins\' $OUT1 |
427 |
StrCmp $OUT1 '' 0 error |
428 |
|
429 |
goto +2 |
430 |
error: |
431 |
SetErrors |
432 |
|
433 |
${StackVerificationEnd} |
434 |
SectionEnd |
435 |
|
436 |
|
437 |
Section GetFileExt |
438 |
${StackVerificationStart} GetFileExt |
439 |
|
440 |
${GetFileExt} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
441 |
StrCmp $OUT1 'exe' 0 error |
442 |
|
443 |
${GetFileExt} 'uninstwa.exe' $OUT1 |
444 |
StrCmp $OUT1 'exe' 0 error |
445 |
|
446 |
${GetFileExt} 'C:\Program Files\Winamp\plugins' $OUT1 |
447 |
StrCmp $OUT1 '' 0 error |
448 |
|
449 |
${GetFileExt} 'C:\Program Files\Winamp\plugins\' $OUT1 |
450 |
StrCmp $OUT1 '' 0 error |
451 |
|
452 |
goto +2 |
453 |
error: |
454 |
SetErrors |
455 |
|
456 |
${StackVerificationEnd} |
457 |
SectionEnd |
458 |
|
459 |
|
460 |
Section BannerTrimPath |
461 |
${StackVerificationStart} BannerTrimPath |
462 |
|
463 |
${BannerTrimPath} 'C:\Server\Documents\Terminal\license.htm' '35A' $OUT1 |
464 |
StrCmp $OUT1 'C:\Server\...\Terminal\license.htm' 0 error |
465 |
|
466 |
${BannerTrimPath} 'C:\12\3456\789' '3A' $OUT1 |
467 |
StrCmp $OUT1 '' 0 error |
468 |
|
469 |
${BannerTrimPath} 'C:\12\3456\789' '4A' $OUT1 |
470 |
StrCmp $OUT1 'C...' 0 error |
471 |
|
472 |
${BannerTrimPath} 'C:\12\3456\789' '11A' $OUT1 |
473 |
StrCmp $OUT1 'C:\12\...' 0 error |
474 |
|
475 |
${BannerTrimPath} 'C:\12\3456\789' '13A' $OUT1 |
476 |
StrCmp $OUT1 'C:\12\...\789' 0 error |
477 |
|
478 |
${BannerTrimPath} 'C:\12\3456\789' '14A' $OUT1 |
479 |
StrCmp $OUT1 'C:\12\3456\789' 0 error |
480 |
|
481 |
${BannerTrimPath} 'C:\12\3456\789' '14A' $OUT1 |
482 |
StrCmp $OUT1 'C:\12\3456\789' 0 error |
483 |
|
484 |
${BannerTrimPath} 'C:\12\3456\789' '11B' $OUT1 |
485 |
StrCmp $OUT1 'C:\12\...' 0 error |
486 |
|
487 |
${BannerTrimPath} 'C:\12\3456\789' '5B' $OUT1 |
488 |
StrCmp $OUT1 'C:...' 0 error |
489 |
|
490 |
${BannerTrimPath} 'C:\12\3456\789' '5B' $OUT1 |
491 |
StrCmp $OUT1 'C:...' 0 error |
492 |
|
493 |
${BannerTrimPath} 'C:\12\3456\789' '11C' $OUT1 |
494 |
StrCmp $OUT1 'C:\12\34...' 0 error |
495 |
|
496 |
${BannerTrimPath} 'C:\12\3456\789' '9D' $OUT1 |
497 |
StrCmp $OUT1 'C:\12\...' 0 error |
498 |
|
499 |
${BannerTrimPath} 'C:\12\3456\789' '10D' $OUT1 |
500 |
StrCmp $OUT1 'C:\...\789' 0 error |
501 |
|
502 |
${BannerTrimPath} 'C:\12\3456\789' '11D' $OUT1 |
503 |
StrCmp $OUT1 'C:\1...\789' 0 error |
504 |
|
505 |
${BannerTrimPath} '123456789' '5D' $OUT1 |
506 |
StrCmp $OUT1 '12...' 0 error |
507 |
|
508 |
goto +2 |
509 |
error: |
510 |
SetErrors |
511 |
|
512 |
${StackVerificationEnd} |
513 |
SectionEnd |
514 |
|
515 |
|
516 |
Section DirState |
517 |
${StackVerificationStart} DirState |
518 |
|
519 |
${DirState} '$TEMP' $OUT1 |
520 |
|
521 |
${StackVerificationEnd} |
522 |
SectionEnd |
523 |
|
524 |
|
525 |
Section RefreshShellIcons |
526 |
${StackVerificationStart} RefreshShellIcons |
527 |
|
528 |
${RefreshShellIcons} |
529 |
|
530 |
${StackVerificationEnd} |
531 |
SectionEnd |
532 |
|
533 |
|
534 |
Section WriteUninstaller |
535 |
goto +2 |
536 |
WriteUninstaller '$EXEDIR\un.FileFuncTest.exe' |
537 |
SectionEnd |
538 |
|
539 |
|
540 |
|
541 |
;############### UNINSTALL ############### |
542 |
|
543 |
Section un.Uninstall |
544 |
${Locate} '$DOCUMENTS' '/L=FD /M=*.* /S=0B /G=0' 'un.LocateCallback' |
545 |
${GetSize} '$WINDIR' '/M=Explorer.exe /S=0K /G=0' $OUT1 $OUT2 $OUT3 |
546 |
${DriveSpace} 'C:\' '/D=F /S=M' $OUT1 |
547 |
${GetDrives} 'FDD+CDROM' 'un.GetDrivesCallback' |
548 |
${GetTime} '' 'L' $OUT1 $OUT2 $OUT3 $OUT4 $OUT5 $OUT6 $OUT7 |
549 |
${GetFileAttributes} '$WINDIR\explorer.exe' 'ALL' $OUT1 |
550 |
${GetFileVersion} '$WINDIR\explorer.exe' $OUT1 |
551 |
${GetExeName} $OUT1 |
552 |
${GetExePath} $OUT1 |
553 |
${GetParameters} $OUT1 |
554 |
${GetOptions} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1 |
555 |
${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1 |
556 |
${GetRoot} 'C:\Program Files\NSIS' $OUT1 |
557 |
${GetParent} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
558 |
${GetFileName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
559 |
${GetBaseName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
560 |
${GetFileExt} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1 |
561 |
${BannerTrimPath} 'C:\Server\Documents\Terminal\license.htm' '35A' $OUT1 |
562 |
${DirState} '$TEMP' $OUT1 |
563 |
${RefreshShellIcons} |
564 |
SectionEnd |
565 |
|
566 |
Function un.LocateCallback |
567 |
Push $0 |
568 |
FunctionEnd |
569 |
|
570 |
Function un.GetDrivesCallback |
571 |
Push $0 |
572 |
FunctionEnd |