User Tools

Site Tools


userspace:winscp

This is an old revision of the document!


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
	Message = Bitte warten, das Produkt wird installiert
 
 
 
;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]
 
;Variable für die Ermittlung des Betriebssystems
	DefVar $OS$
		Set $OS$ = GetOS
 
 
 
;Variable für die Ermittlung der Betriebssystem Unterversion
	DefVar $NTVersion$
		Set $NTVersion$ = GetNTVersion
 
 
 
;Die Variable zur Auswertung des ExitCodes
	DefVar $ExitCode$
 
 
 
;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"
 
 
 
;Anzeigen der Installationsbenachrichtigung incl. des vollen Produktnamens
	Message "Installiere "+$ProductNameFull1$
 
 
 
;Prüfen der Winst Version
	requiredWinstVersion >= "4.11"
 
 
 
;$ProductPicture$ und $ProductName$ anzeigen
	ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$
 
 
 
;Freien Speicherplatz ermitteln
	if not (HasMinimumSpace ("%SYSTEMDRIVE%", "500 MB"))
		LogError "Nicht genügend Platz auf %SYSTEMDRIVE%"
			isFatalError
	endif
 
 
 
;OS-Version ermitteln
	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"
userspace/winscp.1318255332.txt.gz · Last modified: 2021/08/23 08:37 (external edit)