Difference between revisions of "Flash Player"
(→Adobe Flash Player 11.7.700.224: As this isn't being kept up-to-date, indicate that this technique applies to all current versions of Flash Player 11) |
(Corrected erroneous information about EMET, but left original workaround in case readers don't trust a random person on the Internet) |
||
Line 84: | Line 84: | ||
== Using Microsoft EMET == | == Using Microsoft EMET == | ||
− | If you use | + | If you use [[Microsoft EMET]] http://www.microsoft.com/en-us/download/details.aspx?id=29851 as additional layer of protection, you need to protect Internet Explorer and Firefox in order to protect the Flash plugin. It does not appear to be necessary or sufficient to add EMET rules to protect executables in %systemroot%\system32\macromed\Flash because [http://www.rationallyparanoid.com/articles/microsoft-emet-2.html the only executables in that directory are uninstallers]. The Flash plugin runs as part of the Firefox plugin-container or the Internet Explorer process. |
+ | |||
+ | If you want to protect those files anyway, it's bit of a hassle to add new player versions to EMET configuration because EMET does not accept wildcards in executable filenames. Automate the process with this script: | ||
<source lang="dos"> | <source lang="dos"> | ||
rem %PKG_SOURCE%\emet.cmd | rem %PKG_SOURCE%\emet.cmd |
Revision as of 17:47, 13 November 2013
This is a silent installer for Adobe Flash Player. To use these installers on your network, you will need to get a licence but this is a simple free process.
Contents
- 1 Documentation for all versions
- 2 Download Flash Player
- 3 Adobe Flash Player 11.6.x, 11.7.x, 11.8.x and 11.9.x
- 4 Using Microsoft EMET
- 5 Adobe Flash Player 11.3.300.268
- 6 Adobe Flash Player 11.3
- 7 Adobe Flash Player 11.2
- 8 Adobe Flash Player 11.1
- 9 Adobe Flash Player 10
- 10 Disable Automatic Update dialog in Adobe Flash Player
- 11 Older Versions
- 12 External Links
Documentation for all versions
Adobe Flash Platform Runtime Releases - Announcements and release notes for Adobe AIR and Adobe Flash Player: http://blogs.adobe.com/flashruntimereleases/
Security bulletins and advisories: http://www.adobe.com/support/security/#flashplayer
Download Flash Player
- Uninstaller:
Adobe Flash Player 11.6.x, 11.7.x, 11.8.x and 11.9.x
- Uninstaller Download: http://helpx.adobe.com/flash-player/kb/uninstall-flash-player-windows.html
- Installer Download: http://www.adobe.com/special/products/flashplayer/fp_distribution3.html
Package written to keep in-line with previously documented working solutions which should give you the ability to just download the latest and update version number to make the jump to future versions.
This package requires wpkg.js 1.2.1-RC20 or higher
<package id="AdobeFlashPlayer"
name="Adobe Flash Player"
revision="%PKG_VERSION%"
reboot="false"
priority="10">
<variable name="PKG_VERSION" value="11.7.700.224" /> <!-- use "." separator -->
<variable name="shortversion" value="11_7_700_224" /> <!-- use "_" separator -->
<variable name="PKG_SOURCE" value="%SOFTWARE%\Adobe\FlashPlayer\%PKG_VERSION%" />
<variable name="PKG_DESTINATION" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_DESTINATION" value="%SystemRoot%\SysWOW64\Macromed\Flash" architecture="x64"/>
<variable name="PKG_DESTINATION_X64" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_FILE_ACTIVEX" value="Flash32_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN" value="NPSWF32_%shortversion%.dll" />
<variable name="PKG_FILE_ACTIVEX_X64" value="Flash64_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN_X64" value="NPSWF64_%shortversion%.dll" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ Plugin.*" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_ACTIVEX%"
value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_PLUGIN%"
value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_ACTIVEX_X64%"
value="%PKG_VERSION%" architecture="x64" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_PLUGIN_X64%"
value="%PKG_VERSION%" architecture="x64" />
<install include="remove" />
<install cmd='"%PKG_SOURCE%\install_flash_player_11_active_x.exe" /install ' />
<install cmd='"%PKG_SOURCE%\install_flash_player_11_plugin.exe" /install ' />
<upgrade include="install" />
<remove cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd="taskkill /F /IM iexplore.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd='"%PKG_SOURCE%\uninstall_flash_player.exe" -uninstall' >
<exit code="any" />
</remove>
</package>
Using Microsoft EMET
If you use Microsoft EMET http://www.microsoft.com/en-us/download/details.aspx?id=29851 as additional layer of protection, you need to protect Internet Explorer and Firefox in order to protect the Flash plugin. It does not appear to be necessary or sufficient to add EMET rules to protect executables in %systemroot%\system32\macromed\Flash because the only executables in that directory are uninstallers. The Flash plugin runs as part of the Firefox plugin-container or the Internet Explorer process.
If you want to protect those files anyway, it's bit of a hassle to add new player versions to EMET configuration because EMET does not accept wildcards in executable filenames. Automate the process with this script:
rem %PKG_SOURCE%\emet.cmd
if exist "%programfiles%\EMET\emet_conf.exe" (
@FOR /F %%G IN ('"dir /b %systemroot%\system32\macromed\Flash\*.exe 2> nul"') DO "%programfiles%\emet\emet_conf.exe" --set \windows\system32\macromed\Flash\%%G 2> nul
@FOR /F %%G IN ('"dir /b %systemroot%\SysWOW64\macromed\Flash\*.exe 2> nul"') DO "%programfiles%\emet\emet_conf.exe" --set \windows\SysWOW64\Macromed\Flash\"%%G 2> nul
)
and append line
<install cmd='cmd /c "%PKG_SOURCE%\emet.cmd" >nul ' />
to your flash install script.
Adobe Flash Player 11.3.300.268
- Download the installer (works for 32 and 64 bit): http://helpx.adobe.com/flash-player/kb/uninstall-flash-player-windows.html
- Package works with winxpsp3 and win 7 64 bit, other constellations not tested by me
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="flash"
name="Adobe Flash Player"
revision="14"
reboot="false"
priority="10">
<variable name="version" value="11.3.300.268" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ ActiveX.*" value="%version%" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ Plugin.*" value="%version%" />
<install include="remove" />
<install cmd='"%Software%\Flash\%version%\install_flash_player_11_active_x.exe" /install' />
<install cmd='"%Software%\Flash\%version%\install_flash_player_11_plugin.exe" /install' />
<upgrade include="install" />
<remove cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd="taskkill /F /IM iexplore.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd='"%Software%\Flash\%version%\uninstall_flash_player.exe" -uninstall' />
</package>
</packages>
Adobe Flash Player 11.3
Version mismatch
As of late June, Adobe's ActiveX and Plugin MSIs have different minor versions; the MSIE package ends in .257 and the Firefox version ends in .262. The reason for this is an out-of-cycle FF patch to fix an urgent isse [1].
The solution for this is probably to split it into two sub-packages and set up a depends to flash-plugin-combined.
Starting with Flash Player 11.3, Adobe have combined x86 and x64 in to the same installer.
<packages>
<package id="AdobeFlashPlayer"
name="Adobe Flash Player"
revision="%VERSION%"
reboot="false"
priority="10">
<variable name="VERSION" value="11.3.300.262" />
<variable name="PKG_VERSION" value="11.3.300.257" />
<variable name="plugin_version" value="11.3.300.262" />
<variable name="shortversion" value="11_3_300_257" />
<variable name="plugin_shortversion" value="11_3_300_262" />
<variable name="PKG_SOURCE" value="%SOFTWARE%\Flash\%PKG_VERSION%" />
<variable name="plugin_SOURCE" value="%SOFTWARE%\Flash\%plugin_VERSION%" />
<variable name="PKG_DESTINATION" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_DESTINATION" value="%SystemRoot%\SysWOW64\Macromed\Flash" architecture="x64"/>
<variable name="PKG_DESTINATION_X64" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_FILE_ACTIVEX" value="Flash32_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN" value="NPSWF32_%plugin_shortversion%.dll" />
<variable name="PKG_FILE_ACTIVEX_X64" value="Flash64_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN_X64" value="NPSWF64_%plugin_shortversion%.dll" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ Plugin.*" value="%plugin_version%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_ACTIVEX%" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_PLUGIN%" value="%plugin_version%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_ACTIVEX_X64%" value="%PKG_VERSION%" architecture="x64" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_PLUGIN_X64%" value="%plugin_version%" architecture="x64" />
<install include="remove" />
<install cmd='"%PKG_SOURCE%\install_flash_player_11_active_x.exe" /install ' />
<install cmd='"%plugin_SOURCE%\install_flash_player_11_plugin.exe" /install ' />
<upgrade include="install" />
<remove cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd="taskkill /F /IM iexplore.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove architecture="x86" cmd='"%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' >
<exit code="any" />
</remove>
<remove architecture="x64" cmd='"%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' >
<exit code="any" />
</remove>
</package>
Adobe Flash Player 11.2
Starting with Flash Player 11 there is a separate download available for 64-bit Windows.
The 32-bit installer will refuse to install on 64-bit systems. The 64-bit installer installs the 32-bit and 64-bit executables.
Internet Explorer / ActiveX control version
<package
id="flashplayer_ie"
name="Adobe Flash Player for IE"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="11.2.202.235" />
<variable name="shortversion" value="11_2_202_235" />
<check type="logical" condition="or">
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\system32\Macromed\Flash\Flash32_%shortversion%.ocx"
value="%version%" />
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\Flash32_%shortversion%.ocx"
value="%version%" />
</check>
<install cmd='taskkill /f /im iexplore.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</install>
<install cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall activex'>
<exit code='any' />
</install>
<install cmd='%SOFTWARE%\flash\install_flash_player_11_active_x_32bit.exe -install' />
<upgrade cmd='taskkill /f /im iexplore.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall activex'>
<exit code='any' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player_11_active_x_32bit.exe -install' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil32_%shortversion%_ActiveX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil32_%shortversion%_ActiveX.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil32_%shortversion%_ActiveX.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil32_%shortversion%_ActiveX.exe" /uninstall'/>
</package>
Firefox and Other Browsers / Plugin version
<package
id="flashplayer_mozilla"
name="Adobe Flash Player for Mozilla/Opera"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="11.2.202.235" />
<variable name="shortversion" value="11_2_202_235" />
<check type="logical" condition="or">
<check type="file" condition="versionequalto"
path="%SYSTEMROOT%\system32\Macromed\Flash\NPSWF32_%shortversion%.dll" value="%version%" />
<check type="file" condition="versionequalto"
path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\NPSWF32_%shortversion%.dll" value="%version%" />
</check>
<install cmd='taskkill /f /im firefox.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</install>
<install cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall plugin'>
<exit code='any' />
</install>
<install cmd='%SOFTWARE%\flash\install_flash_player_11_plugin_32bit.exe -install' />
<upgrade include="install" />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil32_%shortversion%_Plugin.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil32_%shortversion%_Plugin.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil32_%shortversion%_Plugin.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil32_%shortversion%_Plugin.exe" /uninstall'/>
</package>
Combined Internet Explorer / ActiveX control version and Firefox and Other Browsers / Plugin version, and 32-bit and 64-bit versions
This package requires wpkg.js 1.2.1-RC20 or higher
<?xml version="1.0" encoding="UTF-8"?>
<packages
xmlns:xsi="http://www.wpkg.org/packages"
xsi:noNamespaceSchemaLocation="../xsd/packages.xsd" >
<package id="AdobeFlashPlayer"
name="Adobe Flash Player"
revision="%PKG_VERSION%"
reboot="false"
priority="10">
<variable name="PKG_VERSION" value="11.2.202.233" />
<variable name="shortversion" value="11_2_202_233" />
<variable name="PKG_SOURCE" value="%SOFTWARE%\Flash\%PKG_VERSION%" />
<variable name="PKG_DESTINATION" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_DESTINATION" value="%SystemRoot%\SysWOW64\Macromed\Flash" architecture="x64"/>
<variable name="PKG_DESTINATION_X64" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_FILE_ACTIVEX" value="Flash32_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN" value="NPSWF32_%shortversion%.dll" />
<variable name="PKG_FILE_ACTIVEX_X64" value="Flash64_%shortversion%.ocx" />
<variable name="PKG_FILE_PLUGIN_X64" value="NPSWF64_%shortversion%.dll" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ Plugin.*" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_ACTIVEX%" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_PLUGIN%" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_ACTIVEX_X64%" value="%PKG_VERSION%" architecture="x64" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_PLUGIN_X64%" value="%PKG_VERSION%" architecture="x64" />
<install include="remove" />
<install architecture="x86" cmd='"%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install ' />
<install architecture="x86" cmd='"%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<install architecture="x64" cmd='"%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<install architecture="x64" cmd='"%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<upgrade include="install" />
<remove cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd="taskkill /F /IM iexplore.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove architecture="x86" cmd='"%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' >
<exit code="any" />
</remove>
<remove architecture="x64" cmd='"%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' >
<exit code="any" />
</remove>
</package>
</packages>
This package works with WPKG 1.2.0
<?xml version="1.0" encoding="UTF-8"?>
<package id="AdobeFlashPlayer" name="Adobe Flash Player (all versions, all platforms)" revision="%PKG_VERSION%" reboot="false" priority="1">
<variable name="PKG_VERSION" value="11.1.102.63" />
<variable name="PKG_SOURCE" value="%SOFTWARE%\Flash\%PKG_VERSION%" />
<check type="logical" condition="and" >
<check type="uninstall" condition="versionequalto" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versionequalto" path="Adobe Flash Player .+ Plugin.*" value="%PKG_VERSION%" />
</check>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></install>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></install>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></upgrade>
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></upgrade>
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<remove cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></remove>
<remove cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></remove>
</package>
Adobe Flash Player 11.1
Starting with Flash Player 11 there is a separate download available for 64-bit Windows.
The 32-bit installer will refuse to install on 64-bit systems.
The 64-bit installer installs the 32-bit and 64-bit executables.
Internet Explorer / ActiveX control version
<package
id="flashplayer_ie"
name="Adobe Flash Player for IE"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="11.1.102.63" />
<variable name="shortversion" value="11g" />
<check type="logical" condition="or">
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\system32\Macromed\Flash\Flash%shortversion%.ocx"
value="%version%" />
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\Flash%shortversion%.ocx"
value="%version%" />
</check>
<install cmd='taskkill /f /im iexplore.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</install>
<install cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall activex'>
<exit code='any' />
</install>
<install cmd='%SOFTWARE%\flash\install_flash_player_11_active_x_32bit.exe -install' />
<upgrade cmd='taskkill /f /im iexplore.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall activex'>
<exit code='any' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player_11_active_x_32bit.exe -install' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" /uninstall'/>
</package>
Firefox and Other Browsers / Plugin version
<package
id="flashplayer_mozilla"
name="Adobe Flash Player for Mozilla/Opera"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="11.1.102.63" />
<variable name="shortversion" value="11g" />
<check type="logical" condition="or">
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\system32\Macromed\Flash\NPSWF32.dll" value="%version%" />
<check
type="file"
condition="versionequalto"
path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\NPSWF32.dll" value="%version%" />
</check>
<install cmd='taskkill /f /im firefox.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</install>
<install cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall plugin'>
<exit code='any' />
</install>
<install cmd='%SOFTWARE%\flash\install_flash_player_11_plugin_32bit.exe -install' />
<upgrade cmd='taskkill /f /im firefox.exe'>
<exit code='0' />
<exit code='1' />
<exit code='128' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\uninstall_flash_player_32bit.exe -uninstall plugin'>
<exit code='any' />
</upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player_11_plugin_32bit.exe -install' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" /uninstall'/>
</package>
Combined Internet Explorer / ActiveX control version and Firefox and Other Browsers / Plugin version, and 32-bit and 64-bit versions
This package requires wpkg.js 1.2.1-RC20 or higher
<?xml version="1.0" encoding="UTF-8"?>
<packages
xmlns:xsi="http://www.wpkg.org/packages"
xsi:noNamespaceSchemaLocation="../xsd/packages.xsd" >
<package id="AdobeFlashPlayer"
name="Adobe Flash Player"
revision="%PKG_VERSION%"
reboot="false"
priority="10">
<variable name="PKG_VERSION" value="11.1.102.63" />
<variable name="PKG_SOURCE" value="%SOFTWARE%\Flash\%PKG_VERSION%" />
<variable name="PKG_DESTINATION" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_DESTINATION" value="%SystemRoot%\SysWOW64\Macromed\Flash" architecture="x64"/>
<variable name="PKG_DESTINATION_X64" value="%SystemRoot%\System32\Macromed\Flash"/>
<variable name="PKG_FILE_ACTIVEX" value="Flash11g.ocx" />
<variable name="PKG_FILE_PLUGIN" value="NPSWF32.dll" />
<variable name="PKG_FILE_ACTIVEX_X64" value="Flash64_11_1_102.ocx" />
<variable name="PKG_FILE_PLUGIN_X64" value="NPSWF64_11_1_102.dll" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versiongreaterorequal" path="Adobe Flash Player .+ Plugin.*" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_ACTIVEX%" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\%PKG_FILE_PLUGIN%" value="%PKG_VERSION%" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_ACTIVEX_X64%" value="%PKG_VERSION%" architecture="x64" />
<check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION_X64%\%PKG_FILE_PLUGIN_X64%" value="%PKG_VERSION%" architecture="x64" />
<install include="remove" />
<install architecture="x86" cmd='"%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install ' />
<install architecture="x86" cmd='"%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<install architecture="x64" cmd='"%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<install architecture="x64" cmd='"%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<upgrade include="install" />
<remove cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove cmd="taskkill /F /IM iexplore.exe">
<exit code="0" />
<exit code="128" />
<exit code="1" />
</remove>
<remove architecture="x86" cmd='"%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' >
<exit code="any" />
</remove>
<remove architecture="x64" cmd='"%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' >
<exit code="any" />
</remove>
</package>
</packages>
This package works with WPKG 1.2.0
<?xml version="1.0" encoding="UTF-8"?>
<package id="AdobeFlashPlayer" name="Adobe Flash Player (all versions, all platforms)" revision="%PKG_VERSION%" reboot="false" priority="1">
<variable name="PKG_VERSION" value="11.1.102.63" />
<variable name="PKG_SOURCE" value="%SOFTWARE%\Flash\%PKG_VERSION%" />
<check type="logical" condition="and" >
<check type="uninstall" condition="versionequalto" path="Adobe Flash Player .+ ActiveX.*" value="%PKG_VERSION%" />
<check type="uninstall" condition="versionequalto" path="Adobe Flash Player .+ Plugin.*" value="%PKG_VERSION%" />
</check>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></install>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></install>
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<install cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></upgrade>
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_active_x_32bit.exe" /install' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\install_flash_player_11_plugin_32bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></upgrade>
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_active_x_64bit.exe" /install ' />
<upgrade cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\install_flash_player_11_plugin_64bit.exe" /install ' />
<remove cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%PKG_SOURCE%\uninstall_flash_player_32bit.exe" -uninstall' ><exit code="any" /></remove>
<remove cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%PKG_SOURCE%\uninstall_flash_player_64bit.exe" -uninstall' ><exit code="any" /></remove>
</package>
Adobe Flash Player 10
Flash Player 10 is still supported with security updates, the most recent being 10.3.183.11.
The latest version of the 10.x series is no longer available from http://www.adobe.com/special/products/flashplayer/fp_distribution3.html, that version is 10.3.183.11. To get 10.3.183.11 you have to either go to http://kb2.adobe.com/cps/142/tn_14266.html and unzip fp_10.3.183.11_archive.zip to get flashplayer10_3r183_11_win.exe, which you can install in the usual way, or manually upgrade from within the program.
10.3 changelog: http://kb2.adobe.com/cps/901/cpsid_90194.html#main_authoring
WPKG installer for Internet Explorer with Win64bit check
Download installer file here. Download Uninstall Flash Player
<package
id="flashplayer_ie"
name="Adobe Flash Player for IE"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="10.3.183.10" />
<variable name="shortversion" value="10x" />
<check type="uninstall" condition="exists" path="Adobe Flash Player 10 ActiveX" />
<check type="logical" condition="or">
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\system32\Macromed\Flash\Flash%shortversion%.ocx" value="%version%"/>
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\Flash%shortversion%.ocx" value="%version%"/>
</check>
<install cmd='%SOFTWARE%\flash\uninstall_flash_player.exe -uninstall'><exit code='any' /></install>
<!-- use "/s" or "/silent" as silent-switch if using an older uninstaller-->
<install cmd='taskkill /f /im iexplore.exe'><exit code='0' /><exit code='1' /><exit code='128' /></install>
<install cmd='%SOFTWARE%\flash\install_flash_player_ax.exe /install' />
<upgrade cmd='%SOFTWARE%\flash\uninstall_flash_player.exe -uninstall'><exit code='any' /></upgrade>
<!-- use "/s" or "/silent" as silent-switch if using an older uninstaller-->
<upgrade cmd='taskkill /f /im iexplore.exe'><exit code='0' /><exit code='1' /><exit code='128' /></upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player_ax.exe /install' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_ActiveX.exe" /uninstall'/>
</package>
WPKG installer for Firefox/Opera with Win64bit check
Download installer file here.
Note that where '/S' was used for silent installation with previous versions, '/install' is required with version 10.1.
<package
id="flashplayer_mozilla"
name="Adobe Flash Player for Mozilla/Opera"
revision="%version%"
reboot="false"
priority="10">
<variable name="version" value="10.3.183.10" />
<variable name="shortversion" value="10x" />
<check type="logical" condition="or">
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\system32\Macromed\Flash\NPSWF32.dll" value="%version%" />
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\NPSWF32.dll" value="%version%" />
</check>
<install cmd='taskkill /f /im firefox.exe'><exit code='0' /><exit code='1' /><exit code='128' /></install>
<install cmd='%SOFTWARE%\flash\install_flash_player.exe /install' />
<upgrade cmd='taskkill /f /im firefox.exe'><exit code='0' /><exit code='1' /><exit code='128' /></upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player.exe /install' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" "%SYSTEMROOT%\system32\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" /uninstall'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\FlashUtil%shortversion%_Plugin.exe" /uninstall'/>
</package>
Filenames
Note the different filenames used between different versions.
Program (IE) | Uninstaller (IE) | Uninstaller (Firefox/Opera) | |
---|---|---|---|
11.0.1.152 | Flash11c.ocx | FlashUtil11c_ActiveX.exe | FlashUtil11c_Plugin.exe |
11.0.1.60 | Flash11a.ocx | FlashUtil11a_ActiveX.exe | FlashUtil11a_Plugin.exe |
10.3.183.15 | Flash10za.ocx | FlashUtil10za_ActiveX.exe | FlashUtil10za_Plugin.exe |
10.3.183.11 | Flash10y.ocx | FlashUtil10y_ActiveX.exe | FlashUtil10y_Plugin.exe |
10.3.183.10 | Flash10x.ocx | FlashUtil10x_ActiveX.exe | FlashUtil10x_Plugin.exe |
10.3.183.7 | Flash10w.ocx | FlashUtil10w_ActiveX.exe | FlashUtil10w_Plugin.exe |
10.3.183.5 | Flash10v.ocx | FlashUtil10v_ActiveX.exe | FlashUtil10v_Plugin.exe |
10.3.181.34 | Flash10u.ocx | FlashUtil10u_ActiveX.exe | FlashUtil10u_Plugin.exe |
10.3.181.26 | Flash10t.ocx | FlashUtil10t_ActiveX.exe | FlashUtil10t_Plugin.exe |
10.3.181.23 | Flash10s.ocx | FlashUtil10s_ActiveX.exe | |
10.3.181.22 | n/a | FlashUtil10s_Plugin.exe | |
10.3.181.16 | Flash10r.ocx | FlashUtil10r_ActiveX.exe | FlashUtil10r_Plugin.exe |
10.3.181.14 | Flash10q.ocx | FlashUtil10q_ActiveX.exe | FlashUtil10q_Plugin.exe |
10.2.159.1 | Flash10p.ocx | FlashUtil10p_ActiveX.exe | FlashUtil10p_Plugin.exe |
10.2.153.1 | Flash10o.ocx | FlashUtil10o_ActiveX.exe | FlashUtil10o_Plugin.exe |
10.2.152.32 | Flash10n.ocx | FlashUtil10n_ActiveX.exe | FlashUtil10n_Plugin.exe |
10.2.152.26 | Flash10m.ocx | FlashUtil10m_ActiveX.exe | FlashUtil10m_Plugin.exe |
10.1.102.64 | Flash10l.ocx | FlashUtil10l_ActiveX.exe | FlashUtil10l_Plugin.exe |
10.1.85.3 | Flash10k.ocx | FlashUtil10k_ActiveX.exe | FlashUtil10k_Plugin.exe |
10.1.82.76 | Flash10i.ocx | FlashUtil10i_ActiveX.exe | FlashUtil10i_Plugin.exe |
10.1.53.64 | Flash10h.ocx | FlashUtil10h_ActiveX.exe | FlashUtil10h_Plugin.exe |
Disable Automatic Update dialog in Adobe Flash Player
Flash Player automatically checks with adobe.com to see if an updated version is available and if there is it presents a dialog prompting the user to upgrade. To disable this update check and prompting you can do the following:
- if it doesn't already exist, create a directory %WINDIR%\system32\Macromed\Flash\ (%WINDIR%\SysWOW64\Macromed\Flash for 64-bit system)
- if it doesn't already exist, create a file there called "mms.cfg" (this file can also be used to deploy other settings)
- add an entry in this file: AutoUpdateDisable=1
This configuration can be performed by WPKG using the following:
<install cmd='%COMSPEC% /c copy /y /v "%SOFTWARE%\flash\mms.cfg" %WINDIR%\system32\Macromed\Flash\' >
<exit code="any"/>
</install>
<install cmd='%COMSPEC% /c copy /y /v "%SOFTWARE%\flash\mms.cfg" %WINDIR%\SysWOW64\Macromed\Flash\' >
<exit code="any"/>
</install>
<upgrade cmd='%COMSPEC% /c copy /y /v "%SOFTWARE%\flash\mms.cfg" %WINDIR%\system32\Macromed\Flash\' >
<exit code="any"/>
</upgrade>
<upgrade cmd='%COMSPEC% /c copy /y /v "%SOFTWARE%\flash\mms.cfg" %WINDIR%\SysWOW64\Macromed\Flash\' >
<exit code="any"/>
</upgrade>
<remove cmd='%COMSPEC% /c del /s /q "%WINDIR%\system32\Macromed\Flash\mms.cfg"' >
<exit code="0" />
<exit code="1" /> <!-- if file does not exist -->
</remove>
<remove cmd='%COMSPEC% /c del /s /q "%WINDIR%\SysWOW64\Macromed\Flash\mms.cfg"' >
<exit code="0" />
<exit code="1" /> <!-- if file does not exist -->
</remove>
Either you can deploy this using WPKG as part of the Flash Player installer (Section 1.1 or 1.2), or create a separate package for this setting which would allow you to deploy updates to this file separately to the Flash Player itself.
This file will prevent current and older versions of Flash from auto-updating.
Older Versions
Adobe Flash Player 10 for Internet Explorer with Win64bit check
Download installer file here.
<package
id="flashplayer_ie"
name="Adobe Flash Player 10 for IE"
revision="1004502"
reboot="false"
priority="10">
<check type="uninstall" condition="exists" path="Adobe Flash Player 10 ActiveX" />
<check type="logical" condition="or">
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\system32\Macromed\Flash\Flash10e.ocx" value="10.0.45.2"/>
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\Flash10e.ocx" value="10.0.45.2"/>
</check>
<install cmd='taskkill /f /im iexplore.exe'><exit code='0' /><exit code='1' /><exit code='128' /></install>
<install cmd='%SOFTWARE%\flash\install_flash_player_ax.exe /S' />
<upgrade cmd='taskkill /f /im iexplore.exe'><exit code='0' /><exit code='1' /><exit code='128' /></upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player_ax.exe /S' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_activeX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_activeX.exe" /S'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\uninstall_activeX.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\uninstall_activeX.exe" /S'/>
</package>
Adobe Flash Player 10 for Firefox/Opera with Win64bit check
Download installer file here.
<package
id="flashplayer_mozilla"
name="Adobe Flash Player 10 for Mozilla/Opera"
revision="1004502"
reboot="false"
priority="10">
<check type="uninstall" condition="exists" path="Adobe Flash Player 10 Plugin" />
<check type="logical" condition="or">
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\system32\Macromed\Flash\NPSWF32.dll" value="10.0.45.2" />
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\SysWOW64\Macromed\Flash\NPSWF32.dll" value="10.0.45.2" />
</check>
<install cmd='taskkill /f /im firefox.exe'><exit code='0' /><exit code='1' /><exit code='128' /></install>
<install cmd='%SOFTWARE%\flash\install_flash_player.exe /S' />
<upgrade cmd='taskkill /f /im firefox.exe'><exit code='0' /><exit code='1' /><exit code='128' /></upgrade>
<upgrade cmd='%SOFTWARE%\flash\install_flash_player.exe /S' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_plugin.exe" "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_plugin.exe" /S'/>
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\SysWOW64\Macromed\Flash\uninstall_plugin.exe" "%SYSTEMROOT%\SysWOW64\Macromed\Flash\uninstall_plugin.exe" /S'/>
</package>
Adobe Flash Player 9.0.246.0 for Firefox
Installer packaged as an executable, installs as a plugin. Sometimes it is upgraded only on the second run of WPKG, it must be a timing issue between installing over previous version and checking conditions.
<package id="flashplayerfirefox" name="Adobe Flash Player for Firefox" revision="1" reboot="false" priority="0">
<depends package-id="firefox"/>
<check type="file" condition="versiongreaterorequal" path="%WINDIR%\system32\Macromed\Flash\NPSWF32.dll" value="9.0.246.0"/>
<install cmd='%SOFTWARE%\Flash\install_flash_player.exe /S' />
<upgrade cmd='%SOFTWARE%\Flash\install_flash_player.exe /S' />
<remove cmd='%WINDIR%\system32\Macromed\Flash\uninstall_plugin.exe /S'/>
</package>
If you use WPKG whilst logged in then it's good to kill the Firefox application process before installing Flash Player, since the installer won't work with the browser running. To do this add this to the WPKG code:
<install cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
</install>
And of course:
<upgrade cmd="taskkill /F /IM Firefox.exe">
<exit code="0" />
<exit code="128" />
</upgrade>
Adobe Flash Player 9.0.246.0 for Internet Explorer
Presumably the Internet Explorer version has the same installation/removal/upgrade syntax as the plugin version above, but the following code has not been tested.
<package id="flashplayeractivex" name="ActiveX Flash Player" revision="20090730" reboot="false" priority="0">
<check type="file" condition="versionequalto" path="%SYSTEMROOT%\system32\Macromed\Flash\Flash9c.ocx" value="9.0.246.0"/>
<install cmd='%SOFTWARE%\Flash\install_flash_player_ax.exe /S' />
<upgrade cmd='%SOFTWARE%\Flash\install_flash_player_ax.exe /S' />
<remove cmd='%COMSPEC% /C if exist "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_activeX.exe" "%SYSTEMROOT%\system32\Macromed\Flash\uninstall_activeX.exe" /S'/>
</package>