Statistics
| Revision:

root / trunk / nntpgrab.nsi @ 1919

History | View | Annotate | Download (6.3 KB)

1
; nntpgrab.nsi
2
;
3

                
4
;!include "MUI.nsh"
5
;!include "Sections.nsh"
6
!include "registerExtension.nsh"
7

                
8
;--------------------------------
9

                
10
; The name of the installer
11
Name "NNTPGrab"
12

                
13
; The file to write
14
OutFile "nntpgrab_trunk_snapshot_svn_r@VER@_setup.exe"
15

                
16
; The default installation directory
17
InstallDir $PROGRAMFILES\NNTPGrab
18

                
19
; Registry key to check for directory (so if you install again, it will 
20
; overwrite the old one automatically)
21
InstallDirRegKey HKLM "Software\NNTPGrab" "Install_Dir"
22

                
23
; Best compression
24
SetCompressor lzma
25
 
26
;--------------------------------
27

                
28
; Check if the program is running
29
!define WNDCLASS "gdkWindowTopLevel"
30
!define WNDTITLE "NNTPGrab"
31

                
32
Function .onInit
33
  FindWindow $0 "${WNDCLASS}" "${WNDTITLE}"
34
  StrCmp $0 0 continueInstall
35
    MessageBox MB_ICONSTOP|MB_OK "The installation cannot continue because NNTPGrab is still running. Please close NNTPGrab and try again."
36
    Abort
37
  continueInstall:
38
FunctionEnd
39

                
40
;--------------------------------
41

                
42
; Pages
43

                
44
LicenseData "COPYING"
45
Page license
46
Page components
47
Page directory
48
Page instfiles
49

                
50
UninstPage uninstConfirm
51
UninstPage instfiles
52

                
53
;--------------------------------
54

                
55
; The stuff to install
56
Section "NNTPGrab (required)"
57

                
58
  SectionIn RO
59
  
60
  SetOutPath $INSTDIR\bin
61
  File "dist\bin\exchndl.dll"
62
  File "dist\bin\gspawn-win32-helper.exe"
63
  File "dist\bin\gspawn-win32-helper-console.exe"
64
  File "dist\bin\libffi-6.dll"
65
  File "dist\bin\libgcc_s_sjlj-1.dll"
66
  File "dist\bin\libgio-2.0-0.dll"
67
  File "dist\bin\libglib-2.0-0.dll"
68
  File "dist\bin\libgmodule-2.0-0.dll"
69
  File "dist\bin\libgobject-2.0-0.dll"
70
  File "dist\bin\libgthread-2.0-0.dll"
71
  File "dist\bin\iconv.dll"
72
  File "dist\bin\libintl-8.dll"
73
  File "dist\bin\libnntpgrab_automation-0.dll"
74
  File "dist\bin\libnntpgrab_utils-0.dll"
75
  File "dist\bin\libnntpgrab_glue-0.dll"
76
  File "dist\bin\libnntpgrab-0.dll"
77
  File "dist\bin\libpng15-15.dll"
78
  File "dist\bin\libproxy.dll"
79
  File "dist\bin\QtCore4.dll"
80
  File "dist\bin\QtNetwork4.dll"
81
  File "dist\bin\QtGui4.dll"
82
  File "dist\bin\libsoup-2.4-1.dll"
83
  File "dist\bin\libsoup-gnome-2.4-1.dll"
84
  File "dist\bin\libsqlite3-0.dll"
85
  File "dist\bin\libtasn1-3.dll"
86
  File "dist\bin\libxml2-2.dll"
87
  File "dist\bin\libstdc++-6.dll"
88
  File "dist\bin\nntpgrab_gui.exe"
89
  File "dist\bin\nntpgrab_gui_debug.exe"
90
  File "dist\bin\nntpgrab_server.exe"
91
  File "dist\bin\nntpgrab_server_qt.exe"
92
  File "dist\bin\par2.exe"
93
  File "dist\bin\UnRAR.exe"
94
  File "dist\bin\zlib1.dll"
95
  File "client\gui\nntpgrab.ico"
96

                
97
  # Start GnuTLS libraries
98
  File "dist\bin\libgpg-error-0.dll"
99
  File "dist\bin\libgcrypt-11.dll"
100
  File "dist\bin\libp11-kit-0.dll"
101
  File "dist\bin\libgnutls-26.dll"
102

                
103
  # Start GIO TLS module
104
  SetOutPath $INSTDIR\lib\gio\modules
105
  File "dist\lib\gio\modules\giomodule.cache"
106
  File "dist\lib\gio\modules\libgiognutls.dll"
107

                
108
  SetOutPath $INSTDIR\lib\nntpgrab
109
  File "dist\lib\nntpgrab\*.dll"
110

                
111
  SetOutPath $INSTDIR\share\nntpgrab\translations
112
  File "dist\share\nntpgrab\translations\*.qm"
113

                
114
  SetOutPath $INSTDIR\share\locale\nl\LC_MESSAGES
