--- joko/ToolBox/Windows/VpnDial-installer/vpn.nsi 2005/11/22 14:22:15 1.4 +++ joko/ToolBox/Windows/VpnDial-installer/vpn.nsi 2005/11/22 17:28:51 1.11 @@ -1,13 +1,15 @@ ; VpnDial.nsi -; $Id: vpn.nsi,v 1.4 2005/11/22 14:22:15 janosch Exp $ +; $Id: vpn.nsi,v 1.11 2005/11/22 17:28:51 janosch Exp $ ; ; This script can install VpnDial, ; has uninstall support and (optionally) installs start menu shortcuts. ; !include "MUI.nsh" -!include "parameter.nsi" +!include "variables-declaration.nsi" +!include "string_functions.nsi" !include "file_functions.nsi" +!include "ras_functions.nsi" ; -------------------------------- @@ -63,6 +65,7 @@ Function .onInit + System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 @@ -127,12 +130,16 @@ !insertmacro MUI_INSTALLOPTIONS_READ $R3 "vpndial_settings_net.ini" "Field 4" "State" !insertmacro MUI_INSTALLOPTIONS_READ $R4 "vpndial_settings_net.ini" "Field 7" "State" + StrCpy $destination_net "$R1.$R2.$R3.$R4" + ;Get Destination_mask !insertmacro MUI_INSTALLOPTIONS_READ $R5 "vpndial_settings_net.ini" "Field 12" "State" !insertmacro MUI_INSTALLOPTIONS_READ $R6 "vpndial_settings_net.ini" "Field 13" "State" !insertmacro MUI_INSTALLOPTIONS_READ $R7 "vpndial_settings_net.ini" "Field 14" "State" !insertmacro MUI_INSTALLOPTIONS_READ $R8 "vpndial_settings_net.ini" "Field 15" "State" + StrCpy $destination_mask "$R12.$R13.$R14.$R15" + ;-------------------------------------------------------------------------------------------------------------- ;Get Parameter from vpndial_settings_cert.ini @@ -170,7 +177,7 @@ ;CreateDirectory $INSTDIR\certs\ ; Put file there - File /r "vpndial\*.*" + File /r /x CVS "vpndial\*.*" ; Write the installation path into the registry WriteRegStr HKLM Software\NSIS_VpnDial "Install_Dir" "$INSTDIR" @@ -184,6 +191,18 @@ SectionEnd + + + +; --------------------------------------------------------------------------- + +; pbk-Datei anpassen + +; --------------------------------------------------------------------------- + + + +; Verbindungsname Section DetailPrint "Installiere VPN-Verbindung..." Push "[##connectionname##]" #-- text to be replaced within the " " @@ -194,6 +213,7 @@ Call AdvReplaceInFile #-- Call the Function SectionEnd +; Gegenstelle Section Push "PhoneNumber=##destinationhost##" #-- text to be replaced within the " " Push "PhoneNumber=$destination_host" #-- replace with anything within the " " @@ -203,6 +223,24 @@ Call AdvReplaceInFile #-- Call the Function SectionEnd + +; GUID +Section + + Call CreateRasGUID + + Pop $0 ; contains GUID + + Push "Guid=##guid##" #-- text to be replaced within the " " + Push "Guid=$0" #-- replace with anything within the " " + Push all #-- replace all occurrences + Push all #-- replace all occurrences + Push "$INSTDIR\pbk\connection.pbk" #-- file to replace in + Call AdvReplaceInFile #-- Call the Function +SectionEnd + + +; Verbindungsdatei mit globaler Datei zusammenführen Section SetShellVarContext all Push $INSTDIR\pbk\rasphone.pbk @@ -220,7 +258,7 @@ Section ;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $INSTDIR\certs\$cacert -s -r localMachine root" -;nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $cacert -s -r localMachine root" +nsExec::Exec "$INSTDIR\bin\certmgr.exe -add -c $cacert -s -r localMachine root" SectionEnd Section @@ -236,9 +274,8 @@ CreateDirectory "$SMPROGRAMS\VpnDial" CreateShortCut "$SMPROGRAMS\VpnDial\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\VpnDial\VpnMonitor.lnk" "$INSTDIR\bin\VpnDial.exe" "--gui --up --monitor $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0 - CreateShortCut "$SMPROGRAMS\VpnDial\VpnDial.lnk" "$INSTDIR\bin\VpnDial.exe" "--dial $connectionname --net $destination_net" "$INSTDIR\bin\VpnDial.exe" 0 - ;CreateShortCut "$SMPROGRAMS\VpnDial\VpnSetup.lnk" "$INSTDIR\bin\VpnDial.exe" "--setup $connectionname --user $username --pass $userpass" "$INSTDIR\bin\VpnDial.exe" 0 + CreateShortCut "$SMPROGRAMS\VpnDial\VpnMonitor-$connectionname.lnk" "$INSTDIR\bin\VpnDial.exe" "--gui --up --monitor $connectionname --net $destination_net --mask $destination_mask" "$INSTDIR\bin\VpnDial.exe" 0 + CreateShortCut "$SMPROGRAMS\VpnDial\VpnDial-$connectionname.lnk" "$INSTDIR\bin\VpnDial.exe" "--dial $connectionname" "$INSTDIR\bin\VpnDial.exe" 0 CreateShortCut "$SMPROGRAMS\VpnDial\Zertifikate.lnk" "$INSTDIR\certs\" "" "$INSTDIR\certs\" 0 CreateShortCut "$SMPROGRAMS\VpnDial\ZertifikatsVerwaltung.lnk" "$INSTDIR\links\IPSec.msc" "" "$INSTDIR\links\IPSec.msc" 0 ;CreateShortCut "$SMPROGRAMS\VpnDial\README.lnk" "$INSTDIR\doc\README.txt" "" "$INSTDIR\doc\README.txt" 0