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 Miranda
This script uses the check_nullsoft-exitcode script: https://forum.opsi.org/wiki/userspace:check_nullsoft-exitcode
The installation files can be downloaded from:
http://www.miranda-im.org/download/
http://addons.miranda-im.org/details.php?action=viewfile&id=4066
[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$ = "Miranda IM" ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ Set $ProductNameFull1$ = "Miranda 0.9.32" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "miranda.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_nullsoft-exitcode.ins" Files_Copy Files_Delete /AllNTUserProfiles Linkfolder_Custom else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Winbatch_Install] "%SCRIPTPATH%\miranda-im-v0.9.32-unicode.exe" /S [Files_Copy] ;Deutsches Sprachpaket kopieren copy "%SCRIPTPATH%\langpack_german.txt" "%ProgramFiles32Dir%\Miranda IM" [Files_Delete] ;Desktop Verknüpfung aus allen User Profilen löschen (für Win7) delete %UserProfileDir%\Desktop\$ProductName$.lnk [Linkfolder_Custom] ;Desktop Verknüpfung aus All Users löschen set_basefolder desktopdirectory set_subfolder "" delete_element "$ProductName$" ;Startmenü anpassen Set_basefolder common_programs delete_subfolder "$ProductName$" set_subfolder "" Set_link name: $ProductName$ target: %ProgramFiles32Dir%\$ProductName$\miranda32.exe parameters: working_dir: %ProgramFiles32Dir%\$ProductName$\ icon_file: icon_index: end_link
[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] ;Variable zur Ermittlung der Systemarchitektur DefVar $SystemType$ Set $SystemType$ = GetSystemType ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "Miranda IM" ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ set $ProductNameFull1$ = "Miranda 0.9.32" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "miranda.png" ;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_nullsoft-exitcode.ins" Files_Delete Linkfolder_Custom [Winbatch_Uninstall] "%ProgramFiles32Dir%\Miranda IM\uninstall.exe" /S [Files_Delete] delete -sf "%ProgramFiles32Dir%\Miranda IM" [Linkfolder_Custom] ;Startmenü Verknüpfung löschen Set_basefolder common_programs Set_subfolder "" delete_element "$ProductName$"