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 Flash Plugin-based 11.0.1.152 with custom settings file
Uninstallation Script for Adobe Flash Plugin-based Versions 10.0.45.2 - 11.0.1.152
This script uses the check_msi-exitcode script: https://forum.opsi.org/wiki/userspace:check_msi-exitcode
The installation files can be downloaded from: http://www.adobe.com/special/products/flashplayer/fp_distribution3.html (You may need to apply for a distribution license!)
Note: settings.sol can be found in “%UserProfileDir%\Anwendungsdaten\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\” and customized via Control Panel\Flash Player.
[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 ;Variable zur Ermittlung der Systemarchitektur DefVar $SystemType$ Set $SystemType$ = GetSystemType ;Name des Produkts (max. 12 Zeichen) DefVar $ProductName$ Set $ProductName$ = "Adobe Flash" ;Vollständiger Produktname incl. Versionsnummer DefVar $ProductNameFull1$ set $ProductNameFull1$ = "Adobe Flash 11.0.1.152 Plugin" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "Adobe Flash.png" ;Dateinamen der zu installierenden MSI-Pakete DefVar $Executable1$ Set $Executable1$ = "install_flash_player_11_plugin_32bit.msi" DefVar $Executable2$ Set $Executable2$ = "install_flash_player_11_plugin_64bit.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$ ;Anzeigen der Installationsbenachrichtigung incl. des vollen Produktnamens Message "Installiere "+$ProductNameFull1$ ;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" ) if $SystemType$ = "x86 System" Winbatch_Install_32-Bit sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif if $SystemType$ = "64 Bit System" Winbatch_Install_64-Bit sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" endif if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" ) Files_Copy_AllUsers_WinNT5x /AllNTUserProfiles endif if ( $NTVersion$ = "Windows Vista" ) Files_Copy_AllUsers_WinNT6x /AllNTUserProfiles endif else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Winbatch_Install_32-Bit] msiexec /i "%SCRIPTPATH%\$Executable1$" /qb-! reboot=reallysuppress [Winbatch_Install_64-Bit] msiexec /i "%SCRIPTPATH%\$Executable2$" /qb-! reboot=reallysuppress [Files_Copy_AllUsers_WinNT5x] ;Konfigurationsdatei in alle Userprofile kopieren copy -s "%SCRIPTPATH%\settings.sol" "%UserProfileDir%\Anwendungsdaten\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\" [Files_Copy_AllUsers_WinNT6x] ;Konfigurationsdatei in alle Userprofile kopieren copy -s "%SCRIPTPATH%\settings.sol" "%UserProfileDir%\AppData\Roaming\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\"
[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] ;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 Flash" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "Adobe Flash.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 Flash Plugin-based 10.0.45.2 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AF36CE1D-FD2C-4BA0-93FA-1196785DD610}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {AF36CE1D-FD2C-4BA0-93FA-1196785DD610} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.1.53.64 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1C5EC8F6-5C5F-421F-85BE-919B5D0CAD4C}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {1C5EC8F6-5C5F-421F-85BE-919B5D0CAD4C} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.1.82.76 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{012CE096-06BA-4f46-8E89-0B4F900E7479}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {012CE096-06BA-4f46-8E89-0B4F900E7479} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.1.85.3 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{343DB62F-891F-45EC-BED3-E2F56CEB1B7C}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {343DB62F-891F-45EC-BED3-E2F56CEB1B7C} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.1.102.64 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{35F7D0BF-08AB-42E3-A403-AF9772AC216A}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {35F7D0BF-08AB-42E3-A403-AF9772AC216A} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.2.152.26 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E6725026-A650-449C-897B-D6B7A5EEA058}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {E6725026-A650-449C-897B-D6B7A5EEA058} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.2.153.1 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9C542173-96F0-435D-A95C-468CAAC75EA0}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {9C542173-96F0-435D-A95C-468CAAC75EA0} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.2.159.1 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F473C85C-1FED-4D0A-8155-E97AC7E43C9D}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {F473C85C-1FED-4D0A-8155-E97AC7E43C9D} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.3.181.14 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B7BDAF22-9647-4846-8EA9-6E0A5B785651}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {B7BDAF22-9647-4846-8EA9-6E0A5B785651} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.3.181.22 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{4ED0DB47-769D-4B71-8724-E7A5BFEA1D51}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {4ED0DB47-769D-4B71-8724-E7A5BFEA1D51} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.3.181.26 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{53F29A32-7D03-4635-A8B3-839D921F6F96}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {53F29A32-7D03-4635-A8B3-839D921F6F96} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.3.183.7 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8FC6B896-6F86-4957-AC1A-077A755C4F08}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {8FC6B896-6F86-4957-AC1A-077A755C4F08} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin-based 10.3.183.10 deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FDBF4291-7DDB-4C5C-B128-332A46CF8FFA}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {FDBF4291-7DDB-4C5C-B128-332A46CF8FFA} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash ActiveX 11.0.1.152 32-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{66EE3C89-25FD-4D8F-BC01-B94B25B9D03F}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {66EE3C89-25FD-4D8F-BC01-B94B25B9D03F} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash ActiveX 11.0.1.152 64-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue64("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{CA6DA0CF-2852-4407-ADE2-CA6281C8CE9D}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {CA6DA0CF-2852-4407-ADE2-CA6281C8CE9D} /qb-! REBOOT=ReallySuppress" endif Message "Deinstalliere "+$DisplayName$ Winbatch_Uninstall sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins" if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" ) Files_Delete_AllUsers_WinNT5x /AllNTUserProfiles endif if ( $NTVersion$ = "Windows Vista" ) Files_Delete_AllUsers_WinNT6x /AllNTUserProfiles endif [Winbatch_Uninstall] $UninstallCommand$ [Files_Delete_AllUsers_WinNT5x] ;Konfigurationsordner in allen Userprofilen löschen delete -sf "%UserProfileDir%\Anwendungsdaten\Macromedia\" [Files_Delete_AllUsers_WinNT6x] ;Konfigurationsordner in allen Userprofilen löschen delete -sf "%UserProfileDir%\AppData\Roaming\Macromedia\"