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