Packaging process for Adobe Flash Player NPAPI Plugin
Version 28.0.0.137

SUMMARY
This post outlines the process for packaging Adobe Flash Player NPAPI Plugin (for Firefox / Safari / Netscape browsers).
Obtain Package Source
Download the MSI installer from adobe.com
You must have an Adobe login and have applied for a distribution license.

Suppress Automatic Updates
To suppress Automatic Updates, we must create a Transform (.mst) file. This is the industry-
standard method of altering the installation parameters without interfering with the supplied
proprietary MSI installer. We will ultimately use both files together during the install.
Obtain Packaging Tool
To create a Transform file we will need a Packaging Tool. Orca is free and can be downloaded from technipages.com
Install as per defaults.
Create Transform File
To create our Transform file and suppress automatic updates, open your MSI file with
Orca.
Click Transform and New Transform.
Select the Custom Action Table. We will edit NewCustomAction1.
Change the target command:
Old: -install -msi -prev [PREVIOUS_VERSION]
New: -install -msi -au 2
Click Transform and Generate Transform.
Give your new transform file a name and click Save.
In this example: FlashNPAPI.mst
Close Orca.
Notes
What this change does in reality is create the following text file during the install:
C:\Windows\SysWOW64\Macromed\Flash\mms.cfg
Which contains the following contents:
SilentAutoUpdateEnable=0
AutoUpdateDisable=1
This is what suppresses the updates.
Create Scripts for Install and Uninstall
Create or update a set of text-based scripts as per below with the contents provided.
Install
The installer is a Powershell script.
Install.ps1
1.5 Uninstall
The installer is a Powershell script.
# Powershell script to install Adobe Flash NPAPI plugin 28.0.0.137 for Firefox
# Created 16/01/2018 | cru2.io
# Set Variables
$CurrentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
# UnInstall all versions
$uninst = Get-WmiObject -Class win32_product | where { $_.Name -like "*NPAPI*"}
If ($uninst -ne $null)
{
ForEach ($app in $uninst)
{Start-Process -FilePath msiexec.exe -ArgumentList "/x $($app.IdentifyingNumber) /qn REBOOT=R" -Wait -PassThru -NoNewWindow -ErrorAction SilentlyContinue -WarningAction SilentlyContinue | Out-Null}
}
# Install
Start-Process -FilePath msiexec.exe -ArgumentList "/i `"$CurrentPath\install_flash_player_28_plugin.msi`" TRANSFORMS=`"$CurrentPath\FlashNPAPI.mst`" REBOOT=R ALLUSERS=2 /qn" -Wait -PassThru -NoNewWindow -ErrorAction SilentlyContinue -WarningAction SilentlyContinue | Out-Null
unInstall.ps1
# Powershell script to uninstall Adobe Flash NPAPI plugin 28.0.0.137 for Firefox
# Created 16/01/2018 | cru2.io
# Set Variables
$CurrentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
# UnInstall all versions
$uninst = Get-WmiObject -Class win32_product | where { $_.Name -like "*NPAPI*"}
If ($uninst -ne $null)
{
ForEach ($app in $uninst)
{Start-Process -FilePath msiexec.exe -ArgumentList "/x $($app.IdentifyingNumber) /qn REBOOT=R" -Wait -PassThru -NoNewWindow -ErrorAction SilentlyContinue -WarningAction SilentlyContinue | Out-Null}
}
Deployment Info
This can also be found in a text file in the package directory.
deploymentInfo.txt
Adobe Flash NPAPI plugin for Firefox
28.0.0.137
Windows\System32\Macromed\Flash
{158D6908-7A47-4126-BFB4-D0C2F9ACC9BE}
Uninstall registry key
