/[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.3 - (show annotations)
Mon Nov 21 21:45:29 2005 UTC (18 years, 7 months ago) by joko
Branch: MAIN
Changes since 1.2: +17 -6 lines
+ initial version of "custom page"

1 ; VpnDial.nsi
2 ; $Id: vpn.nsi,v 1.2 2005/11/21 19:55:43 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 ; more options: language of the installer & installer style
29 ;LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
30 ;XPStyle on
31
32 SetOverwrite on
33
34
35 ; --------------------------------
36 ; (MUI) Interface Settings
37 ; --------------------------------
38 !define MUI_ABORTWARNING
39 !define MUI_COMPONENTSPAGE_NODESC
40 !define MUI_ICON "key.ico"
41 !define MUI_UNICON "key.ico"
42
43
44 ; --------------------------------
45 ; Pages
46 ; --------------------------------
47 ;Page components
48 ;Page directory
49 ;Page instfiles
50
51 UninstPage uninstConfirm
52 UninstPage instfiles
53
54 ;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
55 !insertmacro MUI_PAGE_WELCOME
56 Page custom Setup
57 !insertmacro MUI_PAGE_COMPONENTS
58 !insertmacro MUI_PAGE_DIRECTORY
59 !insertmacro MUI_PAGE_INSTFILES
60
61 !insertmacro MUI_UNPAGE_CONFIRM
62 !insertmacro MUI_UNPAGE_INSTFILES
63 !insertmacro MUI_LANGUAGE "German"
64
65
66 ; --------------------------------
67 ; .onInit
68 ; --------------------------------
69
70 Function .onInit
71
72 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'
73 Pop $R0
74 StrCmp $R0 0 +3
75 MessageBox MB_OK|MB_ICONEXCLAMATION "Die Installation läuft bereits."
76 Abort
77
78 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "vpndial_settings.ini"
79
80 FunctionEnd
81
82 Function Setup
83 ; custom page
84 ; see: http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html#customPages
85 ; and: http://nsis.sourceforge.net/Docs/InstallOptions/Readme.html
86 !insertmacro MUI_HEADER_TEXT "VpnDial Einstellungen" "Bitte füllen Sie folgende Angaben aus"
87 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "vpndial_settings.ini"
88 FunctionEnd
89
90 ; --------------------------------
91 ; The stuff to install
92 ; --------------------------------
93
94 Section
95 SetShellVarContext all
96 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
97 Push "[$connectionname]"
98 Call FileSearch
99 Pop $0 #Number of times found throughout
100 Pop $1 #Found at all? yes/no
101 Pop $2 #Number of lines found in
102 StrCmp $1 yes 0 +3
103 MessageBox MB_OK "Die Verbindung $\"$connectionname$\" existiert bereits. Der Eintrag kann leider nicht doppelt angelegt werden."
104 Abort
105 SectionEnd
106
107 Section "VpnDial" IDX_VpnDial
108
109 SetOverwrite on
110
111 SetDetailsPrint both
112 DetailPrint "Installiere VpnDial..."
113
114 ;SectionIn RO
115
116 ; Set output path to the installation directory.
117 SetOutPath $INSTDIR
118
119 ;CreateDirectory $INSTDIR\certs\
120
121 ; Put file there
122 File /r "vpndial\*.*"
123
124 ; Write the installation path into the registry
125 WriteRegStr HKLM Software\NSIS_VpnDial "Install_Dir" "$INSTDIR"
126
127 ; Write the uninstall keys for Windows
128 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "DisplayName" "VpnDial"
129 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "UninstallString" '"$INSTDIR\uninstall.exe"'
130 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoModify" 1
131 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial" "NoRepair" 1
132 WriteUninstaller "uninstall.exe"
133
134 SectionEnd
135
136 Section
137 DetailPrint "Installiere VPN-Verbindung..."
138 Push "[##connectionname##]" #-- text to be replaced within the " "
139 Push "[$connectionname]" #-- replace with anything within the " "
140 Push all #-- replace all occurrences
141 Push all #-- replace all occurrences
142 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
143 Call AdvReplaceInFile #-- Call the Function
144 SectionEnd
145
146 Section
147 Push "PhoneNumber=##destinationhost##" #-- text to be replaced within the " "
148 Push "PhoneNumber=$destination_host" #-- replace with anything within the " "
149 Push all #-- replace all occurrences
150 Push all #-- replace all occurrences
151 Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in
152 Call AdvReplaceInFile #-- Call the Function
153 SectionEnd
154
155 Section
156 SetShellVarContext all
157 Push $INSTDIR\pbk\rasphone.pbk
158 Push $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
159 Push $INSTDIR\pbk\connection.pbk
160 Call JoinFiles
161 CopyFiles $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk $INSTDIR\pbk\rasphone_orig.pbk
162 CopyFiles $INSTDIR\pbk\rasphone.pbk $APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk
163 SetShellVarContext current
164 SectionEnd
165
166 Section
167 nsExec::Exec "$INSTDIR\bin\VpnDial.exe --setup $connectionname --user $username --pass $userpass"
168 SectionEnd
169
170 Section
171 nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $INSTDIR\certs\$cacert -s -r localMachine root"
172 SectionEnd
173
174 Section
175 nsExec::Exec "$INSTDIR\bin\winhttpcertcfg.exe -g -i $INSTDIR\certs\$usercert -c LOCAL_MACHINE\My -a $currentuser"
176 SectionEnd
177
178 ; Optional section (can be disabled by the user)
179 Section "Startmenü-Einträge" IDX_STARTMENU
180
181 SetDetailsPrint both
182 DetailPrint "Installiere Startmenü-Einträge und Desktop-Verknüpfungen..."
183
184 CreateDirectory "$SMPROGRAMS\VpnDial"
185 CreateShortCut "$SMPROGRAMS\VpnDial\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
186 CreateShortCut "$SMPROGRAMS\VpnDial\VpnMonitor.lnk" "$INSTDIR\bin\VpnDial.exe" "--gui --up --monitor $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
187 CreateShortCut "$SMPROGRAMS\VpnDial\VpnDial.lnk" "$INSTDIR\bin\VpnDial.exe" "--dial $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0
188 ;CreateShortCut "$SMPROGRAMS\VpnDial\VpnSetup.lnk" "$INSTDIR\bin\VpnDial.exe" "--setup $connectionname --user $username --pass $userpass" "$INSTDIR\bin\VpnDial.exe" 0
189 CreateShortCut "$SMPROGRAMS\VpnDial\Zertifikate.lnk" "$INSTDIR\certs\" "" "$INSTDIR\certs\" 0
190 CreateShortCut "$SMPROGRAMS\VpnDial\ZertifikatsVerwaltung.lnk" "$INSTDIR\links\IPSec.msc" "" "$INSTDIR\links\IPSec.msc" 0
191 ;CreateShortCut "$SMPROGRAMS\VpnDial\README.lnk" "$INSTDIR\doc\README.txt" "" "$INSTDIR\doc\README.txt" 0
192 ;CreateShortCut "$SMPROGRAMS\VpnDial\README-HTML.lnk" "$INSTDIR\doc\README.htm" "" "$INSTDIR\doc\README.htm" 0
193
194 CopyFiles "$INSTDIR\links\Netzwerkverbindung*" "$SMPROGRAMS\VpnDial\"
195
196 SectionEnd
197
198
199 ; --------------------------------
200 ; Uninstaller
201 ; --------------------------------
202
203 Section "Uninstall" IDX_UNINSTALL
204
205 ; ------------------
206 ; uninstall VpnDial
207 ; ------------------
208
209 ; Remove registry keys
210 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VpnDial"
211 DeleteRegKey HKLM SOFTWARE\NSIS_VpnDial
212
213 ;Remove files and uninstaller
214 ;Delete $INSTDIR\makensisw.exe
215 ;Delete $INSTDIR\uninstall.exe
216 ;Delete "$INSTDIR\*.*"
217
218 ; Remove shortcuts, if any
219 Delete "$SMPROGRAMS\VpnDial\*.*"
220
221 ; Remove directories used
222 RMDir /r "$SMPROGRAMS\VpnDial"
223 RMDir /r "$INSTDIR"
224
225 SectionEnd

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