This is an old revision of the document!
Versions
Versions
By Robert Tauber 2014/12/08
Tested with opsi xxxxx
requiredWinstVersion >= 4.11.4.12 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
[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
; 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