====== WinSCP 4.3.5 ====== Script by Der-Matze \\ Comments and improvements welcome \\ Tested with opsi 4.0.1 \\ Tested with opsi-winst 4.10.x - 4.11.1.6 \\ Tested with Windows XP Professional and Windows 7 Enterprise x64 \\ Installation / Uninstallation Script for WinSCP \\ This script uses the check_innosetup-exitcode script: https://forum.opsi.org/wiki/userspace:check_innosetup-exitcode \\ The installation file can be downloaded from: http://winscp.net/eng/download.php \\ ==== Install.ins ==== [Initial] ;Standard Text, der während der Installation angezeigt wird / Standardtext shown during installation Message = Bitte warten, das Produkt wird installiert ;Loglevel einstellen / set loglevel setLogLevel = 6 ;Bei Fehlern abbrechen / Exit on errors ExitOnError = false ;Syntax Fehler werden in einem separaten Fenster angezeigt / Syntax-errors will be shown in a separate window ScriptErrorMessages = on ;Single-Step Mode nicht verwenden / Do not use the single-step-mode TraceMode = off ;Im Batchmode das Winst-Fenster nicht im Vordergrund anzeigen / Don't show the winst-window in foreground during batchmode StayOnTop = false [Actions] ;Variable für die Ermittlung des Betriebssystems / What kind of OS do we have? DefVar $OS$ Set $OS$ = GetOS ;Variable für die Ermittlung der Betriebssystem Unterversion / What kind of subversion? DefVar $NTVersion$ Set $NTVersion$ = GetNTVersion ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;Name des Produkts (max. 12 Zeichen) / Name of product (max 12 characters) DefVar $ProductName$ Set $ProductName$ = "WinSCP" ;Vollständiger Produktname incl. Versionsnummer / complete productname incl. version DefVar $ProductNameFull1$ Set $ProductNameFull1$ = "WinSCP 4.3.5" ;Dateiname des Produktbildes mit Erweiterung / Dilename of productpicture incl. extension DefVar $ProductPicture$ Set $ProductPicture$ = "WinSCP.png" ;Anzeigen der Installationsbenachrichtigung incl. des vollen Produktnamens / Show installation-message incl. productname Message "Installiere "+$ProductNameFull1$ ;Prüfen der Winst Version / Check the winst-version requiredWinstVersion >= "4.11" ;$ProductPicture$ und $ProductName$ anzeigen / Show $ProductPicture$ and $ProductName$ ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ ;Freien Speicherplatz ermitteln / Check free space on disk if not (HasMinimumSpace ("%SYSTEMDRIVE%", "500 MB")) LogError "Nicht genügend Platz auf %SYSTEMDRIVE%" isFatalError endif ;OS-Version ermitteln / Get the OS-Version if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" ) Winbatch_Install sub "%ScriptDrive%\install\check_exitcode\check_innosetup-exitcode.ins" Files_Copy Linkfolder_Custom else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Winbatch_Install] "%SCRIPTPATH%\winscp435setup.exe" /VERYSILENT /NOCANDY [Linkfolder_Custom] ;Startmenü anpassen Set_basefolder common_programs delete_subfolder "$ProductName$" Set_link name: $ProductName$ target: %ProgramFiles32Dir%\WinSCP\WinSCP.exe parameters: working_dir: icon_file: icon_index: end_link Set_link name: "Pageant" target: %ProgramFiles32Dir%\WinSCP\PuTTY\pageant.exe parameters: working_dir: icon_file: icon_index: end_link Set_link name: "PuTTYGen" target: %ProgramFiles32Dir%\WinSCP\PuTTY\puttygen.exe parameters: working_dir: icon_file: icon_index: end_link [Files_Copy] copy "%SCRIPTPATH%\WinSCP.ini" "%ProgramFiles32Dir%\WinSCP\" ==== Uninstall.ins ==== [Initial] ;Standard Text, der während der Deinstallation angezeigt wird Message = Bitte warten, das Produkt wird deinstalliert ;Loglevel einstellen setLogLevel = 6 ;Bei Fehlern abbrechen ExitOnError = false ;Syntax Fehler werden in einem separaten Fenster angezeigt ScriptErrorMessages = on ;Single-Step Mode nicht verwenden TraceMode = off ;Im Batchmode das Winst-Fenster nicht im Vordergrund anzeigen StayOnTop = false [Actions] ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "WinSCP" ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ set $ProductNameFull1$ = "WinSCP 4.3.5" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "WinSCP.png" ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;Anzeigen der Deinstallationsbenachrichtigung incl. des vollen Produktnamens Message "Deinstalliere "+$ProductNameFull1$ ;$ProductPicture$ und $ProductName$ anzeigen ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_innosetup-exitcode.ins" Linkfolder_Custom [Winbatch_Uninstall] "%ProgramFiles32Dir%\WinSCP\unins000.exe" /VERYSILENT /NORESTART [Linkfolder_Custom] ;Startmenü Verknüpfung löschen Set_basefolder common_programs Set_subfolder "" delete_element "$ProductName$" delete_element "Pageant" delete_element "PuTTYGen"