This is an old revision of the document!
Used the Scripts for Adobe Flash installation by Der-Matze as the starting point.
Improved it so that just one script is necessary and a product property is used to decide if it should be installed for IE or other browsers.
Tested with opsi 4.0.1
Tested with opsi-winst 4.11.1.6
Tested with Windows 7 Professional 32 and 64 Bit
Installation Script for Adobe Flash ActiveX 11.0.2.202.233 with custom settings file
Uninstallation Script for Adobe Flash ActiveX Versions 10.0.45.2 - 11.0.2.202.233
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. You might have to run the configuration in the Control Panel before the file is created.
[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.2.202.233 Plugin" ;Dateiname des Produktbildes mit Erweiterung DefVar $ProductPicture$ Set $ProductPicture$ = "Adobe Flash.png" ;Selektiert, ob das Plugin fuer IE oder andere Browser installiert werden soll DefVar $BrowserType$ DefVar $Executable1$ DefVar $Executable2$ Set $BrowserType$ = GetProductProperty("browsertype","IE") ;Dateinamen der zu installierenden MSI-Pakete if ($BrowserType$ = "IE") Set $Executable1$ = "install_flash_player_11_active_x_32bit.msi" Set $Executable2$ = "install_flash_player_11_active_x_64bit.msi" else Set $Executable1$ = "install_flash_player_11_plugin_32bit.msi" Set $Executable2$ = "install_flash_player_11_plugin_64bit.msi" endif ;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, 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] ;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 Flash" ;filename of productpicture with extension DefVar $ProductPicture$ Set $ProductPicture$ = "Adobe Flash.png" ;the variable for the ExitCode DefVar $ExitCode$ ;show $ProductPicture$ and $ProductName$ 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 ActiveX 11.0.2.202 64-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue64("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9E25236A-E313-4853-9C8C-DB7015E9F9C4}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {9E25236A-E313-4853-9C8C-DB7015E9F9C4} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin 11.0.2.202 64-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue64("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1E4B6678-A507-4B6A-B6C7-FEE55FC0C14C}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {1E4B6678-A507-4B6A-B6C7-FEE55FC0C14C} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Plugin 11.0.2.202 32-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue64("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B2883418-71EB-4F63-97AB-222C67E99358}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {B2883418-71EB-4F63-97AB-222C67E99358} /qb-! REBOOT=ReallySuppress" endif ;Adobe Flash Active X 11.0.2.202 32-Bit deinstallieren, wenn es in der Registry gefunden wurde Set $DisplayName$ = GetRegistrystringvalue64("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{6B393C32-A8CE-4663-9D5B-EA75C8D1233C}] DisplayName") if not ($DisplayName$ = "") set $UninstallCommand$ = "MsiExec.exe /x {6B393C32-A8CE-4663-9D5B-EA75C8D1233C} /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\"