====== ETU GIMP ======
**Versions**\\
Versions
By //[[tauber(at)fsmb.mw.tum.de|Robert Tauber]] 2014/12/08//\\
* Ich hoffe bald auch das uninstall zur Verfügung stellen zu können\\
Tested with opsi xxxxx\\
requiredWinstVersion >= 4.11.4.12 //[[tauber(at)fsmb.mw.tum.de|Robert Tauber]] 2014/12/08//\\
Das Setup-File wird unter Q:\gimp\gimp\gimp-#.#.##-setup-1.exe bereit gestellt (den Speicher Ort des Netzlaufwerks Q: bestimmt die **map_Q.exe** //..\opt_pcbin\install\!drivemap\map_Q.exe//)
Tree (..\opt_pcbin\install\!drivemap):\\
[[map_Q.exe]]\\
Tree (Q:\Notepad++):\\
[[Copy.exe]] (Für *.exe)\\
gimp\gimp-#.#.##-setup-1.exe\\
Tree (..\notepadpp):\\
OPSI\control\\
CLIENT_DATA\setup.ins\\
CLIENT_DATA\image.png\\
==== control ====
[Package]
version: 2014.12.08
depends:
incremental: False
[Product]
type: localboot
id: gimp
name: The GIMP
description: Eine freie Grafiksoftware
advice: packed by Robert TAuber
version: 0
priority: 0
licenseRequired: False
productClasses:
setupScript: setup.ins
uninstallScript:
updateScript:
alwaysScript:
onceScript:
customScript:
userLoginScript:
[ProductDependency]
action: setup
requiredProduct: cleanup
requiredAction: setup
requirementType: after
==== setup.ins ====
; Robert Tauber 2014
[Actions]
requiredWinstVersion >= "4.10.5"
setLogLevel = 5
StayOnTop = on
DefVar $ProductId$
DefVar $ProductNameShort$
DefVar $ProductNameLong$
DefVar $LocalDir$
DefVar $ExitCode$
DefVar $Part$
DefVar $ValidOS$
DefVar $Reboot$
Set $ValidOS$ = "false"
Set $Reboot$ = "false"
;-----------------------------------------------------
; Angaben zum Produkt
;-----------------------------------------------------
; Kurzer Produktname (max. 12 Zeichen)
Set $ProductNameShort$ = "GIMP"
; Langer Produktname (max. 30 Zeichen)
Set $ProductNameLong$ = "The GIMP"
;-----------------------------------------------------
; Gewünschtes Betriebssystem (alle gültigen auskommentieren)
subCheckForWinXP-32 ; Windows XP 32-bit
subCheckForVista-32 ; Windows Vista 32-bit
subCheckForVista-64 ; Windows Vista 64-bit
subCheckForSeven-32 ; Windows 7 32-bit
subCheckForSeven-64 ; Windows 7 64-bit
;-----------------------------------------------------
;-----------------------------------------------------
; Muss normalerweise nicht geändert werden
;-----------------------------------------------------
; Bildchen und Statusmeldung
ShowBitmap "%ScriptPath%\image.png" $ProductNameShort$
Message "Installiere " + $ProductNameLong$ + "..."
; Lokalen Pfad erzeugen
Set $ProductId$ = "%installingProduct%"
if $ProductId$ = ""
Set $ProductId$ = "local_testing"
endif
Set $LocalDir$ = "%SystemDrive%\files\" + $ProductId$
; Prüfen, ob gültiges Betriebssystem
if $ValidOS$ = "false"
LogError "Dieses Betriebssystem (" + GetNtVersion + " " + GetSystemType + ") wird von diesem Produkt (" + $ProductId$ + ") nicht unterstützt!"
isFatalError
endif
;-----------------------------------------------------
; Daten vorbereiten
;-----------------------------------------------------
FilesCleanDir
DosBatchMakeDir
;-----------------------------------------------------
; Netzlaufwerk verbinden/Copy
;-----------------------------------------------------
DosInAnIcon_Q
DosInAnIcon_Copy
;-----------------------------------------------------
; Die Installation
;-----------------------------------------------------
WinbatchInstallation
subCheckExitCodeEXE
; FilesCleanTemp
subReboot
;-----------------------------------------------------
; Subroutinen
;-----------------------------------------------------
[FilesCleanDir]
Delete -s $LocalDir$
[DosInAnIconMakeDir]
@echo off
mkdir $LocalDir$
[WinbatchInstallation]
"C:\Temp\$ProductNameShort$\$ProductNameShort$.exe" /SILENT /SUPPRESSMSGBOXES /NOCANCEL
; RT: 2014.10.22 Ging mal leider nimmer keine lust auf reschersche
;"C:\Temp\$ProductNameShort$\$ProductNameShort$.exe" /VERYSILENT /SUPPRESSMSGBOXES /LOG="$LocalDir$\$Part$_log.txt" /NOCANCEL /NORESTART /RESTARTEXITCODE=42 /NOICONS
;-----------------------------------------------------
; Netzlaufwerk verbinden/Copy
;-----------------------------------------------------
[DosInAnIcon_Q]
"p:\!drivemap\map_Q.exe"
[DosInAnIcon_Copy]
"Q:\$ProductNameShort$\Copy.exe"
[FilesCleanTemp]
Delete -s "%SystemDrive%\Temp\$ProductNameShort$"
;-----------------------------------------------------
; Subroutinen zur Überprüfung der ExitCodes
; Je nach Installer verschieden
;-----------------------------------------------------
;
; Windows Installer: subCheckExitCodeMSI
; 0 = Erfolgreich
; 3010 = Bitte Neustart
; Diverse EXE-Dateien: subCheckExitCodeEXE
; 0 = Erfolgreich
;-----------------------------------------------------
[subCheckExitCodeMSI]
Set $ExitCode$ = getLastExitCode
; Abbruch bei Fehler
if not (($ExitCode$ = "0") or ($ExitCode$ = "3010"))
LogError "Fehler bei der Installation von " + $ProductNameLong$ + " (" + $Part$ + "): ExitCode " + $ExitCode$
isFatalError
endif
comment "Erfolgreiche Installation von " + $ProductNameLong$ + " (" + $Part$ + "): ExitCode " + $ExitCode$
; Neustart, falls gewünscht
if $ExitCode$ = "3010"
set $Reboot$ = "true"
endif
[subCheckExitCodeEXE]
Set $ExitCode$ = getLastExitCode
; Abbruch bei Fehler
if not ($ExitCode$ = "0")
LogError "Fehler bei der Installation von " + $ProductNameLong$ + " (" + $Part$ + "): ExitCode " + $ExitCode$
isFatalError
endif
comment "Erfolgreiche Installation von " + $ProductNameLong$ + " (" + $Part$ + "): ExitCode " + $ExitCode$
[subReboot]
if $Reboot$ = "true"
ExitWindows /Reboot
endif
;-----------------------------------------------------
; Subroutinen zur Überprüfung der Windows-Version
;-----------------------------------------------------
[subCheckForWinXP-32]
if GetMsVersionInfo = "5.1" AND GetSystemType = "x86 System"
Set $ValidOS$ = "true"
endif
[subCheckForVista-32]
if GetMsVersionInfo = "6.0" AND GetSystemType = "x86 System"
Set $ValidOS$ = "true"
endif
[subCheckForVista-64]
if GetMsVersionInfo = "6.0" AND GetSystemType = "64 bit System"
Set $ValidOS$ = "true"
endif
[subCheckForSeven-32]
if GetMsVersionInfo = "6.1" AND GetSystemType = "x86 System"
Set $ValidOS$ = "true"
endif
[subCheckForSeven-64]
if GetMsVersionInfo = "6.1" AND GetSystemType = "64 bit System"
Set $ValidOS$ = "true"
endif