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\"