====== 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"