/[cvs]/joko/ToolBox/Windows/VpnDial-installer/vpn.nsi
ViewVC logotype

Contents of /joko/ToolBox/Windows/VpnDial-installer/vpn.nsi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Tue Nov 22 14:22:15 2005 UTC (18 years, 7 months ago) by janosch
Branch: MAIN
Changes since 1.3: +278 -225 lines
Added Parameter Input

1 ; VpnDial.nsi
2 ; $Id: vpn.nsi,v 1.3 2005/11/21 21:45:29 joko Exp $
3 ;
4 ; This script can install VpnDial,
5 ; has uninstall support and (optionally) installs start menu shortcuts.
6 ;
7
8 !include "MUI.nsh"
9 !include "parameter.nsi"
10 !include "file_functions.nsi"
11
12
13 ; --------------------------------
14 ; The name of the installer
15 ; --------------------------------
16 Name "VpnDial"
17
18 ; The file to write
19 OutFile "VpnDial-Setup.exe"
20
21 ; The default installation directory
22 InstallDir $PROGRAMFILES\NetFragOrg\VpnDial
23
24 ; Registry key to check for directory (so if you install again, it will
25 ; overwrite the old one automatically)
26 InstallDirRegKey HKLM "Software\NSIS_VpnDial" "Install_Dir"
27
28 SetOverwrite on
29
30
31 ; --------------------------------
32 ; (MUI) Interface Settings
33 ; --------------------------------
34 !define MUI_ABORTWARNING
35 !define MUI_COMPONENTSPAGE_NODESC
36 !define MUI_ICON "key.ico"
37 !define MUI_UNICON "key.ico"
38
39
40 ; --------------------------------
41 ; Pages
42 ; --------------------------------
43
44 UninstPage uninstConfirm
45 UninstPage instfiles
46
47 !insertmacro MUI_PAGE_WELCOME
48 Page custom SetupPage1
49 Page custom SetupPage2
50 Page custom SetupPage3
51 !insertmacro MUI_PAGE_COMPONENTS
52 !insertmacro MUI_PAGE_DIRECTORY
53 !insertmacro MUI_PAGE_INSTFILES
54
55 !insertmacro MUI_UNPAGE_CONFIRM
56 !insertmacro MUI_UNPAGE_INSTFILES
57 !insertmacro MUI_LANGUAGE "German"
58
59
60 ; --------------------------------
61 ; .onInit
62 ; --------------------------------
63
64 Function .onInit
65
66 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'
67 Pop $R0
68 StrCmp $R0 0 +3
69 MessageBox MB_OK|MB_ICONEXCLAMATION "Die Installation läuft bereits."
70 Abort
71
72 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "vpndial_settings.ini"
73 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "vpndial_settings_net.ini"
74 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "vpndial_settings_cert.ini"
75 FunctionEnd
76
77 Function SetupPage1
78 ; custom page
79 ; see: http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html#customPages
80 ; and: http://nsis.sourceforge.net/Docs/InstallOptions/Readme.html
81 !insertmacro MUI_HEADER_TEXT "VpnDial Einstellungen" "Bitte füllen Sie folgende Angaben aus"
82 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "vpndial_settings.ini"
83 FunctionEnd
84
85 Function SetupPage2
86 !insertmacro MUI_HEADER_TEXT "VpnDial Einstellungen" "Bitte füllen Sie folgende Angaben aus"
87 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "vpndial_settings_net.ini"
88 FunctionEnd
89
90 Function SetupPage3
91 !insertmacro MUI_HEADER_TEXT "VpnDial Einstellungen" "Bitte füllen Sie folgende Angaben aus"
92 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "vpndial_settings_cert.ini"
93 FunctionEnd
94
95
96 ; --------------------------------
97 ; The stuff to install
98 ; --------------------------------
99
100 Section
101
102 ;Get Parameter from vpndial_settings.ini
103
104 ;Get Connectionname
105 !insertmacro MUI_INSTALLOPTIONS_READ $connectionname "vpndial_settings.ini" "Field 2" "State"
106 ;MessageBox MB_OK $R1
107 ;StrCpy $connectionname $R1
108
109 ;Get Destination_host
110 !insertmacro MUI_INSTALLOPTIONS_READ $destination_host "vpndial_settings.ini" "Field 3" "State"
111 ;MessageBox MB_OK $R2
112 ;StrCpy $destination_host $R2
113
114 ;Get Username
115 !insertmacro MUI_INSTALLOPTIONS_READ $username "vpndial_settings.ini" "Field 4" "State"
116
117 ;Get Password
118 !insertmacro MUI_INSTALLOPTIONS_READ $userpass "vpndial_settings.ini" "Field 8" "State"
119
120 ;-------------------------------------------------------------------------------------------------------------
121
122 ;Get Parameter from vpndial_settings_net.ini
123
124 ;Get Destination_net
125 !insertmacro MUI_INSTALLOPTIONS_READ $R1 "vpndial_settings_net.ini" "Field 2" "State"
126 !insertmacro MUI_INSTALLOPTIONS_READ $R2 "vpndial_settings_net.ini" "Field 3" "State"
127 !insertmacro MUI_INSTALLOPTIONS_READ $R3 "vpndial_settings_net.ini" "Field 4" "State"
128 !insertmacro MUI_INSTALLOPTIONS_READ $R4 "vpndial_settings_net.ini" "Field 7" "State"
129
130 ;Get Destination_mask
131 !insertmacro MUI_INSTALLOPTIONS_READ $R5 "vpndial_settings_net.ini" "Field 12" "State"
132 !insertmacro MUI_INSTALLOPTIONS_READ $R6 "vpndial_settings_net.ini" "Field 13" "State"
133 !insertmacro MUI_INSTALLOPTIONS_READ $R7 "vpndial_settings_net.ini" "Field 14" "State"
134 !insertmacro MUI_INSTALLOPTIONS_READ $R8 "vpndial_settings_net.ini" "Field 15" "State"
135
136 ;--------------------------------------------------------------------------------------------------------------
137
138 ;Get Parameter from vpndial_settings_cert.ini
139
140 !insertmacro MUI_INSTALLOPTIONS_READ $cacert "vpndial_settings_cert.ini" "Field 2" "State"
141 !insertmacro MUI_INSTALLOPTIONS_READ $usercert "vpndial_settings_cert.ini" "Field 3" "State"
142
143 SectionEnd
144
145 Section
146 SetShellVarContext all
147 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
148 Push "[$connectionname]"
149 Call FileSearch
150 Pop $0 #Number of times found throughout
151 Pop $1 #Found at all? yes/no
152 Pop $2 #Number of lines found in
153 StrCmp $1 yes 0 +3
154 MessageBox MB_OK "Die Verbindung $\"$connectionname$\" existiert bereits. Der Eintrag kann leider nicht doppelt angelegt werden."
155 Abort
156 SectionEnd
157
158 Section "VpnDial" IDX_VpnDial
159
160 SetOverwrite on
161
162 SetDetailsPrint both
163 DetailPrint "Installiere VpnDial..."
164
165 ;SectionIn RO
166
167 ; Set output path to the installation directory.
168 SetOutPath $INSTDIR
169
170 ;CreateDirectory $INSTDIR\certs\
171
172 ; Put file there
173 File /r "vpndial\*.*"
174
175 ; Write the installation path into the registry
176 WriteRegStr HKLM Software\NSIS_VpnDial "Install_Dir" "$INSTDIR"
177
178 ; Write the uninstall keys for Windows
179 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "DisplayName" "VpnDial"
180 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "UninstallString" '"$INSTDIR\uninstall.exe"'
181 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoModify" 1
182 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoRepair" 1
183 WriteUninstaller "uninstall.exe"
184
185 SectionEnd
186
187 Section
188 DetailPrint "Installiere VPN-Verbindung..."
189 Push "[##connectionname##]" #-- text to be replaced within the " "
190 Push "[$connectionname]" #-- replace with anything within the " "
191 Push all #-- replace all occurrences
192 Push all #-- replace all occurrences
193 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
194 Call AdvReplaceInFile #-- Call the Function
195 SectionEnd
196
197 Section
198 Push "PhoneNumber=##destinationhost##" #-- text to be replaced within the " "
199 Push "PhoneNumber=$destination_host" #-- replace with anything within the " "
200 Push all #-- replace all occurrences
201 Push all #-- replace all occurrences
202 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
203 Call AdvReplaceInFile #-- Call the Function
204 SectionEnd
205
206 Section
207 SetShellVarContext all
208 Push $INSTDIR\pbk\rasphone.pbk
209 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
210 Push $INSTDIR\pbk\connection.pbk
211 Call JoinFiles
212 CopyFiles $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk $INSTDIR\pbk\rasphone_orig.pbk
213 CopyFiles $INSTDIR\pbk\rasphone.pbk $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
214 SetShellVarContext current
215 SectionEnd
216
217 Section
218 nsExec::Exec "$INSTDIR\bin\VpnDial.exe --setup $connectionname --user $username --pass $userpass"
219 SectionEnd
220
221 Section
222 ;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $INSTDIR\certs\$cacert -s -r localMachine root"
223 ;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $cacert -s -r localMachine root"
224 SectionEnd
225
226 Section
227 ;nsExec::Exec "$INSTDIR\bin\winhttpcertcfg.exe -g -i $INSTDIR\certs\$usercert -c LOCAL_MACHINE\My -a $currentuser"
228 nsExec::Exec "$INSTDIR\bin\winhttpcertcfg.exe -g -i $usercert -c LOCAL_MACHINE\My -a $currentuser"
229 SectionEnd
230
231 ; Optional section (can be disabled by the user)
232 Section "Startmenü-Einträge" IDX_STARTMENU
233
234 SetDetailsPrint both
235 DetailPrint "Installiere Startmenü-Einträge und Desktop-Verknüpfungen..."
236
237 CreateDirectory "$SMPROGRAMS\VpnDial"
238 CreateShortCut "$SMPROGRAMS\VpnDial\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
239 CreateShortCut "$SMPROGRAMS\VpnDial\VpnMonitor.lnk" "$INSTDIR\bin\VpnDial.exe" "--gui --up --monitor $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
240 CreateShortCut "$SMPROGRAMS\VpnDial\VpnDial.lnk" "$INSTDIR\bin\VpnDial.exe" "--dial $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
241 ;CreateShortCut "$SMPROGRAMS\VpnDial\VpnSetup.lnk" "$INSTDIR\bin\VpnDial.exe" "--setup $connectionname --user $username --pass $userpass" "$INSTDIR\bin\VpnDial.exe" 0
242 CreateShortCut "$SMPROGRAMS\VpnDial\Zertifikate.lnk" "$INSTDIR\certs\" "" "$INSTDIR\certs\" 0
243 CreateShortCut "$SMPROGRAMS\VpnDial\ZertifikatsVerwaltung.lnk" "$INSTDIR\links\IPSec.msc" "" "$INSTDIR\links\IPSec.msc" 0
244 ;CreateShortCut "$SMPROGRAMS\VpnDial\README.lnk" "$INSTDIR\doc\README.txt" "" "$INSTDIR\doc\README.txt" 0
245 ;CreateShortCut "$SMPROGRAMS\VpnDial\README-HTML.lnk" "$INSTDIR\doc\README.htm" "" "$INSTDIR\doc\README.htm" 0
246
247 CopyFiles "$INSTDIR\links\Netzwerkverbindung*" "$SMPROGRAMS\VpnDial\"
248
249 SectionEnd
250
251
252 ; --------------------------------
253 ; Uninstaller
254 ; --------------------------------
255
256 Section "Uninstall" IDX_UNINSTALL
257
258 ; ------------------
259 ; uninstall VpnDial
260 ; ------------------
261
262 ; Remove registry keys
263 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial"
264 DeleteRegKey HKLM SOFTWARE\NSIS_VpnDial
265
266 ;Remove files and uninstaller
267 ;Delete $INSTDIR\makensisw.exe
268 ;Delete $INSTDIR\uninstall.exe
269 ;Delete "$INSTDIR\*.*"
270
271 ; Remove shortcuts, if any
272 Delete "$SMPROGRAMS\VpnDial\*.*"
273
274 ; Remove directories used
275 RMDir /r "$SMPROGRAMS\VpnDial"
276 RMDir /r "$INSTDIR"
277
278 SectionEnd

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed