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