====== ETU Adobe Reader ======
**Versions**\\
Versions
By //[[tauber(at)fsmb.mw.tum.de|Robert Tauber]] 2014/12/08//\\
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:\Adobe Reader\Adobe Reader\AdbeRdr#####_de_DE.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:\Adobe Reader):\\
[[Copy.exe]] (Für *.exe)\\
Adobe Reader\AdbeRdr#####_de_DE.exe => [[http://get.adobe.com/de/reader/enterprise/]]\\
Tree (..\Adobe Reader):\\
OPSI\control\\
CLIENT_DATA\setup.ins\\
CLIENT_DATA\uninstall.ins\\
CLIENT_DATA\image.png\\
==== control ====
[Package]
version: 2014.12.08
depends:
incremental: False
[Product]
type: localboot
id: adobe-reader
name: Adobe Reader (WIN XP / WIN 7)
description: Dokumentenbetrachter fuer PDF-Dateien
advice: packed by Robert Tauber
version: 0
priority: 0
licenseRequired: False
productClasses:
setupScript: setup.ins
uninstallScript: uninstall.ins
updateScript:
alwaysScript:
onceScript:
customScript:
userLoginScript:
[ProductDependency]
action: setup
requiredProduct: cleanup
requiredAction: setup
requirementType: after
[ProductDependency]
action: uninstall
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$
Set $ValidOS$ = "false"
;-----------------------------------------------------
; Angaben zum Produkt
;-----------------------------------------------------
; Kurzer Produktname (max. 12 Zeichen)
Set $ProductNameShort$ = "Adobe Reader"
; Langer Produktname (max. 30 Zeichen)
Set $ProductNameLong$ = "Adobe Reader"
;-----------------------------------------------------
; Gewünschtes Betriebssystem (alle ungü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
ExitWindows /Reboot
;-----------------------------------------------------
;-----------------------------------------------------
; Subroutinen
;-----------------------------------------------------
[FilesCleanDir]
Delete -s $LocalDir$
[DosBatchMakeDir]
@echo off
mkdir $LocalDir$
[WinbatchInstallation]
"C:\Temp\$ProductNameShort$\AdobeReader.exe" /sPB ;/sAll
;-----------------------------------------------------
; 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
==== uninstall.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$
Set $ValidOS$ = "false"
;-----------------------------------------------------
; Angaben zum Produkt
;-----------------------------------------------------
; Kurzer Produktname (max. 12 Zeichen)
Set $ProductNameShort$ = "Adobe Reader"
; Langer Produktname (max. 30 Zeichen)
Set $ProductNameLong$ = "Adobe Reader"
;-----------------------------------------------------
; Gewünschtes Betriebssystem (alle ungü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 "Deinstalliere " + $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 DeInstallation
;-----------------------------------------------------
Set $Part$ = "setup.exe"
DosBatchUnInstallation
subCheckExitCodeEXE
FilesCleanTemp
ExitWindows /Reboot
;-----------------------------------------------------
;-----------------------------------------------------
; Subroutinen
;-----------------------------------------------------
[FilesCleanDir]
Delete -s $LocalDir$
[DosBatchMakeDir]
@echo off
mkdir $LocalDir$
[DosBatchUnInstallation]
@echo off
MsiExec.exe /qn /X {AC76BA86-7AD7-1031-7B44-AB0000000001}
;-----------------------------------------------------
; 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