This is an old revision of the document!
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 Script for Adobe Air
Uninstallation Script for Adobe Air Versions 2.5.1.17730 - 3.0.0.4080
This script uses the check_msi-exitcode script: https://forum.opsi.org/wiki/userspace:check_msi-exitcode
The installation file can be downloaded from: http://get.adobe.com/de/air/
To extract the msi file from AdobeAIRInstaller.exe execute the file and wait for the first dialog to appear. Do not continue the installation.
Open the temp folder of your user profile and copy the complete content of the temporary installation folder (named something like AIR75.tmp) to “%SCRIPTPATH%\Files”
[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 ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "Adobe Air" ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ set $ProductNameFull1$ = "Adobe Air 3.0.0.4080" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "adobe_air.png" ;Dateinamen der zu installierenden MSI-Pakete DefVar $Executable1$ Set $Executable1$ = "setup.msi" ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;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" ) ;Deinstallation alter Versionen sub "%ScriptPath%\SubUninstall.ins" Message "Installiere "+$ProductNameFull1$ Winbatch_Install sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Winbatch_Install] msiexec /i "%SCRIPTPATH%\Files\$Executable1$" /qb-!
[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] ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "Adobe Air" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "adobe_air.png" ;Die Variable zur Auswertung des ExitCodes DefVar $ExitCode$ ;$ProductPicture$ und $ProductName$ anzeigen ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ sub "%ScriptPath%\SubUninstall.ins"
;Variable für den msiexec Aufruf zur Deinstallation DefVar $UninstallCommand$ ;Variable für die jeweilige Version. Wird aus der Registry ausgelesen DefVar $DisplayName$ ;Adobe Air 2.5.1.17730 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{46C045BF-2B3F-4BC4-8E4C-00E0CF8BD9DB}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {46C045BF-2B3F-4BC4-8E4C-00E0CF8BD9DB} /qb-! REBOOT=ReallySuppress" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif ;Adobe Air 2.6.0.19120 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AFF7E080-1974-45BF-9310-10DE1A1F5ED0}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {AFF7E080-1974-45BF-9310-10DE1A1F5ED0} /qb-! REBOOT=ReallySuppress" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif ;Adobe Air 2.6.0.19140 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AFF7E080-1974-45BF-9310-10DE1A1F5ED0}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {AFF7E080-1974-45BF-9310-10DE1A1F5ED0} /qb-! REBOOT=ReallySuppress" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif ;Adobe Air 2.7.x.xxxxx deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FDB3B167-F4FA-461D-976F-286304A57B2A}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {FDB3B167-F4FA-461D-976F-286304A57B2A} /qb-! REBOOT=ReallySuppress" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif ;Adobe Air 3.0.0.4080 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ACEB2BAF-96DF-48FD-ADD5-43842D4C443D}] DisplayName") if not ($DisplayName$ = "") Message "Deinstalliere "+$DisplayName$ set $UninstallCommand$ = "MsiExec.exe /x {ACEB2BAF-96DF-48FD-ADD5-43842D4C443D} /qb-! REBOOT=ReallySuppress" Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif [Winbatch_Uninstall] $UninstallCommand$