115
  File "dist\share\locale\nl\LC_MESSAGES\*.mo"
116

                
117
  ; Write the installation path into the registry
118
  WriteRegStr HKLM SOFTWARE\NNTPGrab "Install_Dir" "$INSTDIR"
119
  
120
  ; Write the uninstall keys for Windows
121
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NNTPGrab" "DisplayName" "NNTPGrab"
122
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NNTPGrab" "UninstallString" '"$INSTDIR\uninstall.exe"'
123
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NNTPGrab" "NoModify" 1
124
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NNTPGrab" "NoRepair" 1
125
  WriteUninstaller "uninstall.exe"
126

                
127
  SetOutPath $INSTDIR\bin
128
  CreateDirectory "$SMPROGRAMS\NNTPGrab"
129
;  CreateShortCut "$SMPROGRAMS\NNTPGrab\License.lnk" "$INSTDIR\COPYING.txt" "" "$INSTDIR\COPYING.txt" 0
130
  CreateShortCut "$SMPROGRAMS\NNTPGrab\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
131
  CreateShortCut "$SMPROGRAMS\NNTPGrab\NNTPGrab.lnk" "$INSTDIR\bin\nntpgrab_gui.exe" "" "$INSTDIR\bin\nntpgrab.ico" 0
132
  CreateShortCut "$SMPROGRAMS\NNTPGrab\NNTPGrab Server.lnk" "$INSTDIR\bin\nntpgrab_server_qt.exe" "" "$INSTDIR\bin\nntpgrab.ico" 0
133
  
134
SectionEnd
135

                
136
Section ".NZB File association"
137

                
138
  ${registerExtension} "$INSTDIR\bin\nntpgrab_gui.exe" ".nzb" "NNTPGrab"
139

                
140
SectionEnd
141

                
142
Section "Webinterface"
143

                
144
  SetOutPath $INSTDIR\webinterface
145
  File "plugins\jsonrpc\web\*.html"
146

                
147
  SetOutPath $INSTDIR\webinterface\css
148
  File "plugins\jsonrpc\web\css\*.css"
149

                
150
  SetOutPath $INSTDIR\webinterface\css\images
151
  File "plugins\jsonrpc\web\css\images\*.png"
152

                
153
  SetOutPath $INSTDIR\webinterface\javascript
154
  File "plugins\jsonrpc\web\javascript\*.js"
155

                
156
SectionEnd
157

                
158
;--------------------------------
159

                
160
; Uninstaller
161

                
162
Section "Uninstall"
163
  
164
  ; Remove registry keys
165
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NNTPGrab"
166
  DeleteRegKey HKLM SOFTWARE\NNTPGrab
167

                
168
  ; Remove files and uninstaller
169
  Delete $INSTDIR\webinterface\javascript\*.*
170
  RMDir  $INSTDIR\webinterface\javascript
171
  Delete $INSTDIR\webinterface\css\images\*.*
172
  RMDir  $INSTDIR\webinterface\css\images
173
  Delete $INSTDIR\webinterface\css\*.*
174
  RMDir  $INSTDIR\webinterface\css
175
  Delete $INSTDIR\webinterface\*.*
176
  RMDir  $INSTDIR\webinterface
177
  Delete $INSTDIR\share\locale\nl\LC_MESSAGES\*.*
178
  RMDir  $INSTDIR\share\locale\nl\LC_MESSAGES
179
  Delete $INSTDIR\share\locale\nl\*.*
180
  RMDir  $INSTDIR\share\locale\nl
181
  Delete $INSTDIR\share\locale\*.*
182
  RMDir  $INSTDIR\share\locale
183
  Delete $INSTDIR\share\nntpgrab\translations\*.*
184
  RMDir  $INSTDIR\share\nntpgrab\translations
185
  Delete $INSTDIR\share\nntpgrab\*.*
186
  RMDir  $INSTDIR\share\nntpgrab
187
  RMDir  $INSTDIR\share
188

                
189
  Delete $INSTDIR\lib\nntpgrab\*.*
190
  RMDir  $INSTDIR\lib\nntpgrab
191
  Delete $INSTDIR\lib\gio\modules\*.*
192
  RMDir  $INSTDIR\lib\gio\modules
193
  RMDir  $INSTDIR\lib\gio
194
  Delete $INSTDIR\lib\*.*
195
  RMDir  $INSTDIR\lib
196

                
197
  Delete $INSTDIR\bin\*.*
198
  RMDir  $INSTDIR\bin
199

                
200
  Delete $INSTDIR\*.*
201
  RMDir  $INSTDIR
202

                
203
  ; Remove shortcuts, if any
204
  Delete "$SMPROGRAMS\NNTPGrab\*.*"
205

                
206
  ; Remove directories used
207
  RMDir "$SMPROGRAMS\NNTPGrab"
208
  RMDir "$INSTDIR"
209

                
210
  ; Delete file associations
211
  ${unregisterExtension} ".nzb" "NZB File"
212
SectionEnd