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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations)
Tue Nov 22 14:39:08 2005 UTC (19 years ago) by janosch
Branch: MAIN
Changes since 1.4: +2 -2 lines
Changed from parameters.nsi to variables-decleration

1 janosch 1.4 ; VpnDial.nsi
2 janosch 1.5 ; $Id: vpn.nsi,v 1.4 2005/11/22 14:22:15 janosch Exp $
3 janosch 1.4 ;
4     ; This script can install VpnDial,
5     ; has uninstall support and (optionally) installs start menu shortcuts.
6     ;
7    
8     !include "MUI.nsh"
9 janosch 1.5 !include "variables-decleration.nsi"
10 janosch 1.4 !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