Statistiques
| Révision :

root / tmp / org.txm.setups / nsis-2.5 / Examples / silent.nsi @ 3097

Historique | Voir | Annoter | Télécharger (2,17 ko)

1 2961 mdecorde
# This example shows how to handle silent installers.
2 2961 mdecorde
# In short, you need IfSilent and the /SD switch for MessageBox to make your installer
3 2961 mdecorde
# really silent when the /S switch is used.
4 2961 mdecorde
5 2961 mdecorde
Name "Silent"
6 2961 mdecorde
OutFile "silent.exe"
7 2961 mdecorde
RequestExecutionLevel user
8 2961 mdecorde
9 2961 mdecorde
# uncomment the following line to make the installer silent by default.
10 2961 mdecorde
; SilentInstall silent
11 2961 mdecorde
12 2961 mdecorde
Function .onInit
13 2961 mdecorde
  # `/SD IDYES' tells MessageBox to automatically choose IDYES if the installer is silent
14 2961 mdecorde
  # in this case, the installer can only be silent if the user used the /S switch or if
15 2961 mdecorde
  # you've uncommented line number 5
16 2961 mdecorde
  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like the installer to be silent from now on?" \
17 2961 mdecorde
    /SD IDYES IDNO no IDYES yes
18 2961 mdecorde
19 2961 mdecorde
  # SetSilent can only be used in .onInit and doesn't work well along with `SetSilent silent'
20 2961 mdecorde
21 2961 mdecorde
  yes:
22 2961 mdecorde
    SetSilent silent
23 2961 mdecorde
    Goto done
24 2961 mdecorde
  no:
25 2961 mdecorde
    SetSilent normal
26 2961 mdecorde
  done:
27 2961 mdecorde
FunctionEnd
28 2961 mdecorde
29 2961 mdecorde
Section
30 2961 mdecorde
  IfSilent 0 +2
31 2961 mdecorde
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer'
32 2961 mdecorde
33 2961 mdecorde
  # there is no need to use IfSilent for this one because the /SD switch takes care of that
34 2961 mdecorde
  MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK
35 2961 mdecorde
36 2961 mdecorde
  # when `SetOverwrite on' (which is the default) is used, the installer will show a message
37 2961 mdecorde
  # if it can't open a file for writing. On silent installers, the ignore option will be
38 2961 mdecorde
  # automatically selected. if `AllowSkipFiles off' (default is on) was used, there is no
39 2961 mdecorde
  # ignore option and the cancel option will be automatically selected.
40 2961 mdecorde
41 2961 mdecorde
  # on is default
42 2961 mdecorde
  ; AllowSkipFiles on
43 2961 mdecorde
44 2961 mdecorde
  # lock file
45 2961 mdecorde
  FileOpen $0 $TEMP\silentOverwrite w
46 2961 mdecorde
  # try to extract - will fail
47 2961 mdecorde
  File /oname=$TEMP\silentOverwrite silent.nsi
48 2961 mdecorde
  # unlcok
49 2961 mdecorde
  FileClose $0
50 2961 mdecorde
51 2961 mdecorde
  # this will always show on silent installers because ignore is the option automatically
52 2961 mdecorde
  # selected when a file can't be opened for writing on a silent installer
53 2961 mdecorde
  MessageBox MB_OK|MB_ICONINFORMATION "This message box always shows if the installer is silent"
54 2961 mdecorde
55 2961 mdecorde
  AllowSkipFiles off
56 2961 mdecorde
57 2961 mdecorde
  # lock file
58 2961 mdecorde
  FileOpen $0 $TEMP\silentOverwrite w
59 2961 mdecorde
  # try to extract - will fail
60 2961 mdecorde
  File /oname=$TEMP\silentOverwrite silent.nsi
61 2961 mdecorde
  # unlcok
62 2961 mdecorde
  FileClose $0
63 2961 mdecorde
SectionEnd