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
The installation file can be downloaded from: http://get.adobe.com/de/air/
Attention: This script calls a subfunction for the exitcodes from %ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins
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
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”
Another way to extract the msi file would be to simply extract it from the downloaded installer via a tool like 7-Zip.
Tree
CLIENT_DATA ├ Install.ins ├ Uninstall.ins ├ SubUninstall.ins ├ adobe_air.png └ Files └ setup.msi
[Initial] ;Standard Text, shown during installation Message = Bitte warten, das Produkt wird installiert ;Set Loglevel setLogLevel = 6 ;Stop when errors ExitOnError = false ;Syntax Fehler are shown in a seperate window ScriptErrorMessages = on ;Do not use Single-Step Mode TraceMode = off ;No winst-window in foreground while batchmode StayOnTop = false [Actions] ;Variable for the OS DefVar $OS$ set $OS$ = GetOS ;Variable for the OS-subversion DefVar $NTVersion$ set $NTVersion$ = GetNTVersion ;Name of product (max. 12 columns) DefVar $ProductName$ Set $ProductName$ = "Adobe Air" ;complete name of product incl. versionno. DefVar $ProductNameFull1$ set $ProductNameFull1$ = "Adobe Air 3.0.0.4080" ;filename of productpicture with extension DefVar $ProductPicture$ Set $ProductPicture$ = "adobe_air.png" ;filename of MSI-package which has to be installed DefVar $Executable1$ Set $Executable1$ = "setup.msi" ;the variable for the ExitCode DefVar $ExitCode$ ;Check the winst-version requiredWinstVersion >= "4.11" ;show $ProductPicture$ and $ProductName$ ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ ;check free diskspace if not (HasMinimumSpace ("%SYSTEMDRIVE%", "500 MB")) LogError "Nicht genügend Platz auf %SYSTEMDRIVE%" isFatalError endif ;Get OS-Version if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" ) ;Deinstall of old versions 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, shown during installation Message = Bitte warten, das Produkt wird deinstalliert ;Set Loglevel setLogLevel = 6 ;Stop when errors ExitOnError = false ;Syntax Fehler are shown in a seperate window ScriptErrorMessages = on ;Do not use Single-Step Mode TraceMode = off ;No winst-window in foreground while batchmode StayOnTop = false [Actions] ;Name of product (max. 12 columns) DefVar $ProductName$ Set $ProductName$ = "Adobe Air" ;filename of productpicture with extension DefVar $ProductPicture$ Set $ProductPicture$ = "adobe_air.png" ;the variable for the ExitCode DefVar $ExitCode$ ;show $ProductPicture$ and $ProductName$ ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ sub "%ScriptPath%\SubUninstall.ins"
;Variable for msiexec-call of deinstallation DefVar $UninstallCommand$ ;Variable for the diffrent versions gotten from the registry DefVar $DisplayName$ ;deinstall Adobe Air 2.5.1.17730, if found in Registry 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 ;deinstall Adobe Air 2.6.0.19120, if found in Registry 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 ;deinstall Adobe Air 2.6.0.19140, if found in Registry 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 ;deinstalll Adobe Air 2.7.x.xxxxx, if found in Registry 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 ;deinstall Adobe Air 3.0.0.4080, if found in Registry 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$