/[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.6 - (show annotations)
Tue Nov 22 15:50:55 2005 UTC (18 years, 7 months ago) by janosch
Branch: MAIN
Changes since 1.5: +5 -1 lines
concatenate IP strings

1 ; VpnDial.nsi
2 ; $Id: vpn.nsi,v 1.5 2005/11/22 14:39:08 janosch 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 "variables-decleration.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 StrCpy $destination_net "$R1.$R2.$R3.$R4"
131
132 ;Get Destination_mask
133 !insertmacro MUI_INSTALLOPTIONS_READ $R5 "vpndial_settings_net.ini" "Field 12" "State"
134 !insertmacro MUI_INSTALLOPTIONS_READ $R6 "vpndial_settings_net.ini" "Field 13" "State"
135 !insertmacro MUI_INSTALLOPTIONS_READ $R7 "vpndial_settings_net.ini" "Field 14" "State"
136 !insertmacro MUI_INSTALLOPTIONS_READ $R8 "vpndial_settings_net.ini" "Field 15" "State"
137
138 StrCpy $destination_mask "$R12.$R13.$R14.$R15"
139
140 ;--------------------------------------------------------------------------------------------------------------
141
142 ;Get Parameter from vpndial_settings_cert.ini
143
144 !insertmacro MUI_INSTALLOPTIONS_READ $cacert "vpndial_settings_cert.ini" "Field 2" "State"
145 !insertmacro MUI_INSTALLOPTIONS_READ $usercert "vpndial_settings_cert.ini" "Field 3" "State"
146
147 SectionEnd
148
149 Section
150 SetShellVarContext all
151 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
152 Push "[$connectionname]"
153 Call FileSearch
154 Pop $0 #Number of times found throughout
155 Pop $1 #Found at all? yes/no
156 Pop $2 #Number of lines found in
157 StrCmp $1 yes 0 +3
158 MessageBox MB_OK "Die Verbindung $\"$connectionname$\" existiert bereits. Der Eintrag kann leider nicht doppelt angelegt werden."
159 Abort
160 SectionEnd
161
162 Section "VpnDial" IDX_VpnDial
163
164 SetOverwrite on
165
166 SetDetailsPrint both
167 DetailPrint "Installiere VpnDial..."
168
169 ;SectionIn RO
170
171 ; Set output path to the installation directory.
172 SetOutPath $INSTDIR
173
174 ;CreateDirectory $INSTDIR\certs\
175
176 ; Put file there
177 File /r "vpndial\*.*"
178
179 ; Write the installation path into the registry
180 WriteRegStr HKLM Software\NSIS_VpnDial "Install_Dir" "$INSTDIR"
181
182 ; Write the uninstall keys for Windows
183 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "DisplayName" "VpnDial"
184 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "UninstallString" '"$INSTDIR\uninstall.exe"'
185 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoModify" 1
186 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoRepair" 1
187 WriteUninstaller "uninstall.exe"
188
189 SectionEnd
190
191 Section
192 DetailPrint "Installiere VPN-Verbindung..."
193 Push "[##connectionname##]" #-- text to be replaced within the " "
194 Push "[$connectionname]" #-- replace with anything within the " "
195 Push all #-- replace all occurrences
196 Push all #-- replace all occurrences
197 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
198 Call AdvReplaceInFile #-- Call the Function
199 SectionEnd
200
201 Section
202 Push "PhoneNumber=##destinationhost##" #-- text to be replaced within the " "
203 Push "PhoneNumber=$destination_host" #-- replace with anything within the " "
204 Push all #-- replace all occurrences
205 Push all #-- replace all occurrences
206 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
207 Call AdvReplaceInFile #-- Call the Function
208 SectionEnd
209
210 Section
211 SetShellVarContext all
212 Push $INSTDIR\pbk\rasphone.pbk
213 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
214 Push $INSTDIR\pbk\connection.pbk
215 Call JoinFiles
216 CopyFiles $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk $INSTDIR\pbk\rasphone_orig.pbk
217 CopyFiles $INSTDIR\pbk\rasphone.pbk $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
218 SetShellVarContext current
219 SectionEnd
220
221 Section
222 nsExec::Exec "$INSTDIR\bin\VpnDial.exe --setup $connectionname --user $username --pass $userpass"
223 SectionEnd
224
225 Section
226 ;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $INSTDIR\certs\$cacert -s -r localMachine root"
227 ;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $cacert -s -r localMachine root"
228 SectionEnd
229
230 Section
231 ;nsExec::Exec "$INSTDIR\bin\winhttpcertcfg.exe -g -i $INSTDIR\certs\$usercert -c LOCAL_MACHINE\My -a $currentuser"
232 nsExec::Exec "$INSTDIR\bin\winhttpcertcfg.exe -g -i $usercert -c LOCAL_MACHINE\My -a $currentuser"
233 SectionEnd
234
235 ; Optional section (can be disabled by the user)
236 Section "Startmenü-Einträge" IDX_STARTMENU
237
238 SetDetailsPrint both
239 DetailPrint "Installiere Startmenü-Einträge und Desktop-Verknüpfungen..."
240
241 CreateDirectory "$SMPROGRAMS\VpnDial"
242 CreateShortCut "$SMPROGRAMS\VpnDial\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
243 CreateShortCut "$SMPROGRAMS\VpnDial\VpnMonitor.lnk" "$INSTDIR\bin\VpnDial.exe" "--gui --up --monitor $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
244 CreateShortCut "$SMPROGRAMS\VpnDial\VpnDial.lnk" "$INSTDIR\bin\VpnDial.exe" "--dial $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
245 ;CreateShortCut "$SMPROGRAMS\VpnDial\VpnSetup.lnk" "$INSTDIR\bin\VpnDial.exe" "--setup $connectionname --user $username --pass $userpass" "$INSTDIR\bin\VpnDial.exe" 0
246 CreateShortCut "$SMPROGRAMS\VpnDial\Zertifikate.lnk" "$INSTDIR\certs\" "" "$INSTDIR\certs\" 0
247 CreateShortCut "$SMPROGRAMS\VpnDial\ZertifikatsVerwaltung.lnk" "$INSTDIR\links\IPSec.msc" "" "$INSTDIR\links\IPSec.msc" 0
248 ;CreateShortCut "$SMPROGRAMS\VpnDial\README.lnk" "$INSTDIR\doc\README.txt" "" "$INSTDIR\doc\README.txt" 0
249 ;CreateShortCut "$SMPROGRAMS\VpnDial\README-HTML.lnk" "$INSTDIR\doc\README.htm" "" "$INSTDIR\doc\README.htm" 0
250
251 CopyFiles "$INSTDIR\links\Netzwerkverbindung*" "$SMPROGRAMS\VpnDial\"
252
253 SectionEnd
254
255
256 ; --------------------------------
257 ; Uninstaller
258 ; --------------------------------
259
260 Section "Uninstall" IDX_UNINSTALL
261
262 ; ------------------
263 ; uninstall VpnDial
264 ; ------------------
265
266 ; Remove registry keys
267 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial"
268 DeleteRegKey HKLM SOFTWARE\NSIS_VpnDial
269
270 ;Remove files and uninstaller
271 ;Delete $INSTDIR\makensisw.exe
272 ;Delete $INSTDIR\uninstall.exe
273 ;Delete "$INSTDIR\*.*"
274
275 ; Remove shortcuts, if any
276 Delete "$SMPROGRAMS\VpnDial\*.*"
277
278 ; Remove directories used
279 RMDir /r "$SMPROGRAMS\VpnDial"
280 RMDir /r "$INSTDIR"
281
282 SectionEnd

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